AWS認定資格 WEB問題集&徹底解説
ソリューションアーキテクト – アソシエイト
AWSサービスの一つであるAmazon Elastic File System (Amazon EFS)はどんな内容なのでしょうか?また、AWS認定資格のソリューションアーキテクト-アソシエイト(SAA)に合格するためには、サービスのどんなポイントを押さえておけばよいのでしょうか?
ここでは、そんなあなたの疑問に回答していきたいと思います
1. サービス概要
Amazon Elastic File System (EFS)は、NFS(Network File System)プロトコルを使用したフルマネージドの共有ファイルストレージサービスです。 複数のAmazon EC2インスタンス・Lambda・ECS/EKSコンテナ・オンプレミスサーバーから同時に並行してマウント・アクセスできます。 容量は自動的にスケールアップ・ダウンし、事前のプロビジョニングは不要です。
EFSはリージョン全体に複数AZにまたがってデータを保存(EFS Standard)し、高い耐久性と可用性を実現します。 ファイルシステムを複数のAZのマウントターゲットからアクセスできるため、EBSのように特定AZに縛られることなく、マルチAZ構成のアプリケーションにも対応できます。
主なユースケースは、Webアプリケーションの共有コンテンツ、CMS・DevOpsツールの共有設定ファイル、機械学習のトレーニングデータ共有、コンテナワークロードの永続ストレージ、ビッグデータ分析、メディア処理パイプラインです。
2. 主な特徴と機能
2.1 ストレージクラス
EFSはアクセス頻度に応じた4つのストレージクラスを提供します:
- EFS Standard: 複数AZに冗長保存。頻繁にアクセスされるデータ向け。高耐久性・高可用性。
- EFS Standard-IA(Infrequent Access): 複数AZ冗長。低頻度アクセスデータ向け。Standardより低ストレージ単価だが取り出し料金あり。
- EFS One Zone: 単一AZ保存。StandardよりコストをEFSの約47%削減。AZ障害時はデータへのアクセス不可リスクあり。
- EFS One Zone-IA: 単一AZ・低頻度アクセス。最安価クラス。
ライフサイクルポリシーにより、指定日数アクセスがないファイルをIA層またはArchive層に自動移行できます(例: 30日未アクセスでIA移行)。
2.2 パフォーマンスモード
- 汎用(General Purpose)モード(推奨): ほとんどのワークロードに最適。低レイテンシ。最大7,000 OPS/秒。
- 最大I/O(Max I/O)モード: 高度に並列化されたワークロード(数百〜数千EC2インスタンスの並列アクセス)向け。レイテンシはやや高くなる。注: 新しいEFSファイルシステムでは汎用モードで十分なケースが多くなっている。
2.3 スループットモード
- Elastic(エラスティック)スループット(推奨): ワークロードに応じてスループットが自動スケール。バースト/プロビジョニングスループットを意識する必要なし。使用量に応じた課金。
- バーストスループット: ファイルシステムサイズに比例したベースラインスループット+バーストクレジットによるピーク対応。
- プロビジョニングスループット: 必要なスループットを固定値でプロビジョニング。予測可能な高スループットが必要な場合に使用。
2.4 マウントターゲットとアクセス
EFSへのアクセスにはマウントターゲットを使用します。各AZに1つのマウントターゲットを作成し、そのAZ内のEC2インスタンスがNFSクライアント(NFSv4.0/v4.1)でマウントします。 EFS Access Pointsを使用すると、特定のディレクトリへのアクセスをOSユーザー・グループ単位で制限できます(コンテナ化環境での分離に有効)。
2.5 Lambda・ECS・EKS統合
- Lambda: Lambda関数にEFSをマウントして大容量データ参照・共有が可能(VPC内Lambdaが必要)。
- ECS/Fargate: タスク定義でEFSボリュームを指定し、コンテナの永続ストレージとして使用。
- EKS: EFS CSIドライバーを使ってPersistentVolumeとしてEFSをマウント。ReadWriteManyアクセスモードに対応。
2.6 バックアップとレプリケーション
- AWS Backup統合: EFSのバックアップをAWS Backupで自動化・一元管理。
- EFSレプリケーション: 別リージョンのEFSファイルシステムへ自動レプリケーション(DR対策)。RPOは数分以内。
3. アーキテクチャおよび技術要素
- マウントターゲット: 各AZのサブネットにマウントターゲット(ENI)を作成。EC2はマウントターゲット経由でEFSにNFSアクセス。
- 分散ストレージ(Standard): データは複数AZにまたがってリージョン内に分散保存。1 AZ障害でもアクセス継続可能。
- EFS One Zone: 単一AZのみ保存。同一AZ内のEC2・コンテナからのアクセスに最適(AZ跨ぎのデータ転送コスト削減)。
- ライフサイクル管理: 指定日数アクセスがないファイルをIA/Archiveに自動移行。アクセス時は自動でStandardに戻す設定も可能。
- EFS Access Points: POSIX準拠のアクセス制御。コンテナごとに異なるルートディレクトリ・UIDを割り当て可能。
EFSは事前のキャパシティ計画不要で、ペタバイト規模まで自動スケールします。 オンプレミスからはAWS Direct ConnectまたはVPN経由でマウント可能です。
4. セキュリティと認証・認可
- VPC内配置: マウントターゲットはVPCのサブネット内に配置。セキュリティグループでNFSポート(2049)へのアクセスを制御。
- 保存時暗号化: KMSキーによるAES-256暗号化。ファイルシステム作成時に設定(後から変更不可)。
- 転送時暗号化: TLS(Transport Layer Security)を使用したNFS通信の暗号化(EFSマウントヘルパー経由で有効化)。
- IAMポリシー: EFSファイルシステムポリシー(リソースベースポリシー)でIAMユーザー/ロールのマウント権限を制御。
- EFS Access Points: 特定ディレクトリへのアクセスを制限し、アクセス時のUID/GIDを強制設定。IAMポリシーと組み合わせて最小権限を実現。
- POSIX権限: ファイル・ディレクトリレベルのUNIXパーミッション(rwx)による細粒度アクセス制御。
5. 料金形態
- ストレージ料金: 実際に使用したストレージ量(GB/月)に対して課金。クラスによって単価が異なる(Standard > Standard-IA > One Zone-IA順に安価)。
- データアクセス料金(IA/Archive): IA・Archiveクラスのファイルを読み書きするたびに課金。Standardクラスにはアクセス課金なし。
- スループット料金: Elasticスループットは使用分のみ課金。プロビジョニングスループットはプロビジョニング量に応じて課金。バーストスループットはストレージ料金のみ。
- レプリケーション料金: レプリケート対象データのストレージ量に応じて課金(転送元リージョン基準)。
6. よくあるアーキテクチャ・設計パターン
- マルチAZ Webサーバー共有ストレージ: Auto ScalingグループのEC2インスタンス全台にEFS Standardをマウント。アップロードファイル・共有設定を全インスタンスで即時参照。
- コンテナ永続ストレージ(ECS/EKS): ECSタスクやKubernetes PodにEFSをマウント。ステートフルなコンテナワークロードに対応(ReadWriteManyアクセスモード)。
- Lambda大容量データ処理: EFSをLambdaにマウントして機械学習モデルや参照データを読み込み。Lambdaの一時ストレージ(/tmp最大10GB)を補完。
- コスト最適化(ライフサイクル管理): 30日未アクセスのファイルをEFS Standard-IAへ自動移行。コンテンツの90%以上が低頻度アクセスの場合、コストを大幅削減。
- クロスリージョンDR(EFSレプリケーション): プライマリリージョンのEFSからDRリージョンへ自動レプリケーション。障害時にDRリージョンのEFSへ切り替え。
7. 設定・デプロイ手順(ハンズオン例)
- EFSコンソールで「ファイルシステムの作成」→ VPC・可用性・暗号化設定を指定。
- ストレージクラス(Standard または One Zone)、スループットモード(Elastic推奨)を選択。
- 各AZのサブネットにマウントターゲットを作成し、NFSポート(2049)を許可するセキュリティグループを割り当て。
- EC2インスタンスにAmazon EFSマウントヘルパー(amazon-efs-utils)をインストール。
mount -t efs -o tls fs-XXXXXXXX:/ /mnt/efsでTLS暗号化マウント(または /etc/fstab に設定)。- ライフサイクルポリシー(例: 30日未アクセスでIAへ移行)を設定してコスト最適化。
- 必要に応じてEFS Access Pointsを作成し、コンテナ・アプリケーションごとにアクセスを分離。
8. 試験で問われやすいポイント
8.1 EFS vs EBS vs S3 の使い分け
- Q: 複数のEC2インスタンスから同時にファイルシステムにアクセスしたい場合は?
A: Amazon EFS(NFSプロトコル、複数インスタンスから同時マウント可能)。 - Q: EFS・EBS・S3の違いは?
A: EFSはNFSベースの共有ファイルシステム(複数EC2で共有)、EBSはブロックストレージ(単一EC2アタッチ、io2 Multi-Attachは例外)、S3はオブジェクトストレージ(HTTPアクセス)。 - Q: EFSはWindowsインスタンスで使えるか?
A: EFSはNFSプロトコルのためLinux専用。Windows共有ストレージにはAmazon FSx for Windows File Serverを使用。
8.2 ストレージクラスとライフサイクル
- Q: EFSのストレージクラスの種類と特徴は?
A: Standard(複数AZ冗長・高可用性)、Standard-IA(低頻度アクセス、取り出し料金あり)、One Zone(単一AZ・低コスト)、One Zone-IA(最安価)の4クラス。 - Q: アクセス頻度の低いファイルのコストを削減するには?
A: ライフサイクルポリシーで未アクセス日数(7/14/30/60/90日)を設定してIA/Archiveに自動移行。 - Q: EFS One Zoneの注意点は?
A: 単一AZのみ保存のため、そのAZ障害時はアクセス不可。重要データには Standard(マルチAZ)を使用。
8.3 スループットモードの選択
- Q: スループットが予測困難・変動が大きいワークロードに最適なスループットモードは?
A: Elasticスループット(自動スケール、使用量課金)。 - Q: 一定の高スループットが必要な場合は?
A: プロビジョニングスループット(固定値でスループットを確保)。
8.4 パフォーマンスモード
- Q: 汎用モードと最大I/Oモードの違いは?
A: 汎用は低レイテンシで大多数のワークロードに最適。最大I/Oは数百〜数千インスタンスの高並列アクセスに対応するが、レイテンシがやや高い。
8.5 コンテナ・Lambda との統合
- Q: ECSタスク/Fargate でEFSを永続ストレージとして使うには?
A: タスク定義にEFSボリューム設定を追加し、コンテナのマウントポイントを指定。Fargateでも対応。 - Q: Lambda関数でEFSを使う条件は?
A: LambdaをVPC内に配置し、EFSのマウントターゲットと同じVPC/サブネットに配置する必要がある。
8.6 セキュリティ
- Q: EFSへのNFSアクセスをセキュアにするには?
A: セキュリティグループでNFSポート(2049)を制限、IAMポリシー・EFSファイルシステムポリシーでアクセス制御、TLS(EFSマウントヘルパー)で転送時暗号化。 - Q: EFS Access Pointsの用途は?
A: コンテナやアプリケーションごとに異なるディレクトリへのアクセスを制限し、強制UIDで分離管理。IAMポリシーと組み合わせると強力。
8.7 マルチAZ構成での注意点
- Q: EFS StandardをマルチAZのEC2から使う場合の設定は?
A: 各AZにマウントターゲットを作成する。同一AZのマウントターゲットを使えばAZ間データ転送コストを回避できる。 - Q: EFSはどの程度の耐久性を持つか?
A: EFS Standardは複数AZにデータを分散し、99.999999999%(イレブンナイン)の耐久性。One Zoneは単一AZ保存のため低耐久性。