AWS SAA(Solutions Architect - Associate)対策
EFSとFSx
このレッスンでは、「複数のサーバーから同じファイルを同時に扱いたい」という要件を読んで、EFSとFSxのどれを選ぶかを即答できるようになります。
まず要件文から
ある企業が、Auto Scalingグループで動くWebアプリケーションを運用しています。利用者がアップロードした画像を、どのインスタンスからも同じように読み書きしたいのですが、現在は各インスタンスのEBSに保存しているため、スケールアウトすると画像が見つからない不具合が起きています。アプリケーションはLinux上で動いていて、コードを改修せずにこの問題を解消したいと言っています。
EBSは原則として1つのインスタンスに接続するブロックストレージなので、この要件には構造的に合いません。「複数から同時に」と書かれた時点で、共有ファイルサービスへ切り替える設問だと読みます。
3つの対応を覚える
この章で必ず押さえるのは、次の3つの対応です。
| 要件文の言い回し | 選ぶサービス |
|---|---|
| 複数のEC2から同時にマウントしたい(Linux、NFS) | Amazon EFS |
| Windowsのファイル共有をそのまま移したい(SMB、Active Directory) | Amazon FSx for Windows File Server |
| HPCや機械学習で高速な並列処理をしたい | Amazon FSx for Lustre |
この3行で、この分野の設問の大半は解けます。決め手になるのは、プロトコル(NFSかSMBか)と、OS(LinuxかWindowsか)と、用途(一般の共有か並列計算か)です。
EFS の読みどころ
EFSはNFSでマウントするフルマネージドの共有ファイルシステムで、容量を事前に決めず、使った分だけ自動で伸縮します。複数のアベイラビリティゾーンにまたがって使えるので、マルチAZ構成のAuto Scalingグループから同じデータを見せる、という要件にそのまま当たります。冒頭のシナリオの答えはEFSです。アプリケーションから見ればただのディレクトリなので、「コードを改修せずに」という制約も満たします。
EFSにはストレージクラスの考え方もあり、アクセス頻度の低いファイルを自動で低頻度アクセス向けの階層へ移すライフサイクル管理があります。「共有ファイルサーバーの中に何年も触られていないファイルが溜まっていて、コストを下げたい」という要件では、これが答えになります。
また、可用性の要件が「1つのアベイラビリティゾーンでよい」「消えても再作成できる」であれば、One Zone のクラスを選ぶとコストを下げられます。
FSx の読みどころ
FSx for Windows File Server は、SMBで接続する Windows のファイルサーバーです。要件文に Active Directory との統合、NTFSのアクセス許可、DFS、Windowsアプリケーションといった語が出てきたらこれです。「オンプレのファイルサーバーをそのまま移したい」という移行の設問では定番になります。
FSx for Lustre は、大量のデータに対して極めて高いスループットと低い遅延で並列アクセスする用途のファイルシステムです。要件文の合図は、HPC、シミュレーション、ゲノム解析、機械学習の学習ジョブ、といった語です。S3のデータをリンクして扱えるため、「S3にある大量のデータセットを計算クラスタから高速に読ませたい」という設問でも選ばれます。
このほか FSx for NetApp ONTAP と FSx for OpenZFS もあり、既存のONTAPやZFSの機能をそのまま使いたい、という移行要件で登場します。
要件語から構成への対応
| 要件文の言い回し | 構成 |
|---|---|
| 複数のEC2から同時にマウント、Linux | EFS |
| SMB、Active Directory、Windowsアプリ | FSx for Windows File Server |
| HPC、機械学習、極めて高い並列スループット | FSx for Lustre |
| 共有ファイルの古いデータのコストを下げたい | EFSのライフサイクル管理 |
| 1つのAZでよい共有ファイル、低コスト | EFS One Zone |
| 単一インスタンスの高速なブロックストレージ | EBS |
よくある引っ掛け
1つ目は、共有の要件にS3を当てる選択肢です。S3は複数のサーバーから同時に読み書きできますが、ファイルシステムとしてマウントするものではありません。「アプリケーションを改修せずに」という制約が付いていたら、S3を選ぶ選択肢は落とします。逆に、改修してよいなら、静的ファイルの置き場としてS3が正解になる設問もあります。
2つ目は、WindowsのファイルサーバーにEFSを当てる選択肢です。プロトコルが合いません。SMBという語を見たらFSxです。
まとめ
- 「複数のEC2から同時にマウント」はEFSです
- 「Windowsのファイル共有をそのまま」はFSx for Windows File Server です
- 「HPCの高速な並列処理」はFSx for Lustre です
- EBSは原則として1つのインスタンス向けなので、共有の要件では落とします
- 「改修せずに」という制約が付いたら、S3への置き換えは選びません
復習ミニクイズ
ある製薬会社が、ゲノム解析のためにEC2のコンピューティングクラスタを構築します。解析対象のデータセットはS3に置かれており、数百台のインスタンスから同じデータへ極めて高いスループットで並列アクセスする必要があります。この要件に最も適したストレージはどれですか。