AWS認定資格 WEB問題集&徹底解説セキュリティ専門知識(SCS)
AWSサービスの一つであるAmazon FSx for Lustreはどんな内容なのでしょうか?また、AWS認定資格のセキュリティ-専門知識(SCS)に合格するためには、サービスのどんなポイントを押さえておけばよいのでしょうか?
ここでは、そんなあなたの疑問に回答していきたいと思います
1. サービス概要
Amazon FSx for Lustreは、オープンソースの並列分散ファイルシステム「Lustre」をフルマネージドで提供するサービスです。 多数の計算ノードから同じデータを同時に読み書きするHPC(ハイパフォーマンスコンピューティング)、機械学習の学習処理、ゲノム解析、映像レンダリング、金融シミュレーションなど、スループットとレイテンシが処理時間を左右するワークロード向けに設計されています。
最大の特徴はAmazon S3との連携です。S3バケットをファイルシステムにリンクすると、S3のオブジェクトがファイルとして見え、計算結果をS3へ書き戻せます。 「データの正本はS3に置き、処理する間だけ高速なファイルシステムで扱う」構成が定番です。FSxの4種類のうち、Windows(SMB)ならFSx for Windows File Server、マルチプロトコルのエンタープライズNASならFSx for NetApp ONTAP、低レイテンシのNFSならFSx for OpenZFSを選び、並列処理の性能とS3連携が要件ならFSx for Lustreを選びます。
2. 主な特徴と機能
2.1 デプロイタイプ(Scratch と Persistent)
Scratchは一時的な処理向けで、データは複製されず、ファイルサーバーが故障しても置き換えられません。その分安価で、Scratch 2はストレージ容量に比例したベースラインを超えるバースト性能を持ちます。 Persistentは長期利用向けで、データはディスク上で複製され、故障したファイルサーバーは数分以内に自動で置き換えられます。現行世代のPersistent 2は高いスループット階層とメタデータ性能の設定に対応し、旧世代のPersistent 1はHDDストレージを選べます。
2.2 ストレージクラス
全データをサブミリ秒で扱えるSSD、容量を指定せず保存量に応じて課金され、アクセスの少ないデータを自動で低コスト階層へ移すIntelligent-Tiering、低コストなHDD(Persistent 1のみ。任意でSSDの読み取りキャッシュを追加可能)があります。 Intelligent-Tieringは最終アクセスから30日で低頻度アクセス層、90日でアーカイブインスタントアクセス層へ移り、取り出し料金はかかりません。
2.3 S3 データリポジトリ関連付け(DRA)
ファイルシステム上のディレクトリとS3バケット/プレフィックスを1対1で結び付ける仕組みです。1つのファイルシステムに最大8個まで設定できます。 自動インポートを有効にするとS3側の追加・変更・削除がファイルシステムへ反映され、自動エクスポートを有効にするとファイルシステムでの変更が非同期にS3へ書き戻されます。 ファイルの中身は初回アクセス時にS3から読み込まれる(遅延ロード)ため、巨大なデータセットでもすぐに処理を始められます。データリポジトリタスクで一括インポート/エクスポートや、S3へ書き出し済みファイルのローカル領域解放も行えます。
2.4 性能と接続
複数のファイルサーバーにデータを分散配置(ストライピング)し、多数のクライアントから並列にアクセスすることで、合計で数百GB/秒以上のスループットと数百万IOPSを実現します。 Persistent 2ではElastic Fabric Adapter(EFA)とNVIDIA GPUDirect Storageに対応し、GPUインスタンスへの供給性能を高められます。
2.5 他サービスとの統合
Amazon SageMaker AIの学習ジョブの入力データソース、AWS Batch、AWS ParallelCluster、Amazon EKS(CSIドライバー)から利用できます。 クライアントはLustreクライアントを導入したLinuxで、NFSやSMBではなくLustreプロトコルでマウントします。
3. アーキテクチャおよび技術要素
- ファイルシステムは1つのAZ内に作成され、メタデータサーバー(MDS)とストレージサーバー(OSS)で構成される。クライアントはVPC内のENI経由で接続する。
- ファイルのデータは複数のストレージターゲット(OST)にストライプされ、クライアントは各サーバーと並列に通信する。
- S3と連携する場合はDRAを作成し、メタデータを取り込んでからジョブを実行する。結果は自動エクスポートまたはエクスポートタスクでS3に戻す。
- Persistentでは障害時にサーバーが自動で置き換えられ、その間のクライアント要求は再試行されて成功する。Scratchでは該当サーバー上のデータへのアクセスがI/Oエラーになる。
- 運用監視はAmazon CloudWatchのメトリクス(空き容量、スループット、メタデータ操作数など)とAWS CloudTrail(FSx API呼び出しの記録)で行う。
FSx for Lustreは単一AZで動作するため、AZ障害にはS3を正本にした再作成か、別リージョンへのバックアップコピーで備えます。
4. セキュリティと認証・認可
- 保管時の暗号化: すべてのファイルシステムが自動で暗号化される。Persistentでは使用するKMSキー(AWS管理キーまたはカスタマー管理キー)を選べるが、ScratchはFSxが管理するキーで暗号化され、キーを指定できない。
- 転送時の暗号化: Scratch 2とPersistentは、転送時の暗号化に対応したEC2インスタンスからアクセスすると、クライアントとの通信およびファイルシステム内部のホスト間通信が自動で暗号化される。
- ネットワーク制御: セキュリティグループでLustreの通信(TCP 988 と 1018-1023)をクライアントとファイルシステムの間で許可する。送信元は広いCIDRではなく相手のセキュリティグループIDで絞るのが望ましい。
- S3連携の権限: DRAの同期はFSxのサービスリンクロールが行う。S3バケットがカスタマー管理キーのSSE-KMSで暗号化されている場合は、そのロールにキーの利用を許可する必要がある。
- API認可と監査: ファイルシステムの作成・削除・バックアップなどの操作はIAMで制御し、CloudTrailで記録する。ファイルへのアクセスはPOSIXの権限で制御し、root squashでクライアントのrootユーザーの権限を制限できる。
5. 料金形態
- ストレージ: SSD/HDDはプロビジョニングした容量(GB/月)に課金され、単価はTiBあたりのスループット階層で変わる。Intelligent-Tieringは実際に保存したデータ量と階層に応じて課金され、スループット容量と任意のSSD読み取りキャッシュが別途かかる。
- メタデータ性能: Persistent 2でメタデータ性能を指定した場合はその分が課金される。
- バックアップ: バックアップの保存量(GB/月)に課金される。バックアップは増分方式。
- S3側の費用: リンク先のS3のストレージ料金とリクエスト料金は別途かかる。
- コスト最適化: 短期の処理はScratchで作り、終われば削除する。正本はS3に置く。
6. よくあるアーキテクチャ・設計パターン
- S3を正本にしたバッチHPC: ジョブ開始時にScratchのファイルシステムを作成してS3にリンクし、計算後に結果をエクスポートしてファイルシステムを削除する。
- 機械学習の学習データ供給: S3の学習データをFSx for Lustre経由でSageMaker AIやGPUインスタンスへ高速に供給し、学習時間を短縮する。
- 共有VPC/マルチアカウントのHPC: 共有VPC上の計算クラスターにFSx for Lustreを配置し、参加アカウントの利用者にはIAMロールを引き受けさせ、ネットワークはセキュリティグループで制御する。
- 長期保持が必要な解析結果: S3にリンクしないPersistentファイルシステムにし、AWS Backupで定期バックアップと別リージョンへのコピー、ボールトロックによる削除防止を設定する。
7. 設定・デプロイ手順(ハンズオン例)
- FSxコンソールで「ファイルシステムを作成」から FSx for Lustre を選ぶ。
- デプロイタイプ(Scratch 2 / Persistent 2)、ストレージクラス、容量またはスループットを指定する。
- VPC・サブネット・セキュリティグループを指定し、セキュリティグループでTCP 988と1018-1023をクライアントとの間で許可する。
- Persistentの場合は暗号化に使うKMSキーと、自動日次バックアップの保持期間・バックアップウィンドウを設定する。
- S3と連携する場合はデータリポジトリ関連付けを作成し、自動インポート/エクスポートのポリシーを選ぶ。
- EC2にLustreクライアントを導入し、コンソールに表示されるDNS名とマウント名でマウントする。
- 同じ構成はAWS CloudFormation(
AWS::FSx::FileSystem、AWS::FSx::DataRepositoryAssociation)でコード化し、CloudWatchアラームで空き容量を監視する。
8. 試験で問われやすいポイント
8.1 サービス選択
- Q: HPCクラスターがS3上のデータをファイルとして直接扱い、高スループットで処理したい場合は?
A: FSx for LustreをS3にリンク(データリポジトリ関連付け)して使う。 - Q: WindowsのSMB共有やNFS/SMB混在のNASが必要な場合もFSx for Lustre?
A: いいえ。SMBとActive Directory統合ならFSx for Windows File Server、マルチプロトコルならFSx for NetApp ONTAPを選ぶ。
8.2 デプロイタイプと可用性
- Q: 数時間で終わる処理の一時領域を最も安く用意するには?
A: Scratchを使う。データは複製されないため、正本はS3に置く。 - Q: 長期間使い、サーバー障害時も自動で復旧してほしい場合は?
A: Persistent(現行はPersistent 2)を使う。故障したサーバーは自動で置き換えられる。 - Q: FSx for LustreでAZ障害に備えるには?
A: 単一AZのサービスなので、S3を正本にして再作成できるようにするか、バックアップを別リージョンへコピーしておく。
8.3 暗号化とネットワーク(SCS)
- Q: 保管時の暗号化に自社のカスタマー管理キーを使いたい。デプロイタイプの条件は?
A: Persistentを選ぶ。ScratchはFSx管理のキーで暗号化され、キーを指定できない。 - Q: クライアントに追加ソフトを入れずに転送時の通信を暗号化するには?
A: Scratch 2またはPersistentを使い、転送時の暗号化に対応したEC2インスタンスから同じVPC内でアクセスする。 - Q: セキュリティグループで許可するポートは?
A: TCP 988と1018-1023。送信元/送信先は相手のセキュリティグループIDで指定する。 - Q: SSE-KMSで暗号化されたS3バケットとDRAで同期するときに必要な設定は?
A: 同期を行うFSxのサービスリンクロールに、KMSキーポリシーで暗号化・復号を許可する。EC2のインスタンスプロファイルは使われない。
8.4 バックアップと保持
- Q: バックアップを取得できないファイルシステムは?
A: ScratchとS3にリンクしたファイルシステム。S3にリンクした場合はS3側を正本として保護する。 - Q: 自動日次バックアップの保持期間とファイルシステム削除時の扱いは?
A: 0〜90日で設定し、ファイルシステムを削除すると自動日次バックアップも削除される。手動バックアップは削除後も残る。 - Q: 7年などの長期保持と、管理者による削除の防止を両立するには?
A: AWS Backupのバックアッププランで保持期間を設定し、バックアップボールトにコンプライアンスモードのVault Lockを設定する。
8.5 自動化と運用(DOP)
- Q: ジョブごとにファイルシステムを作って消す運用を自動化するには?
A: CloudFormationやAWS ParallelCluster、Step Functionsなどで作成・S3エクスポート・削除の流れをコード化する。 - Q: 容量不足を事前に検知するには?
A: CloudWatchの空き容量メトリクスにアラームを設定し、必要に応じてストレージ容量の増加を自動化する。