321
Amazon Elastic File System ユーザーガイド

Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

  • Upload
    others

  • View
    16

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File Systemユーザーガイド

Page 2: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド

Amazon Elastic File System: ユーザーガイドCopyright © 2020 Amazon Web Services, Inc. and/or its affiliates. All rights reserved.

Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's,in any manner that is likely to cause confusion among customers, or in any manner that disparages or discreditsAmazon. All other trademarks not owned by Amazon are the property of their respective owners, who may or may notbe affiliated with, connected to, or sponsored by Amazon.

Page 3: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド

Table of ContentsAmazon Elastic File System とは .......................................................................................................... 1

Amazon EFS を初めてお使いになる方向けの情報 ........................................................................... 2仕組み ............................................................................................................................................... 3

概要 .......................................................................................................................................... 3Amazon EFS と Amazon EC2 の連携 ........................................................................................... 4Amazon EFS が AWS Direct Connect と AWS マネージド VPN で動作する仕組み ............................... 5Amazon EFS と AWS Backup の連携 ........................................................................................... 6実装の要約 ................................................................................................................................ 6認証とアクセスコントロール ........................................................................................................ 7Amazon EFS でのデータ整合性 .................................................................................................... 7ストレージクラスとライフサイクル管理 ......................................................................................... 8

セットアップ ..................................................................................................................................... 9AWS にサインアップ .................................................................................................................. 9IAM ユーザーを作成する .............................................................................................................. 9

ご利用開始にあたって ....................................................................................................................... 12前提 ........................................................................................................................................ 12関連トピック ............................................................................................................................ 13ステップ 1: Amazon EFS ファイルシステムを作成する .................................................................. 13ステップ 2: EC2 リソースを作成し、EC2 インスタンスを起動する .................................................. 16ステップ 3. DataSync を使用してファイルを転送する .................................................................... 18

開始する前に .................................................................................................................... 18ステップ 4: リソースをクリーンアップし、AWS アカウントを保護する ............................................ 18

Amazon EFS のリソースを作成する .................................................................................................... 20ファイルシステムの作成 ............................................................................................................ 21

要件 ................................................................................................................................ 21必要なアクセス許可 .......................................................................................................... 22ファイルシステムの作成 .................................................................................................... 22

マウントターゲットの作成 ......................................................................................................... 24Amazon EFS コンソールを使用してマウントターゲットを作成する ......................................... 25AWS CLI を使用してマウントターゲットを作成する .............................................................. 29

セキュリティグループの作成 ...................................................................................................... 29AWS マネジメントコンソール を使用したセキュリティグループの作成 .................................... 30AWS CLI を使用したセキュリティグループの作成 ................................................................. 31

ファイルシステムポリシーの作成 ................................................................................................ 31アクセスポイントの作成 ............................................................................................................ 33

ファイルシステムの使用 .................................................................................................................... 36関連トピック ............................................................................................................................ 36

amazon-efs-utils を使用する ............................................................................................................... 37概要 ........................................................................................................................................ 37Amazon Linux で amazon-efs-utils パッケージをインストールする ................................................... 38他の Linux ディストリビューションで amazon-efs-utils パッケージをインストールする ....................... 38stunnel のアップグレード .......................................................................................................... 39

証明書ホスト名のチェックの無効化 ..................................................................................... 40オンライン証明書ステータスプロトコルの有効化 .................................................................. 41

EFS マウントヘルパー .............................................................................................................. 41仕組み ............................................................................................................................. 41EFS マウントヘルパーの使用 ............................................................................................. 42サポートログの取得 .......................................................................................................... 42AWS Direct Connect と VPN で amazon-efs-utils を使用する .................................................. 42関連トピック .................................................................................................................... 43

ファイルシステムの管理 .................................................................................................................... 44ネットワークアクセシビリティの管理 .......................................................................................... 44

VPC でのマウントターゲットの作成または削除 .................................................................... 46マウントターゲットの VPC を変更する ................................................................................ 49

iii

Page 4: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド

マウントターゲット設定の更新 ........................................................................................... 50タグを管理する ......................................................................................................................... 51

コンソールを使用する ....................................................................................................... 51CLI の使用 ....................................................................................................................... 52Amazon EFS へのデータ転送 ............................................................................................. 53

ストレージクラス ...................................................................................................................... 53ストレージクラスを使用する .............................................................................................. 54

ライフサイクル管理 .................................................................................................................. 54ライフサイクルポリシーの使用 ........................................................................................... 54ライフサイクル管理のファイルシステムオペレーション ......................................................... 55価格と請求 ....................................................................................................................... 55ライフサイクル管理の有効化  ........................................................................................... 56ライフサイクル管理の停止 ................................................................................................. 58

ファイルシステムとオブジェクトサイズを計測する ........................................................................ 59Amazon EFS ファイルシステムオブジェクトの測定 ............................................................... 59Amazon EFS ファイルシステムの計測 ................................................................................. 60

Budgets によるファイルシステムのコストの管理 ........................................................................... 61前提条件 .......................................................................................................................... 61EFS ファイルシステムの月次コスト予算の作成 ..................................................................... 62

ファイルシステムを削除する ...................................................................................................... 62コンソールを使用する ....................................................................................................... 62CLI の使用 ....................................................................................................................... 63関連トピック .................................................................................................................... 63

暗号化されたファイルシステムへのアクセスの管理 ........................................................................ 63Amazon EFS カスタマーマスターキーの管理アクションの実行 ............................................... 64関連トピック .................................................................................................................... 64

EFS ファイルシステムをマウントする ................................................................................................. 65AMI およびカーネルバージョンのトラブルシューティング .............................................................. 65amazon-efs-utils をインストールする ........................................................................................... 65EFS マウントヘルパーを使用してマウントする ............................................................................. 66

EFS マウントヘルパーを使用して EC2 にマウントする .......................................................... 66IAM 認証によるマウント .................................................................................................... 67EFS アクセスポイントによるマウント ................................................................................. 67EFS マウントヘルパーによる自動マウント ........................................................................... 68EFS マウントヘルパーを使用してオンプレミスの Linux クライアントに AWS Direct Connect および VPN 経由でマウントする ............................................................................................ 68

EFS を自動的にマウントする ..................................................................................................... 69インスタンスの起動時に EFS ファイルシステムをマウントするよう EC2 インスタンスを設定する ................................................................................................................................... 69/etc/fstab を使用した自動マウント ....................................................................................... 70

別のアカウントまたは VPC からマウントする .............................................................................. 73別の VPC から IAM またはアクセスポイントを使用してマウントする ....................................... 73別のアカウントまたは同じ VPC からマウントする ................................................................ 75

マウントに関する追加の考慮事項 ................................................................................................ 75ファイルシステムをアンマウントする .................................................................................. 77

EFS のモニタリング ......................................................................................................................... 78モニタリングツール .................................................................................................................. 78

自動化ツール .................................................................................................................... 78手動モニタリングツール .................................................................................................... 79

CloudWatch によるモニタリング ................................................................................................. 79Amazon EFS の Amazon CloudWatch メトリクス ................................................................. 79CloudWatch で表示されるバイト数 ...................................................................................... 82Amazon EFS ディメンション ............................................................................................. 82Amazon EFS メトリクスの使用方法 .................................................................................... 82CloudWatch メトリクスへのアクセス ................................................................................... 82アラームの作成 ................................................................................................................. 83Amazon EFS で Metric Math を使用する .............................................................................. 84

iv

Page 5: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド

AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成 .................................................. 87CloudTrail 内の Amazon EFS 情報 ...................................................................................... 88Amazon EFS ログファイルエントリの概要 ........................................................................... 88保管時に暗号化されたファイルシステムの Amazon EFS ログファイルエントリ ......................... 93

パフォーマンス ................................................................................................................................. 95パフォーマンスの概要 ............................................................................................................... 95Amazon EFS ユースケース ........................................................................................................ 96

ビッグデータと分析 .......................................................................................................... 96メディア処理ワークフロー ................................................................................................. 96コンテンツ管理とウェブ配信 .............................................................................................. 96ホームディレクトリ .......................................................................................................... 96

パフォーマンスモード ............................................................................................................... 96汎用パフォーマンスモード ................................................................................................. 96最大 I/O パフォーマンスモード ........................................................................................... 97適切なパフォーマンスモードの使用 ..................................................................................... 97

スループットモード .................................................................................................................. 97バースト .......................................................................................................................... 98プロビジョニングされたスループット ................................................................................ 100適切なスループットモードの使用 ...................................................................................... 100

オンプレミスのパフォーマンスに関する考慮事項 ......................................................................... 101高可用性のアーキテクチャー ............................................................................................. 101

Amazon EFS パフォーマンスのヒント ....................................................................................... 102関連トピック .......................................................................................................................... 103

Amazon EFS のデータ保護 .............................................................................................................. 104AWS Backup および EFS ......................................................................................................... 104

AWS Backup と EFS ファイルシステムの連携 .................................................................... 104チュートリアル ............................................................................................................................... 107

チュートリアル: AWS CLI を使用して、ファイルシステムを作成しマウントする .............................. 107開始する前に .................................................................................................................. 108ツールのセットアップ ...................................................................................................... 108ステップ 1: Amazon EC2 リソースを作成する .................................................................... 109ステップ 2: Amazon EFS リソースを作成する .................................................................... 113ステップ 3: ファイルシステムをマウントしてテストする ...................................................... 115ステップ 4: クリーンアップする ........................................................................................ 118

チュートリアル: Apache ウェブサーバーを設定してファイルを提供する ......................................... 119単一 EC2 インスタンスによってファイルを提供する ............................................................ 120複数の EC2 インスタンスによってファイルを提供する ......................................................... 121

チュートリアル: 書き込み可能なユーザーごとのサブディレクトリの作成 ........................................ 125再起動時の自動再マウント ................................................................................................ 126

ウォークスルー: オンプレミスの EFS マウントクライアント ......................................................... 126開始する前に .................................................................................................................. 127ステップ 1: Amazon Elastic File System リソースを作成する ................................................. 127ステップ 2: NFS クライアントをインストールする .............................................................. 128ステップ 3: オンプレミスクライアント Amazon EFS ファイルシステムをマウントする ............. 129ステップ 4: リソースをクリーンアップし、AWS アカウントを保護する .................................. 130オプション: 転送中のデータの暗号化 ................................................................................. 130

ウォークスルー: 別の VPC からファイルシステムをマウントする .................................................. 133開始する前に .................................................................................................................. 133ステップ 1: EFS マウントターゲットのアベイラビリティーゾーン ID を特定する ..................... 134手順 2: マウントターゲットの IP アドレスを特定する .......................................................... 134手順 3: マウントターゲットのホストエントリを追加する ...................................................... 135手順 4: EFS マウントヘルパーを使用してファイルシステムをマウントする ............................. 135ステップ 5: リソースをクリーンアップし、AWS アカウントを保護する .................................. 137

ウォークスルー: Amazon EFS ファイルシステムでの保管時の暗号化の強制 ..................................... 137保管時の暗号化を強制する ................................................................................................ 137

チュートリアル: NFS 用 IAM を使用してルートスカッシュを有効にする ......................................... 139セキュリティ .................................................................................................................................. 143

v

Page 6: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド

EFS でのデータの暗号化 .......................................................................................................... 143暗号化を使用する場合 ...................................................................................................... 144保存データの暗号化 ......................................................................................................... 144転送中のデータの暗号化 ................................................................................................... 146

Identity and Access Management .............................................................................................. 148認証 .............................................................................................................................. 148アクセスコントロール ...................................................................................................... 149アクセス管理の概要 ......................................................................................................... 149API へのアクセスの制御 ................................................................................................... 153IAM を使用して NFS アクセスを制御する ........................................................................... 159EFS サービスにリンクされたロールの使用 ......................................................................... 161

ネットワークアクセスの制御 ..................................................................................................... 163Amazon EC2 インスタンスとマウントターゲットのセキュリティグループの使用 ..................... 164ソースポート .................................................................................................................. 165ネットワークアクセスに関するセキュリティ上の考慮事項 ..................................................... 165VPC エンドポイントの使用 .............................................................................................. 166

NFS レベルのユーザー、グループ、およびアクセス許可 ............................................................... 167ファイルおよびディレクトリのアクセス許可 ....................................................................... 168Amazon EFS ファイルシステムのユースケースとアクセス許可の例 ........................................ 168ファイルシステム内のファイルとディレクトリに対するユーザー ID とグループ ID のアクセス許可 .............................................................................................................................. 169ルートスカッシュなし ...................................................................................................... 170アクセス許可のキャッシュ ................................................................................................ 170ファイルシステムオブジェクトの所有権の変更 .................................................................... 170EFS アクセスポイント ..................................................................................................... 170

アクセスポイントの使用 ........................................................................................................... 171アクセスポイントの作成 ................................................................................................... 171アクセスポイントを使用したファイルシステムのマウント ..................................................... 171アクセスポイントを使用したユーザー ID の適用 .................................................................. 171アクセスポイントを使用したルートディレクトリの適用 ........................................................ 172IAM ポリシーでのアクセスポイントの使用 .......................................................................... 173

ロギングとモニタリング ........................................................................................................... 174コンプライアンス検証 .............................................................................................................. 174弾力 ...................................................................................................................................... 175ネットワークの隔離 ................................................................................................................. 175

EFS のクォータ .............................................................................................................................. 177引き上げることができる Amazon EFS のクォータ ....................................................................... 177

クォータ引き上げのリクエスト ......................................................................................... 178リソースクォータ .................................................................................................................... 178NFS クライアントのクォータ ................................................................................................... 179Amazon EFS ファイルシステムのクォータ ................................................................................. 179サポートされていない NFSv4 機能 ............................................................................................ 180追加の考慮事項 ....................................................................................................................... 181

Amazon EFS のトラブルシューティング ............................................................................................ 182一般的な問題のトラブルシューティング ..................................................................................... 182

Amazon EC2 インスタンスがハングする ............................................................................ 183大量のデータを書き込みしているアプリケーションがハングする ........................................... 183多くのファイルを並列に開くとパフォーマンスが低下する ..................................................... 183カスタム NFS 設定による書き込みの遅延 ........................................................................... 184Oracle Recovery Manager を使用したバックアップの作成に時間がかかる ............................... 184

ファイル操作エラーのトラブルシューティング ............................................................................ 184「Disk quota exceeded」エラーでコマンドが失敗する ......................................................... 185「I/O error」でコマンドが失敗する .................................................................................... 185「File name is too long」エラーでコマンドが失敗する ......................................................... 185「File not found」エラーでコマンドが失敗する ................................................................... 186「Too many links」エラーでコマンドが失敗する ................................................................. 186「File too large」エラーでコマンドが失敗する .................................................................... 186

vi

Page 7: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド

AMI とカーネルの問題のトラブルシューティング ......................................................................... 186chown ができない ........................................................................................................... 187クライアントのバグのためにファイルシステムが繰り返し操作を実行し続ける ......................... 187デッドロッククライアント ................................................................................................ 187大きなディレクトリ内のファイルの一覧表示に時間がかかる .................................................. 187

マウントの問題のトラブルシューティング .................................................................................. 188Windows インスタンスでのファイルシステムのマウントが失敗する ....................................... 188サーバーによってアクセスが拒否されました ....................................................................... 188自動マウントが失敗してインスタンスが応答しない .............................................................. 189/etc/fstab での複数の Amazon EFS ファイルシステムのマウントが失敗する ............................ 189エラーメッセージ「wrong fs type」でマウントコマンドが失敗する ........................................ 189エラーメッセージ「incorrect mount option」でマウントコマンドが失敗する ............................ 190ファイルシステムを作成した後すぐにファイルシステムのマウントが失敗する ......................... 190ファイルシステムのマウントがハングした後、タイムアウトエラーで失敗する ......................... 190DNS 名を使用したファイルシステムのマウントが失敗する ................................................... 191「nfs が応答していません」が表示されてファイルシステムのマウントが失敗する .................... 192マウントターゲットのライフサイクル状態がスタックする ..................................................... 192マウントが応答しない ...................................................................................................... 192新しくマウントされたファイルシステムでの操作が「bad file handle」エラーを返します ........... 192ファイルシステムのアンマウントが失敗する ....................................................................... 193

暗号化のトラブルシューティング .............................................................................................. 193転送中にデータの暗号化を行うマウントが失敗する .............................................................. 193転送中にデータの暗号化を行うマウントが中断する .............................................................. 193保管時に暗号化されたファイルシステムを作成できない ........................................................ 194使用できない暗号化されたファイルシステム ....................................................................... 194

Amazon EFS API ............................................................................................................................ 196API エンドポイント ................................................................................................................. 196API バージョン ....................................................................................................................... 197関連トピック .......................................................................................................................... 197Amazon EFS のクエリ API リクエスト率の使用 .......................................................................... 197

ポーリング ..................................................................................................................... 197再試行またはバッチ処理 ................................................................................................... 197スリープ間隔の計算 ......................................................................................................... 197

Actions .................................................................................................................................. 198CreateAccessPoint .......................................................................................................... 199CreateFileSystem ............................................................................................................ 203CreateMountTarget .......................................................................................................... 211CreateTags .................................................................................................................... 218DeleteAccessPoint ........................................................................................................... 221DeleteFileSystem ............................................................................................................ 223DeleteFileSystemPolicy .................................................................................................... 225DeleteMountTarget .......................................................................................................... 227DeleteTags ..................................................................................................................... 230DescribeAccessPoints ...................................................................................................... 232DescribeFileSystemPolicy ................................................................................................. 235DescribeFileSystems ........................................................................................................ 238DescribeLifecycleConfiguration .......................................................................................... 242DescribeMountTargets ..................................................................................................... 245DescribeMountTargetSecurityGroups .................................................................................. 249DescribeTags ................................................................................................................. 252ListTagsForResource ....................................................................................................... 255ModifyMountTargetSecurityGroups ..................................................................................... 257PutFileSystemPolicy ........................................................................................................ 260PutLifecycleConfiguration .................................................................................................. 263TagResource .................................................................................................................. 267UntagResource ............................................................................................................... 269UpdateFileSystem ........................................................................................................... 271

vii

Page 8: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド

Data Types ............................................................................................................................ 275AccessPointDescription .................................................................................................... 276CreationInfo .................................................................................................................... 278FileSystemDescription ...................................................................................................... 279FileSystemSize ............................................................................................................... 282LifecyclePolicy ................................................................................................................ 283MountTargetDescription .................................................................................................... 284PosixUser ...................................................................................................................... 286RootDirectory .................................................................................................................. 287Tag ............................................................................................................................... 288

追加情報 ........................................................................................................................................ 289AWS Data Pipeline を使用したバックアップ ............................................................................... 289

推奨される EFS バックアップソリューション ..................................................................... 289AWS Data Pipeline を使用したレガシー EFS バックアップソリューション .............................. 289AWS Data Pipeline を使用した Amazon EFS バックアップのパフォーマンス ........................... 290AWS Data Pipeline を使用した Amazon EFS バックアップに関する考慮事項 ........................... 291AWS Data Pipeline を使用した Amazon EFS バックアップの前提条件 .................................... 291AWS Data Pipeline で Amazon EFS ファイルシステムをバックアップする方法 ........................ 292その他のバックアップリソース ......................................................................................... 297

EFS マウントヘルパーを使用せずにファイルシステムをマウントする ............................................. 301NFS サポート ................................................................................................................. 302NFS クライアントをインストールする ............................................................................... 303NFS の推奨されるマウントオプション ............................................................................... 304DNS 名を使用して Amazon EC2 にマウントする ................................................................. 305IP アドレスを使用してマウントする .................................................................................. 306

ドキュメント履歴 ............................................................................................................................ 308

viii

Page 9: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド

Amazon Elastic File System とはAmazon Elastic File System (Amazon EFS) は、AWS クラウドサービスおよびオンプレミスリソースで使用するための、シンプルでスケーラブル、かつ伸縮自在なフルマネージド型の NFS ファイルシステムを提供します。アプリケーションを停止させることなく、オンデマンドでペタバイト規模までスケールするよう設計されており、ファイルの追加や削除に応じて自動的に拡張/縮小されるため、拡張に対応するための容量のプロビジョニングや管理は不要になります。Amazon EFS には、ファイルシステムをすばやく簡単に作成および設定できるシンプルなウェブサービスインターフェイスがあります。このサービスでは、ユーザーに代わってすべてのファイルストレージインフラストラクチャを管理するため、複雑なデプロイ、パッチ適用、および複雑なファイルシステム設定の保守を行う必要がありません。

Amazon EFS はネットワークファイルシステムバージョン 4 (NFSv4.1 および NFSv4.0) プロトコルをサポートするので、現在お使いのアプリケーションやツールも Amazon EFS とシームレスに動作します。複数の Amazon EC2 インスタンスが 1 つの Amazon EFS ファイルシステムに同時にアクセスすることができるため、複数のインスタンスまたはサーバーで実行されているワークロードとアプリケーションに共通のデータソースを提供できます。

Amazon EFS では、ファイルシステムで使用されるストレージに対してのみ支払いを行い、最低料金やセットアップ料金はありません。Amazon EFS には、スタンダードアクセスと低頻度アクセスの 2 つのストレージクラスがあります。スタンダードストレージクラスは、頻繁にアクセスされるファイルを格納するために使用されます。低頻度アクセス (IA) ストレージクラスは、低コストのストレージクラスで、アクセス頻度が低く長期間保存されるファイルをコスト効率よく格納するように設計されています。詳細については、「EFS ストレージクラス (p. 53)」を参照してください。プロビジョニングされたスループットに関連するコストは、指定したスループット値によって決まります。詳細については、「Amazon EFS料金表」を参照してください。

このサービスは、拡張性、可用性、耐久性に優れた設計となっています。 Amazon EFS ファイルシステムは、AWS リージョンの複数のアベイラビリティーゾーンにデータとメタデータを格納します。EFS ファイルシステムはペタバイト規模で拡張でき、高レベルのスループットを促進して、Amazon EC2 インスタンスからデータへの大規模な並列アクセスを可能にします。

Amazon EFS は、強いデータの整合性とファイルのロックなどのファイルシステムアクセスのセマンティクスが提供されます。詳細については、「Amazon EFS でのデータ整合性 (p. 7)」を参照してください。Amazon EFS では、Portable Operating System Interface (POSIX) アクセス権限を通じてファイルシステムへのアクセスを制御することができます。詳細については、「Amazon EFS でのセキュリティ (p. 143)」を参照してください。

Amazon EFS は、セキュリティおよびコンプライアンス要件を満たすための認証、承認、および暗号化の各機能をサポートしています。Amazon EFS では、ファイルシステムの 2 つの形式の暗号化として、転送中の暗号化と保管時の暗号化をサポートしています。Amazon EFS ファイルシステムを作成する場合、保管時の暗号化を有効にすることができます。これを行うと、データとメタデータはすべて暗号化されます。伝送中の暗号化は、ファイルシステムをマウントする際に有効にできます。EFS への NFS クライアントのアクセスは、AWS Identity and Access Management (IAM) ポリシーとネットワークセキュリティポリシー (セキュリティグループなど) の両方によって制御されます。詳細については、「EFS でのデータの暗号化 (p. 143)」、「Amazon EFS の Identity and Access Management (p. 148)」、および「NFS クライアントの Amazon EFS ファイルシステムへのネットワークアクセスのコントロール (p. 163)」を参照してください。

Amazon EFS は、さまざまなワークロードに必要なスループット、IOPS、および低レイテンシーを実現するように設計されています。Amazon EFS では、2 つのパフォーマンスモードおよび 2 つのスループットモードから選択できます。

• デフォルトの汎用パフォーマンスモードは、ウェブ配信環境、コンテンツ管理システム、ホームディレクトリ、一般的なファイルサービスなど、レイテンシーの影響を受けやすいユースケースに最適です。最大 I/O モードのファイルシステムは、ファイルメタデータのオペレーションに伴うレイテンシーがわ

1

Page 10: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAmazon EFS を初めてお使いになる方向けの情報

ずかに高くなる代わりに、より高いレベルの集計スループットおよびオペレーション数/秒へとスケールできます。詳細については、「パフォーマンスモード (p. 96)」を参照してください。

• デフォルトのバーストスループットモードを使用して、ファイルシステムが大きくなるに従ってスループットが拡張します。プロビジョニングされたスループットモードを使用すると、保存されたデータ量とは別に、ファイルシステムのスループットを指定できます。詳細については、「Amazon EFS のパフォーマンス (p. 95)」を参照してください。

Note

Microsoft Windows– ベースの Amazon EC2 インスタンスでの Amazon EFS の使用はサポートされていません。

Amazon EFS を初めてお使いになる方向けの情報Amazon EFS を初めて使用する方には、次のセクションを順に読むことをお勧めします。

1. Amazon EFS 製品と料金の概要については、「Amazon EFS」を参照してください。2. Amazon EFS に関する技術的な概要については、Amazon EFS: 仕組み (p. 3) を参照してくださ

い。3. 入門演習を試してみます。

• ご利用開始にあたって (p. 12)• チュートリアル (p. 107)

Amazon EFS の詳細情報について、次のトピックでそのサービスについて詳しく説明します。

• Amazon EFS のリソースを作成する (p. 20)• Amazon EFS ファイルシステムの管理 (p. 44)• Amazon EFS API (p. 196)

2

Page 11: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド概要

Amazon EFS: 仕組みAmazon EFS の動作方法、実装の詳細、およびセキュリティに関する考慮事項について説明します。

トピック• 概要 (p. 3)• Amazon EFS と Amazon EC2 の連携 (p. 4)• Amazon EFS が AWS Direct Connect と AWS マネージド VPN で動作する仕組み (p. 5)• Amazon EFS と AWS Backup の連携 (p. 6)• 実装の要約 (p. 6)• 認証とアクセスコントロール (p. 7)• Amazon EFS でのデータ整合性 (p. 7)• ストレージクラスとライフサイクル管理 (p. 8)

概要Amazon EFS は AWS クラウド内のファイルストレージを提供します。Amazon EFS を使用すると、ファイルシステムを作成し、ファイルシステムを Amazon EC2 インスタンス、 にマウントし、ファイルシステムとの間でデータの読取りおよび書込みを行うことができます。Network File System バージョン 4.0 および 4.1 (NFSv4) プロトコルを使用して、Amazon EFS ファイルシステムを自分の VPC にマウントできます。Amazon EFS マウントヘルパーと組み合わせて現行世代の Linux NFSv4.1 クライアントを使用することをお勧めします。このクライアントは、最新の Amazon Linux、Redhat、Ubuntu AMI などに搭載されています。手順については、「amazon-efs-utils ツールを使用する (p. 37)」を参照してください。

このプロトコルをサポートする Amazon EC2 Linux Amazon Machine Images (AMI) のリストについては、「NFS サポート (p. 302)」を参照してください。一部の AMI では、Amazon EC2 インスタンスにファイルシステムをマウントするために NFS クライアントをインストールする必要があります。手順については、「NFS クライアントをインストールする (p. 303)」を参照してください。

複数の NFS クライアントから同時に Amazon EFS ファイルシステムにアクセスできるため、複数の接続に分散するアプリケーションからファイルシステムにアクセスできます。同じ AWS リージョン内の複数のアベイラビリティーゾーンで実行されている Amazon EC2 インスタンスからファイルシステムにアクセスできるため、多くのユーザーが共通のデータソースにアクセスして共有できます。

Amazon EFS のファイルシステムを作成できる AWS リージョンのリストについては、「アマゾン ウェブサービス全般のリファレンス」を参照してください。

VPC 内の Amazon EFS ファイルシステムにアクセスするには、VPC に 1 つ以上のマウントターゲットを作成します。マウントターゲットは、Amazon EFS ファイルシステムをマウントできる NFSv4 エンドポイントの IP アドレスを提供します。Domain Name Service (DNS) 名を使用してファイルシステムをマウントします。そうすると EC2 インスタンスと同じアベイラビリティーゾーンの EFS マウントターゲットの IP アドレスとして解決されます。AWS リージョンのアベイラビリティーゾーンごとに 1 つのマウントターゲットを作成できます。VPC のアベイラビリティーゾーンに複数のサブネットがある場合、サブネットの 1 つにマウントターゲットを作成します。次に、アベイラビリティーゾーンのすべての EC2 インスタンスがそのマウントターゲットを共有します。

Note

Amazon EFS ファイルシステムは、一度に 1 つの VPC にのみマウントターゲットを持つことができます。

3

Page 12: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAmazon EFS と Amazon EC2 の連携

マウントターゲットは高い可用性を実現できるように設計されています。高可用性と他のアベイラビリティーゾーン (AZ) へのフェイルオーバーを設計する場合、各 AZ のマウントターゲットの IP アドレスとDNS は静的ですが、これらは複数のリソースによってバッキングされた冗長コンポーネントであることに注意してください。

DNS 名を使用してファイルシステムをマウントしたら、このファイルシステムを他の POSIX 準拠のファイルシステムと同じように使用します。NFS レベルのアクセス権限と関連する考慮事項の詳細については、「ネットワークファイルシステム (NFS) レベルでのユーザー、グループ、アクセス許可の操作 (p. 167)」を参照してください。

Amazon EFS ファイルシステムは、AWS Direct Connect または AWS VPN で Amazon VPC に接続されているときに、オンプレミスのデータセンターサーバーにマウントできます。EFS ファイルシステムをオンプレミスのサーバーにマウントすると、データセットを EFS に移行したり、クラウドでのバーストシナリオを有効にしたり、オンプレミスのデータを EFS にバックアップしたりできます。

Amazon EFS と Amazon EC2 の連携次の図は、Amazon EFS ファイルシステムにアクセスする VPC の例を示しています。ここでは、VPC のEC2 インスタンスにファイルシステムがマウントされています。

この図では、VPC には 3 つのアベイラビリティーゾーンがあり、それぞれに 1 つのマウントターゲットが作成されています。同じアベイラビリティーゾーンのマウントターゲットからファイルシステムにアクセスすることをお勧めします。アベイラビリティーゾーンの 1 つには 2 つのサブネットがあります。ただし、マウントターゲットは 1 つのサブネットのみに作成されます。このセットアップは、次のように機能します。

1. Amazon EC2 リソースを作成し、Amazon EC2 インスタンスを起動します。Amazon EC2 の詳細については、「Amazon EC2 - 仮想サーバーのホスティング」を参照してください。

2. Amazon EFS ファイルシステムを作成します。3. Amazon EC2 インスタンスに接続し、Amazon EFS ファイルシステムをマウントします。

詳細なステップについては、「Amazon Elastic File System の使用開始 (p. 12)」を参照してください。

4

Page 13: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAmazon EFS が AWS Direct Connect と

AWS マネージド VPN で動作する仕組み

Amazon EFS が AWS Direct Connect と AWS マネージド VPN で動作する仕組み

オンプレミスサーバーにマウントされた Amazon EFS ファイルシステムを使用すると、オンプレミスのデータを Amazon EFS ファイルシステムにホストされている AWS クラウドに移行できます。バーストを活用することもできます。つまり、オンプレミスサーバーから Amazon EFS にデータを移動し、AmazonVPC のフリートの Amazon EC2 インスタンスのフリーとで分析することができます。その後、結果をファイルシステムに永続的に保存するか、結果をオンプレミスサーバーに戻すことができます。

オンプレミスサーバーで Amazon EFS を使用する場合は、次の点に注意してください。

• オンプレミスサーバーには Linux ベースのオペレーティングシステムが必要です。Linux カーネルバージョン 4.0 以降をお勧めします。

• わかりやすいように、DNS 名ではなくマウントターゲットの IP アドレスを使用して、Amazon EFSファイルシステムをオンプレミスサーバーにマウントすることをお勧めします。

Amazon EFS ファイルシステムのオンプレミスアクセスに、追加料金は必要ありません。Amazon VPC に接続する AWS Direct Connect には料金が発生します。詳細については、「AWS Direct Connect 料金表」を参照してください。

次の図は、オンプレミスから Amazon EFS ファイルシステムにアクセスする方法 (オンプレミスサーバーにファイルシステムがマウントされている) の例を示しています。

オンプレミスサーバーと VPC の間に AWS Direct Connect接続を使用してそのマウントターゲットのサブネットに到達できる場合は、VPC で任意のマウントターゲットを使用できます。オンプレミスサーバーから Amazon EFS にアクセスするには、オンプレミスサーバーから NFS ポート (2049) へのインバウンドトラフィックを許可するために、マウントターゲットセキュリティグループにルールを追加する必要があります。

このようなセットアップを作成するには、以下の作業を行います。

1. オンプレミスデータセンターと Amazon VPC の間に AWS Direct Connect 接続を確立します。AWSDirect Connect の詳細については、「AWS Direct Connect」を参照してください。

2. Amazon EFS ファイルシステムを作成します。3. オンプレミスサーバーに Amazon EFS ファイルシステムをマウントします。

詳細なステップについては、「ウォークスルー: AWS Direct Connect と VPN を使用してオンプレミスでファイルシステムを作成してマウントする (p. 126)」を参照してください。

5

Page 14: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAmazon EFS と AWS Backup の連携

Amazon EFS と AWS Backup の連携ファイルシステムの包括的なバックアップの実装では、Amazon EFS と AWS Backup を使用できます。AWS Backup は、クラウドおよびオンプレミスの AWS サービス間でのデータバックアップの集中化と自動化を容易にする完全マネージド型バックアップサービスです。AWS Backup を使用すると、バックアップポリシーを集中的に設定し、AWS リソースのバックアップアクティビティを監視できます。Amazon EFS は常にバックアップオペレーションよりもファイルシステムオペレーションを優先します。AWS Backup を使用して EFS ファイルシステムをバックアップする方法の詳細については、「Amazon EFS での AWS Backup の使用 (p. 104)」を参照してください。

実装の要約Amazon EFS では、ファイルシステムがプライマリリソースです。各ファイルシステムには、プロパティとして ID、作成トークン、作成時刻、バイト単位でのファイルシステムサイズ、ファイルシステム用に作成されたマウントターゲットの数、ファイルシステムのライフサイクル状態などがあります。詳細については、CreateFileSystem (p. 203)を参照してください。

Amazon EFS は、プライマリリソースの設定のための他のリソースもサポートします。これには、マウントターゲットやアクセスポイントが含まれます。

• マウントターゲット – ファイルシステムにアクセスするには、VPC にマウントターゲットを作成する必要があります。各マウントターゲットには、プロパティとしてマウントターゲット ID、マウントターゲットが作成されたサブネットの ID、マウントターゲットが作成されたファイルシステムの ID、ファイルシステムのマウント先の IP アドレス、VPC セキュリティグループ、マウントターゲット状態などがあります。mount コマンドで DNS 名または IP アドレスが使用できます。

各ファイルシステムの DNS 名は次の形式になります。

file-system-id.efs.aws-region.amazonaws.com

この DNS 名を mount コマンドで指定して、Amazon EFS ファイルシステムをマウントできます。EC2インスタンスまたはオンプレミスサーバーに efs-mount-point サブディレクトリを作成するとします。次に、mount コマンドを使用してファイルシステムをマウントできます。たとえば、Amazon LinuxAMI では、以下の mount コマンドを使用できます。

$ sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport file-system-DNS-name:/ ~/efs-mount-point

詳細については、「マウントターゲットの作成 (p. 24)」を参照してください。最初に、EC2 インスタンスに NFS クライアントをインストールする必要があります。「ご利用開始にあたって (p. 12)」演習には、手順が説明されています。

• アクセスポイント – アクセスポイントは、アクセスポイントを介したすべてのファイルシステム要求に対して、オペレーティングシステムのユーザー、グループ、およびファイルシステムのパスを適用します。アクセスポイントのオペレーティングシステムのユーザーおよびグループは、NFS クライアントから提供されるすべての ID 情報を上書きします。ファイルシステムのパスは、アクセスポイントのルートディレクトリとしてクライアントに公開されます。これにより、各アプリケーションは共有ファイルベースのデータセットにアクセスするときに、常に正しいオペレーティングシステム ID と正しいディレクトリを使用できます。アクセスポイントを使用するアプリケーションは、それ自体のディレクトリ以下のデータにのみアクセスできます。詳細については、「Amazon EFS アクセスポイントの使用 (p. 171)」を参照してください。

6

Page 15: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド認証とアクセスコントロール

マウントターゲットとタグは、ファイルシステムに関連付けられたサブリソースです。これらは、既存のファイルシステムのコンテキスト内でのみ作成できます。

Amazon EFS では、API オペレーションでこれらのリソースの作成および管理ができます。各リソースの作成および削除オペレーションに加えて、Amazon EFS はリソース情報を取得する Describe オペレーションもサポートしています。これらのリソースの作成および管理には、以下のオプションがあります。

• Amazon EFS コンソールの使用 – 例については、「ご利用開始にあたって (p. 12)」を参照してください。

• Amazon EFS ココマンドラインインターフェイス (CLI) の使用 – 例については、「チュートリアル:Amazon EFS ファイルシステムを作成し、AWS CLI を使用して Amazon EC2 インスタンスにマウントする (p. 107)」を参照してください。

• 以下のように、これらのリソースをプログラムで管理することもできます。• AWS SDK を使用する– AWS SDK は、基礎となる Amazon EFS API をラップして、プログラミング

作業を簡素化します。SDK クライアントは、アクセスキーを使用してリクエストの認証も行います。詳細については、「サンプルコードとライブラリ」を参照してください。

• アプリケーションから直接 Amazon EFS API を呼び出す – 何らかの理由で SDK を使用できない場合、Amazon EFS API コールをアプリケーションから直接呼び出せます。ただし、このオプションを使用する場合、リクエストを認証するために必要なコードを記述する必要があります。Amazon EFSAPI の詳細については、「Amazon EFS API (p. 196)」を参照してください。

認証とアクセスコントロールファイルシステムの作成などの Amazon EFS API リクエストには、有効な認証情報が必要です。さらに、リソースの作成またはアクセスのための権限も必要です。デフォルトでは、AWS アカウントのルートアカウントの認証情報を使用すると、そのアカウントが所有するリソースの作成やアクセスができます。ただし、ルートアカウントの認証情報は使用しないことをお勧めします。また、アカウントで作成したAWS Identity and Access Management (IAM) ユーザーおよびロールには、リソースの作成またはアクセスの許可が付与されている必要があります。権限の詳細については、Amazon EFS の Identity and AccessManagement (p. 148)を参照してください。

NFS クライアントの IAM 認証は、Amazon EFS の追加のセキュリティオプションであり、IAM を使用して、大規模なネットワークファイルシステム (NFS) クライアントのアクセス管理がシンプルになります。NFS クライアントの IAM 認証では、IAM を使用して、もとからのスケーラブルな方法で EFS ファイルシステムへのアクセスを管理できます。NFS クライアントの IAM 認証は、クラウド環境向けにも最適化されています。NFS クライアントの IAM 認証を使用する方法の詳細については、「IAM を使用したAmazon EFS への NFS アクセスのコントロール (p. 159)」を参照してください。

Amazon EFS でのデータ整合性Amazon EFS は、アプリケーションが NFS に求める close-to-open 整合性セマンティクスを提供します。

Amazon EFS では、書き込みオペレーションは、以下の状況でアベイラビリティーゾーン間で永続的に保存されます。

• アプリケーションは、同期書き込みオペレーションを実行します (たとえば、open フラグで O_DIRECTLinux コマンドを使用するか、または fsync Linux コマンドを使用します)。

• アプリケーションがファイルを閉じます。

Amazon EFS は、アクセスパターンによっては、close-to-open セマンティクスよりも強力な整合性をもたらします。同期データアクセスを実行し、非追加書き込みを実行するアプリケーションは、データアクセスのための書き込み後の読み取り整合性を保ちます。

7

Page 16: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドストレージクラスとライフサイクル管理

ストレージクラスとライフサイクル管理Amazon EFS では、ファイルシステムに 2 つのストレージクラスを使用できます。

• 低頻度アクセス – 低頻度アクセス (IA) ストレージクラスは、低コストのストレージクラスで、アクセス頻度が低く長期間保存されるファイルをコスト効率よく格納するように設計されています。

• スタンダード – スタンダードストレージクラスは、頻繁にアクセスされるファイルを格納するために使用されます。

EFS IA ストレージクラスは、毎日アクセスされないファイルのストレージコストを削減します。この際に、EFS が提供する高可用性、高耐久性、伸縮性、および POSIX ファイルシステムへのアクセスが犠牲になることはありません。完全なデータセットにすぐにアクセスできるようにし、アクセス頻度が低いファイルのストレージコストを自動的に削減する場合は、EFS IA ストレージをお勧めします。例として、監査要件を満たすためにファイルをアクセス可能にしておくこと、履歴分析を実行すること、またはバックアップと回復を実行することなどがあります。EFS ストレージクラスの詳細については、「EFS ストレージクラス (p. 53)」を参照してください。

Amazon EFS のライフサイクル管理では、ファイルシステムの費用対効果の高いファイルストレージが自動的に管理されます。有効にすると、ライフサイクル管理により、設定された期間アクセスされなかったファイルは、低頻度アクセス (IA) ストレージクラスに移行されます。その期間は、ライフサイクルポリシーを使用して定義します。 ライフサイクル管理の詳細については、「EFS ライフサイクルの管理 (p. 54)」を参照してください。

8

Page 17: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAWS にサインアップ

セットアップAmazon EFS を初めて使用する場合は、事前に以下のタスクをすべて実行してください。

1. AWS にサインアップ (p. 9)2. IAM ユーザーを作成する (p. 9)

AWS にサインアップアマゾン ウェブ サービス (AWS) にサインアップすると、AWS 内のすべてのサーバー (Amazon EFS など) に AWS アカウントが自動的にサインアップされます。料金が発生するのは、実際に使用したサービスの分のみです。

Amazon EFS は、使用したストレージ分のみお支払いいただくだけで利用可能です。Amazon EFS の使用料の詳細については、「Amazon Elastic File System料金表」を参照してください。AWS の新規のお客様の場合、Amazon EFS を無料で使い始めることができます。詳細については、「AWS 無料利用枠」を参照してください。

既に AWS アカウントをお持ちの場合は次のタスクに進んでください。AWS アカウントをお持ちでない場合は、次に説明する手順にしたがってアカウントを作成してください。

AWS アカウントを作成するには

1. https://portal.aws.amazon.com/billing/signup を開きます。2. オンラインの手順に従います。

サインアップ手順の一環として、通話呼び出しを受け取り、電話のキーパッドを用いて確認コードを入力することが求められます。

次のタスクで AWS アカウント番号が必要となるので、メモしておいてください。

IAM ユーザーを作成するAWS のサービス (Amazon EFS など) では、サービスにアクセスする際に認証情報を提供する必要があります。それにより、サービスのリソースにアクセスする権限があるかどうかをサービスが判定します。AWS では、リクエストを実行するために、AWS アカウントのルート認証情報を使用することをお勧めしません。代わりに、IAM ユーザーを作成し、そのユーザーにフルアクセスを許可します。このようなユーザーを管理者ユーザーと呼びます。アカウントのルート認証情報ではなく、管理者ユーザーの認証情報を使用して、AWS を操作し、バケットの作成、ユーザーの作成、およびアクセス許可の付与などのタスクを実行できます。詳細については、「ルートアカウントの認証情報と「IAM ユーザーの認証情報」(AWS 全般のリファレンス) および「IAM のベストプラクティス」(IAM ユーザーガイド) を参照してください。

AWS にサインアップしても、ご自分の IAM ユーザーをまだ作成していない場合は、IAM コンソールを使用して作成できます。

自分用の管理者ユーザーを作成し、そのユーザーを管理者グループに追加するには (コンソール)

1. AWS アカウント E メールアドレスとパスワードを使用して https://console.aws.amazon.com/iam/ でAWS アカウントのルートユーザー として IAM コンソールにサインインします。

9

Page 18: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドIAM ユーザーを作成する

Note

以下のAdministratorIAMユーザーの使用に関するベストプラクティスに従い、ルートユーザー認証情報を安全な場所に保管しておくことを強くお勧めします。ルートユーザーとしてサインインして、少数のアカウントおよびサービス管理タスクのみを実行します。

2. ナビゲーションペインで [Users]、[Add user] の順に選択します。3. [ユーザー名] に「Administrator」と入力します。4. [AWS マネジメントコンソール access (アクセス)] の横にあるチェックボックスをオンにします。

[Custom password (カスタムパスワード)] を選択し、その後テキストボックスに新しいパスワードを入力します。

5. (オプション) AWS では、デフォルトで、新しいユーザーに対して初回のサインイン時に新しいパスワードを作成することが必要です。必要に応じて [User must create a new password at next sign-in(ユーザーは次回のサインイン時に新しいパスワードを作成する必要がある)] のチェックボックスをオフにして、新しいユーザーがサインインしてからパスワードをリセットできるようにできます。

6. [Next: Permissions (次へ: アクセス許可)] を選択します。7. [Set permissions (アクセス許可の設定)] で、[Add user to group (ユーザーをグループに追加)] を選択し

ます。8. [Create group] を選択します。9. [グループの作成] ダイアログボックスで、[グループ名] に「Administrators」と入力します。10. [Filter policies (フィルタポリシー)] を選択し、その後 [AWS managed -job function (AWS 管理ジョブ

の機能] を選択してテーブルのコンテンツをフィルタリングします。11. ポリシーリストで、[AdministratorAccess] のチェックボックスをオンにします。次に、[Create group]

を選択します。

Note

AdministratorAccess アクセス許可を使用して、AWS Billing and Cost Management コンソールを使用する前に、IAM ユーザーおよびロールの請求へのアクセスをアクティブ化する必要があります。これを行うには、請求コンソールへのアクセスの委任に関するチュートリアルのステップ 1 の手順に従ってください。

12. グループのリストに戻り、新しいグループのチェックボックスをオンにします。必要に応じて[Refresh] を選択し、リスト内のグループを表示します。

13. [次へ: タグ] を選択します。14. (オプション) タグをキー - 値のペアとしてアタッチして、メタデータをユーザーに追加します。IAM

でのタグの使用の詳細については、『IAM ユーザーガイド』の「IAM エンティティのタグ付け」を参照してください。

15. [Next: Review] を選択して、新しいユーザーに追加するグループメンバーシップのリストを表示します。続行する準備ができたら、[Create user] を選択します。

この同じプロセスを繰り返して新しいグループとユーザーを作成し、AWS アカウントのリソースへのアクセス権をユーザーに付与できます。ポリシーを使用して特定の AWS リソースに対するユーザーのアクセス許可を制限する方法については、「アクセス管理」と「ポリシーの例」を参照してください。

新規の IAM ユーザーとしてサインインするには、 AWS マネジメントコンソールからサインアウトし、次の URL を使用します。このとき、your_aws_account_id はハイフンを除いた AWS アカウント番号です(たとえば AWS アカウント番号が 1234-5678-9012 であれば、AWS アカウント ID は 123456789012です)。

https://your_aws_account_id.signin.aws.amazon.com/console/

作成した IAM ユーザー名とパスワードを入力します。サインインすると、ナビゲーションバーに「your_user_name@your_aws_account_id」と表示されます。

10

Page 19: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドIAM ユーザーを作成する

サインページの URL に AWS アカウント ID を含めない場合は、アカウントのエイリアスを作成します。IAM ダッシュボードから、[IAM users sign-in link: (IAM ユーザーのサインインリンク:)] を見つけ、[Customize (カスタマイズ)] を選択します。会社名などのエイリアスを入力します。アカウントエイリアスを作成した後、サインインするには、次の URL を使用します。

https://your_account_alias.signin.aws.amazon.com/console/

アカウントの IAM ユーザーのサインインリンクを確認するには、IAM コンソールを開き、ダッシュボードの [AWS Account Alias] の下を確認します。

11

Page 20: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド前提

Amazon Elastic File System の使用開始

この「使用開始」の実習では、Amazon Elastic File System (Amazon EFS) ファイルシステムをすばやく作成する方法について説明します。このプロセスの一環として、仮想プライベートクラウド (VPC) でAmazon Elastic Compute Cloud (Amazon EC2) インスタンスにファイルシステムをマウントします。また、エンドツーエンドのセットアップをテストします。

最初の Amazon EFS ファイルシステムを作成して使用するには、次の 4 つのステップを実行する必要があります。

• Amazon EFS ファイルシステムを作成します。• Amazon EC2 リソースを作成し、インスタンスを起動して、ファイルシステムをマウントします。• AWS DataSync を使用して EFS ファイルシステムにファイルを転送します。• リソースをクリーンアップし、AWS アカウントを保護します。

トピック• 前提 (p. 12)• 関連トピック (p. 13)• ステップ 1: Amazon EFS ファイルシステムを作成する (p. 13)• ステップ 2: EC2 リソースを作成し、EC2 インスタンスを起動する (p. 16)• ステップ 3: AWS DataSync を使用してファイルを Amazon EFS を転送する (p. 18)• ステップ 4: リソースをクリーンアップし、AWS アカウントを保護する (p. 18)

前提この演習では、次のことを前提としています。

• Amazon EC2 コンソールを使用してインスタンスを起動することにすでに精通しています。• Amazon VPC、Amazon EC2、Amazon EFS リソースはすべて同じ AWS リージョンにあります。この

ガイドでは、米国西部 (オレゴン) リージョン (us-west-2) を使用します。• この「開始方法」の演習のために使用している AWS リージョンにデフォルトの VPC があります。デ

フォルトの VPC がない場合、または、新しい VPC から新しいまたは既存のセキュリティグループでファイルシステムをマウントする場合でも、この「開始方法」の演習を活用できます。そうするためには、Amazon EC2 インスタンスとマウントターゲットのセキュリティグループの使用 (p. 164) を設定します。

• デフォルトのセキュリティグループ用のデフォルトのインバウンドアクセスルールを変更していません。

AWS アカウントのルート認証情報を使用してコンソールにサインインし、「はじめに」の練習を試すことができます。ただし、AWS Identity and Access Management (IAM) では、リクエストを実行するために、AWS アカウントのルート認証情報を使用しないことをお勧めします。代わりに、アカウントに管理者ユーザーを作成し、それらの認証情報を使用してアカウントのリソースを管理します。詳細については、「セットアップ (p. 9)」を参照してください。

12

Page 21: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド関連トピック

関連トピックこのガイドでは、Amazon EFS API 呼び出しをするための AWS Command Line Interface (AWS CLI) コマンドを使用した同様の「開始方法」の演習を行うためのチュートリアルも提供しています。詳細については、「チュートリアル: Amazon EFS ファイルシステムを作成し、AWS CLI を使用して Amazon EC2 インスタンスにマウントする (p. 107)」を参照してください。

ステップ 1: Amazon EFS ファイルシステムを作成する

このステップでは、Amazon EFS ファイルシステムを作成します。

Amazon EFS ファイルシステムを作成するには

1. Amazon EFS マネジメントコンソール (https://console.aws.amazon.com/efs/) を開きます。2. [Create File System (ファイルシステムの作成)] を選択します。[Create file system (ファイルシステム

の作成)] ページが表示されます。3. [Configure network access (ネットワークアクセスの設定)] セクションの [VPC] で、デフォルトの

VPC を選択します。これは vpc-xxxxxxx (172.31.0.0/16) (default) のようになっています。VPC ID を書き留めます。後のステップで必要になります。

4. すべてのアベイラビリティーゾーンのチェックボックスをオンにします。それらがすべてデフォルトのサブネット、自動 IP アドレス、および選択済みのデフォルトのセキュリティグループを持っていることを確認します。これらが、マウントターゲットです。詳細については、「マウントターゲットの作成 (p. 24)」を参照してください。

13

Page 22: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドステップ 1: Amazon EFS ファイルシステムを作成する

14

Page 23: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドステップ 1: Amazon EFS ファイルシステムを作成する

5. [Next Step] を選択します。6. [Add tags (タグの追加)] で、ファイルシステムに名前を付け、ファイルシステムの説明と管理に役立

つ他のタグを追加します。7. (オプション) [Enable Lifecycle Management (ライフサイクル管理を有効にする)] で、[Lifecycle policy

(ライフサイクルポリシー)] を選択します。これにより、ファイルシステムで低コストの低頻度アクセスストレージクラスが使用されます。ストレージクラスの詳細については、「EFS ストレージクラス (p. 53)」を参照してください。

8. デフォルトのパフォーマンスモードおよびスループットモードとして [Bursting (バースト)] および[General Purpose (汎用)] を選択します。

9. (オプション) この演習では、[Enable encryption (暗号化を有効にする)] の [Enable encryption of dataat rest (保管時のデータの暗号化を有効にする)] をオフのままにしておきます。ファイルシステムのデータの暗号化の詳細については、「EFS でのデータの暗号化 (p. 143)」を参照してください。[Next Step] を選択します。[Configure client access (クライアントアクセスの設定)] ページが表示されます。

10. この演習では、[File system policy (ファイルシステムポリシー)] と [Access Points (アクセスポイント)] をデフォルト設定のままにします。EFS ファイルシステムポリシーの詳細と使用方法については、「IAM を使用した Amazon EFS への NFS アクセスのコントロール (p. 159)」を参照してください。EFS アクセスポイントの詳細については、「Amazon EFS アクセスポイントの使用 (p. 171)」を参照してください。[Next Step] を選択します。[Review and create (確認と作成)] ページが表示されます。

15

Page 24: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドステップ 2: EC2 リソースを作成し、EC2 インスタンスを起動する

11. ファイルシステムの構成を確認し、[Create File System (ファイルシステムの作成)] を選択します。12. [File systems (ファイルシステム)] ページが表示されます。このページでは、新しいファイルシステム

が選択されています。[File system ID (ファイルシステム ID)] の値をメモします。この値は次のステップで必要になります。

ステップ 2: EC2 リソースを作成し、EC2 インスタンスを起動する

Note

Microsoft Windows ベースの Amazon EC2 インスタンスで Amazon EFS を使用することはできません。

Amazon EC2 インスタンスを起動して接続する前に、キーペアをまだ作成していない場合は作成する必要があります。Amazon EC2 コンソールを使用してキーペアを作成した後、EC2 インスタンスを起動できます。

16

Page 25: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドステップ 2: EC2 リソースを作成し、EC2 インスタンスを起動する

キーペアを作成するには

• キーペアを作成するには、『Linux インスタンス用 Amazon EC2 ユーザーガイド』の「Amazon EC2でのセットアップ」の手順を参照してください。すでにキーペアがある場合は、新しいキーペアを作成する必要はありません。この演習では、既存のキーペアを使用できます。

EC2 インスタンスを起動し、EFS ファイルシステムをマウントするには

1. https://console.aws.amazon.com/ec2/ で Amazon EC2 コンソールを開きます。2. [インスタンスの作成] を選択します。3. [ステップ 1: Amazon マシンイメージ (AMI) の選択] で、リストの一番上にある Amazon Linux AMI を

見つけて [選択] を選択します。4. [ステップ 2: インスタンスタイプの選択] で、[次の手順: インスタンスの詳細の設定] を選択します。5. 「ステップ 3: インスタンスの詳細を設定する」で、以下の情報を入力します。

• [ネットワーク] で、「ステップ 1: Amazon EFS ファイルシステムを作成する (p. 13)」で EFSファイルシステムを作成したときに書き留めたのと同じ VPC のエントリを選択します。

• [サブネット] で、任意のアベイラビリティーゾーンのデフォルトのサブネットを選択します。• [ファイルシステム] で、「ステップ 1: Amazon EFS ファイルシステムを作成する (p. 13)」で作

成した EFS ファイルシステムが選択されていることを確認します。ファイルシステム ID の横に表示されるパスは、EC2 インスタンスが使用するマウントポイントです。このマウントポイントは変更できます。[Add to user data (ユーザーデータに追加)] を選択して、EC2 の起動時にファイルシステムをマウントします。

• [Advanced Details (高度な詳細)] で、ユーザーデータが [ユーザーデータ] に存在することを確認します。

6. [次の手順: ストレージの追加] を選択します。7. [次の手順: タグの追加] を選択します。8. インスタンスに名前を付け、[次の手順: セキュリティグループの設定] を選択します。9. 「ステップ 6: セキュリティグループを設定する」で、[Assign a security group (セキュリティグルー

プの割り当て)] を [Select an existing security group (既存のセキュリティグループの選択)] に設定します。デフォルトのセキュリティグループを選択して、EFS ファイルシステムにアクセスできることを確認します。

このセキュリティグループを使用して、Secure Shell (SSH) で EC2 インスタンスにアクセスすることはできません。この演習では SSH アクセスは必要ありません。後で SSH によるアクセスを追加するには、デフォルトのセキュリティを編集し、SSH を許可するルールを追加できます。または、SSHを許可する新しいセキュリティグループを作成できます。SSH アクセスを追加するには、以下の設定を使用できます。

• タイプ: SSH• プロトコル: TCP• ポート範囲: 22• ソース: Anywhere 0.0.0.0/0

10. [Review and Launch] を選択します。11. [Launch] を選択します。12. 作成したキーペアのチェックボックスを選択した後、[インスタンスの起動] を選択します。

17

Page 26: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドステップ 3. DataSync を使用してファイルを転送する

ステップ 3: AWS DataSync を使用してファイルをAmazon EFS を転送する

これで、機能している Amazon EFS ファイルシステムが作成されたため、AWS DataSync を使用して既存のファイルシステムから Amazon EFS にファイルを転送できます。AWS DataSync は、インターネットまたは AWS Direct Connect 経由でオンプレミスストレージシステムと AWS ストレージサービス間のデータの移動とレプリケーションを簡素化、自動化、および高速化するデータ転送サービスです。AWSDataSync では、ファイルデータを転送したり、所有権、タイムスタンプ、アクセス許可などのファイルシステムのメタデータを転送することもできます。

開始する前にこのステップは、次のものがあることを前提としています。

• ファイルを転送できるソース NFS ファイルシステム。NFS バージョン 3、バージョン 4 または 4.1 経由で、このソースシステムにアクセスできる必要があります。ファイルシステムの例には、オンプレミスのデータセンターに配置されているもの、自己マネージドクラウド内ファイルシステム、AmazonEFS ファイルシステムがあります。

• ファイルを転送する宛先 Amazon EFS ファイルシステム。Amazon EFS ファイルシステムがない場合は作成します。詳細については、「Amazon Elastic File System の使用開始 (p. 12)」を参照してください。

• サーバーとネットワークは AWS DataSync の要件を満たしています。詳細は、「AWS DataSync 要件」を参照してください。

AWS DataSync を使用してソースの場所から目的の場所にファイルを転送するには、次のオペレーションを行います。

• お使いの環境にエージェントをダウンロードしてデプロイし、アクティブ化します。• 送信元と宛先の場所を作成して設定します。• タスクを作成し、設定します。• タスクを実行して、送信元から宛先までファイルを転送します。

既存のオンプレミスファイルシステムから EFS ファイルシステムにファイルを転送する方法については、AWS DataSync ユーザーガイド の「AWS DataSync の開始方法」を参照してください。既存のクラウド内ファイルシステムから EFS ファイルシステムにファイルを転送する方法については、AWS DataSyncユーザーガイド の「Amazon EC2 インスタンスとして AWS DataSync エージェントをデプロイする」および「 Amazon EFS AWS DataSync In-Cloud Transfer Quick Start and Scheduler」を参照してください。

ステップ 4: リソースをクリーンアップし、AWS アカウントを保護する

このガイドには、Amazon EFS についてさらに詳しく知るためのチュートリアルが含まれています。このクリーンアップステップを実行する前に、この「開始方法」の演習の関連するチュートリアルで作成し接続したリソースを使用できます。詳細については、「チュートリアル (p. 107)」を参照してください。このチュートリアルが完了したら、またはチュートリアルを使用しない場合は、以下の手順に従ってリソースをクリーンアップし、AWS アカウントを保護する必要があります。

リソースをクリーンアップし、AWS アカウントを保護するには

1. Amazon EC2 インスタンスに接続します。

18

Page 27: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドステップ 4: リソースをクリーンアッ

プし、AWS アカウントを保護する

2. 次のコマンドで、Amazon EFS ファイルシステムをアンマウントします。

$ sudo umount efs

3. Amazon EFS コンソール (https://console.aws.amazon.com/efs/) を開きます。4. ファイルシステムのリストから削除する Amazon EFS ファイルシステムを選択します。5. [Actions] で、[Delete file system] を選択します。6. [Permanently delete file system (ファイルシステムを完全に削除)] ダイアログボックスで、削除する

Amazon EFS ファイルシステムのファイルシステム ID を入力して、[Delete File System (ファイルシステムの削除)] を選択します。

7. https://console.aws.amazon.com/ec2/ で Amazon EC2 コンソールを開きます。8. インスタンスのリストから削除する Amazon EC2 インスタンスを選択します。9. [Actions (アクション)] に、[Instance State (インスタンスの状態)] を選択して、[Terminate (削除)] の順

に選択します。10. [インスタンスの削除] で、[はい、削除します] を選択し、この「開始方法」の演習で作成したインス

タンスを削除します。11. ナビゲーションペインで、[Security Groups] を選択します。12. この「開始方法」の演習の ステップ 2: EC2 リソースを作成し、EC2 インスタンスを起動す

る (p. 16) で、Amazon EC2 インスタンスの起動ウィザードの一部として作成したセキュリティグループの名前を選択します。

Warning

VPC のデフォルトのセキュリティグループを削除しないでください。13. [Actions (アクション)] で、[Delete Security Group (セキュリティグループの削除)] を選択します。14. [セキュリティグループの削除] では、[はい、削除します] を選択し、この「開始方法」の演習のため

に作成したセキュリティグループを削除します。

19

Page 28: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド

Amazon EFS のリソースを作成するAmazon EFS は、POSIX 準拠の伸縮自在な共有ファイルストレージを提供します。作成したファイルシステムは、複数の Amazon EC2 インスタンスからの同時書き込みおよび読み取りアクセスをサポートし、作成された AWS リージョンのすべてのアベイラビリティーゾーンからアクセスできます。

Network File System バージョン 4.0 および 4.1 プロトコル (NFSv4) を使用して、Amazon VPC に基づいて仮想プライベートクラウド (VPC) の EC2 インスタンスに Amazon EFS ファイルシステムをマウントできます。詳細については、「Amazon EFS: 仕組み (p. 3)」を参照してください。

トピック• Amazon Elastic File Systemを作成する (p. 21)• マウントターゲットの作成 (p. 24)• セキュリティグループの作成 (p. 29)• ファイルシステムポリシーの作成 (p. 31)• アクセスポイントの作成 (p. 33)

たとえば、VPC に 1 つ以上の EC2 インスタンスが起動されているとします。これらのインスタンスでファイルシステムを作成して使用することにします。VPC で Amazon EFS ファイルシステムを使用するには、以下の一般的なステップを実行する必要があります。

• Amazon EFS ファイルシステムを作成する – ファイルシステムを作成する際、[名前] タグの値はコンソールに表示され、ファイルシステムを簡単に特定できるため、[名前] タグの使用を検討するようお勧めします。その他のオプションのタグをファイルシステムに追加することもできます。

• ファイルシステムのマウントターゲットを作成する – VPC のファイルシステムにアクセスし AmazonEC2 インスタンスにファイルシステムをマウントするには、VPC サブネット内にマウントターゲットを作成する必要があります。

• セキュリティグループを作成する – Amazon EC2 インスタンスとマウントターゲットの両方とも、関連付けられたセキュリティグループを持っている必要があります。これらのセキュリティグループは相互のトラフィックを制御する仮想ファイアウォールとして機能します。特定の EC2 インスタンスからのアクセスを許可するマウントターゲットのセキュリティグループにインバウンドルールを追加することにより、マウントターゲットに関連付けられたセキュリティグループを使用してファイルシステムへのインバウンドトラフィックを制御できます。その後、その EC2 インスタンスでのみファイルシステムをマウントできます。

Amazon EFS を初めてお使いの方は、Amazon EFS ファイルシステムの使用についてのエンドツーエンドエクスペリエンスを直に提供する次の演習を試してみることをお勧めします。

• ご利用開始にあたって (p. 12) – 「開始方法」の演習では、ファイルシステムを作成し、EC2 インスタンスにマウントして、セットアップをテストする、コンソールベースのエンドツーエンドのセットアップを提供します。コンソールはユーザーに代わって多くのことを処理するので、エンドツーエンドエクスペリエンスを素早くセットアップするのに役立ちます。

• チュートリアル: Amazon EFS ファイルシステムを作成し、AWS CLI を使用して Amazon EC2 インスタンスにマウントする (p. 107) – このチュートリアルは、「開始方法」の演習に似ていますが、AWSCommand Line Interface (AWS CLI) を使用してほとんどのタスクを実行します。AWS CLI コマンドはAmazon EFS API と密接に関連しているため、このチュートリアルは Amazon EFS API 操作に慣れるのに役立ちます。

ファイルシステムの作成とアクセスの詳細については、以下のトピックを参照してください。

トピック

20

Page 29: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドファイルシステムの作成

• Amazon Elastic File Systemを作成する (p. 21)• マウントターゲットの作成 (p. 24)• セキュリティグループの作成 (p. 29)• ファイルシステムポリシーの作成 (p. 31)• アクセスポイントの作成 (p. 33)

Amazon Elastic File Systemを作成する以下は、Amazon EFS ファイルシステムおよびファイルシステムのためのオプションのタグを作成する方法についての説明です。このセクションでは、コンソールと AWS CLI の両方を使用してこれらのリソースを作成する方法について説明します。

Note

Amazon EFS を初めて使用する場合は、「開始方法」の演習を確認することをお勧めします。VPC にファイルシステムを作成してアクセスするためのコンソールベースのエンドツーエンドの手順が提供されます。詳細については、「ご利用開始にあたって (p. 12)」を参照してください。

トピック• 要件 (p. 21)• 必要なアクセス許可 (p. 22)• ファイルシステムの作成 (p. 22)

要件ファイルシステムを作成するための唯一の要件は、べき等のオペレーションを確認するためのトークンの作成です。コンソールを使用する場合、トークンが生成されます。詳細については、「CreateFileSystem (p. 203)」を参照してください。ファイルシステムを作成した後、Amazon EFS はJSON としてファイルシステムの説明を返します。次に例を示します。

{ "OwnerId": "231243201240", "CreationToken": "console-d7f56c5f-e433-41ca-8307-9d9c0example", "FileSystemId": "fs-c7a0456e", "CreationTime": 1422823614.0, "LifeCycleState": "creating", "Name": "MyFileSystem", "NumberOfMountTargets": 0, "SizeInBytes": { "Value": 6144, "ValueInIA": 0 "ValueInStandard": 6144 }, "PerformanceMode" : "generalPurpose", "Encrypted": false, "ThroughputMode": "bursting", "Tags":[ { "Key": "Name", "Value": "MyFileSystem" } ]}

コンソールを使用する場合、コンソールではユーザーインターフェイスにこの情報が表示されます。

21

Page 30: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド必要なアクセス許可

追加のタグを作成することができ、後で Amazon EFS CreateTags (p. 218)オペレーションを使用して既存のタグを編集できます。各タグは単なるキーと値のペアです。

必要なアクセス許可ファイルシステムの作成やタグの作成などのすべての操作で、ユーザーは対応する API アクションとリソースに対する AWS Identity and Access Management のアクセス権限が必要です。

AWS アカウントのルート認証情報を使用して Amazon EFS 操作を実行できますが、ルート認証情報の使用は推奨されません。アカウントで IAM ユーザーを作成する場合は、ユーザーポリシーを使用してAmazon EFS アクションに対するアクセス権限をユーザーに与えることができます。また、ロールを使用して、クロスアカウントのアクセス権限を付与できます。API アクションのアクセス権限を管理する方法の詳細については、「Amazon EFS の Identity and Access Management (p. 148)」を参照してください。

ファイルシステムの作成Amazon EFS コンソールまたは AWS CLI を使用してファイルシステムを作成できます。AWS SDK または EFS API を直接使用してプログラムでファイルシステムを作成することもできます。

VPC にファイルシステムのマウントターゲットを作成するには、VPC サブネットを指定する必要があります。コンソールは、選択した AWS リージョンにあるアカウント内の VPC のリストを事前に設定します。最初に、VPC を選ぶと、コンソールが VPC 内のアベイラビリティーゾーンをリスト表示します。各アベイラビリティーゾーンで、リストからサブネットを選択できます。サブネットを選択した後、サブネット内で使用可能な IP アドレスを指定するか、または Amazon EFS が自動的にアドレスを選択します。

ファイルシステムを作成するとき、パフォーマンスモードも選択します。選択できるパフォーマンスモードは、General Purpose と Max I/O の 2 つです。ほとんどのユースケースでは、ファイルシステムに汎用パフォーマンスモードを使用することをお勧めします。パフォーマンスモードの違いの詳細については、「パフォーマンスモード (p. 96)」を参照してください。

パフォーマンスモードに加えて、スループットモードも選択できます。バーストとプロビジョニングの 2つのスループットモードから選択できます。デフォルトのバーストスループットモードは使い方がシンプルで、ほとんどのアプリケーションや幅広い用途に適しています。プロビジョニングされたスループットモードは、ストレージ容量へのスループット比率がバーストスループットモードで許容されているよりも大きい必要があるアプリケーション用です。詳細については、「プロビジョニングモードでのスループットの指定 (p. 100)」を参照してください。

Note

プロビジョニングされたスループットの使用に関連付けられた追加料金があります。詳細については、https://aws.amazon.com/efs/pricing を参照してください。

ファイルシステムを作成する場合、保管時の暗号化を有効にすることができます。ファイルシステムの保存時の暗号化を有効にすると、保存されるすべてのデータとメタデータは暗号化されます。後でファイルシステムをマウントする時、伝送中の暗号化を有効にすることができます。Amazon EFS 暗号化の詳細については、Amazon EFS でのセキュリティ (p. 143) を参照してください。

Amazon EFS コンソールを使用してファイルシステムを作成する[Create File System (ファイルシステムの作成)] を選択すると、コンソールは一連の API リクエストを送信してファイルシステムを作成します。次にコンソールは API リクエストを送信して、ファイルシステムのタグおよびマウントターゲットを作成します。次のコンソールの例では、[MyFS] ファイルシステムが表示されます。作成中の [Name (名前)] タグと 3 つのマウントターゲットがあります。ファイルシステムをEC2 インスタンスにマウントして使用する前に、マウントターゲットのライフサイクル状態が [Available(使用可能)] である必要があります。

22

Page 31: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドファイルシステムの作成

コンソールを使用して Amazon EFS ファイルシステムを作成する方法の詳細については、ステップ 2:EC2 リソースを作成し、EC2 インスタンスを起動する (p. 16) を参照してください。

AWS CLI を使用してファイルシステムを作成するAWS CLI を使用する場合は、これらのリソースを順に作成します。まず、ファイルシステムを作成します。次に、マウントターゲットおよびファイルシステムの追加のオプションタグを、対応する AWS CLIコマンドを使用して作成できます。

以下の例では、adminuser を profile パラメータの値として使用します。適切なユーザープロファイルを使用して認証情報を提供する必要があります。AWS CLI については、『AWS Command Line Interfaceユーザーガイド』の「AWS コマンドラインインターフェースの設定」を参照してください。

• 以下に示すように、ファイルシステムを作成するには、Amazon EFS create-file-system CLI コマンド (対応するオペレーションは CreateFileSystem (p. 203)) を使用します。

$ aws efs create-file-system \--creation-token creation-token \--performance-mode generalPurpose \--throughput-mode bursting \--region aws-region \--tags Key=key,Value=value Key=key1,Value=value1 \--profile adminuser

たとえば、次の create-file-system コマンドは us-west-2 AWS リージョンにファイルシステムを作成します。コマンドは作成トークンとして MyFirstFS を指定します。Amazon EFS のファイルシステムを作成できる AWS リージョンのリストについては、「アマゾン ウェブ サービス全般のリファレンス」を参照してください。

$ aws efs create-file-system \--creation-token MyFirstFS \--performance-mode generalPurpose \--throughput-mode bursting \--region us-west-2 \--tags Key=Name,Value="Test File System" Key=developer,Value=rhoward \--profile adminuser

23

Page 32: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドマウントターゲットの作成

次の例に示すように、ファイルシステムを正常に作成すると、Amazon EFS はファイルシステムの説明を JSON として返します。

{ "OwnerID": "123456789abcd", "CreationToken": "MyFirstFS", "FileSystemId": "fs-c7a0456e", "CreationTime": 1422823614.0, "LifeCycleState": "creating", "Name": "Test File System", "NumberOfMountTargets": 0, "SizeInBytes": { "Value": 6144, "ValueInIA": 0, "ValueInStandard": 6144 }, "PerformanceMode": "generalPurpose", "ThroughputMode": "bursting", "Tags": [ { "Key": "Name", "Value": "Test File System" }, { "Key": "developer", "Value": "rhoward" } ]}

また、以下に示すように、Amazon EFS はアカウントのファイルシステムを取得するために使用できる describe-file-systems CLI コマンド (対応する API オペレーションはDescribeFileSystems (p. 238)) を提供します。

$ aws efs describe-file-systems \--region aws-region \--profile adminuser

Amazon EFS は指定したリージョンで作成された AWS アカウントのファイルシステムのリストを返します。

マウントターゲットの作成次の図に示すように、ファイルシステムを作成した後、マウントターゲットを作成してから、VPC 内のEC2 インスタンスにファイルシステムをマウントできます。

24

Page 33: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAmazon EFS コンソールを使用してマウントターゲットを作成する

ファイルシステムの作成の詳細については、「Amazon Elastic File Systemを作成する (p. 21)」を参照してください。

マウントターゲットのセキュリティグループはトラフィックを制御する仮想ファイアウォールとして機能します。たとえば、どの Amazon EC2 インスタンスがファイルシステムにアクセスできるかを決定します。このセクションでは次の項目について説明します。

• マウントターゲットのセキュリティグループトラフィック、およびトラフィックを有効にする方法です。

• Amazon EC2 インスタンスにファイルシステムをマウントする方法です。• NFS レベルのアクセス権限を考慮します。

最初は、Amazon EC2 インスタンスのルートユーザーだけがファイルシステムに対して読み取り/書き込みの実行権限を持っています。このトピックでは、NFS レベルのアクセス権限について説明し、一般的なシナリオでアクセス権限を付与する方法を示す例を提供しています。詳細については、「ネットワークファイルシステム (NFS) レベルでのユーザー、グループ、アクセス許可の操作 (p. 167)」を参照してください。

コンソールで、AWS CLI で、または AWS SDK を使用してプログラムで、ファイルシステムのマウントターゲットを作成できます。コンソールを使用する場合、最初にファイルシステムを作成するとき、またはファイルシステムを作成した後に、マウントターゲットを作成できます。

Amazon EFS コンソールを使用してマウントターゲットを作成する次の手順のステップを実行し、コンソールを使用してマウントターゲットを作成します。コンソールの手順に従うと、1 つまたは複数のマウントターゲットを作成することもできます。VPC の各アベイラビリティーゾーンにマウントターゲットを 1 つ作成できます。

25

Page 34: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAmazon EFS コンソールを使用してマウントターゲットを作成する

Amazon EFS ファイルシステムを作成するには (コンソール)

1. AWS マネジメントコンソール にサインインをしたあと、https://console.aws.amazon.com/efs/ にあるAmazon EFS コンソールを開きます。

2. [Create File System (ファイルシステムの作成)] を選択します。

Note

Amazon EFS ファイルシステムをまだお持ちでない場合のみ、コンソールに前のページが表示されます。ファイルシステムを作成した場合、コンソールにはファイルシステムのリストが表示されます。リストページで、[Create File System (ファイルシステムの作成)] を選択します。

3. [Step 1: Configure File System Access (ステップ 1: ファイルシステムアクセスの設定)] ページで、VPC と VPC のアベイラビリティーゾーンを選択します。そこに、作成中のファイルシステムの1 つ以上のマウントターゲットをコンソールが作成します。この VPC は、前のセクションで AmazonEC2 インスタンスを作成したのと同じ Amazon VPC である必要があります。

a. VPC リストから Amazon VPC を選択します。

Warning

Amazon VPC が表示されていない場合は、Amazon EFS コンソールのグローバルナビゲーションで AWS リージョンを確認します。

b. [Create Mount Targets (マウントターゲットの作成)] セクションで、リストされているすべてのアベイラビリティーゾーンを選択します。

すべてのアベイラビリティーゾーンにマウントターゲットを作成することをお勧めします。そうすることで、どの Amazon VPC サブネットで作成した Amazon EC2 インスタンスのファイルシステムでもマウントできます。

Note

他のアベイラビリティーゾーンで作成されたマウントターゲットを使用して、アベイラビリティーゾーンの Amazon EC2 インスタンス上のファイルシステムにアクセスできますが、アベイラビリティーゾーン間のアクセスに関連したコストがかかります。

26

Page 35: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAmazon EFS コンソールを使用してマウントターゲットを作成する

各アベイラビリティーゾーンで、次の操作を行います。

• マウントターゲットを作成する場所のリストから [Subnet (サブネット)] を選択します。

アベイラビリティーゾーンごとに 1 つのマウントターゲットを作成できます。Amazon EC2 インスタンスを起動したアベイラビリティーゾーンに複数のサブネットがある場合は、同じサブネットにマウントターゲットを作成する必要はありません。アベイラビリティーゾーン内の任意のサブネットを使用できます。

• [IP アドレス] 選択を [自動] のままにします。Amazon EFS はマウントターゲットで使用可能なIP アドレスの 1 つを選択します。

• 特にマウントターゲットのために作成した [Security Group (セキュリティグループ)] を指定するか、デフォルトの VPC のデフォルトのセキュリティグループを選択します。両方のセキュリティグループには、EC2 インスタンスセキュリティグループからのインバウンドアクセスを許可する必要なインバウンドルールが設定されます。

[Security Group (セキュリティグループ)] ボックスをクリックすると、使用可能なセキュリティグループがコンソールに表示されます。ここでは、Amazon EC2 インスタンスの設定に応じて、特定のセキュリティグループを選択して [デフォルト] セキュリティグループを削除するか、デフォルトをそのまま残しておくことができます。

 

4. [ステップ 2: オプション設定の構成] ページで、[名前] タグの値として (MyExampleFileSystem) を指定し、パフォーマンスモードを選択します。また、ファイルシステムの説明と管理に役立つタグを追加して、パフォーマンスモードを選択します。

Amazon EFS が値をファイルシステムの表示名として使用するため、コンソールにより [名前] タグに事前に入力されます。

27

Page 36: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAmazon EFS コンソールを使用してマウントターゲットを作成する

5. [Step 3: Review and Create (ステップ 3: 確認と作成)] ページで、[Create File System (ファイルシステムの作成)] を選択します。

6. 新しく作成されたファイルシステムが、コンソールの [File Systems (ファイルシステム)] ページに表示されます。すべてのマウントターゲットの [Life Cycle State (ライフサイクル状態)] が [Available (使

28

Page 37: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAWS CLI を使用してマウントターゲットを作成する

用可能)] であることを確認します。マウントターゲットが利用可能になるまでに若干時間を要する場合があります (EFS コンソールでファイルシステムの展開または折りたたみをすると、強制的に更新します)。

7. [File system access (ファイルシステムへのアクセス)] で、ファイルシステムの [DNS name (DNS 名)]が表示されます。この DNS 名をメモしておきます。次のセクションでは、DNS 名を使用してマウントターゲット経由で Amazon EC2 インスタンスにファイルシステムをマウントします。ファイルシステムをマウントした Amazon EC2 インスタンスは、ファイルシステムの DNS 名をマウントターゲットの IP アドレスに解決できます。

これで、Amazon EC2 インスタンスに Amazon EFS ファイルシステムをマウントする準備ができました。

AWS CLI を使用してマウントターゲットを作成する以下に示すように、AWS CLI を使用してマウントターゲットを作成するには、create-mount-targetCLI コマンドを使用します (対応するオペレーションは CreateMountTarget (p. 211))。

$ aws efs create-mount-target \--file-system-id file-system-id \--subnet-id subnet-id \--security-group ID-of-the-security-group-created-for-mount-target \--region aws-region \--profile adminuser

次の例に示すように、マウントターゲットを正常に作成すると、Amazon EFS は JSON としてマウントターゲットの説明を返します。

{ "MountTargetId": "fsmt-f9a14450", "NetworkInterfaceId": "eni-3851ec4e", "FileSystemId": "fs-b6a0451f", "LifeCycleState": "available", "SubnetId": "subnet-b3983dc4", "OwnerId": "23124example", "IpAddress": "10.0.1.24"}

また、次に示すように、describe-mount-targets CLI コマンド (対応する操作はDescribeMountTargets (p. 245)) を使用して、ファイルシステム用に作成されたマウントターゲットのリストを取得できます。

$ aws efs describe-mount-targets \--file-system-id file-system-id \--region aws-region \--profile adminuser

例については、「チュートリアル: Amazon EFS ファイルシステムを作成し、AWS CLI を使用してAmazon EC2 インスタンスにマウントする (p. 107)」を参照してください。

セキュリティグループの作成Note

次のセクションは Amazon EC2 に固有のもので、Amazon EFS ファイルシステムをマウントしたどのインスタンスにでも Secure Shell (SSH) を使用して接続できるようにセキュリティグループ

29

Page 38: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAWS マネジメントコンソール を使用したセキュリティグループの作成

を作成する方法について説明します。Amazon EC2 インスタンスへの接続に SSH を使用していない場合は、このセクションをスキップできます。

Amazon EC2 インスタンスとマウントターゲットの両方に関連付けられているセキュリティグループがあります。これらのセキュリティグループは相互のトラフィックを制御する仮想ファイアウォールとして機能します。マウントターゲットの作成時にセキュリティグループを提供しない場合、Amazon EFS は VPCのデフォルトのセキュリティグループをそのマウントターゲットに関連付けます。

ただし、EC2 インスタンスとマウントターゲット (したがって、ファイルシステム) の間のトラフィックを有効にするには、これらのセキュリティグループに次のルールを設定する必要があります。

• マウントターゲットに関連付けるセキュリティグループは、ファイルシステムをマウントするすべてのEC2 インスタンスから、NFS ポート上の TCP プロトコルへのインバウンドアクセスを許可する必要があります。

• ファイルシステムをマウントする各 EC2 インスタンスには、NFS ポート上のマウントターゲットへのアウトバウンドアクセスを許可するセキュリティグループが必要です。

セキュリティグループの詳細については、『Linux インスタンス用 Amazon EC2 ユーザーガイド』の「Amazon EC2 セキュリティグループ」を参照してください。

AWS マネジメントコンソール を使用したセキュリティグループの作成AWS マネジメントコンソール を使用して、VPC にセキュリティグループを作成できます。Amazon EC2インスタンスに Amazon EFS ファイルシステムを接続するには、Amazon EC2 インスタンス用と AmazonEFS マウントターゲット用の 2 つのセキュリティグループを作成する必要があります。

1. VPC に 2 つのセキュリティグループを作成します。手順については、『Amazon VPC ユーザーガイド』の「セキュリティグループの作成」を参照してください。

2. VPC コンソールで、これらのセキュリティグループのデフォルトルールを確認します。両方のセキュリティグループは、トラフィックが出ていくのを許可するアウトバウンドルールのみが設定されている必要があります。

3. 以下のように、セキュリティグループへの追加のアクセスを承認する必要があります。

a. 次に示すように、EC2 セキュリティグループにルールを追加して、ポート 22 のインスタンスへの SSH アクセスを許可します。これは、PuTTy などの SSH クライアントを使用して EC2 インスタンスに接続し、ターミナルインターフェイスを介して EC2 インスタンスを管理する場合に便利です。オプションで、[Source (ソース)] アドレスを制限することができます。

手順については、『Amazon VPC ユーザーガイド』の「ルールを追加または削除する」を参照してください。

b. 次に示すように、EC2 セキュリティグループからのインバウンドアクセスを許可するルールをマウントターゲットのセキュリティグループに追加します (EC2 セキュリティグループは送信元として識別されます)。

30

Page 39: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAWS CLI を使用したセキュリティグループの作成

Note

デフォルトのアウトバウンドルールですべてのトラフィックを残すことができるため、アウトバウンドルールを追加する必要はありません (それ以外の場合は、アウトバウンドルールを追加して、NFS ポートで TCP 接続を開き、マウントターゲットのセキュリティグループを送信先として識別する必要があります)。

4. このセクションで説明されているように、両方のセキュリティグループがインバウンドとアウトバウンドのアクセスを許可できるようになったことを確認します。

AWS CLI を使用したセキュリティグループの作成AWS CLI を使用してセキュリティグループを作成する方法の例については、「ステップ 1: Amazon EC2リソースを作成する (p. 109)」を参照してください。

ファイルシステムポリシーの作成Amazon EFS コンソールまたは AWS CLI を使用してファイルシステムポリシーを作成できます。AWSSDK または EFS API を使用してプログラムでファイルシステムポリシーを直接作成することもできます。ファイルシステムポリシーの詳細と例については、「IAM を使用した Amazon EFS への NFS アクセスのコントロール (p. 159)」を参照してください。

ファイルシステムポリシーの作成 (コンソール)1. Amazon Elastic File System コンソール (https://console.aws.amazon.com/efs/) を開きます。2. [File Systems (ファイルシステム)] を選択します。3. [File systems (ファイルシステム)] ページで、ファイルシステムポリシーを作成する対象のファイルシ

ステムを選択します。4. [Actions (アクション)] で、[Manage client access (クライアントアクセスの管理)] を選択します。[File

system policy (ファイルシステムポリシー)] ページが表示されます。5. [Policy settings (ポリシー設定)] タブで、1 つ以上の使用可能なプリセットポリシーステートメントを

選択します。

または、[{} JSON] タブを選択して、JSON エディタで独自のポリシーを設定します。

31

Page 40: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドファイルシステムポリシーの作成

6. ポリシーの作成が完了したら、[Set policy (ポリシーの設定)] を選択します。ポリシープリセットの 1つを選択した場合は、[{} JSON] タブに JSON 形式のポリシーが表示されます。

表示されるポリシーは、[Disable root access by default (デフォルトでルートアクセスを無効にする)]ポリシーを選択した場合に生成される JSON です。

32

Page 41: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドアクセスポイントの作成

7. [Save policy (ポリシーの保存)] を選択して、ファイルシステムポリシーを保存します。

ファイルシステムポリシーの作成 (CLI)以下の例では、put-file-system-policy CLI コマンドを使用して、すべての IAM プリンシパルにEFS ファイルシステムへの読み取り専用アクセスを許可するファイルシステムポリシーを作成します。同等の API コマンドは PutFileSystemPolicy (p. 260) です。

aws efs put-file-system-policy --file-system-id fs-01234567 --policy '{ "Version": "2012-10-17", "Id": "1", "Statement": [ { "Effect": "Allow", "Action": [ "elasticfilesystem:ClientMount" ], "Principal": { "AWS": "*" } } ]}'

{ "FileSystemId": "fs-01234567", "Policy": "{ "Version" : "2012-10-17", "Id" : "1", "Statement" : [ { "Sid" : "efs-statement-7c8d8687-1c94-4fdc-98b7-111122223333", "Effect" : "Allow", "Principal" : { "AWS" : "*" }, "Action" : [ "elasticfilesystem:ClientMount" ], "Resource" : "arn:aws:elasticfilesystem:us-east-2:111122223333:file-system/fs-01234567" } ] }}

アクセスポイントの作成Amazon EFS コンソールまたは AWS CLI を使用して、EFS アクセスポイントを作成できます。AWSSDK または EFS API を使用してプログラムでアクセスポイントを直接作成することもできます。EFS アクセスポイントの詳細については、「Amazon EFS アクセスポイントの使用 (p. 171)」を参照してください。

以下の手順では、コンソールと CLI を使用して既存のファイルシステムのアクセスポイントを作成する方法について説明します。新しいファイルシステムの設定時にアクセスポイントを作成するには、[開始方法]セクション [ステップ 1: Amazon EFS ファイルシステムを作成する (p. 13)] を参照してください。

33

Page 42: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドアクセスポイントの作成

アクセスポイントの作成 (コンソール)1. Amazon Elastic File System コンソール (https://console.aws.amazon.com/efs/) を開きます。2. [File Systems (ファイルシステム)] を選択します。3. [File systems (ファイルシステム)] ページで、アクセスポイントを作成する対象のファイルシステムを

選択します。4. [Actions (アクション)] で、[Manage client access (クライアントアクセスの管理)] を選択します。

[Manage file system permissions (ファイルシステムのアクセス許可の管理)] ページが表示されます。5. [Access points (アクセスポイント)] で、[+Add access point (+アクセスポイントの追加)] を選択しま

す。[New access points (新しいアクセスポイント)] パネルが展開され、アクセスポイントの設定情報を入力できるボックスが表示されます。

6. 次の情報を入力します。

• (オプション) [Name (名前)] にアクセスポイントの名前を入力します。• (オプション) アクセスポイントにユーザーを割り当て、NFS クライアントから提供される ID 情報

を上書きする場合は、[Posix User (Posix ユーザー)] で [ユーザー ID] と [グループ ID] に Posix の数値を入力します。ユーザー ID を指定する場合は、グループ ID が必要です。オプションで、セカンダリグループ ID も入力します。

• (オプション) [Path (パス)] に、アクセスポイントのルートディレクトリのパスを入力します。入力しない場合は、ファイルシステムのルートディレクトリが使用されます。パスは 4 レベルまでです。

• [Path (パス)] でファイルシステムにまだ存在しないパスの値を指定する場合は、[Owner (所有者)] にディレクトリ所有者の情報を入力し、[Owner User ID (所有者ユーザー ID)]、[Owner Group ID (所有者グループ ID)]、[Permissions (アクセス許可)] に POSIX の数値を入力します。EFS によってこの情報を使用してディレクトリが作成されます。アクセスポイントのルートディレクトリの詳細については、「アクセスポイントを使用したルートディレクトリの適用 (p. 172)」を参照してください。

7. [Save access points (アクセスポイントの保存)] を選択して、アクセスポイントを保存および作成します。新しいアクセスポイントがリストに追加されます。アクセスポイント ID の横にある展開アイコンを選択すると、詳細情報が表示されます。

34

Page 43: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドアクセスポイントの作成

アクセスポイントの作成 (CLI)以下の例では、create-access-point CLI コマンドを使用してファイルシステムのアクセスポイントを作成します。同等の API コマンドは CreateAccessPoint (p. 199) です。

aws efs create-access-point --file-system-id fs-01234567 --client-token 010102020-3{ "ClientToken": "010102020-3", "Tags": [], "AccessPointId": "fsap-092e9f80b3fb5e6f3", "AccessPointArn": "arn:aws:elasticfilesystem:us-east-2:111122223333:access-point/fsap-092e9f80b3fb5e6f3", "FileSystemId": "fs-01234567", "RootDirectory": { "Path": "/" }, "OwnerId": "111122223333", "LifeCycleState": "creating"}

35

Page 44: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド関連トピック

Amazon EFS でのファイルシステムの使用

Amazon Elastic File System は完全なファイルシステムのアクセスセマンティックスをサポートする標準のファイルシステムインターフェイスを提示します。ネットワークファイルシステム (NFS) バージョン 4.1 (NFSv4.1) を使用して、Amazon EFS ファイルシステムを任意の Amazon Elastic Compute Cloud(Amazon EC2) Linux ベースのインスタンスにマウントできます。システムがマウントされたら、ローカルファイルシステムと同じように、ファイルやディレクトリを操作できるようになります。マウントの詳細については、EFS ファイルシステムをマウントする (p. 65) を参照してください。

ファイルシステムを作成して、EC2 インスタンスにマウントした後、効果的にファイルシステムを使用するためには、ユーザー、グループ、関連リソースへの NFS レベルでのアクセス許可の管理について知っておく必要があります。最初にファイルシステムを作成するときは、/ にルートディレクトリは 1 つしかありません。デフォルトでは、ルートユーザー (UID 0) のみに、読み取り/書き込み/実行のアクセス許可があります。他のユーザーがファイルシステムを変更できるようにするには、ルートユーザーは、明示的にアクセス許可を付与する必要があります。EFS アクセスポイントを使用して、特定のアプリケーションから書き込み可能なディレクトリをプロビジョニングします。詳細については、「ネットワークファイルシステム (NFS) レベルでのユーザー、グループ、アクセス許可の操作 (p. 167)」および「Amazon EFS アクセスポイントの使用 (p. 171)」を参照してください。

関連トピックAmazon EFS: 仕組み (p. 3)

ご利用開始にあたって (p. 12)

チュートリアル (p. 107)

36

Page 45: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド概要

amazon-efs-utils ツールを使用する以下は、Amazon EFS ツールのオープンソースコレクションの amazon-efs-utils についての説明です。

トピック• 概要 (p. 37)• Amazon Linux で amazon-efs-utils パッケージをインストールする (p. 38)• 他の Linux ディストリビューションで amazon-efs-utils パッケージをインストールする (p. 38)• stunnel のアップグレード (p. 39)• EFS マウントヘルパー (p. 41)

概要amazon-efs-utils パッケージは、Amazon EFS ツールのオープンソースのコレクションです。amazon-efs-utils は追加コストなしで使用でき、 https://github.com/aws/efs-utilsで、GitHub からこれらのツールをダウンロードできます。amazon-efs-utils パッケージは、Amazon Linux パッケージリポジトリで利用でき、他の Linux ディストリビューションのパッケージをビルドおよびインストールできます。

amazon-efs-utils パッケージには、マウントヘルパーおよび Amazon EFS の転送時のデータ暗号化の実行を簡単にするツールが用意されています。マウントヘルパーは、特定のタイプのファイルシステムのマウント時に使用するプログラムです。Amazon EFS ファイルシステムをマウントするために、amazon-efs-utils に含まれているマウントヘルパーを使用することをお勧めします。

amazon-efs-utils パッケージをインストールする場合、amazon-efs-utils に次の依存関係が存在し、インストールされています。

• NFS クライアント (nfs-utils パッケージ)• ネットワークリレー (stunnel パッケージ、バージョン 4.56 以降)• Python (バージョン 2.7 以降)• OpenSSL 1.0.2 以降

Note

デフォルトでは、Transport Layer Security (TLS) と Amazon EFS マウントヘルパーを使用している場合、マウントヘルパーは、証明書ホスト名チェックを強制します。Amazon EFS マウントヘルパーは、TLS 機能の stunnel プログラムを使用します。Linux のバージョンによっては、これらの TLS 機能をサポートする stunnel のバージョンがデフォルトで含まれていない場合があります。これらの Linux バージョンのいずれかを使用する場合、TLS を使用する Amazon EFS ファイルシステムのマウントが失敗します。amazon-efs-utils パッケージをインストールして、システムの stunnel のバージョンをアップグレードするには、stunnel のアップグレード (p. 39) を参照してください。暗号化の問題については、暗号化のトラブルシューティング (p. 193) を参照してください。

次の Linux ディストリビューションは amazon-efs-utils をサポートしています。

• Amazon Linux 2• Amazon Linux• Red Hat Enterprise Linux (および、その派生物 CentOS など) バージョン 7 以降• Ubuntu 16.04 LTS 以降

以下のセクションでは、Linux インスタンスで amazon-efs-utils をインストールする方法を確認できます。

37

Page 46: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAmazon Linux で amazon-efs-

utils パッケージをインストールする

Amazon Linux で amazon-efs-utils パッケージをインストールする

amazon-efs-utils パッケージは、Amazon Linux 2 の Amazon Linux と Amazon マシンイメージ (AMI) のインストールに利用できます。

Note

AWS Direct Connect を使用している場合、インストールの手順は ウォークスルー: AWS DirectConnect と VPN を使用してオンプレミスでファイルシステムを作成してマウントする (p. 126)にあります。

amazon-efs-utils パッケージをインストールするには

1. Amazon Linux または Amazon Linux 2 EC2 インスタンスが作成されたことを確認します。これを行う方法については、『Linux インスタンス用 Amazon EC2 ユーザーガイド』の「ステップ 1: インスタンスを起動する」を参照してください。

2. Secure Shell (SSH) を介してインスタンスのターミナルにアクセスし、適切なユーザー名でログインします。これを行う方法の詳細については、『Linux インスタンス用 Amazon EC2 ユーザーガイド』の「SSH を使用した Linux インスタンスへの接続」を参照してください。

3. amazon-efs-utils をインストールするには、次のコマンドを実行します。

sudo yum install -y amazon-efs-utils

他の Linux ディストリビューションで amazon-efs-utils パッケージをインストールする

amazon-efs-utils パッケージを Amazon Linux または Amazon Linux 2 AMI から取得しない場合、amazon-efs-utils パッケージを GitHub でも入手できます。

パッケージをクローンした後、Linux ディストリビューションでサポートされているパッケージタイプに応じて、次のいずれかの方法を使用して、amazon-efs-utils をビルド、およびインストールできます。

• RPM – このパッケージタイプは、Amazon Linux、Red Hat Linux、CentOS などでサポートされています。

• DEB – このパッケージタイプは Ubuntu、Debian などでサポートされています。

GitHub から amazon-efs-utils のクローンを作成するには

1. サポートされている AMI タイプで Amazon EC2 インスタンスが作成されていることを確認します。これを行う方法については、『Linux インスタンス用 Amazon EC2 ユーザーガイド』の「ステップ 1:インスタンスを起動する」を参照してください。

2. Secure Shell (SSH) を介してインスタンスのターミナルにアクセスし、適切なユーザー名でログインします。これを行う方法の詳細については、『Linux インスタンス用 Amazon EC2 ユーザーガイド』の「SSH を使用した Linux インスタンスへの接続」を参照してください。

3. まだ行っていない場合は、次のコマンドを使用して Git をインストールします。

sudo yum -y install git

4. ターミナルから以下のコマンドで、GitHub の amazon-efs-utils ツールを任意のディレクトリにクローンします。

38

Page 47: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドstunnel のアップグレード

git clone https://github.com/aws/efs-utils

make bash コマンドが必要なため、オペレーティングシステムにまだない場合には、次のコマンドを使ってインストールできます。

sudo yum -y install make

amazon-efs-utils を RPM パッケージとしてビルドおよびインストールするには

1. クライアント上のターミナルを開き、GitHub (たとえば /home/centos/efs-utils) からクローンされたamazon-efs-utils パッケージのディレクトリに移動します。

2. まだ行っていない場合は、次のコマンドを使用して rpm ビルダーパッケージをインストールします。

sudo yum -y install rpm-build

3. 次のコマンドを使用して、パッケージをビルドします。

sudo make rpm

4. 次のコマンドを使用して、amazon-efs-utils パッケージをインストールします。

sudo yum -y install ./build/amazon-efs-utils*rpm

amazon-efs-utils を DEV パッケージとしてビルドおよびインストールするには

1. クライアント上のターミナルを開き、GitHub からクローンされた amazon-efs-utils パッケージのあるディレクトリに移動します。

2. binutils パッケージ、DEB パッケージのビルドの依存関係をインストールします。

sudo apt-get -y install binutils

3. 次のコマンドを使用して、パッケージをビルドします。

./build-deb.sh

4. 次のコマンドでパッケージをインストールします。

sudo apt-get -y install ./build/amazon-efs-utils*deb

stunnel のアップグレード転送中のデータの暗号化に Amazon EFS マウントヘルパーを使用する場合、OpenSSL バージョン 1.0.2以降、および OCSP と証明書ホスト名チェックの両方をサポートする stunnel のバージョンが必要です。Amazon EFS マウントヘルパーは、TLS 機能の stunnel プログラムを使用します。Linux のバージョンによっては、これらの TLS 機能をサポートする stunnel のバージョンがデフォルトで含まれていない場合があることに注意してください。これらの Linux バージョンのいずれかを使用する場合、TLS を使用する Amazon EFS ファイルシステムのマウントが失敗します。

39

Page 48: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド証明書ホスト名のチェックの無効化

Amazon EFS マウントヘルパーをインストールした後、stunnel のシステムのバージョンをアップグレードするには、次の手順を実行します。

stunnel をアップグレードするには

1. ウェブブラウザで、stunnel のダウンロードページ https://stunnel.org/downloads.html に移動します。2. tar.gz 形式で利用可能な最新バージョンの stunnel を見つけます。ファイル名をメモしておきます。こ

の名前は以降のステップで必要になります。3. Linux クライアントでターミナルを開き、記載されている順にコマンドを実行します。4.

$ sudo yum install -y gcc openssl-devel tcp_wrappers-devel

5. latest-stunnel-version を、ステップ 2 で書き留めておいたファイル名に置き換えます。

$ sudo curl -o latest-stunnel-version.tar.gz https://stunnel.org/downloads/latest-stunnel-version.tar.gz

6.$ sudo tar xvfz latest-stunnel-version.tar.gz

7.$ cd latest-stunnel-version/

8.$ sudo ./configure

9.$ sudo make

10. 現在の amazon-efs-utils パッケージは bin/stunnel にインストールされます。したがって、新しいバージョンをインストールするには、次のコマンドを使用してそのディレクトリを削除します。

$ sudo rm /bin/stunnel

11.$ sudo make install

12. Note

デフォルトの CentOS シェルは bash シェルとは異なる構文がある csh です。以下のコードでは、まず bash が呼び出されて実行されます。

bash

if [[ -f /bin/stunnel ]]; thensudo mv /bin/stunnel /rootfi

13.$ sudo ln -s /usr/local/bin/stunnel /bin/stunnel

必要な機能のある stunnel のバージョンをインストールした後、推奨される設定で TLS を使用してファイルシステムをマウントできます。

証明書ホスト名のチェックの無効化必要な依存関係をインストールできない場合、Amazon EFS マウントヘルパー設定で、必要に応じて証明書ホスト名チェックを無効にできます。実稼働環境でこれらの機能を無効にすることはお勧めしません。証明書ホスト名チェックを無効にするには、次の操作を行います。

40

Page 49: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドオンライン証明書ステータスプロトコルの有効化

1. 任意のテキストエディタを使用して、/etc/amazon/efs/efs-utils.conf ファイルを開きます。2. stunnel_check_cert_hostname 値を false に設定します。3. 変更をファイルに保存して閉じます。

転送中のデータの暗号化の使用の詳細については、EFS ファイルシステムをマウントする (p. 65) を参照してください。

オンライン証明書ステータスプロトコルの有効化VPC から CA にアクセスできない場合のファイルシステムの可用性を最大化するため、転送中のデータの暗号化を選択した場合、オンライン証明書ステータスプロトコル (OCSP) はデフォルトでは有効になりません。Amazon EFS は Amazon 証明機関 (CA) を使用して、TLS 証明書を発行および署名します。CAは、OCSP を使用して、失効した証明書を確認するようクライアントに指示します。OCSP エンドポイントは、証明書のステータスを確認するため、仮想プライベートクラウドからインターネット経由でアクセスできる必要があります。EFS は、サービス内で継続的に証明書のステータスをモニタリングします。失効した証明書が検出された場合、EFS は新しい証明書を発行してその証明書を置き換えます。

可能な限り強力なセキュリティを提供するため、OCSP を有効にできます。これにより、Linux クライアントは失効した証明書を確認することができます。OCSP は、VPC 内で発生する可能性は低いものの、失効した証明書の悪意のある使用から保護できます。EFS TLS 証明書が失効した場合、Amazon はセキュリティ情報を発行し、失効した証明書を拒否する新しいバージョンの EFS マウントヘルパーをリリースします。

以降のすべての EFS への TLS 接続において、Linux クライアントで OCSP を有効にするには

1. Linux クライアントのターミナルを開きます。2. 任意のテキストエディタを使用して、/etc/amazon/efs/efs-utils.conf ファイルを開きます。3. stunnel_check_cert_validity の値を true に設定します。4. 変更をファイルに保存して閉じます。

mount コマンドの一部として OCSP を有効にするには

• 次のマウントコマンドを使用して、ファイルシステムをマウントするときに OCSP を有効にします。

$ sudo mount -t efs -o tls,ocsp fs-12345678:/ /mnt/efs

EFS マウントヘルパーAmazon EFS マウントヘルパーによりファイルシステムのマウントが簡素化されます。Amazon EFS 推奨のマウントオプションがデフォルトで含まれています。さらに、マウントヘルパーにはトラブルシューティングのためのログ記録が組み込まれています。Amazon EFS ファイルシステムに問題が発生した場合は、AWS サポートとこれらのログを共有することができます。

仕組みマウントヘルパーは efs という新しいネットワークファイルシステムタイプを定義します。これにはLinux の標準的な mount コマンドと完全な互換性があります。マウントヘルパーは、/etc/fstab 設定ファイルのエントリを使用して、インスタンスブート時に自動的にマウントする Amazon EFS ファイルシステムのマウントもサポートしています。

41

Page 50: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドEFS マウントヘルパーの使用

Warning

ファイルシステムを自動的にマウントするときに、ネットワークファイルシステムを識別するために使用する _netdev オプションを使用します。_netdev が見つからない場合、EC2 インスタンスは応答を停止する可能性があります。この結果は、コンピューティングインスタンスがネットワーキングを開始後、ネットワークファイルシステムを初期化する必要があるためです。詳細については、「自動マウントが失敗してインスタンスが応答しない (p. 189)」を参照してください。

転送時のデータ暗号化が Amazon EFS ファイルシステムのマウントオプションとして宣言されている場合、マウントヘルパーはクライアント stunnel プロセス、および amazon-efs-mount-watchdog というスーパーバイザープロセスを初期化します。stunnel はオープンソースの多目的ネットワークリレーです。クライアント stunnel プロセスはインバウンドトラフィックのローカルポートをリッスンし、マウントヘルパーは NFS クライアントトラフィックをこのローカルポートにリダイレクトします。マウントヘルパーはファイルシステムとの通信に TLS バージョン 1.2 を使用します。

TLS の使用には、信頼された Amazon 認証機関によって署名された証明書が必要です。暗号化の動作の詳細については、EFS でのデータの暗号化 (p. 143) を参照してください。

EFS マウントヘルパーの使用マウントヘルパーにより、Linux EC2 インスタンスに EFS ファイルシステムをマウントできます。詳細については、「EFS ファイルシステムをマウントする (p. 65)」を参照してください。

サポートログの取得マウントヘルパーには、Amazon EFS ファイルシステムのログ記録が組み込まれています。これらのログは、トラブルシューティングのために AWS サポートと共有できます。

このログは、マウントヘルパーがインストールされたシステムの /var/log/amazon/efs にあります。これらのログは、マウントヘルパー、stunnel プロセス自体、stunnel プロセスをモニタリングするamazon-efs-mount-watchdog プロセスのためのものです。

Note

ウォッチドッグプロセスは、各マウントの stunnel プロセスが実行されているかどうか、AmazonEFS ファイルシステムがアンマウントされたときに stunnel が停止されたかどうかを確認します。何らかの理由で、stunnel プロセスが予期せず終了した場合、ウォッチドッグプロセスにより再開されます。

/etc/amazon/efs/efs-utils.conf でログの設定を変更できます。ただし、変更を有効にするためには、マウントヘルパーでファイルシステムをアンマウントしてから再マウントする必要があります。マウントヘルパーおよびウォッチドッグログのログ容量は 20 MiB に制限されています。stunnel プロセスのログはデフォルトでは無効になっています。

Important

stunnel プロセスログのログ記録を有効にすることができます。ただし、stunnel ログを有効にするとファイルシステムのいくらかの容量が使用されます。

AWS Direct Connect と VPN で amazon-efs-utils を使用するAWS Direct Connect を使用して VPC に接続する場合、Amazon EFS ファイルシステムをオンプレミスデータセンターサーバーにマウントできます。また、amazon-efs-utils を使用すると、マウントヘルパーでマウントをよりシンプルにでき、転送時のデータの暗号化を有効にすることができます。AWS Direct

42

Page 51: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド関連トピック

Connect で amazon-efs-utils を使用して Amazon EFS ファイルシステムをオンプレミス Linux クライアントにマウントする方法については、「ウォークスルー: AWS Direct Connect と VPN を使用してオンプレミスでファイルシステムを作成してマウントする (p. 126)」を参照してください。

関連トピックAmazon EFS マウントヘルパーの詳細については、次の関連するトピックを参照してください。

• EFS でのデータの暗号化 (p. 143)• EFS ファイルシステムをマウントする (p. 65)

43

Page 52: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドネットワークアクセシビリティの管理

Amazon EFS ファイルシステムの管理

ファイルシステムの管理タスクとは、ファイルシステムの作成および削除、タグの管理、既存のファイルシステムのネットワークアクセシビリティの管理のことです。ネットワークアクセシビリティの管理とは、マウントターゲットの作成と管理に関することです。

次のセクションで説明するように、Amazon EFS コンソール、AWS Command Line Interface (AWS CLI)を使用して、または、プログラムで、これらのファイルシステムの管理タスクを実行できます。

トピック• ファイルシステムのネットワークアクセシビリティの管理 (p. 44)• ファイルシステムのタグを管理する (p. 51)• EFS ストレージクラス (p. 53)• EFS ライフサイクルの管理 (p. 54)• 計測: Amazon EFS がファイルシステムとオブジェクトサイズをレポートする仕組み (p. 59)• AWS Budgets による Amazon EFS ファイルシステムのコストの管理 (p. 61)• Amazon EFS ファイルシステムを削除する (p. 62)• 暗号化されたファイルシステムへのアクセスの管理 (p. 63)

Amazon EFS を初めてお使いの方は、Amazon EFS ファイルシステムを使用して、エンドツーエンドエクスペリエンスを直に提供する次の演習を試してみることをお勧めします。

• ご利用開始にあたって (p. 12) – この演習では、ファイルシステムを作成して Amazon EC2 インスタンスにマウントし、セットアップをテストする、コンソールベースのエンドツーエンドのセットアップを提供します。コンソールはユーザーに代わって多くのことを処理するので、エンドツーエンドエクスペリエンスを素早くセットアップするのに役立ちます。

• チュートリアル: Amazon EFS ファイルシステムを作成し、AWS CLI を使用して Amazon EC2 インスタンスにマウントする (p. 107) – このチュートリアルは、「開始方法」の演習に似ていますが、AWSCLI を使用してほとんどのタスクを実行します。CLI コマンドは Amazon EFS API と密接に関連しているため、このチュートリアルは Amazon EFS API に慣れるのに役立ちます。

ファイルシステムのネットワークアクセシビリティの管理

ファイルシステムのため作成したマウントターゲットを使用して、仮想プライベートクラウド (VPC) 内のEC2 インスタンスにファイルシステムをマウントします。ファイルシステムのネットワークアクセシビリティの管理とは、マウントターゲットの管理を指します。

次の図は、VPC の EC2 インスタンスがマウントターゲットを使用して Amazon EFS ファイルシステムにアクセスする方法を示しています。

44

Page 53: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドネットワークアクセシビリティの管理

図は、異なる VPC サブネットで起動された 3 つの EC2 インスタンスが Amazon EFS ファイルシステムにアクセスする様子を示しています。また、図には、各アベイラビリティーゾーンに 1 つのマウントターゲットが表示されています (各アベイラビリティーゾーンのサブネットの数に関係なく)。

アベイラビリティーゾーンごとに作成できるマウントターゲットは 1 つだけです。アベイラビリティーゾーンに複数のサブネットがある場合は、図のゾーンの 1 つに示されているように、サブネットの 1 つのみにマウントターゲットを作成します。アベイラビリティーゾーンに 1 つのマウントターゲットがある限り、そのいずれかのサブネットで起動された EC2 インスタンスは同じマウントターゲットを共有できます。

マウントターゲットの管理とは、以下のアクティビティを指します。

• VPC でのマウントターゲットの作成および削除 – 少なくとも、ファイルシステムにアクセスする各アベイラビリティーゾーンにマウントターゲットを作成する必要があります。

Note

すべてのアベイラビリティーゾーンにマウントターゲットを作成することをお勧めします。そうすれば、アベイラビリティーゾーンのいずれかで起動する EC2 インスタンスにファイルシステムを簡単にマウントすることができます。

マウントターゲットを削除すると、ファイルシステムのマウントが強制的に中断され、そのマウントを使用するインスタンスまたはアプリケーションが中断される可能性があります。アプリケーションの中断を避けるには、マウントターゲットを削除する前に、アプリケーションを停止してファイルシステムをアンマウントします。

一度に 1 つの VPC でのみファイルシステムを使用できます。つまり、一度に 1 つの VPC でファイルシステムのマウントターゲットを作成できます。別の VPC からファイルシステムにアクセスする場合は、最初に現在の VPC からマウントターゲットを削除します。次に、別の VPC で新しいマウントターゲットを作成します。

• マウントターゲットの設定の更新 – マウントターゲットを作成するときは、セキュリティグループをマウントターゲットに関連付けます。セキュリティグループは、マウントターゲットとの間のトラフィッ

45

Page 54: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドVPC でのマウントターゲットの作成または削除

クを制御する仮想ファイアウォールとして機能します。インバウンドルールを追加して、マウントターゲット、つまりファイルシステムへのアクセスを制御することができます。マウントターゲットを作成した後、割り当てられたセキュリティグループを変更することができます。

また、各マウントターゲットには IP アドレスがあります。マウントターゲットを作成するときは、マウントターゲットを配置しているサブネットから IP アドレスを選択できます。値を省略すると、AmazonEFS はそのサブネットから未使用の IP アドレスを選択します。

マウントターゲットを作成した後に IP アドレスを変更する Amazon EFS オペレーションはありません。したがって、プログラムで、または AWS CLI を使用して IP アドレスを変更することはできません。ただし、コンソールで IP アドレスを変更することはできます。内部的には、コンソールはマウントターゲットを削除し、マウントターゲットを再度作成します。

Warning

マウントターゲットの IP アドレスを変更すると、既存のファイルシステムのマウントは解除され、ファイルシステムを再マウントする必要があります。

ファイルシステムのネットワークアクセシビリティの設定変更は、ファイルシステム自体には影響しません。ファイルシステムとデータは残ります。

次のセクションでは、ファイルシステムのネットワークアクセシビリティの管理について説明します。

トピック• VPC でのマウントターゲットの作成または削除 (p. 46)• マウントターゲットの VPC を変更する (p. 49)• マウントターゲット設定の更新 (p. 50)

VPC でのマウントターゲットの作成または削除VPC 内の Amazon EFS ファイルシステムにアクセスするには、マウントターゲットが必要です。AmazonEFS ファイルシステムの場合:

• アベイラビリティーゾーンごとに 1 つのマウントターゲットを作成できます。• VPC のアベイラビリティーゾーンに複数のサブネットがある場合、それらのサブネットの 1 つのみにマ

ウントターゲットを作成できます。アベイラビリティーゾーンのすべての EC2 インスタンスは、1 つのマウントターゲットを共有できます。

Note

各アベイラビリティーゾーンにマウントターゲットを作成することをお勧めします。別のアベイラビリティーゾーンで作成されたマウントターゲットを使用して、アベイラビリティーゾーンのEC2 インスタンスにファイルシステムをマウントする場合は、コストを考慮する必要があります。詳細については、「Amazon EFS」を参照してください。さらに、インスタンスのアベイラビリティーゾーンにローカルなマウントターゲットを常に使用することで、部分的な障害の発生を避けられます。マウントターゲットのゾーンに障害が発生した場合、そのマウントターゲットからファイルシステムにアクセスすることはできません。

オペレーションの詳細については、CreateMountTarget (p. 211) を参照してください。

マウントターゲットを削除できます。マウントターゲットを削除すると、そのマウントターゲットによるファイルシステムのマウントは強制的に中断され、それらのマウントを使用しているインスタンスまたはアプリケーションが中断される可能性があります。詳細については、「DeleteMountTarget (p. 227)」を参照してください。

46

Page 55: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドVPC でのマウントターゲットの作成または削除

コンソールを使用する以下の手順に従って、AWS マネジメントコンソール を使用して、マウントターゲットの新規作成、削除、または既存のマウントターゲットの更新を行います。

新しいマウントターゲットを作成する、または既存のマウントターゲットを削除するには (コンソール)

1. Amazon EFS コンソールで、ファイルシステムを選択し、[アクション] の [Manage File SystemAccess (ファイルシステムアクセスの管理)] を選択します。

コンソールには、選択した VPC で作成したファイルシステムのマウントターゲットのリストがある[Manage File System Access (ファイルシステムアクセスの管理)] ページが表示されます。アベイラビリティーゾーンにマウントターゲットがある場合、コンソールにアベイラビリティーゾーンのリストとマウントターゲットの情報が表示されます。

以下に示すように、コンソールは、[eu-west-2c] アベイラビリティーゾーンのファイルシステムにマウントターゲットが 1 つあることを示しています。

2. 新しいマウントターゲットを作成するには

a. 特定の [Availability Zone (アベイラビリティーゾーン)] 行の左側をクリックします。b. アベイラビリティーゾーンに複数のサブネットがある場合は、[Subnet (サブネット)] リストから

サブネットを選択します。c. Amazon EFS が自動的に使用可能な IP アドレスを選択します。または、自分で別の IP アドレス

を明示的に指定することができます。d. リストから [Security Group (セキュリティグループ)] を選択します。

セキュリティグループの詳細については、『Linux インスタンス用 Amazon EC2 ユーザーガイド』の「Amazon EC2 セキュリティグループ」を参照してください。

3. マウントターゲットを削除するには、マウントターゲットを削除するアベイラビリティーゾーンの横にある [X] を選択します。

47

Page 56: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドVPC でのマウントターゲットの作成または削除

AWS CLI の使用以下に示すように、マウントターゲットを作成するには、create-mount-target AWS CLI コマンドを使用します (対応する操作は CreateMountTarget (p. 211))。

$ aws efs create-mount-target \--file-system-id file-system-ID (for which to create the mount target) \--subnet-id vpc-subnet-ID (in which to create mount target) \--security-group security-group IDs (to associate with the mount target) \--region aws-region (for example, us-west-2) \--profile adminuser

AWS リージョン (region パラメータ) は VPC リージョンである必要があります。

次に示すように、describe-mount-target AWS CLI コマンド (対応する操作はDescribeMountTargets (p. 245)) を使用して、ファイルシステム用に作成されたマウントターゲットのリストを取得でき ます。

$ aws efs describe-mount-targets \--file-system-id file-system-ID \--region aws-region-where-file-system-exists \--profile adminuser

レスポンスの例を次に示します。

{ "MountTargets": [ { "MountTargetId": "fsmt-52a643fb", "NetworkInterfaceId": "eni-f11e8395", "FileSystemId": "fs-6fa144c6", "LifeCycleState": "available", "SubnetId": "subnet-15d45170", "OwnerId": "23124example", "IpAddress": "10.0.2.99" }, { "MountTargetId": "fsmt-55a643fc", "NetworkInterfaceId": "eni-14a6ae4d", "FileSystemId": "fs-6fa144c6", "LifeCycleState": "available", "SubnetId": "subnet-0b05fc52", "OwnerId": "23124example", "IpAddress": "10.0.19.174" } ]}

次に示すように、既存のマウントターゲットを削除するには、delete-mount-target AWS CLI コマンドを使用します (対応する操作は DeleteMountTarget (p. 227))。

$ aws efs delete-mount-target \--mount-target-id mount-target-ID-to-delete \--region aws-region-where-mount-target-exists \--profile adminuser

48

Page 57: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドマウントターゲットの VPC を変更する

マウントターゲットの VPC を変更する一度に 1 つの VPC で、Amazon VPC サービスに基づいて Amazon EFS ファイルシステムを使用できます。つまり、ファイルシステムの VPC にマウントターゲットを作成し、それらのマウントターゲットを使用して、ファイルシステムにアクセスできます。

これらのターゲットから Amazon EFS ファイルシステムをマウントできます。

• 同じ VPC 内の Amazon EC2 のインスタンス• VPC ピア接続により接続された VPC 内の EC2 インスタンス• オンプレミスサーバー (AWS Direct Connect を使用)• AWS 仮想プライベートネットワーク (VPN) 上のオンプレミスサーバー (Amazon VPC を使用)

VPC ピア接続は、2 つの VPC 間でトラフィックのルーティングを可能にするネットワーク接続です。接続では、インターネットプロトコルバージョン 4 (IPv4) とインターネットプロトコルバージョン 6 (IPv6)のアドレスを使用できます。Amazon EFS での VPC ピア接続の詳細については、「別のアカウントまたは VPC から EFS ファイルシステムをマウントする (p. 73)」を参照してください。

別の VPC の EC2 インスタンスからファイルシステムにアクセスするには、次に説明するように、まず現在のマウントターゲットを削除し、新しいマウントターゲットを作成する必要があります。

コンソールを使用するマウントターゲットを削除し、新しいマウントターゲットを作成するには (コンソール)

1. Amazon EFS コンソールで、ファイルシステムを選択し、[アクション] の [Manage File SystemAccess (ファイルシステムアクセスの管理)] を選択します。

コンソールには、VPC でファイルシステムのために作成したマウントターゲットのリストがある[Manage File System Access (ファイルシステムアクセスの管理)] ページが表示されます。次の図は、3 つのアベイラビリティーゾーンに 1 つずつ、3 つのマウントターゲットのあるファイルシステムを示しています。

49

Page 58: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドマウントターゲット設定の更新

2. [VPC] で別の VPC を選択し、VPC を選択します。

コンソールでは、マウントターゲットの情報がすべて消去され、アベイラビリティーゾーンのみが一覧表示されます。

3. 以下のように、1 つまたは複数のアベイラビリティーゾーンにマウントターゲットを作成します。

a. アベイラビリティーゾーンに複数のサブネットがある場合は、[サブネット] でサブネットを選択します。

b. Amazon EFS が自動的に使用可能な IP アドレスを選択します。または、自分で別の IP アドレスを明示的に指定することができます。

c. 関連付けるセキュリティグループを選択します。リージョン間 VPC ピア接続では、選択したセキュリティグループに、他の VPC または VPC からの NFS (ポート 2049) を介した受信トラフィックを許可するルールが必要です。

セキュリティグループの詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドの「Amazon EC2 セキュリティグループ」を参照してください。

4. [Save] を選択します。

コンソールは、まず以前の VPC からマウントターゲットを削除し、次に選択した新しい VPC に新しいマウントターゲットを作成します。

CLI の使用別の VPC でファイルシステムを使用するには、まず、以前にVPC で作成したマウントターゲットを削除します。次に、別の VPC で新しいマウントターゲットを作成します。AWS CLI コマンドの例については、「VPC でのマウントターゲットの作成または削除」を参照してください。

マウントターゲット設定の更新ファイルシステムのマウントターゲットを作成した後、有効なセキュリティグループを更新できます。既存のマウントターゲットの IP アドレスを変更することはできません。IP アドレスを変更するには、マウントターゲットを削除し、新しいアドレスで新しいマウントターゲットを作成します。マウントターゲットを削除すると、既存のファイルシステムのマウントは解除されます。

セキュリティグループの変更セキュリティグループによって、インバウンドおよびアウトバウンドアクセスが定義されます。マウントターゲットに関連付けられたセキュリティグループを変更する場合は、必要なインバウンド/アウトバウンドアクセスを許可するようにしてください。これにより、EC2 インスタンスはファイルシステムと通信できるようになります。

セキュリティグループの詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドの「Amazon EC2 セキュリティグループ」を参照してください。

コンソールを使用する

EFS セキュリティグループを変更するには

1. Amazon EFS コンソールで、ファイルシステムを選択し、[アクション] の [Manage File SystemAccess (ファイルシステムアクセスの管理)] を選択します。

アベイラビリティーゾーンにマウントターゲットがある場合は、コンソールで [Manage File SystemAccess (ファイルシステムアクセスの管理)] ページにアベイラビリティーゾーンのリストとマウントターゲットの情報が表示されます。

50

Page 59: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドタグを管理する

2. [Security Group (セキュリティグループ)] 列で、セキュリティグループを追加または削除することができます。既存のセキュリティグループを削除するには、[X] を選択します。他の利用可能なセキュリティグループから選択するには、[Security Group (セキュリティグループ)] ボックスを選択します。

すべてのセキュリティグループを削除すると、Amazon EFS は VPC のデフォルトのセキュリティグループを割り当てます。

CLI の使用

次に示すように、マウントターゲットに有効なセキュリティグループを変更するには、modify-mount-target-security-group AWS CLI コマンド (対応する操作はModifyMountTargetSecurityGroups (p. 257)) を使用し、既存のセキュリティグループを置き換えます。

$ aws efs modify-mount-target-security-groups \--mount-target-id mount-target-ID-whose-configuration-to-update \--security-groups security-group-ids-separated-by-space \--region aws-region-where-mount-target-exists \--profile adminuser

ファイルシステムのタグを管理するAmazon EFS ファイルシステムを作成するときにファイルシステムタグを含めることができます。ファイルシステムの作成後はいつでも、新しいタグを作成したり、既存のタグの値を更新したり、ファイルシステムに関連付けられたタグを削除したりすることもできます。

コンソールを使用するコンソールには、ファイルシステムに関連付けられた既存のタグが一覧表示されます。新しいタグの追加、既存のタグの値の変更、または既存のタグの削除ができます。

51

Page 60: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドCLI の使用

タグを追加する、タグの値を変更する、またはタグを削除する (コンソール)

1. Amazon Elastic File System コンソール (https://console.aws.amazon.com/efs/) を開きます。2. タグを管理するファイルシステムを選択します。3. [Actions (アクション)] を選択して [Manage tags (タグの管理)] を選択します。4. [Manage Tags (タグの管理)] ページで、新しいタグを追加し、既存のタグを更新または削除します。

新しいタグごとに、[Key (キー)] と [Value (値)] を指定します。5. [保存] を選択します。

CLI の使用タグを管理するための CLI コマンド、およびそれに相当する Amazon EFS API アクションを、次の表に示します。

CLI コマンド 説明 同等の API オペレーション

create-tags 新しいタグを追加する、または既存のタグを更新する

CreateTags (p. 218)

describe-tags 既存のタグの取得 DescribeTags (p. 252)

delete-tags 既存のタグの削除 DeleteTags (p. 230)

ファイルシステムのタグを作成するには (AWS CLI)

• Amazon EFS create-tags CLI コマンドを使用してタグを作成します (対応する API オペレーションは CreateTags (p. 218))。次のコマンド例では、ファイルシステムに対して BusinessIntelligence の値を持つ新しい Department タグを作成します。

$ aws efs create-tags \--file-system-id File-System-ID \--tags Key=Department,Value="Business Intelligence" \--region aws-region \--profile adminuser

コマンドが成功した場合、AWS CLI はレスポンスを返しません。

ファイルシステムに関連付けられているすべてのタグを取得するには

• 以下に示すように、describe-tags CLI コマンドを使用して、ファイルシステムに関連付けられているタグのリストを取得します (対応する API オペレーションは DescribeTags (p. 252))。

$ aws efs describe-tags \--file-system-id File-System-ID \--region aws-region \--profile adminuser

Amazon EFS は JSON としてこれらの説明を返します。次の例は、DescribeTags オペレーションによって返されるタグです。ファイルシステムに 3 つのタグのみがあることを示しています。

{ "Tags": [ {

52

Page 61: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAmazon EFS へのデータ転送

"Key": "Name", "Value": "Test File System" }, { "Key": "developer", "Value": "rhoward" }, { "Key": "Department", "Value": "Business Intelligence" } ]}

ファイルシステムに関連付けられている 1 つ以上のタグを削除するには

• delete-tags CLI コマンドを使用してファイルシステムのタグを削除します (対応する API オペレーションは DeleteTags (p. 230))。次のコマンドは、タグキー test1 と test2 を指定したファイルシステムのタグのリストから削除します。リクエストで削除する各タグのキーを指定します。

$ aws efs \delete-tags \--file-system-id fs-c5a1446c \--tag-keys "test1" "test2" \--region us-west-2 \--profile adminuser

コマンドが成功した場合、AWS CLI はレスポンスを返しません。

Amazon EFS へのデータ転送Amazon EFS にデータを転送するには、AWS DataSync を使用することをお勧めします。DataSync は、インターネットまたは AWS Direct Connect 経由でオンプレミスストレージシステムと AWS ストレージサービス間のデータの移動とレプリケーションを簡素化、自動化、および高速化するデータ転送サービスです。DataSync では、ファイルシステムデータとメタデータを転送したり、所有権、タイムスタンプ、アクセス許可などのファイルシステムのメタデータを転送することもできます。

DataSync を使用して、異なる AWS リージョン内のファイルシステムと異なる AWS アカウントが所有するファイルシステムを含む、2 つの EFS ファイルシステム間でファイルを転送することもできます。DataSync を使用して EFS ファイルシステム間でデータをコピーすると、1 回限りのデータ移行、分散ワークロード用の定期的なデータ取り込み、およびデータ保護と回復のためのレプリケーションの自動化を実行できます。

DataSync を使用して 2 つの EFS ファイルシステム間でファイルを簡単に転送するには、AWS DataSyncIn-Cloud QuickStart and Scheduler を使用できます。

詳細については、「Amazon Elastic File System の使用開始 (p. 12)」、および AWS DataSync ユーザーガイド を参照してください。

EFS ストレージクラスAmazon EFS ファイルシステムでは 2 つのストレージクラスを利用できます。

• 低頻度アクセス – 低頻度アクセス (IA) ストレージクラスは、低コストのストレージクラスで、アクセス頻度が低く長期間保存されるファイルをコスト効率よく格納するように設計されています。

53

Page 62: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドストレージクラスを使用する

• スタンダード – スタンダードストレージクラスは、頻繁にアクセスされるファイルを格納するために使用されます。

EFS IA ストレージクラスは、毎日アクセスされないファイルのストレージコストを削減します。この際に、EFS が提供する高可用性、高耐久性、伸縮性、および POSIX ファイルシステムへのアクセスが犠牲になることはありません。完全なデータセットにすぐにアクセスできるようにし、アクセス頻度が低いファイルのストレージコストを自動的に削減する場合は、EFS IA ストレージをお勧めします。例として、監査要件を満たすためにファイルをアクセス可能にしておくこと、履歴分析を実行すること、またはバックアップと回復を実行することなどがあります。

EFS IA ストレージはすべての EFS 機能と互換性があり、Amazon EFS が利用可能なすべての AWS リージョンで利用可能です。

EFS IA 請求は、IA に保存されているデータの量、および IA に保存されているファイルを読み取るために使用されるデータアクセスに基づいています。IA ストレージ内のファイルが読み取られるとき、およびファイルがスタンダードストレージから IA ストレージに移行されるときに、アクセス料金が発生します。それぞれのストレージクラスにあるデータの量を表示する方法については、「価格と請求 (p. 55)」を参照してください。ストレージクラスの料金については「Amazon EFS の料金」をご覧ください。

IA ストレージクラスの読み取りまたは書き込み時の先頭バイトのレイテンシーは、スタンダードストレージクラスの場合よりも長くなります。 バーストスループットを使用するファイルシステムの場合、許容されるスループットは、スタンダードストレージクラスにのみ格納されているデータ量に基づいて決定されます。プロビジョニングされたスループットモードを使用しているファイルシステムの場合は、スタンダードストレージクラスにあるデータの量に基づいて、提供されているスループットを超えてプロビジョニングされたスループットが請求されます。EFS パフォーマンスの詳細については、「スループットモード (p. 97)」を参照してください。

ストレージクラスを使用するIA ストレージクラスを使用するには、EFS ライフサイクル管理機能を有効にします。有効にすると、ライフサイクル管理はスタンダードストレージから IA ストレージへのファイルの移動を自動化します。詳細については、「EFS ライフサイクルの管理 (p. 54)」を参照してください。

EFS ライフサイクルの管理Amazon EFS のライフサイクル管理は、ファイルシステムの費用対効果の高いファイルストレージを自動的に管理します。有効にすると、ライフサイクル管理により、設定された期間アクセスされなかったファイルは、低頻度アクセス (IA) ストレージクラスに移行されます。その期間は、ライフサイクルポリシーを使用して定義します。

ライフサイクル管理によってファイルが IA ストレージクラスに移動されると、ファイルは無期限に残ります。Amazon EFS ライフサイクル管理では、内部タイマーを使用して、ファイルが最後にアクセスされた時間が追跡されます。公開されている POSIX ファイルシステムの属性は使用されません。スタンダードストレージのファイルが読み書きされるたびに、ライフサイクル管理タイマーはリセットされます。

ディレクトリの内容を一覧表示するなどのメタデータオペレーションは、ファイルアクセスとしてカウントされません。ファイルの内容を IA ストレージに移行するプロセスの間、ファイルはスタンダードストレージクラスに格納され、スタンダードストレージ料金で請求されます。

ライフサイクル管理は、ファイルシステム内のすべてのファイルに適用されます。

ライフサイクルポリシーの使用ライフサイクルポリシーを設定して、EFS がファイルをいつ IA ストレージクラスに移行するか定義します。ファイルシステムには、ファイルシステム全体に適用される 1 つのライフサイクルポリシーがあり

54

Page 63: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドライフサイクル管理のファイルシステムオペレーション

ます。選択したライフサイクルポリシーによって定義された期間内にファイルがアクセスされなかった場合、Amazon EFS はファイルを IA ストレージクラスに移行します。次のように、4 つのライフサイクルポリシーのうち 1 つを Amazon EFS ファイルシステム用に指定できます。

• AFTER_7_DAYS

• AFTER_14_DAYS

• AFTER_30_DAYS

• AFTER_60_DAYS

• AFTER_90_DAYS

Amazon EFS ファイルシステムでのライフサイクル管理の有効化およびライフサイクルポリシー設定の詳細については、「ライフサイクル管理の有効化  (p. 56)」を参照してください。

ライフサイクル管理のファイルシステムオペレーションファイルを IA ストレージに転送し、EFS ファイルシステムワークロードのオペレーションよりも優先度が低い、ライフサイクル管理の対象となるファイルシステムオペレーション。IA ストレージクラスへのファイルの移行に必要な時間は、ファイルサイズとファイルシステムのワークロードによって異なります。

ファイル名、所有権情報、ファイルシステムのディレクトリ構造などのファイルメタデータは、常に標準のストレージに格納され、一貫したメタデータパフォーマンスが確保されます。IA ストレージ内のファイルへのすべての書き込みオペレーションは、最初にスタンダードストレージに書き込まれ、次に IA ストレージに移行されます。128 KB より小さいファイルはライフサイクル管理には適さず、常にスタンダードクラスに格納されます。

価格と請求各ストレージクラスでのデータの量に対して、請求が行われます。IA ストレージ内のファイルが読み取られるとき、およびファイルがスタンダードストレージから IA ストレージに移行されるときにも、データアクセス料金が発生します。AWS 請求書には、各ストレージクラスの容量と IA ストレージクラスに対する計測されたアクセスが表示されます。詳細については、「Amazon EFS 料金表」を参照してください。

Note

AWS Backup を使用して、ライフサイクル管理が有効な EFS ファイルシステムをバックアップするときに、データアクセス料金は発生しません。AWS Backup および EFS ライフサイクル管理の詳細については、「EFS ストレージクラス (p. 106)」を参照してください。

AWS CLI または EFS API を使用して、ファイルシステムの各ストレージクラスに格納されているデータ量を確認できます。describe-file-systems CLI コマンドを呼び出してデータストレージの詳細を表示します。

$ aws efs describe-file-systems \--region us-west-2 \--profile adminuser

レスポンスでは、ValueInIA は、IA ストレージの最後の計測サイズを表示します。ValueInStandardは、スタンダードストレージの最後の計測サイズを表示します。まとめると、Value で表示されるファイルシステム全体のサイズと同じです。

{

55

Page 64: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドライフサイクル管理の有効化 

"FileSystems":[ { "OwnerId":"251839141158", "CreationToken":"MyFileSystem1", "FileSystemId":"fs-47a2c22e", "PerformanceMode" : "generalPurpose", "CreationTime": 1403301078, "LifeCycleState":"created", "NumberOfMountTargets":1, "SizeInBytes":{ "Value": 29313417216, "ValueInIA": 675432, "ValueInStandard": 29312741784 }, "ThroughputMode": "bursting" } ]}

ディスク使用量を測定および表示するその他の方法については、「Amazon EFS ファイルシステムオブジェクトの測定 (p. 59)」を参照してください。

ライフサイクル管理の有効化 Amazon EFS コンソールを使用して新しい Amazon EFS ファイルシステムを作成するときは、ライフサイクル管理を有効にできます。EFS コンソール、CLI、または API を使用して、既存のファイルシステムでライフサイクル管理を有効にできます。以下では、EFS ライフサイクル管理の有効化と停止の手順について説明します。

新しいファイルシステムを作成する場合のライフサイクル管理の有効化 (コンソール)

新しい Amazon EFS ファイルシステムを作成するときに、次のように AWS マネジメントコンソール を使用してライフサイクル管理を有効にできます。

新しい EFS ファイルシステムのライフサイクル管理を有効にするには

1. Amazon EFS マネジメントコンソール (https://console.aws.amazon.com/efs/) を開きます。2. [ファイルシステムの作成] を選択します。3. VPC を選択し、マウントターゲットを作成して、「ステップ 1: ファイルシステムアクセスの設定」

を完了します。詳細については、「ステップ 1: Amazon EFS ファイルシステムを作成する (p. 13)」を参照してください。

4. [次のステップ] を選択します。5. [オプション設定の構成] ページで、必要なタグを追加します。6. [ライフサイクル管理の有効化] セクションの [ライフサイクルポリシー] の値を選択して、ライフサイ

クル管理を有効にします。

56

Page 65: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドライフサイクル管理の有効化 

7. 追加のオプション設定を指定し、[次のステップ] を選択します。8. [確認と作成] ページで、[オプション設定] セクションで選択した [ライフサイクルポリシー] 設定を確

認します。9. 変更を行うには、[戻る] を選択します。それ以外の場合は、[ファイルシステムの作成] を選択して、

ライフサイクル管理を有効にしたファイルシステムを作成します。

既存のファイルシステムでのライフサイクル管理の有効化 (コンソール)

AWS マネジメントコンソール を使用して、既存のファイルシステムのライフサイクル管理を有効にすることができます。

既存のファイルシステムでライフサイクル管理を有効にするには (コンソール)

1. Amazon EFS マネジメントコンソール (https://console.aws.amazon.com/efs/) を開きます。2. [File Systems (ファイルシステム)] を選択します。3. ライフサイクル管理を有効にするファイルシステムを選択します。4. [Other details (その他の詳細)] で [ライフサイクルポリシー] を見つけます。設定を変更するには、[編

集] を選択します。5. [Enable lifecycle management (ライフサイクル管理の有効化)] パネルで、ファイルシステムに適用す

る [ライフサイクルポリシー] のポリシーを選択します。

57

Page 66: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドライフサイクル管理の停止

6. [保存] を選択して設定を保存します。

設定が保存されると、[ライフサイクルポリシー] が [その他詳細] セクションで有効になり、選択したポリシーが表示されます。

既存のファイルシステムに対するライフサイクル管理の有効化 (AWS CLI)

AWS CLI を使用して、次のように既存のファイルシステムでライフサイクル管理を有効にできます。新しいファイルシステムを作成するときに、CLI または API を使用してライフサイクル管理を有効にすることはできません。

既存のファイルシステムでライフサイクル管理を有効にするには (CLI)

• put-lifecycle-configuration コマンドを実行し、ライフサイクル管理を有効にするファイルシステムのファイルシステム ID を指定します。

$ aws efs put-lifecycle-configuration \--file-system-id File-System-ID \--lifecycle-policies TransitionToIA=AFTER_60_DAYS \--region us-west-2 \--profile adminuser

次のレスポンスが返されます。

{ "LifecyclePolicies": [ { "TransitionToIA": "AFTER_60_DAYS" } ]}

EFS ライフサイクル管理の停止EFS ライフサイクル管理は、EFS 管理コンソール、CLI、または EFS API を使用していつでも停止できます。ライフサイクル管理を停止すると、ファイルは IA ストレージクラスに移動されなくなります。現

58

Page 67: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドファイルシステムとオブジェクトサイズを計測する

在 IA ストレージにあるファイルはすべてそこに残ります。ファイルシステム上の別の場所にファイルをコピーすることで、IA からスタンダードストレージにファイルを移動できます。

既存のファイルシステムでのライフサイクル管理の停止 (コンソール)

次のように、コンソールを使用して EFS ライフサイクル管理を停止できます。

既存のファイルシステムでのライフサイクル管理の停止 (コンソール)

1. Amazon EFS マネジメントコンソール (https://console.aws.amazon.com/efs/) を開きます。2. [File Systems (ファイルシステム)] を選択します。3. ライフサイクル管理を停止するファイルシステムを選択します。4. [Other details (その他の詳細)] で [ライフサイクルポリシー] を見つけます。設定を変更するには、[編

集] を選択します。5. [ライフサイクル管理の有効化] パネルで、[ライフサイクルポリシー] の [なし] を選択します。6. [保存] を選択して設定を保存します。

[その他詳細] で、[ライフサイクルポリシー] が [なし] に設定されます。

既存のファイルシステムでのライフサイクル管理の停止 (AWS CLI)

次のように、AWS CLI を使用して EFS ライフサイクル管理を停止できます。

既存のファイルシステムでのライフサイクル管理の停止 (CLI)

• ライフサイクル管理を停止するファイルシステムのファイルシステム ID を指定して、put-lifecycle-configuration コマンドを実行します。

$ aws efs put-lifecycle-configuration \--file-system-id File-System-ID \--lifecycle-policies \--region us-west-2 \--profile adminuser

次のレスポンスが返されます。

{ "LifecyclePolicies": []}

計測: Amazon EFS がファイルシステムとオブジェクトサイズをレポートする仕組み

次のセクションでは、Amazon EFS がファイルシステムサイズとファイルシステム内のオブジェクトのサイズをレポートする仕組みについて説明します。

Amazon EFS ファイルシステムオブジェクトの測定Amazon EFS システムで顧客に表示されるオブジェクトには、通常のファイル、ディレクトリ、シンボリックリンク、特殊ファイル (FIFO とソケット) があります。これらの各オブジェクトは、メタデータ

59

Page 68: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAmazon EFS ファイルシステムの計測

(inode) の 2 キビバイト (KiB) と 4 KiB のデータの 1 つ以上の増分に対して計測されます。次の一覧は、さまざまなタイプのファイルシステムオブジェクトの測定データサイズの説明です。

• 通常のファイル – 通常のファイルの計測されたデータサイズは、次の 4 KiB 増分に丸められたファイルの論理サイズですが、スパースファイルの場合はそれより少なくなる場合があります。

スパースファイルは、論理サイズに達する前にファイルのすべての位置にデータが書き込まれないファイルです。スパースファイルについては、使用されている実際のストレージが、次の 4 KiB 増分に丸められた論理サイズよりも小さい場合があります。このような場合、Amazon EFS は計測データサイズとして使用される実際のストレージを報告します。

• ディレクトリ – ディレクトリの計測されたデータサイズは、ディレクトリエントリとそれを保持するデータ構造に使用される実際のストレージで、次の 4 KiB 増分に丸められます。計測されたデータのサイズは、ファイルデータによって使用される実際のストレージは含まれません。

• シンボリックリンクと特別なファイル – これらのオブジェクトの計測されたデータサイズは常に 4 KiBです。

NFSv4.1 space_used 属性を通じて Amazon EFS がオブジェクトに使用されたスペースを報告する場合、オブジェクトの現在計測されたデータサイズは含まれますが、メタデータサイズは含まれません。ファイルのディスク使用量を計測するには、du および stat ユーティリティの 2 つのユーティリティを使用できます。以下は、空のファイルに du ユーティリティを使用し、-k オプションを使用して、キロバイト単位で出力を返す方法の例です。

$ du -k file4 file

以下は、空のファイルで stat ユーティリティを使用して、ファイルのディスク使用状況を返す方法の例です。

$ /usr/bin/stat --format="%b*%B" file | bc4096

ディレクトリのサイズを計測するには、stat ユーティリティを使用します。Blocks 値を見つけ、その値にブロックサイズを乗算します。以下は、空のディレクトリで stat ユーティリティを使用する方法の例です。

$ /usr/bin/stat --format="%b*%B" . | bc 4096

Amazon EFS ファイルシステムの計測Amazon EFS ファイルシステムの計測サイズには、スタンダードおよび IA ストレージクラスの現在のすべてのオブジェクトのサイズの合計が含まれます。各オブジェクトのサイズは、計測された時間中のオブジェクトのサイズを表す代表的なサンプリングです。たとえば、午前 8 時から午前 9 時までです。

たとえば、空のファイルは、ファイルシステムの計測されたサイズに 6 KiB (2 KiB メタデータ + 4 KiBデータ) を提供します。作成した時点では、ファイルシステムには、空のルートディレクトリが 1 つしかないため、計測されたサイズは、6 KiB になります。

特定のファイルシステムの計測されたサイズは、その時間にそのファイルシステムの所有者アカウントに課金される使用状況を定義します。

Note

計算されて計測されたサイズは、その時間内の特定の時刻におけるファイルシステムの一貫したスナップショットを表すものではありません。むしろ、各時間内のさまざまな時刻に、あるいは

60

Page 69: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドBudgets によるファイルシステムのコストの管理

1 時間前にファイルシステムに存在するオブジェクトのサイズを表します。これらのサイズの値は合計され、その時間のファイルシステムの計測されたサイズを決定します。これにより、ファイルシステムの計測されたサイズは、最終的に、ファイルシステムへの書き込みがないときに保存されたオブジェクトの計測されたサイズと一致します。

Amazon EFS ファイルシステムのこの計測されたサイズは、以下の方法で確認できます。

• SDK、HTTP、または AWS CLI のいずれかを使用して、DescribeFileSystems オペレーション (p. 238)を呼び出します。

• AWS マネジメントコンソール に表示されている各ファイルシステムについて、[File Systems (ファイルシステム)] テーブルを表示します。

• EC2 インスタンスのターミナルプロンプトで、Linux の df コマンドを実行します。

du コマンドではなく df コマンドを使用します。ストレージ計測の目的で、ファイルシステムのルートで du コマンドを使用しないでください。結果はすべてのデータを提供しません。

Note

スタンダードストレージクラスの計測されたサイズは、I/O スループットのベースラインとバーストレートを決定するためにも使用されます。詳細については、「バーストモードでのスループットのスケーリング (p. 98)」を参照してください。

低頻度アクセスの計測低頻度アクセス (IA) ストレージは 4 KiB ごとに計測されます。IA ファイルのメタデータ (ファイルあたり2 KiB) は、常にスタンダードストレージクラスに格納され計測されます。IA ストレージのデータアクセスは 1 MiB ごとに計測されます。

AWS Budgets による Amazon EFS ファイルシステムのコストの管理

AWS Budgets を使用して、Amazon EFS ファイルシステムのコストを計画および管理できます。

AWS Budgets は AWS Billing and Cost Management コンソールから使用できます。AWS Budgets を使用するには、EFS ファイルシステムの月次コスト予算を作成します。コストが予算額を超えると予測される場合に通知されるように予算を設定し、必要に応じて予算を維持するための調整を行うことができます。

AWS Budgets の使用時には、コストが関連付けられます。通常の AWS アカウントの場合、最初の 2 つの予算は無料です。コストなど、AWS Budgets の詳細については、AWS Billing and Cost Management ユーザーガイド の「Budgets によるコスト管理」を参照してください。

予算のパラメータを使用して、アカウント、AWS リージョン、サービス、またはタグレベルで EFS のコストと使用量を管理するためのカスタム予算を設定できます。以下のセクションでは、AWS Budgets により EFS ファイルシステムのコスト予算を設定する方法について概説しています。コスト予算の作成には、コスト配分タグを使用します。

前提条件以下のセクションで参照されている手順を実行するには、あらかじめ以下のものが必要です。

• EFS ファイルシステム• 以下のアクセス許可を含む AWS Identity and Access Management (IAM) ポリシー:

61

Page 70: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドEFS ファイルシステムの月次コスト予算の作成

• Billing and Cost Management コンソールを使用するアクセス許可。• elasticfilesystem:CreateTags および elasticfilesystem:DescribeTags アクションを実

行するアクセス許可。

EFS ファイルシステムの月次コスト予算の作成タグを使用して Amazon EFS ファイルシステムの月次コスト予算を作成するのは、3 ステップのプロセスです。

タグを使用して EFS ファイルシステムの月次コスト予算を作成するには

1. コストの追跡対象となるファイルシステムの識別に使用するタグを作成します。この方法については、「ファイルシステムのタグを管理する (p. 51)」を参照してください。

2. Billing and Cost Management コンソールで、タグをコスト配分タグとして有効にします。詳細な手順については、AWS Billing and Cost Management ユーザーガイド の「ユーザー定義のコスト配分タグの有効化」を参照してください。

3. Billing and Cost Management コンソールの [予算] で、AWS Budgets により月次コスト予算を作成します。詳細な手順については、AWS Billing and Cost Management ユーザーガイド の「コスト予算の作成」を参照してください。

EFS の月次コスト予算を作成したら、[予算] ダッシュボードで表示できます。ダッシュボードには、以下の予算データが表示されます。

• 予算期間中に予算に計上した現在のコストと使用量• 予算期間の予算コスト。• 予算期間の予測コスト。• 予算額に対する現在のコストを示す割合• 予算額に対する予測コストを示す割合

EFS コスト予算の表示の詳細については、AWS Billing and Cost Management ユーザーガイド の「予算の表示」を参照してください。

Amazon EFS ファイルシステムを削除するファイルシステムの削除は、破壊的なアクションで元に戻すことはできません。ファイルシステムおよび含まれるデータをすべて失います。ファイルシステムから削除したすべてのデータは削除され、データを復元することはできません。ユーザーがファイルシステムからデータを削除すると、そのデータはすぐに使用できなくなくなります。EFS によって、最終的にデータが上書きされます。

Important

削除する前にファイルシステムを必ずアンマウントする必要があります。

コンソールを使用するファイルシステムを削除するには

1. Amazon Elastic File System コンソール (https://console.aws.amazon.com/efs/) を開きます。2. 削除するファイルシステムを選択します。

62

Page 71: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドCLI の使用

3. [Action (アクション)] を選択し、続いて [Delete File System (ファイルシステムの削除)] を選択します。

4. [Permanently Delete File System (ファイルシステムを完全に削除)] 確認ボックスで、ファイルシステム ID を入力して、[Delete File System (ファイルシステムの削除)] を選択します。

コンソールにより、ファイルの削除が簡素化されます。まず、関連付けられているマウントターゲットが削除され、次にファイルシステムが削除されます。

CLI の使用ファイルシステムを削除する AWS CLI コマンドを使用する前に、そのファイルシステム用に作成されたすべてのマウントターゲットを削除する必要があります。

AWS CLI コマンドの例については、「ステップ 4: クリーンアップする (p. 118)」を参照してください。

関連トピックAmazon EFS ファイルシステムの管理 (p. 44)

暗号化されたファイルシステムへのアクセスの管理Amazon EFS を使用して、暗号化されたファイルシステムを作成できます。Amazon EFS はファイルシステムの暗号化に、転送時の暗号化と保管時の暗号化の 2 通りの形式をサポートしています。実行が必要なあらゆるキー管理は、保管時の暗号化にのみ関連します。Amazon EFS は転送時の暗号化のキーを自動的に管理します。

保管時に暗号化を使用してファイルシステムを作成する場合、データとメタデータは保管時に暗号化されます。Amazon EFS はキー管理に AWS Key Management Service (AWS KMS) を使用します。保管時に暗号化を使用してファイルシステムを作成する場合、カスタマーマスターキー (CMK) を指定します。CMKは、aws/elasticfilesystem (Amazon EFS の AWS 管理 CMK)、または管理する CMK となります。

—ファイルの内容など—のファイルデータは、ファイルシステムを作成したときに指定した CMK を使用して保管時に暗号化されます。—ファイル名、ディレクトリ名、ディレクトリの内容など—のメタデータは、Amazon EFS が管理するキーによって暗号化されます。

ファイルシステムの AWS 管理の CMK は、ファイル名、ディレクトリ名、ディレクトリの内容など、ファイルシステムでメタデータのマスターキーとして使用されます。ユーザーは、保管時にファイルデータ(ファイルの内容) を暗号化するために使用する CMK を所有します。

CMK にアクセスできるユーザーと暗号化されたファイルシステムの内容を管理します。このアクセスはAWS Identity and Access Management (IAM) ポリシーおよび AWS KMS の両方によりコントロールされます。IAM ポリシーはユーザーの Amazon EFS API アクションへのアクセスをコントロールします。AWSKMS キーポリシーはユーザーの、ファイルシステムの作成時に指定した CMK へのアクセスをコントロールします。詳細については、以下を参照してください。

• IAM ユーザーガイド の「IAM ユーザー」• AWS Key Management Service Developer Guide の「AWS KMS でのキーポリシーの使用」• AWS Key Management Service Developer Guideの「許可の使用」

キー管理者として、外部キーをインポートできます。また、キーを有効化、無効化、または削除して変更することもできます。指定した CMK の状態 (保管時の暗号化を使用してファイルシステムを作成した場合) は、そのコンテンツへのアクセスに影響します。ユーザーが保管時に暗号化されたファイルシステムのコンテンツにアクセスするために、CMK は enabled の状態である必要があります。

63

Page 72: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAmazon EFS カスタマーマス

ターキーの管理アクションの実行

Amazon EFS カスタマーマスターキーの管理アクションの実行Amazon EFS ファイルシステムに関連付けられている CMK を有効化、無効化、削除する方法については、以下を参照してください。また、これらのアクションを実行するときにファイルシステムで予期される動作について、情報を入手することもできます。

ファイルシステムの CMK へのアクセスの無効化、削除、取り消しカスタマー管理の CMK を無効化や削除、CMK への Amazon EFS のアクセス権の取り消しを行うことができます。キーへの Amazon EFS のアクセスを無効化および取り消しは、元に戻せるアクションです。CMK を削除するときは注意が必要です。CMK の削除は元に戻すことができないアクションです。

マウントされたファイルシステムに使用された CMK を無効化または削除する場合は、次の点に注意してください。

• その CMK は、保管時に暗号化された新しいファイルシステムのマスターキーとして使用できません。• その CMK を使用する既存の保管時に暗号化されたファイルシステムは、一定期間後に動作を停止しま

す。

既存のマウントされたファイルシステムの許可に対する Amazon EFS アクセスを取り消すと、関連付けられた CMK を無効化または削除する場合と同じ動作になります。つまり、保管時に暗号化されるファイルシステムは機能し続けますが、一定期間後に機能しなくなります。

Amazon EFS へのアクセスを無効、削除、取り消した CMK を持つ、マウントされ保管時に暗号化されたファイルシステムへのアクセスを防ぐことができます。これを行うには、ファイルシステムをアンマウントし、Amazon EFS マウントターゲットを削除します。

AWS KMS CMK をすぐに削除することはできませんが、7~30 日後に削除するよう設定することができます。CMK の削除が予定されている間は、暗号化オペレーションに CMK を使用することはできません。また、CMK の予定された削除をキャンセルすることもできます。

カスタマー管理の CMK を無効化および再有効化する方法については、AWS Key Management ServiceDeveloper Guideの「キーの有効化と無効化」を参照してください。カスタマー管理の CMK の削除をスケジュールする方法については、AWS Key Management Service Developer Guideの「カスタマーマスターキーを削除する」を参照してください。

関連トピック• Amazon EFS で保管時に暗号化されたデータとメタデータの詳細は、「EFS でのデータの暗号

化 (p. 143)」を参照してください。• キーポリシーの例は、「AWS KMS の Amazon EFS キーポリシー (p. 146)」を参照してください。• 暗号化されたファイルシステムに関連付けられている AWS CloudTrail ログエントリのリストについて

は、「保管時に暗号化されたファイルシステムの Amazon EFS ログファイルエントリ (p. 93)」を参照してください。

• CMK にアクセスできるアカウントとサービスの特定の詳細については、『AWS Key ManagementService Developer Guide』の「AWS KMS カスタマーマスターキーへのアクセスの特定」を参照してください。

64

Page 73: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAMI およびカーネルバージョンのトラブルシューティング

EFS ファイルシステムをマウントする

次のセクションでは、Amazon EFS マウントヘルパーを使用して Linux インスタンスに Amazon EFS ファイルシステムをマウントする方法を説明します。加えて、システムの再起動後に fstab ファイルを使用してファイルシステムを自動的に再マウントする方法を説明します。Amazon EFS マウントヘルパーの詳細については、「EFS マウントヘルパー (p. 41)」を参照してください。

Amazon EFS マウントヘルパーが利用可能になる前には、スタンダードの Linux NFS クライアントを使用して Amazon EFS ファイルシステムをマウントすることをお勧めしていました。これらの変更の詳細については、「EFS マウントヘルパーを使用せずにファイルシステムをマウントする (p. 301)」を参照してください。

Note

起動時に Amazon EFS ファイルシステムをマウントするよう新しい Amazon EC2 Linux インスタンスを設定できます。ただし、ファイルシステムをマウントする前に、関連する AWS リソースを作成、設定、および起動する必要があります。詳細な手順については、「Amazon Elastic FileSystem の使用開始 (p. 12)」を参照してください。

トピック• AMI およびカーネルバージョンのトラブルシューティング (p. 65)• amazon-efs-utils パッケージのインストール (p. 65)• EFS マウントヘルパーを使用してマウントする (p. 66)• Amazon EFS ファイルシステムを自動的にマウントする (p. 69)• 別のアカウントまたは VPC から EFS ファイルシステムをマウントする (p. 73)• マウントに関する追加の考慮事項 (p. 75)

AMI およびカーネルバージョンのトラブルシューティング

Amazon EC2 インスタンスから Amazon EFS を使用する場合の、特定の Amazon Machine Image (AMI)またはカーネルバージョンに関連する問題のトラブルシューティングを行うには、「AMI とカーネルの問題のトラブルシューティング (p. 186)」を参照してください。

amazon-efs-utils パッケージのインストールAmazon EFS ファイルシステムを Amazon EC2 インスタンスにマウントするために、amazon-efs-utilsパッケージに含まれているマウントヘルパーを使用することをお勧めします。amazon-efs-utils パッケージは、Amazon EFS ツールのオープンソースのコレクションです。詳細については、「Amazon Linux でamazon-efs-utils パッケージをインストールする (p. 38)」を参照してください。

65

Page 74: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドEFS マウントヘルパーを使用してマウントする

EFS マウントヘルパーを使用してマウントするAmazon EFS マウントヘルパーを使用して、多数のクライアントに Amazon EFS ファイルシステムをマウントできます。以下のセクションでは、さまざまなタイプのクライアントに対するマウントヘルパープロセスについて説明します。

トピック• EFS マウントヘルパーを使用して Amazon EC2 にマウントする (p. 66)• IAM 認証によるマウント (p. 67)• EFS アクセスポイントによるマウント (p. 67)• EFS マウントヘルパーによる自動マウント (p. 68)• EFS マウントヘルパーを使用してオンプレミスの Linux クライアントに AWS Direct Connect および

VPN 経由でマウントする (p. 68)

EFS マウントヘルパーを使用して Amazon EC2 にマウントするAmazon EFS マウントヘルパーを使用して Amazon EC2 インスタンスに Amazon EFS ファイルシステムをマウントできます。マウントヘルパーの詳細については、「EFS マウントヘルパー (p. 41)」を参照してください。マウントヘルパーを使用するには、以下が必要になります。

• マウントする EFS ファイルシステムのファイルシステム ID – Amazon EFS ファイルシステムを作成した後で、コンソールから、または Amazon EFS API を通じてプログラムで、そのファイルシステムの IDを取得できます。この ID は次の形式です: fs-12345678。

• Amazon EFS マウントターゲット – Virtual Private Cloud (VPC) にマウントターゲットを作成します。コンソールでファイルシステムを作成する場合は、マウントターゲットを同時に作成します。詳細については、「Amazon EFS コンソールを使用してマウントターゲットを作成する (p. 25)」を参照してください。

• ポートされている Linux ディストリビューションを実行している Amazon EC2 インスタンス – マウントヘルパーでファイルシステムをマウントするためにサポートされている Linux ディストリビューションは以下の通りです:• Amazon Linux 2• Amazon Linux 2017.09 以降• Red Hat Enterprise Linux (および、その派生物 CentOS など) バージョン 7 以降• Ubuntu 16.04 LTS 以降

• Amazon EFS マウントヘルパーがインストールされている – マウントヘルパーは amazon-efs-utils のツールです。amazon-efs-utils をインストールする方法については、「Amazon Linux で amazon-efs-utils パッケージをインストールする (p. 38)」を参照してください。

マウントヘルパーを使用して Amazon EFS ファイルシステムをマウントするには

1. Secure Shell (SSH) を介してインスタンスのターミナルにアクセスし、適切なユーザー名でログインします。これを行う方法の詳細については、『Linux インスタンス用 Amazon EC2 ユーザーガイド』の「SSH を使用した Linux インスタンスへの接続」を参照してください。

2. 以下のコマンドを使用してファイルシステムをマウントします。

sudo mount -t efs fs-12345678:/ /mnt/efs

または、転送時にデータの暗号化を使用する場合、次のコマンドを使用してファイルシステムをマウントできます。

66

Page 75: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドIAM 認証によるマウント

sudo mount -t efs -o tls fs-12345678:/ /mnt/efs

IAM 認証によるマウントAWS Identity and Access Management (IAM) 認証を使用して Linux インスタンスに Amazon EFS ファイルシステムをマウントするには、EFS マウントヘルパーを使用する必要があります。NFS クライアントの IAM 認証の詳細については、「IAM を使用した Amazon EFS への NFS アクセスのコントロール (p. 159)」を参照してください。

EC2 インスタンスプロファイルを使用した IAM によるマウントインスタンスプロファイルを使用する Amazon EC2 インスタンスに対して IAM 認証によるマウントを行う場合は、次に示すようにマウントオプションとして tls および iam を使用します。

$ sudo mount -t efs -o tls,iam file-system-id efs-mount-point

インスタンスプロファイルを使用する Amazon EC2 インスタンスに対して IAM 認証によるマウントを自動的に行うには、EC2 インスタンスの /etc/fstab ファイルに次の行を追加します。

file-system-id:/ efs-mount-point efs _netdev,tls,iam 0 0

名前付きプロファイルを使用した IAM によるマウントAWS CLI 認証情報ファイル (~/.aws/credentials) または AWS CLI 設定ファイル (~/.aws/config)にある IAM 認証情報を使用し、IAM 認証でマウントできます。"awsprofile" が指定されていない場合は、"デフォルト" のプロファイルが使用されます。

認証情報ファイルを使用して Linux インスタンスに対して IAM 認証によるマウントを行うには、次に示すように tls、awsprofile、および iam マウントオプションを使用します。

$ sudo mount -t efs -o tls,iam,awsprofile=namedprofile file-system-id efs-mount-point/

認証情報ファイルを使用して Linux インスタンスに対して IAM 認証によるマウントを自動的に行うには、EC2 インスタンスの /etc/fstab ファイルに次の行を追加します。

file-system-id:/ efs-mount-point efs _netdev,tls,iam,awsprofile=namedprofile 0 0

EFS アクセスポイントによるマウントEFS アクセスポイントを使用して EFS ファイルシステムをマウントできます。そのためには、EFS マウントヘルパーを使用します。

アクセスポイントを使用してファイルシステムをマウントする場合、mount コマンドには、通常のマウントオプションに加えて、access-point-id および tls マウントオプションが含まれます。以下に例を示します。

$ sudo mount -t efs -o tls,accesspoint=access-point-id file-system-id efs-mount-point

アクセスポイントを使用してファイルシステムを自動的にマウントするには、EC2 インスタンスの /etc/fstab ファイルに次の行を追加します。

67

Page 76: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドEFS マウントヘルパーによる自動マウント

file-system-id efs-mount-point efs _netdev,tls,accesspoint=access-point-id 0 0

EFS アクセスポイントの詳細については、「Amazon EFS アクセスポイントの使用 (p. 171)」を参照してください。

EFS マウントヘルパーによる自動マウント/etc/fstab ファイルにエントリを追加することで、自動的にマウントするオプションもあります。/etc/fstab を使用して自動的にマウントする場合は、_netdev マウントオプションを追加する必要があります。詳細については、「/etc/fstab を使用した自動マウント (p. 70)」を参照してください。

Note

マウントヘルパーを使用してマウントすると、Amazon EFS 用に最適化された次のマウントオプションが自動的に使用されます。

• nfsvers=4.1

• rsize=1048576

• wsize=1048576

• hard

• timeo=600

• retrans=2

• noresvport

mount コマンドを使用するには、以下が満たされている必要があります。

• 接続する EC2 インスタンスは、Amazon VPC サービスに応じて、Virtual Private Cloud (VPC) 内に存在する必要があります。また、Amazon が提供する DNS サーバーを使用するように設定されている必要があります。Amazon DNS サーバーの詳細については、『Amazon VPC ユーザーガイド』の「DHCP オプションセット」を参照してください。

• 接続する EC2 インスタンスの VPC で DNS ホスト名が有効になっている必要があります。詳細については、『Amazon VPC ユーザーガイド』の「EC2 インスタンスの DNS ホスト名を確認する」を参照してください。

Note

ファイルシステムをマウントする前に、マウントターゲットを作成してから 90 秒待機することをお勧めします。この待機により、DNS レコードはファイルシステムがある AWS リージョンに完全に伝達されます。

EFS マウントヘルパーを使用してオンプレミスのLinux クライアントに AWS Direct Connect およびVPN 経由でマウントするAWS Direct Connect または VPN を使用して VPC に接続する場合、Amazon EFS ファイルシステムをオンプレミスデータセンターサーバーにマウントできます。また、amazon-efs-utils を使用して AmazonEFS ファイルシステムをマウントすると、マウントヘルパーでマウントが簡単になり、転送中のデータの暗号化を有効にすることができます。

AWS Direct Connect および VPN で amazon-efs-utils を使用して Amazon EFS ファイルシステムをオンプレミス Linux クライアントにマウントする方法については、「ウォークスルー: AWS Direct Connect と

68

Page 77: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドEFS を自動的にマウントする

VPN を使用してオンプレミスでファイルシステムを作成してマウントする (p. 126)」を参照してください。

Amazon EFS ファイルシステムを自動的にマウントする

再起動時に EFS ファイルシステムが自動的にマウントされるように Amazon EC2 インスタンスを設定するには、次の 2 つの方法があります:

• インスタンス起動ウィザードを使用して新しい EC2 インスタンスを作成する。• EFS ファイルシステムのエントリで EC2 の /etc/fstab ファイルを更新する。

どちらの方法でも、EFS マウントヘルパーを使用してファイルシステムをマウントします。マウントヘルパーは、amazon-efs-utils というツールセットの一部です。

これらの amazon-efs-utils ツールは、Amazon Linux および Amazon Linux 2 の Amazon マシンイメージ (AMI) にインストールできます。amazon-efs-utils の詳細については、「amazon-efs-utils ツールを使用する (p. 37)」を参照してください。Red Hat Enterprise Linux (RHEL) など、他の Linux ディストリビューションを使用している場合は、amazon-efs-utils を手動でビルドおよびインストールします。詳細については、「他の Linux ディストリビューションで amazon-efs-utils パッケージをインストールする (p. 38)」を参照してください。

インスタンスの起動時に EFS ファイルシステムをマウントするよう EC2 インスタンスを設定するEC2 インスタンス起動ウィザードを使用して新しい Amazon EC2 Linux インスタンスを作成する場合、Amazon EFS ファイルシステムが自動的にマウントされるように設定できます。EC2 インスタンスでは、インスタンスが最初に起動されたときと再起動ごとに、ファイルシステムが自動的にマウントされます。

この手順を実行する前に、Amazon EFS ファイルシステムを作成済みであることを確認します。詳細については、Amazon EFS 「使用開始」の演習の「ステップ 1: Amazon EFS ファイルシステムを作成する (p. 13)」を参照してください。

Note

Microsoft Windows ベースの Amazon EC2 インスタンスで Amazon EFS を使用することはできません。

Amazon EC2 インスタンスを起動して接続する前に、キーペアをまだ作成していない場合は作成する必要があります。キーペアを作成するには、『Linux インスタンス用 Amazon EC2 ユーザーガイド』の「Amazon EC2 でのセットアップ」の手順を参照してください。すでにキーペアがある場合は、この演習に使用できます。

起動時に自動的に EFS ファイルシステムをマウントするよう EC2 インスタンスを設定するには

1. https://console.aws.amazon.com/ec2/ で Amazon EC2 コンソールを開きます。2. [インスタンスの作成] を選択します。3. [ステップ 1: Amazon マシンイメージ (AMI) の選択] で、リストの一番上にある Amazon Linux AMI を

見つけて [選択] を選択します。4. [ステップ 2: インスタンスタイプの選択] で、[次の手順: インスタンスの詳細の設定] を選択します。5. 「ステップ 3: インスタンスの詳細を設定する」で、以下の情報を入力します。

69

Page 78: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド/etc/fstab を使用した自動マウント

• [ネットワーク] で、マウントする EFS ファイルシステムと同じ VPC のエントリを選択します。• [サブネット] で、任意のアベイラビリティーゾーンのデフォルトのサブネットを選択します。• [ファイルシステム] で、マウントする EFS ファイルシステムを選択します。ファイルシステム ID

の横に表示されるパスは、EC2 インスタンスが使用するマウントポイントです。このマウントポイントは変更できます。

• [Advanced Details (高度な詳細)] の [User data (ユーザーデータ)] で、ユーザーデータが自動的に生成されます。このデータには、[File systems (ファイルシステム)] で指定した EFS ファイルシステムをマウントするために必要なコマンドが含まれます。

6. [次の手順: ストレージの追加] を選択します。7. [次の手順: タグの追加] を選択します。8. インスタンスに名前を付け、[次の手順: セキュリティグループの設定] を選択します。9. 「ステップ 6: セキュリティグループを設定する」で、[Assign a security group (セキュリティグルー

プの割り当て)] を [Select an existing security group (既存のセキュリティグループの選択)] に設定します。デフォルトのセキュリティグループを選択して、EFS ファイルシステムにアクセスできることを確認します。

このセキュリティグループを使用して、Secure Shell (SSH) で EC2 インスタンスにアクセスすることはできません。SSH によるアクセスについては、後でデフォルトのセキュリティを編集し、SSH を許可するルールまたは SSH を許可する新しいセキュリティグループを追加できます。以下の設定を使用できます。

• タイプ: SSH• プロトコル: TCP• ポート範囲: 22• ソース: Anywhere 0.0.0.0/0

10. [Review and Launch] を選択します。11. [Launch] を選択します。12. 作成したキーペアのチェックボックスを選択した後、[インスタンスの起動] を選択します。

これで、EC2 インスタンスは、起動時および再起動されるたびに EFS ファイルシステムをマウントするよう設定されました。

/etc/fstab を使用した自動マウントAmazon EC2 インスタンスの再起動時に Amazon EFS ファイルシステムディレクトリを自動的に再マウントするには、/etc/fstab ファイルを使用します。/etc/fstab ファイルには、ファイルシステムに関する情報が含まれています。インスタンスの起動中に実行される mount -a コマンドは、/etc/fstab に示されているファイルシステムをマウントします。この手順では、EFS マウントヘルパーを使用してファイルシステムをマウントするため、EC2 インスタンスにインストールしておく必要があります。

マウントヘルパーは、amazon-efs-utils というツールセットの一部であり、Amazon Linux および Amazon Linux 2 の Amazon マシンイメージ (AMI) にインストールできます。Amazon Linux またはAmazon Linux 2 の AMI に amazon-efs-utils をインストールする方法については、「Amazon Linux でamazon-efs-utils パッケージをインストールする (p. 38)」を参照してください。Red Hat Enterprise Linux(RHEL) など、他の Linux ディストリビューションを使用している場合は、amazon-efs-utils を手動でビルドおよびインストールします。詳細については、「他の Linux ディストリビューションで amazon-efs-utils パッケージをインストールする (p. 38)」を参照してください。

Note

EC2 インスタンスの /etc/fstab ファイルを更新する前に、Amazon EFS ファイルシステムがすでに作成済みであることを確認してください。詳細については、Amazon EFS 「使用開始」の演習の「ステップ 1: Amazon EFS ファイルシステムを作成する (p. 13)」を参照してください。

70

Page 79: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド/etc/fstab を使用した自動マウント

EC2 インスタンスで /etc/fstab ファイルを更新するには

1. EC2 インスタンスに接続します。

• macOS または Linux を実行しているコンピュータからインスタンスに接続するには、SSH コマンドに対する .pem ファイルを指定します。これを行うには、-i オプションとプライベートキーへのパスを使用します。

• Windows を実行しているコンピュータから Linux インスタンスに接続する場合は、MindTerm または PuTTY のどちらかを使用できます。PuTTY を使用するには、インストールしてから .pem ファイルを .ppk ファイルに変換します。

詳細については、「Linux インスタンス用 Amazon EC2 ユーザーガイド」の次のトピックを参照してください。

• SSH を使用した Linux インスタンスへの接続• PuTTY を使用した Windows から Linux インスタンスへの接続

2. エディタで /etc/fstab ファイルを開きます。3. IAM 認証または EFS アクセスポイントのいずれかを使用して、EFS ファイルシステムを自動的にマ

ウントします:

• インスタンスプロファイルを使用する Amazon EC2 インスタンスに対して IAM 認証によるマウントを自動的に行うには、/etc/fstab ファイルに次の行を追加します。

file-system-id:/ efs-mount-point efs _netdev,tls,iam 0 0

• 認証情報ファイルを使用して Linux インスタンスに対して IAM 認証によるマウントを自動的に行うには、/etc/fstab ファイルに次の行を追加します。

file-system-id:/ efs-mount-point efs _netdev,tls,iam,awsprofile=namedprofile 0 0

• EFS アクセスポイントを使用してファイルシステムを自動的にマウントするには、/etc/fstabファイルに次の行を追加します。

file-system-id efs-mount-point efs _netdev,tls,accesspoint=access-point-id 0 0

Warning

ファイルシステムを自動的にマウントするときに、ネットワークファイルシステムを識別するために使用する _netdev オプションを使用します。_netdev が見つからない場合、EC2インスタンスは応答を停止する可能性があります。この結果は、コンピューティングインスタンスがネットワーキングを開始後、ネットワークファイルシステムを初期化する必要があるためです。詳細については、「自動マウントが失敗してインスタンスが応答しない (p. 189)」を参照してください。

詳細については、「IAM 認証によるマウント (p. 67)」および「EFS アクセスポイントによるマウント (p. 67)」を参照してください。

4. 変更をファイルに保存します。5. mount コマンドで 'all' および 'verbose' オプションと共に 'fake' オプションを指定し

て、fstab エントリをテストします。

$ sudo mount -favhome/ec2-user/efs : successfully mounted

71

Page 80: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド/etc/fstab を使用した自動マウント

EC2 インスタンスは、再起動するたびに EFS ファイルシステムをマウントするように設定されました。

Note

場合によっては、マウントされた Amazon EFS ファイルシステムのステータスに関係なく、Amazon EC2 インスタンスの起動が必要になることがあります。そのような場合は、/etc/fstab ファイルに記載されているファイルシステムのエントリに nofail オプションを追加します。

/etc/fstab ファイルに追加したコードの行は以下のようになります。

フィールド 説明

file-system-id:/ Amazon EFS ファイルシステムの ID。この ID は、コンソールから、または CLI あるいは AWS SDK からプログラムで取得できます。

efs-mount-point EC2 インスタンスの EFS ファイルシステムのマウントポイントです。

efs ファイルシステムのタイプ。マウントヘルパーを使用している場合、このタイプは常に efs です。

mount options ファイルシステムのマウントオプション。以下はオプションのカンマ区切りのリストです。

• _netdev – このオプションは、ネットワークアクセスを必要とするデバイスにファイルシステムが存在することをオペレーティングシステムに通知します。このオプションは、クライアント上でネットワークが有効になるまで、インスタンスがファイルシステムをマウントするのを防ぎます。

• tls – 転送時のデータの暗号化を可能にします。• iam – このオプションにより、インスタンスプロファイルを使用する

Amazon EC2 に対して IAM 認証によるマウントを行います。iam マウントオプションを使用するには、tls オプションも使用する必要があります。詳細については、「IAM を使用した Amazon EFS への NFS アクセスのコントロール (p. 159)」を参照してください。

• awsprofile=namedprofile – 認証情報ファイルを使用して Linux インスタンスに対して IAM 認証によるマウントを行うには、このオプションを iam および tls オプションと共に使用します。EFS アクセスポイントの詳細については、「IAM を使用した Amazon EFS への NFS アクセスのコントロール (p. 159)」を参照してください。

• accesspoint=access-point-id – このオプションを tls オプションと共に指定して、EFS アクセスポイントを使用したマウントを行います。EFS アクセスポイントの詳細については、「Amazon EFS アクセスポイントの使用 (p. 171)」を参照してください。

0 ゼロ以外の値の場合、ファイルシステムを dump でバックアップする必要があることを示します。EFS の場合、この値は 0 になっている必要があります。

0 起動時に fsck がファイルシステムをチェックする順序。EFS ファイルシステムの場合、起動時に fsck を実行すべきでないことを示すにはこの値を 0 にします

72

Page 81: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド別のアカウントまたは VPC からマウントする

別のアカウントまたは VPC から EFS ファイルシステムをマウントする

EFS マウントヘルパーを使用し、NFS クライアントおよび EFS アクセスポイントに対して IAM 認証を使用することで、Amazon EFS ファイルシステムをマウントできます。既定では、EFS マウントヘルパーは、ドメインネームサービス (DNS) を使用して、EFS マウントターゲットの IP アドレスを解決します。別のアカウントまたは Virtual Private Cloud (VPC) からファイルシステムをマウントする場合は、EFS マウントターゲットを手動で解決する必要があります。

次に、NFS クライアントに使用する正しい EFS マウントターゲットの IP アドレスを決定する手順を示します。また、その IP アドレスを使用して EFS ファイルシステムがマウントされるようにクライアントを設定する方法についても説明します。

別の VPC から IAM またはアクセスポイントを使用してマウントするVPC ピアリング接続またはトランジットゲートウェイを使用して VPC に接続する場合、ある VPC 上のAmazon EC2 インスタンスから別の VPC の EFS ファイルシステムにアクセスすることができます。VPC同士が異なるアカウントに属していても可能です。

前提条件ここに示す手順を使用する前に、以下を行う必要があります:

• amazon-efs-utils ツールセットをクライアントにインストールします。EFS マウントヘルパーを使用してファイルシステムをマウントしします。マウントヘルパーは、amazon-efs-utils に含まれています。amazon-efs-utils のインストール手順については、「amazon-efs-utils ツールを使用する (p. 37)」を参照してください。

• VPC ピアリング接続または VPC トランジットゲートウェイを設定します。

クライアントの VPC と EFS ファイルシステムの VPC を接続するには、VPC ピアリング接続またはVPC トランジットゲートウェイを使用します。VPC ピアリング接続またはトランジットゲートウェイを使用して VPC に接続する場合、ある VPC 上の Amazon EC2 インスタンスから別の VPC の EFSファイルシステムにアクセスすることができます。VPC 同士が異なるアカウントに属していても可能です。

トランジットゲートウェイは、VPC とオンプレミスネットワークを相互接続するために使用できるネットワークの中継ハブです。VPC トランジットゲートウェイの詳細については、『Amazon VPC トランジットゲートウェイガイド』の「トランジットゲートウェイの使用開始」を参照してください。

VPC ピアリング接続は、2 つの VPC 間のネットワーク接続です。このタイプの接続では、インターネットプロトコルバージョン 4 (IPv4) またはインターネットプロトコルバージョン 6 (IPv6) のプライベートアドレスを使用して、2 つの VPC 間でトラフィックをルーティングできます。VPC ピア接続を使用して、同じ AWS リージョン内または AWS リージョン間の VPC を接続できます。VPC ピア接続の詳細については、Amazon VPC Peering Guideの「VPC ピア接続とは?」を参照してください。

ファイルシステムの高可用性を確保するために、NFS クライアントと同じアベイラビリティーゾーン (AZ)にある EFS マウントターゲットの IP アドレスを常に使用することをお勧めします。別のアカウントにある EFS ファイルシステムをマウントする場合は、NFS クライアントと EFS マウントターゲットが同じAZ ID にあることを確認します。この要件が適用されるのは、AZ 名がアカウントによって異なる可能性があるためです。

73

Page 82: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド別の VPC から IAM またはアクセ

スポイントを使用してマウントする

IAM またはアクセスポイントを使用して EFS ファイルシステムを別の VPC にマウントするには

1. EC2 インスタンスに接続します。

• Mac OS または Linux を実行しているコンピュータからインスタンスに接続するには、SSH コマンドに対する .pem ファイルを指定します。これを行うには、-i オプションとプライベートキーへのパスを使用します。

• Windows を実行しているコンピュータから Linux インスタンスに接続する場合は、MindTerm または PuTTY のどちらかを使用できます。PuTTY を使用するには、インストールしてから .pem ファイルを .ppk ファイルに変換します。

詳細については、「Linux インスタンス用 Amazon EC2 ユーザーガイド」の次のトピックを参照してください。

• PuTTY を使用した Windows から Linux インスタンスへの接続• SSH を使用した Linux インスタンスへの接続

2. EC2 インスタンスがある AZ ID を特定するには、次のように describe-availability-zones CLIコマンドを使用します。

[[email protected]] $ aws ec2 describe-availability-zones --zone-name `curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone`{ "AvailabilityZones": [ { "State": "available", "ZoneName": "us-east-2b", "Messages": [], "ZoneId": "use2-az2", "RegionName": "us-east-2" } ]}

AZ ID は、ZoneId プロパティで返されます (use2-az2)。3. 次のように CLI コマンド describe-mount-targets を使用して、AZ ID use2-az2 内のファイル

システムに対するマウントターゲットの IP アドレスを取得します。

$ aws efs describe-mount-targets --file-system-id file_system_id{ "MountTargets": [ { "OwnerId": "111122223333", "MountTargetId": "fsmt-11223344", =====> "AvailabilityZoneId": "use2-az2", "NetworkInterfaceId": "eni-048c09a306023eeec", "AvailabilityZoneName": "us-east-2b", "FileSystemId": "fs-01234567", "LifeCycleState": "available", "SubnetId": "subnet-06eb0da37ee82a64f", "OwnerId": "958322738406", =====> "IpAddress": "10.0.2.153" }, ... { "OwnerId": "111122223333", "MountTargetId": "fsmt-667788aa", "AvailabilityZoneId": "use2-az3", "NetworkInterfaceId": "eni-0edb579d21ed39261", "AvailabilityZoneName": "us-east-2c",

74

Page 83: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド別のアカウントまたは同じ VPC からマウントする

"FileSystemId": "fs-01234567", "LifeCycleState": "available", "SubnetId": "subnet-0ee85556822c441af", "OwnerId": "958322738406", "IpAddress": "10.0.3.107" } ]}

AZ ID use2-az2 内のマウントターゲットの IP アドレスは 10.0.2.153 です。4. /etc/hosts ファイルに、マウントターゲットの IP アドレスの行を追加します。次のよう

に、mount-target-IP-Address file-system-ID.efs.region.amazonaws.com という形式を使用します。

echo "10.0.2.153 fs-01234567.efs.us-east-2.amazonaws.com" | sudo tee -a /etc/hosts

5. 次のコマンドを使用して、ファイルシステムをマウントするためのディレクトリを作成します。

$ sudo mkdir /mnt/efs

6. IAM 認証を使用してファイルシステムをマウントするには、次のコマンドを使用します:

$ sudo mount -t efs -o tls,iam file-system-id /mnt/efs/

EFS を使用した IAM 認証の詳細については、「IAM を使用した Amazon EFS への NFS アクセスのコントロール (p. 159)」を参照してください。

EFS アクセスポイントを使用してファイルシステムをマウントするには、次のコマンドを使用します:

$ sudo mount -t efs -o tls,accesspoint=access-point-id file-system-id /mnt/efs/

EFS アクセスポイントの詳細については、「Amazon EFS アクセスポイントの使用 (p. 171)」を参照してください。

別の VPC で EFS マウントポイントに DNS 名前解決を使用することはできません。EFS ファイルシステムをマウントするには、対応する可用性ゾーンのマウントポイントの IP アドレスを使用します。また、DNS サービスとして Amazon Route 53 を使用できます。Route 53 で、プライベートホストゾーンとリソースレコードセットを作成して、別の VPC から EFS マウントターゲット IP アドレスを解決できます。これを実行する方法の詳細については、『Amazon Route 53 開発者ガイド』の「プライベートホストゾーンの使用」および「レコードの使用」を参照してください。

別のアカウントまたは同じ VPC からマウントする共有 VPC を使用して、あるアカウントが所有する Amazon EFS ファイルシステムを、別のアカウントが所有する Amazon EC2 インスタンスからマウントすることができます。共有 VPC の設定の詳細は、『Amazon VPC Peering Guide』の「共有 VPC の使用」を参照してください。

VPC 共有をセットアップしたら、EC2 インスタンスで、ドメインネームシステム (DNS) 名前解決またはEFS マウントヘルパーを使用して EFS ファイルシステムをマウントできるようになります。

マウントに関する追加の考慮事項Linux の マウントオプションには次のデフォルトの値をお勧めします。

75

Page 84: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドマウントに関する追加の考慮事項

• rsize=1048576 – 各ネットワーク読み取りリクエストに対して NFS クライアントが受信できるデータの最大バイト数を設定します。この値は、EFS ファイルシステム上のファイルからデータを読み取る際に適用されます。パフォーマンスが低下しないように、可能な限り大きいサイズ (最大 1048576) を使用することをお勧めします。

• wsize=1048576 – 各ネットワーク書き込みリクエストに対して NFS クライアントが送信できるデータの最大バイト数を設定します。この値は、EFS ファイルシステム上のファイルにデータを書き込む際に適用されます。パフォーマンスが低下しないように、可能な限り大きいサイズ (最大 1048576) を使用することをお勧めします。

• hard – NFS リクエストがタイムアウトした後の NFS クライアントのリカバリ動作を設定します。これにより、NFS リクエストは、サーバーが応答するまで無期限に再試行されます。データの整合性を確保できるように、ハードマウントオプション (hard) を使用することをお勧めします。soft マウントを使用している場合は、timeo パラメータを 150 デシ秒 (15 秒) 以上に設定してください。これにより、ソフトマウントに固有のデータ破損が生じるリスクを最小限に抑えることができます。

• timeo=600 – NFS クライアントがレスポンスを待機するのに要するタイムアウト値を設定してから、NFS リクエストを 600 デシ秒 (60 秒) に設定します。タイムアウトパラメータ (timeo) を変更する必要がある場合は、少なくとも 150 の値を使用することをお勧めします。これは 15 秒に相当します。これにより、パフォーマンスの低下を抑えることができます。

• retrans=2 – NFS クライアントでリカバリアクションを試行する前に、そのアクションのリクエスト試行回数を 2 回に設定します。

• noresvport – ネットワーク接続が再確立された時に、新しい Transmission Control Protocol (TCP) 送信元ポートを使用するように、NFS クライアントに指示します。これにより、ネットワーク復旧イベント後、EFS ファイルシステムでの中断のない可用性が保証されます。

• _netdev – /etc/fstab に存在する場合、クライアントは、ネットワークが有効になるまで、EFSファイルシステムをマウントすることはできません。

前述のデフォルト設定を使用しない場合は、以下の点に注意してください。

• 一般に、デフォルトとは異なる他のマウントオプションを設定しないでください。パフォーマンスが低下し、別の問題が生じる可能性があります。たとえば、読み取りまたは書き込みバッファサイズを変更したり、属性のキャッシュを無効にしたりするとパフォーマンスが損なわれる可能性があります。

• Amazon EFS は送信元ポートを無視します。Amazon EFS 送信元ポートを変更した場合、変更は無効になります。

• Amazon EFS では Kerberos セキュリティバリアントをサポートしていません。たとえば、以下のマウントコマンドは失敗します。

$ mount -t nfs4 -o krb5p <DNS_NAME>:/ /efs/

• ファイルシステムは、DNS 名を使用してマウントすることをお勧めします。この名前は、Amazon EC2インスタンスと同じアベイラビリティーゾーンの Amazon EFS マウントターゲットの IP アドレスに解決されます。ご使用の Amazon EC2 インスタンスとは異なるアベイラビリティーゾーンでマウントターゲットを使用すると、アベイラビリティーゾーンから送信されるデータに対して EC2 の標準料金がかかります。また、ファイルシステムオペレーションのレイテンシーが増加することがあります。

• 他のマウントオプションや、デフォルト設定の詳細な説明については、Linux ドキュメントの「manfstab」および「man nfs」ページを参照してください。

Note

マウントされた EFS ファイルシステムのステータスに関係なく EC2 インスタンスを起動する必要がある場合は、/etc/fstab ファイルのファイルシステムのエントリに nofail オプションを追加します。

76

Page 85: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドファイルシステムをアンマウントする

ファイルシステムをアンマウントするファイルシステムを削除する前に、接続しているすべての Amazon EC2 インスタンスからアンマウントすることをお勧めします。インスタンス自体で umount コマンドを実行することで、Amazon EC2 インスタンスのファイルシステムをアンマウントできます。AWS CLI、AWS マネジメントコンソール、またはいずれかの AWS SDK から、Amazon EFS ファイルシステムをアンマウントすることはできません。Linuxを実行する Amazon EC2 インスタンスに接続されている Amazon EFS ファイルシステムをアンマウントするには、次のように umount コマンドを使用します。

umount /mnt/efs

他の umount オプションを指定しないことをお勧めします。デフォルトと異なる umount オプションを設定しないでください。

df コマンドを実行すると、Amazon EFS ファイルシステムのマウントが解除されたことを確認できます。このコマンドを実行すると、Linux ベースの Amazon EC2 インスタンスに現在マウントされているファイルシステムのディスク使用状況の統計情報が表示されます。アンマウントする Amazon EFS ファイルシステムが df コマンドの出力にリストされていない場合、ファイルシステムがアンマウントされていることを意味します。

Example 例: Amazon EFS ファイルシステムのマウントステータスを特定してアンマウントする

$ df -TFilesystem Type 1K-blocks Used Available Use% Mounted on /dev/sda1 ext4 8123812 1138920 6884644 15% / availability-zone.file-system-id.efs.aws-region.amazonaws.com :/ nfs4 9007199254740992 0 9007199254740992 0% /mnt/efs

$ umount /mnt/efs

$ df -T

Filesystem Type 1K-blocks Used Available Use% Mounted on /dev/sda1 ext4 8123812 1138920 6884644 15% /

77

Page 86: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドモニタリングツール

Amazon EFS のモニタリングモニタリングは、Amazon EFS および AWS ソリューションの信頼性、可用性、パフォーマンスを維持する上で重要な部分です。マルチポイント障害が発生した場合は、その障害をより簡単にデバッグできるように、AWS ソリューションのすべての部分からモニタリングデータを収集する必要があります。ただし、Amazon EFS のモニタリングを開始する前に、以下の質問に対する回答を反映したモニタリング計画を作成する必要があります。

• どのような目的でモニタリングしますか?• モニタリングの対象となるリソースとは ?• どのくらいの頻度でこれらのリソースをモニタリングしますか?• 使用するモニタリングツールは?• 誰がモニタリングタスクを実行しますか?• 問題が発生したときに誰が通知を受け取りますか?

次のステップでは、さまざまなタイミングと負荷条件でパフォーマンスを測定することにより、お客様の環境で通常の Amazon EFS のパフォーマンスのベースラインを確定します。Amazon EFS をモニタリングするには、モニタリングデータの履歴を保存することを検討します。保存データを、最新のパフォーマンスデータと比較するベースラインとして使用し、通常のパフォーマンスのパターンやパフォーマンスの異常を検出して、問題への対応を検討することができます。

たとえば、Amazon EFS を使って、ファイルシステムについてのネットワークのスループット、読み書きやメタデータオペレーションの I/O、クライアント接続、バーストのクレジットバランスなどをモニタリングできます。確立したベースラインからパフォーマンスが外れた場合は、ファイルシステムのサイズ、またはクライアント接続の数を変更して、ワークロードのファイルシステムを最適化する必要がある場合があります。

ベースラインを確立するには、少なくとも、次の項目をモニタリングする必要があります。

• ファイルシステムのネットワークスループット。• ファイルシステムへのクライアント接続の数。• 読み込みデータ、書き込みデータ、メタデータオペレーションを含む、各ファイルシステムオペレー

ションのバイト数。

モニタリングツールAWS では、Amazon EFS のモニタリングに使用できるさまざまなツールを提供しています。これらのツールの中には、自動モニタリングを設定できるものもあれば、手操作を必要とするものもあります。モニタリングタスクをできるだけ自動化することをお勧めします。

自動モニタリングツール以下の自動化されたモニタリングツールを使用して、Amazon EFS を監視し、問題が発生したときにレポートできます。

• [Amazon CloudWatch アラーム] – 指定した期間にわたって単一のメトリクスを監視し、複数の期間にわたり既定のしきい値に関連するメトリクス値に基づいて 1 つ以上のアクションを実行します。アクションは、Amazon Simple Notification Service (Amazon SNS) トピックまたは Amazon EC2 Auto Scalingポリシーに送信される通知です。CloudWatch アラームは、単に特定の状態にあるというだけではアクションを呼び出しません。状態が変わり、それが指定した数の期間にわたって持続する必要がありま

78

Page 87: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド手動モニタリングツール

す。詳細については、「Amazon CloudWatch を使用した EFS のモニタリング (p. 79)」を参照してください。

• Amazon CloudWatch Logs – AWS CloudTrail またはその他のソースのログファイルをモニタリング、保存、およびアクセスします。詳細については、Amazon CloudWatch ユーザーガイドの「ログファイルのモニタリング」を参照してください。

• Amazon CloudWatch Events – イベントを照合し、1 つまたは複数のターゲット関数またはストリームにルーティングして変更を行い、状態情報を取得し、修正措置を行います。詳細については、AmazonCloudWatch ユーザーガイドの「Amazon CloudWatch Events とは」を参照してください。

• [AWS CloudTrail ログモニタリング] – アカウント間でログファイルを共有する、CloudWatch Logs にログタイムを送信してリアルタイムで CloudTrail ログファイルをモニタリングする、Java でログ処理アプリケーションを書き込む、そして CloudTrail による配信後にログファイルに変更がないことを検証します。詳細については、AWS CloudTrail User Guideの「Working with CloudTrail Log Files」を参照してください。

手動モニタリングツールAmazon EFS のモニタリングでもう 1 つ重要な点は、Amazon CloudWatch アラームの対象外の項目を手動でモニタリングすることです。Amazon EFS および CloudWatch の AWS コンソールダッシュボードには、AWS 環境の状態が一目でわかるビューが表示されます。file system のログファイルを確認することもお勧めします。

• Amazon EFS コンソールから、ファイルシステムについて以下の項目を見つけることができます。• 現在の計測サイズ• マウントターゲットの数• ライフサイクル状態

• CloudWatch ホームページには、次の内容が表示されます。• 現在のアラームとステータス• アラームとリソースのグラフ• サービス状態ステータス

さらに、CloudWatch を使用して次のことが行えます。• カスタマイズしたダッシュボードを作成して、使用するサービスをモニタリングする• メトリクスデータをグラフ化して、問題のトラブルシューティングを行い、傾向を確認する• AWS リソースのすべてのメトリクスを検索して、参照する• 問題があることを通知するアラームを作成/編集する

Amazon CloudWatch を使用した EFS のモニタリング

Amazon CloudWatch を使用してファイルシステムをモニタリングすることで、Amazon EFS から未加工データを収集し、リアルタイムに近い読み取り可能なメトリクスに加工することができます。これらの統計は 15 か月間記録されるため、履歴情報にアクセスしてウェブアプリケーションやサービスの動作をより的確に把握できます。デフォルトでは、Amazon EFS メトリクスデータは 1 分間隔で CloudWatch に自動的に送信されます。CloudWatch の詳細については、Amazon CloudWatch ユーザーガイドの「AmazonCloudWatch、Amazon CloudWatch Events、Amazon CloudWatch Logs とは?」を参照してください。

Amazon EFS の Amazon CloudWatch メトリクスAWS/EFS 名前空間には、次のメトリクスが含まれます。

79

Page 88: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAmazon EFS の Amazon CloudWatch メトリクス

BurstCreditBalance

ファイルシステムのバーストクレジットの数。バーストクレジットによって、ファイルシステムは一定の期間、ファイルシステムのベースラインレベルを超えたスループットレベルまでバーストすることができます。詳細については、「バーストモードでのスループットのスケーリング (p. 98)」を参照してください。

Minimum 統計は、期間中の 1 分間の最小のバーストクレジットバランスです。Maximum 統計は、期間中の 1 分間の最大のバーストクレジットバランスです。Average 統計は、期間中の平均のバーストクレジットバランスです。

単位: バイト

有効な統計: Minimum、Maximum、Average

ClientConnections

ファイルシステムへのクライアント接続の数。標準クライアントを使用する場合、マウントされたAmazon EC2 インスタンスごとに 1 つの接続があります。

Note

1 分を超える期間の平均 ClientConnections を算出するには、Sum 統計をその期間の分数で割ります。

単位: クライアント接続数

有効な統計: SumDataReadIOBytes

各ファイルシステムの読み込みオペレーションのバイト数。

Sum 統計は読み込みオペレーションと関連付けられる総バイト数です。Minimum 統計は、期間中の最小読み込みオペレーションのサイズです。Maximum 統計は、期間中の最大読み込みオペレーションのサイズです。Average 統計は、期間中の読み込みオペレーションの平均サイズです。SampleCount統計は読み込みオペレーションの数を提供します。

単位:• Minimum、Maximum、Average、Sum では、バイトです。• SampleCount では、回です。

有効な統計: Minimum、Maximum、Average、Sum、SampleCount

DataWriteIOBytes

各ファイルの書き込みオペレーションのバイト数。

Sum 統計は書き込みオペレーションと関連付けられる総バイト数です。Minimum 統計は、期間中の最小書き込みオペレーションのサイズです。Maximum 統計は、期間中の最大書き込みオペレーションのサイズです。Average 統計は、期間中の書き込みオペレーションの平均サイズです。SampleCount統計は書き込みオペレーションの数を提供します。

単位:• Minimum、Maximum、Average、Sum 統計の単位はバイトです。• SampleCount では、回です。

有効な統計: Minimum、Maximum、Average、Sum、SampleCount

MetadataIOBytes

各メタデータオペレーションのバイト数。

80

Page 89: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAmazon EFS の Amazon CloudWatch メトリクス

Sum 統計はメタデータオペレーションと関連付けられる総バイト数です。Minimum 統計は、期間中の最小メタデータオペレーションのサイズです。Maximum 統計は、期間中の最大メタデータオペレーションのサイズです。Average 統計は、期間中のメタデータオペレーションの平均サイズです。SampleCount 統計はメタデータオペレーションの数を提供します。

単位:• Minimum、Maximum、Average、Sum 統計の単位はバイトです。• SampleCount では、回です。

有効な統計: Minimum、Maximum、Average、Sum、SampleCount

PercentIOLimit

ファイルシステムが汎用パフォーマンス モードの I/O 制限にどれだけ近づいているかを示します。このメトリクスが 100% になっていることが多い場合、最大 I/O パフォーマンスモードを使用したファイルシステムにアプリケーションを移行することをご検討ください。

Note

このメトリクスは汎用パフォーマンスモードを使用したファイルシステムのみで提供されます。

単位:• パーセント

PermittedThroughput

ファイルシステムで許可される最大のスループット容量。プロビジョニングされたスループットモードのファイルシステムについては、ストレージの量によってファイルシステムがプロビジョニングされたよりも高いスループットを実現できる場合、このメトリクスはプロビジョニングされたスループットではなく高いスループットを反映します。バーストスループットモードのファイルシステムの場合、この値はファイルシステムサイズと BurstCreditBalance の関数です。詳細については、「Amazon EFS のパフォーマンス (p. 95)」を参照してください。

Minimum 統計は、期間中の 1 分間の最小の許可されるスループットです。Maximum 統計は、期間中の 1 分間の最大の許可されるスループットです。Average統計は、期間中の許可される平均スループットです。

単位: バイト/秒

有効な統計: Minimum、Maximum、Average

TotalIOBytes

読み込みデータ、書き込みデータ、メタデータオペレーションを含む、各ファイルシステムオペレーションのバイト数。

Sum統計は、すべてのファイルシステムオペレーションに関連付けられる総バイト数です。Minimum統計は、期間中の最小オペレーションのサイズです。Maximum 統計は、期間中の最大オペレーションのサイズです。Average 統計は、期間中のオペレーションの平均サイズです。SampleCount 統計は、すべてのオペレーションの数を提供します。

Note

その期間の 1 秒あたりの平均オペレーション数を算出するには、SampleCount 統計をその期間の秒数で割ります。その期間の平均スループット (バイト/秒) を算出するには、Sum 統計をその期間の秒数で割ります。

単位:• Minimum、Maximum、Average、Sum 統計では、バイトです。• SampleCount では、回です。

有効な統計: Minimum、Maximum、Average、Sum、SampleCount

81

Page 90: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドCloudWatch で表示されるバイト数

CloudWatch で表示されるバイト数Amazon S3 および Amazon EBS と同様に、Amazon EFS CloudWatch メトリクスは raw バイトとして表示されます。バイト数は、単位の 10 進数 または 2 進数の倍数のどちらにも丸められません。メトリクスから取得したデータを使用してバースト速度を計算するときには、このことを念頭に置いてください。バーストの詳細については、「バーストモードでのスループットのスケーリング (p. 98)」を参照してください。

Amazon EFS ディメンションAmazon EFS メトリクスはEFS 名前空間を使用して、1 つのディメンションのメトリクス FileSystemIdを提供します。ファイルシステムの ID は Amazon EFS 管理コンソールにあり、その形式は fs-XXXXXXXX です。

Amazon EFS メトリクスの使用方法Amazon EFS によってレポートされるメトリクスが提供する情報は、さまざまな方法で分析できます。以下のリストは、メトリクスの一般的な利用方法をいくつか示しています。ここで紹介するのは開始するための提案事項です。すべてを網羅しているわけではありません。

どうすればよいか? 関連するメトリクス

自分のスループットを決定するにはどうすればよいですか?

毎日の Sum メトリックスの TotalIOBytes 統計をモニタリングして、スループットを確認できます。

ファイルシステムに接続されている Amazon EC2インスタンスの数を追跡するにはどうすればよいですか?

Sum メトリクスの ClientConnections 統計をモニタリングできます。1分を超える期間の平均 ClientConnections を算出するには、合計をその期間の分数で割ります。

私のバーストクレジットバランスを確認するにはどうすればよいですか?

ファイルシステムの BurstCreditBalance メトリックスをモニタリングすることによって残高を確認できます。バーストとバーストクレジットの詳細については、「バーストモードでのスループットのスケーリング (p. 98)」を参照してください。

CloudWatch メトリクスへのアクセスCloudWatch の Amazon EFS メトリクスはさまざまな方法で表示できます。このメトリックスを表示するには、CloudWatch コンソールを使用します。アクセスするには、CloudWatch CLI または CloudWatchAPI を使用します。次の手順は、さまざまなツールを使用してメトリクスにアクセスする方法を示しています。

CloudWatch コンソールを使用してメトリクスを表示するには

1. CloudWatch コンソール (https://console.aws.amazon.com/cloudwatch/) を開きます。2. ナビゲーションペインで メトリクスを選択します。3. [EFS] 名前空間を選択します。4. (オプション) メトリクスを表示するには、検索フィールドにその名前を入力します。5. (オプション) ディメンション別にフィルタリングするには、[FileSystemId] を選択します。

82

Page 91: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドアラームの作成

AWS CLI からメトリックスにアクセスするには

• list-metrics コマンドを --namespace "AWS/EFS" 名前空間と共に使用します。詳細については、『AWS CLI Command Reference』を参照してください。

CloudWatch API からメトリクスにアクセスするには

• GetMetricStatistics を呼び出します。詳細については、「Amazon CloudWatch API リファレンス」を参照してください。

CloudWatch をモニタリングする Amazon EFS アラームの作成CloudWatch アラームを作成できます。これは、アラームの状態が変わったときに Amazon SNS メッセージを送信します。アラームは、指定期間にわたって単一のメトリクスを監視し、その値と複数期間に対するしきい値との比較結果に基づいて 1 つ以上のアクションを実行します。アクションは、Amazon SNS トピックまたは Auto Scaling ポリシーに送信される通知です。

アラームは、持続している状態変化に対してのみアクションを呼び出します。CloudWatch アラームは、単に特定の状態にあるというだけでアクションを呼び出すわけではありません。状態が変わり、それが指定した数の期間にわたって持続している必要があります。

Amazon EFS での CloudWatch アラームの重要な用途は、ファイルシステムに保管時の暗号化を適用することです。Amazon EFS ファイルシステムの作成時に、保管時のデータの暗号化を有効にすることができます。Amazon EFS ファイルシステムに保管時の暗号化ポリシーを適用するには、Amazon CloudWatchおよび AWS CloudTrail を使用してファイルシステムの作成を検出し、保管時の暗号化が有効になっていることを確認します。詳細については、「ウォークスルー: Amazon EFS ファイルシステムでの保管時の暗号化の強制 (p. 137)」を参照してください。

Note

現時点では、転送時に暗号化を実行することはできません。

次の手順は、Amazon EFS のアラームを作成する方法について説明しています。

CloudWatch コンソールを使用してアラームを設定するには

1. AWS マネジメントコンソール にサインインした後、https://console.aws.amazon.com/cloudwatch/ にある CloudWatch コンソールを開きます。

2. [Create Alarm] を選択します。これにより、[Create Alarm Wizard] が起動します。3. [EFS Metrics] を選択し、Amazon EFS メトリクスをスクロールして、アラームを設定するメトリクス

を見つけます。このダイアログボックスに Amazon EFS メトリクスのみを表示するには、ファイルシステムのファイルシステム ID で検索します。アラームを作成する [] ] メトリクスを選択し、[Next] をクリックします。

4. [名前]、[説明]、[次の時] のそれぞれにメトリクスの値を入力します。5. CloudWatch が必要な場合、アラーム状態に達したときメールを送信するために、[Whenever this

alarm:] フィールドで、[State is ALARM] を選択します。[Send notification to:] フィールドで、既存のSNS トピックを選択します。[Create topic] を選択すると、新しいメールサブスクリプションリストの名前とメールアドレスを設定できます。このリストは保存され、今後のアラーム用のフィールドに表示されます。

Note

[Create Topic] を使用して新しい Amazon SNS トピックを作成する場合、メールアドレスを検証しなければ、そのアドレスで通知を受け取ることができません。メールは、アラームがアラーム状態になったときにのみ送信されます。アラーム状態になったときに、メールア

83

Page 92: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAmazon EFS で Metric Math を使用する

ドレスの検証がまだ完了していない場合は、そのアドレスで通知を受け取ることはできません。

6. この時点で、[アラームのプレビュー] エリアで、作成するアラームを確認できます。[Create Alarm] を選択します。

AWS CLI を使用してアラームを設定するには

• put-metric-alarm を呼び出します。詳細については、「AWS CLI Command Reference」を参照してください。

CloudWatch API を使用してアラームを設定するには

• PutMetricAlarm を呼び出します。詳細については、「Amazon CloudWatch API リファレンス」を参照してください。

Amazon EFS で Metric Math を使用するMetric Math の使用により、複数の CloudWatch メトリクスをクエリし、数式を使用して、これらのメトリクスに基づく新しい時系列を作成できます。作成された時系列を CloudWatch コンソールで視覚化でき、ダッシュボードに追加できます。たとえば、Amazon EFS メトリクスを使用して、60 で割ったDataRead オペレーションのサンプル数を取得できます。結果は、指定された 1 分間の 1 秒あたりのファイルシステムにおける読み込みの平均数です。Metric Math の詳細については、『Amazon CloudWatchユーザーガイド』の「Metric Math を使用する」を参照してください。

以下は、Amazon EFS で役立ついくつかのメトリクス数式です。

トピック• Metric Math: スループット (MiB/秒) (p. 84)• Metric Math: パーセントスループット (p. 85)• Metric Math: 許容スループット使用割合 (%) (p. 85)• Metric Math: スループット IOPS (p. 86)• Metric Math: IOPS の割合 (p. 86)• Metric Math: 平均 I/O サイズ (KiB 単位) (p. 87)• Amazon EFS の AWS CloudFormation テンプレートで Metric Math を使用する (p. 87)

Metric Math: スループット (MiB/秒)ある期間の平均スループット (MiB/秒) を算出するには、最初に合計の統計(DataReadIOBytes、DataWriteIOBytes、MetadataIOBytes、または TotalIOBytes) を選択します。次に、値を MiB に変換して、その期間の秒数で割ります。

たとえば、このようなロジックがあるとします: (TotalIOBytes の合計 ÷ 1048576 (MiB に変換するため)) ÷ その期間の秒数

この場合、CloudWatch メトリクス情報は次のようになります。

ID 使用可能なメトリクス 統計 間隔

m1 • DataReadIOBytes

• DataWriteIOBytes

• MetadataIOBytes

sum 1 分

84

Page 93: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAmazon EFS で Metric Math を使用する

ID 使用可能なメトリクス 統計 間隔• TotalIOBytes

ユーザーの Metric Math ID と式は以下のようになります。

ID 式

e1 (m1/1048576)/PERIOD(m1)

Metric Math: パーセントスループットある期間のさまざまな I/O タイプのパーセントスループット(DataReadIOBytes、DataWriteIOBytes、または MetadataIOBytes) を計算するには、まず、それぞれの合計の統計に 100 を掛けます。次に、その結果を同じ期間の TotalIOBytes の合計の統計で割ります。

たとえば、このようなロジックがあるとします: (DataReadIOBytes の合計 x 100 (パーセントに変換するため)) ÷ TotalIOBytes の合計

この場合、CloudWatch メトリクス情報は次のようになります。

ID 使用可能なメトリクス 統計 間隔

m1 • TotalIOBytes sum 1 分

m2 • DataReadIOBytes

• DataWriteIOBytes

• MetadataIOBytes

sum 1 分

ユーザーの Metric Math ID と式は以下のようになります。

ID 式

e1 (m2*100)/m1

Metric Math: 許容スループット使用割合 (%)ある期間の許容スループット使用割合 (%) (TotalIOBytes) を計算するには、スループット (MiB/秒) を100 で掛けます。次に、その結果を同じ期間の PermittedThroughput の合計の統計を MiB で換算したもので割ります。

たとえば、このようなロジックがあるとします: (Metric Math 式、MiB/秒 x 100 (百分率に換算するため)) ÷(PermittedThroughput の合計 ÷ 1,048,576 (バイトを MiB に換算するため))

この場合、CloudWatch メトリクス情報は次のようになります。

ID 使用可能なメトリクス 統計 間隔

e1 • Throughput inMiB/Second

   

85

Page 94: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAmazon EFS で Metric Math を使用する

ID 使用可能なメトリクス 統計 間隔

m1 • PermittedThroughputsum 1 分

ユーザーの Metric Math ID と式は以下のようになります。

ID 式

e2 (e1*100)/(m1/1048576)

Metric Math: スループット IOPSある期間の 1 秒あたりの平均オペレーション数 (IOPS) を算出するには、サンプル数の統計(DataReadIOBytes、DataWriteIOBytes、MetadataIOBytes または TotalIOBytes) をその期間の秒数で割ります。

たとえば、このようなロジックがあるとします: DataWriteIOBytes のサンプル数 ÷ その期間の秒数

この場合、CloudWatch メトリクス情報は次のようになります。

ID 使用可能なメトリクス 統計 間隔

m1 • DataReadIOBytes

• DataWriteIOBytes

• MetadataIOBytes

• TotalIOBytes

サンプル数 1 分

ユーザーの Metric Math ID と式は以下のようになります。

ID 式

e1 m1/PERIOD(m1)

Metric Math: IOPS の割合ある期間のさまざまな I/O タイプ (DataReadIOBytes、DataWriteIOBytes、またはMetadataIOBytes) の 1 秒あたりの IOPS の割合を計算するには、まず、それぞれのサンプル数の統計に 100 を掛けます。次に、その値を同じ期間の TotalIOBytes のサンプル数の統計で割ります。

たとえば、このようなロジックがあるとします: (MetadataIOBytes のサンプル数 x 100 (パーセントに変換するため)) ÷ TotalIOBytes のサンプル数

この場合、CloudWatch メトリクス情報は次のようになります。

ID 使用可能なメトリクス 統計 間隔

m1 • TotalIOBytes サンプル数 1 分

m2 • DataReadIOBytes

• DataWriteIOBytes

• MetadataIOBytes

サンプル数 1 分

86

Page 95: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAWS CloudTrail を使用した Amazon

EFS API 呼び出しのログ作成

ユーザーの Metric Math ID と式は以下のようになります。

ID 式

e1 (m2*100)/m1

Metric Math: 平均 I/O サイズ (KiB 単位)ある期間の平均 I/O サイズ (KiB 単位) を計算するには、DataReadIOBytes、DataWriteIOBytes、または MetadataIOBytes メトリクスのそれぞれの合計の統計を、そのメトリクスの同じサンプル数の統計で割ります。

たとえば、このようなロジックがあるとします: (DataReadIOBytes の合計 ÷ 1024 (KiB に変換するため)) ÷ DataReadIOBytes のサンプル数

この場合、CloudWatch メトリクス情報は次のようになります。

ID 使用可能なメトリクス 統計 間隔

m1 • DataReadIOBytes

• DataWriteIOBytes

• MetadataIOBytes

sum 1 分

m2 • DataReadIOBytes

• DataWriteIOBytes

• MetadataIOBytes

サンプル数 1 分

ユーザーの Metric Math ID と式は以下のようになります。

ID 式

e1 (m1/1024)/m2

Amazon EFS の AWS CloudFormation テンプレートで MetricMath を使用するAWS CloudFormation テンプレートを使用してメトリクス数式を作成することもできます。GitHub にある「Amazon EFS チュートリアル」から、そのようなテンプレートの 1 つが利用可能です。ダウンロードおよびカスタマイズして使用できます。AWS CloudFormation テンプレート使用の詳細については、『AWSCloudFormation ユーザーガイド』の「AWS CloudFormation テンプレートの使用」を参照してください。

AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成

Amazon EFS は AWS CloudTrail と統合されています。このサービスは、Amazon EFS 内でユーザーやロール、または AWS のサービスによって実行されたアクションを記録するサービスです。CloudTrailは、Amazon EFS コンソールからのコールや Amazon EFS API オペレーションへのコードコールからを含む、Amazon EFS の API コールをイベントとしてキャプチャします。

87

Page 96: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドCloudTrail 内の Amazon EFS 情報

証跡を作成する場合は、Amazon EFS のイベントなど、Amazon S3 バケットへの CloudTrail イベントの継続的な配信を有効にすることができます。証跡を設定しない場合でも、CloudTrail コンソールの [Eventhistory (イベント履歴)] で最新のイベントを表示できます。CloudTrail によって収集された情報を使用して、リクエストの作成元の IP アドレス、リクエストの実行者、リクエストの実行日時などの詳細を調べて、Amazon EFS に対してどのようなリクエストが行われたかを判断できます。

CloudTrail の詳細については、「AWS CloudTrail User Guide」を参照してください。

CloudTrail 内の Amazon EFS 情報CloudTrail は、アカウント作成時に AWS アカウントで有効になります。Amazon EFS でアクティビティが発生すると、そのアクティビティは [Event history (イベント履歴)] の AWS の他のサービスのイベントとともに CloudTrail イベントに記録されます。最近のイベントは、AWS アカウントで表示、検索、ダウンロードできます。詳細については、「CloudTrail イベント履歴でのイベントの表示」を参照してください。

Amazon EFS のイベントなど、AWS アカウントのイベントの継続的な記録については、証跡を作成します。証跡により、CloudTrail はログファイルを Amazon S3 バケットに配信できます。デフォルトでは、コンソールで作成した証跡がすべての AWS リージョンに適用されます。証跡では、AWS パーティションのすべての AWS リージョンからのイベントがログに記録され、指定した Amazon S3 バケットにログファイルが配信されます。さらに、より詳細な分析と CloudTrail ログで収集されたデータに基づいた行動のためにその他の AWS サービスを設定できます。詳細については、『AWS CloudTrail User Guide』の次のトピックを参照してください。

• 証跡を作成するための概要• CloudTrail でサポートされるサービスと統合• CloudTrail の Amazon SNS 通知の設定• 「複数のリージョンから CloudTrail ログファイルを受け取る」と「複数のアカウントから CloudTrail ロ

グファイルを受け取る」

すべての Amazon EFS API コール (p. 196) は、CloudTrail によってログに記録されます。たとえば、CreateFileSystem、CreateMountTarget、CreateTags の各オペレーションを呼び出すと、CloudTrail ログファイルにエントリが生成されます。

各イベントまたはログエントリには、リクエストの生成者に関する情報が含まれます。この ID 情報は以下のことを確認するのに役立ちます。

• リクエストが、root 認証情報と AWS Identity and Access Management (IAM) ユーザー認証情報のどちらを使用して送信されたか.

• リクエストが、ロールとフェデレーティッドユーザーのどちらの一時的なセキュリティ認証情報を使用して送信されたか.

• リクエストが、別の AWS サービスによって送信されたかどうか。

詳細については、『AWS CloudTrail User Guide』の「CloudTrail userIdentity 要素」を参照してください。

Amazon EFS ログファイルエントリの概要証跡は、指定した Amazon S3 バケットにイベントをログファイルとして配信できる設定です。CloudTrailログファイルには、1 つ以上のログエントリが含まれます。イベントは任意の送信元からの単一のリクエストを表し、リクエストされたアクション、アクションの日時、リクエストのパラメータなどに関する情報が含まれます。CloudTrail ログファイルは、パブリック API 呼び出しの順序付けられたスタックトレースではないため、特定の順序では表示されません。

88

Page 97: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAmazon EFS ログファイルエントリの概要

次の例は、ファイルシステムのタグがコンソールから作成されたときの CreateTags オペレーションを示す CloudTrail ログエントリを示しています。

{ "eventVersion": "1.06", "userIdentity": { "type": "Root", "principalId": "111122223333", "arn": "arn:aws:iam::111122223333:root", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "attributes": { "mfaAuthenticated": "false", "creationDate": "2017-03-01T18:02:37Z" } } }, "eventTime": "2017-03-01T19:25:47Z", "eventSource": "elasticfilesystem.amazonaws.com", "eventName": "CreateTags", "awsRegion": "us-west-2", "sourceIPAddress": "192.0.2.0", "userAgent": "console.amazonaws.com", "requestParameters": { "fileSystemId": "fs-00112233", "tags": [{ "key": "TagName", "value": "AnotherNewTag" } ] }, "responseElements": null, "requestID": "dEXAMPLE-feb4-11e6-85f0-736EXAMPLE75", "eventID": "eEXAMPLE-2d32-4619-bd00-657EXAMPLEe4", "eventType": "AwsApiCall", "apiVersion": "2015-02-01", "recipientAccountId": "111122223333"}

次の例は、ファイルシステムのタグがコンソールから削除されたときの DeleteTags アクションを示すCloudTrail ログエントリを示しています。

{ "eventVersion": "1.06", "userIdentity": { "type": "Root", "principalId": "111122223333", "arn": "arn:aws:iam::111122223333:root", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "attributes": { "mfaAuthenticated": "false", "creationDate": "2017-03-01T18:02:37Z" } } }, "eventTime": "2017-03-01T19:25:47Z", "eventSource": "elasticfilesystem.amazonaws.com", "eventName": "DeleteTags", "awsRegion": "us-west-2", "sourceIPAddress": "192.0.2.0",

89

Page 98: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAmazon EFS ログファイルエントリの概要

"userAgent": "console.amazonaws.com", "requestParameters": { "fileSystemId": "fs-00112233", "tagKeys": [] }, "responseElements": null, "requestID": "dEXAMPLE-feb4-11e6-85f0-736EXAMPLE75", "eventID": "eEXAMPLE-2d32-4619-bd00-657EXAMPLEe4", "eventType": "AwsApiCall", "apiVersion": "2015-02-01", "recipientAccountId": "111122223333"}

EFS サービスにリンクされたロールのログエントリAmazon EFS サービスにリンクされたロールは、AWS リソースへの API コールを行います。EFS サービスにリンクされたロールによって行われたコールには、username:AWSServiceRoleForAmazonElasticFileSystem を含む CloudTrail ログエントリが表示されます。EFS およびサービスにリンクされたロールの詳細については、「Amazon EFS サービスにリンクされたロールの使用 (p. 161)」を参照してください。

次の例は、Amazon EFS が AWSServiceRoleForAmazonElasticFileSystem サービスにリンクされたロールを作成したときの CreateServiceLinkedRole アクションを示す CloudTrail ログエントリです。

{    "eventVersion": "1.05",    "userIdentity": {        "type": "IAMUser",        "principalId": "111122223333",        "arn": "arn:aws:iam::111122223333:user/user1",        "accountId": "111122223333",        "accessKeyId": "A111122223333",        "userName": "user1",        "sessionContext": {            "attributes": {                "mfaAuthenticated": "false",                "creationDate": "2019-10-23T22:45:41Z"            }        },        "invokedBy": "elasticfilesystem.amazonaws.com”    },    "eventTime": "2019-10-23T22:45:41Z",    "eventSource": "iam.amazonaws.com",    "eventName": "CreateServiceLinkedRole",    "awsRegion": "us-east-1",    "sourceIPAddress": "192.0.2.0",    "userAgent": "user_agent",    "requestParameters": {        "aWSServiceName": "elasticfilesystem.amazonaws.com”    },    "responseElements": {        "role": {            "assumeRolePolicyDocument": "111122223333-10-111122223333Statement111122223333Action111122223333AssumeRole111122223333Effect%22%3A%20%22Allow%22%2C%20%22Principal%22%3A%20%7B%22Service%22%3A%20%5B%22 elasticfilesystem.amazonaws.com%22%5D%7D%7D%5D%7D",            "arn": "arn:aws:iam::111122223333:role/aws-service-role/elasticfilesystem.amazonaws.com/AWSServiceRoleForAmazonElasticFileSystem",            "roleId": "111122223333",            "createDate": "Oct 23, 2019 10:45:41 PM",            "roleName": "AWSServiceRoleForAmazonElasticFileSystem",            "path": "/aws-service-role/elasticfilesystem.amazonaws.com/“

90

Page 99: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAmazon EFS ログファイルエントリの概要

        }    },    "requestID": "11111111-2222-3333-4444-abcdef123456",    "eventID": "11111111-2222-3333-4444-abcdef123456",    "eventType": "AwsApiCall",    "recipientAccountId": "111122223333"}

次の例は、AWSServiceRoleForAmazonElasticFileSystem サービスにリンクされたロールによって行われた CreateNetworkInterface アクションとして sessionContext に記録された CloudTrail ログエントリです。

{    "eventVersion": "1.05",    "userIdentity": {        "type": "AssumedRole",        "principalId": "AIDACKCEVSQ6C2EXAMPLE",        "arn": "arn:aws:sts::0123456789ab:assumed-role/AWSServiceRoleForAmazonElasticFileSystem/0123456789ab",        "accountId": "0123456789ab",        "sessionContext": {            "sessionIssuer": {                "type": "Role",                "principalId": "AIDACKCEVSQ6C2EXAMPLE",                "arn": "arn:aws:iam::0123456789ab:role/aws-service-role/elasticfilesystem.amazonaws.com/AWSServiceRoleForAmazonElasticFileSystem",                "accountId": "0123456789ab",                "userName": "AWSServiceRoleForAmazonElasticFileSystem"            },            "webIdFederationData": {},            "attributes": {                "mfaAuthenticated": "false",                "creationDate": "2019-10-23T22:50:05Z"            }        },        "invokedBy": "AWS Internal"    },    "eventTime": "20You 19-10-23T22:50:05Z",    "eventSource": "ec2.amazonaws.com",    "eventName": "CreateNetworkInterface",    "awsRegion": "us-east-1",    "sourceIPAddress": "elasticfilesystem.amazonaws.com”,    "userAgent": "elasticfilesystem.amazonaws.com",    "requestParameters": {        "subnetId": "subnet-71e2f83a",        "description": "EFS mount target for fs-1234567 (fsmt-1234567)",        "groupSet": {},        "privateIpAddressesSet": {}    },    "responseElements": {        "requestId": "0708e4ad-03f6-4802-b4ce-4ba987d94b8d",        "networkInterface": {            "networkInterfaceId": "eni-0123456789abcdef0",            "subnetId": "subnet-12345678",            "vpcId": "vpc-01234567",            "availabilityZone": "us-east-1b",            "description": "EFS mount target for fs-1234567 (fsmt-1234567)",            "ownerId": "666051418590",            "requesterId": "0123456789ab",            "requesterManaged": true,            "status": "pending",            "macAddress": "00:bb:ee:ff:aa:cc",            "privateIpAddress": "192.0.2.0",            "privateDnsName": "ip-192-0-2-0.ec2.internal",

91

Page 100: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAmazon EFS ログファイルエントリの概要

            "sourceDestCheck": true,            "groupSet": {                "items": [                    {                        "groupId": "sg-c16d65b6",                        "groupName": "default"                    }                ]            },            "privateIpAddressesSet": {                "item": [                    {                        "privateIpAddress": "192.0.2.0",                        "primary": true                    }                ]            },            "tagSet": {}        }    },    "requestID": "11112222-3333-4444-5555-666666777777",    "eventID": "aaaabbbb-1111-2222-3333-444444555555",    "eventType": "AwsApiCall",    "recipientAccountId": "111122223333"}

EFS IAM 認証のログエントリNFS クライアントの Amazon EFS IAM 認証は、CloudTrail イベントとして NewClientConnection および UpdateClientConnection を発行します。NewClientConnection イベントは、最初の接続の直後、および再接続の直後に接続が認可されたときに発行されます。接続が再認可され、許可されたアクションのリストが変更されると、UpdateClientConnection が発行されます。また、許可されたアクションの新しいリストに ClientMount が含まれていないときにも発行されますEFS IAM 認証の詳細については、「IAM を使用した Amazon EFS への NFS アクセスのコントロール (p. 159)」を参照してください。

次の例は、NewClientConnection イベントを示す CloudTrail ログエントリです。

{ "eventVersion": "1.05", "userIdentity": { "type": "AssumedRole", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:sts::0123456789ab:assumed-role/abcdef0123456789", "accountId": "0123456789ab", "accessKeyId": "AKIAIOSFODNN7EXAMPLE ", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::0123456789ab:role/us-east-2", "accountId": "0123456789ab", "userName": "username" }, "webIdFederationData": {}, "attributes": { "mfaAuthenticated": "false", "creationDate": "2019-12-23T17:50:16Z" }, "ec2RoleDelivery": "1.0" } }, "eventTime": "2019-12-23T18:02:12Z",

92

Page 101: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド保管時に暗号化されたファイルシステムの Amazon EFS ログファイルエントリ

"eventSource": "elasticfilesystem.amazonaws.com", "eventName": "NewClientConnection", "awsRegion": "us-east-2", "sourceIPAddress": "AWS Internal", "userAgent": "elasticfilesystem", "requestParameters": null, "responseElements": null, "eventID": "27859ac9-053c-4112-aee3-f3429719d460", "readOnly": true, "resources": [ { "accountId": "0123456789ab", "type": "AWS::EFS::FileSystem", "ARN": "arn:aws:elasticfilesystem:us-east-2:0123456789ab:file-system/fs-01234567" }, { "accountId": "0123456789ab", "type": "AWS::EFS::AccessPoint", "ARN": "arn:aws:elasticfilesystem:us-east-2:0123456789ab:access-point/fsap-0123456789abcdef0" } ], "eventType": "AwsServiceEvent", "recipientAccountId": "0123456789ab", "serviceEventDetails": { "permissions": { "ClientRootAccess": true, "ClientMount": true, "ClientWrite": true }, "sourceIpAddress": "10.7.3.72" }}

保管時に暗号化されたファイルシステムの AmazonEFS ログファイルエントリAmazon EFS では、保管時の暗号化、転送中の暗号化のいずれかまたは両方をファイルシステムに使用できます。詳細については、EFS でのデータの暗号化 (p. 143)を参照してください。

保管時の暗号化を使用している場合、ユーザーに代わって Amazon EFS ファイルシステムによって行われた呼び出しは、AWS 所有のアカウントからのものとして、AWS CloudTrail ログに表示されます。CloudTrail ログに次のいずれかのアカウント ID が表示された場合は、ファイルシステムが作成されたAWS リージョンに応じて、この ID は Amazon EFS サービスで所有されているものの 1 つです。

AWS リージョン アカウント ID

米国東部 (オハイオ) 771736226457

米国東部(バージニア北部)

055650462987

米国西部 (北カリフォルニア)

208867197265

米国西部 (オレゴン) 736298361104

アフリカ (ケープタウン) 855919597013

93

Page 102: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド保管時に暗号化されたファイルシステムの Amazon EFS ログファイルエントリ

AWS リージョン アカウント ID

アジアパシフィック (香港) 832882505983

アジアパシフィック (ムンバイ)

063610658798

アジアパシフィック (ソウル)

518632624599

アジアパシフィック (シンガポール)

448676862907

アジアパシフィック (シドニー)

288718191711

アジアパシフィック (東京) 620757817088

カナダ (中部) 838331228873

中国 (北京) 365623262523

中国 (寧夏) 361049930386

欧州 (フランクフルト) 992038834663

欧州 (アイルランド) 805538244694

欧州 (ロンドン) 838331228873

欧州 (パリ) 063566772258

欧州 (ストックホルム) 030059730498

中東 (バーレーン) 545970776878

南米 (サンパウロ) 041656882570

AWS GovCloud (米国東部) 167972735943

AWS GovCloud (US-West) 174619389399

保管時の Amazon EFS 暗号化に使用する暗号化コンテキストAmazon EFS は、暗号化コンテキストを送信して、データキーを生成して Amazon EFS データを復号するAWS KMS API リクエストを行います。ファイルシステム ID は、保管時に暗号化されるすべてのファイルシステムの暗号化コンテキストです。CloudTrail ログエントリの requestParameters フィールドで、暗号化コンテキストは以下のようになります。

"EncryptionContextEquals": {}"aws:elasticfilesystem:filesystem:id" : "fs-4EXAMPLE"

94

Page 103: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドパフォーマンスの概要

Amazon EFS のパフォーマンス以下では、Amazon EFS のパフォーマンスの概要を示し、利用可能なパフォーマンスモードとスループットモードを説明して、役に立つパフォーマンスのヒントをいくつか紹介します。

パフォーマンスの概要Amazon EFS ファイルシステムは、無制限数のストレージサーバー間に分散されます。この分散型のデータストレージ設計により、ファイルシステムはペタバイト規模まで伸縮自在に拡張でき、Amazon EC2 インスタンスからデータへの大規模な並列アクセスが可能になります。Amazon EFS の分散設計により、従来のファイルサーバーに本質的に存在したボトルネックや制約を回避できます。

分散型のデータストレージ設計となっているため、マルチスレッドアプリケーションや、複数の AmazonEC2 インスタンスから同時にデータにアクセスするアプリケーションでは、全体のスループットと IOPSのレベルを大幅に向上できます。アプリケーションの例として、ビッグデータと分析ワークロード、メディア処理ワークフロー、コンテンツ管理およびウェブ配信などがあります。

さらに、Amazon EFS のデータは複数のアベイラビリティーゾーン (AZ) に分散されるため、高いレベルの耐久性と可用性が実現されています。下の表は、Amazon で提供されるファイルおよびブロッククラウドストレージについて、高いレベルのパフォーマンスとストレージの特徴を比較したものです。

パフォーマンスの比較、Amazon EFS と Amazon EBS

  Amazon EFS Amazon EBS プロビジョンド IOPS

オペレーションあたりのレイテンシー

低、一定のレイテンシー。 最低、一定のレイテンシー。

スループットスケール

1 秒あたり 10+ GB。 1 秒あたり最大 2 GB。

ストレージ特性の比較、Amazon EFS と Amazon EBS

  Amazon EFS Amazon EBS プロビジョンド IOPS

可用性と耐久性 データは、複数の AZ に冗長的に保存されます。

データは、単一の AZ に冗長的に保存されます。

アクセス 複数 AZ の最大数千の Amazon EC2 インスタンスから、ファイルシステムに同時に接続できます。

単一 AZ の単一 Amazon EC2 インスタンスから、ファイルシステムに接続できます。

ユースケース ビッグデータと分析、メディア処理ワークフロー、コンテンツ管理、ウェブ配信、ホームディレクトリ。

ブートボリューム、トランザクションおよび NoSQL データベース、データウェアハウスと ETL。

Amazon EFS は分散型であるため、可用性、耐久性、およびスケーラビリティが高いレベルで実現されています。分散型のアーキテクチャによって、それぞれのファイル操作のレイテンシーオーバーヘッドも小さくなります。オペレーションあたりのレイテンシーが低いため、通常は平均 I/O サイズの増加に応じて全体のスループットが向上します。大量のデータにオーバーヘッドが分散するためです。Amazon EFSは、高度に並列化されたワークロード (複数スレッドや複数の Amazon EC2 インスタンスからの並列的なオペレーションなど) がサポートされているため、全体的なスループットと 1 秒あたりのオペレーションについて高いレベルを実現できます。

95

Page 104: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAmazon EFS ユースケース

Amazon EFS ユースケースAmazon EFS は、以下のユースケースのパフォーマンス要件を満たすように設計されています。

ビッグデータと分析Amazon EFS は、コンピューティングノードに対する高いスループットと書き込み後の読み取りの整合性と、低レイテンシーのファイルオペレーションの両方を必要とするビッグデータアプリケーションに必要なスケーリングとパフォーマンスを提供します。

メディア処理ワークフロー動画編集、スタジオ制作、放送処理、サウンドデザインおよびレンダリングといったメディアワークフローは、多くの場合、大容量ファイルを操作するための共有ストレージに依存します。高いスループットと共有ファイルアクセスを備えた強いデータ整合性モデルであれば、これらの業務にかかる時間を短縮し、複数のローカルファイルリポジトリを全ユーザー共通の単一ロケーションにまとめることができます。

コンテンツ管理とウェブ配信Amazon EFS は、ウェブサイト、オンライン出版、およびアーカイブなどの幅広いアプリケーションのための情報を保存して処理する、高い耐久性とスループットを備えた、コンテンツ管理システム用ファイルシステムとして使用できます。

ホームディレクトリAmazon EFS は、共通のデータセットにアクセスし、それらを共有する必要のある多くのユーザーを擁する組織にストレージを提供できます。管理者は、Amazon EFS を使用して、組織全体のユーザーがアクセスできるファイルシステムを作成し、ユーザーおよびグループのファイルレベル、またはディレクトリレベルのアクセス許可を作成することができます。

パフォーマンスモードさまざまなクラウドストレージワークロードをサポートするため、Amazon EFS には 2 つのパフォーマンスモードがあります。ファイルシステムを作成するときに、ファイルシステムのパフォーマンスモードを選択します。

2 つのパフォーマンスモードには追加コストがかからないため、パフォーマンスモードに関係なく、Amazon EFS ファイルシステムの料金が請求され、計測されます。ファイルシステムの制限の詳細については、「Amazon EFS ファイルシステムのクォータ (p. 179)」を参照してください。

Note

Amazon EFS ファイルシステムのパフォーマンスモードは、ファイルシステムの作成後は変更できません。

汎用パフォーマンスモード大部分の Amazon EFS ファイルシステムには、汎用パフォーマンスモードをお勧めします。汎用は、ウェブ配信環境、コンテンツ管理システム、ホームディレクトリ、一般的なファイルサービスなど、レイテンシーに敏感なユースケースに最適です。ファイルシステムを作成するときにパフォーマンスモードを選択しない場合、Amazon EFS はデフォルトで汎用モードを選択します。

96

Page 105: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド最大 I/O パフォーマンスモード

最大 I/O パフォーマンスモード最大 I/O モードを使用するファイルシステムでは、集計スループットと 1 秒あたりのオペレーション数をより高いレベルにスケーリングできます。このスケーリングには、ファイルメタデータオペレーションのレイテンシーがわずかに高くなるというトレードオフがあります。ビッグデータ解析、メディア処理、ゲノム解析などの高度に並列化されたアプリケーションやワークロードは、このモードからメリットを得られます。

適切なパフォーマンスモードの使用使用するパフォーマンスモードを決定するための推奨事項は次のとおりです。

1. デフォルトの汎用パフォーマンスモードを使用して、新しいファイルシステムを作成します (p. 13)。2. アプリケーション (またはアプリケーションに近いユースケース) を一定期間実行して、パフォーマンス

をテストします。3. パフォーマンスのテスト中に、Amazon EFS の PercentIOLimit (p. 79) Amazon CloudWatch メトリク

スを監視します。このメトリクスおよび他のメトリクスへのアクセスの詳細については、「AmazonCloudWatch メトリクス (p. 78)」を参照してください。

テスト中にかなりの時間、返された PercentIOLimit の割合が 100 パーセントまたはそれに近い場合、アプリケーションは、最大 I/O パフォーマンスモードを使用する必要があります。それ以外の場合は、デフォルトの汎用モードを使用する必要があります。

別のパフォーマンスモードに移行するには、他のパフォーマンスモードで作成された別のファイルシステムにデータを移行します。DataSync を使用して、2 つの EFS ファイルシステム間でファイルを転送できます。詳細については、「Amazon EFS へのデータ転送 (p. 53)」を参照してください。

レイテンシーの影響を受けやすいワークロードには、最大 I/O パフォーマンスモードによる高い I/O レベルと、汎用パフォーマンスモードによる低レイテンシーが必要です。このタイプのワークロードでは、複数の汎用パフォーマンスモードファイルシステムを作成することをお勧めします。この場合、ワークロードとアプリケーションがサポートできる限り、これらのすべてのファイルシステム全体にアプリケーションのワークロードを分散することをお勧めします。

このアプローチにより、複数の EFS ファイルシステムにまたがる論理ファイルシステムおよびシャードデータを作成できます。各ファイルシステムはサブディレクトリとしてマウントされ、アプリケーションはこれらのサブディレクトリに並列でアクセスできます。このアプローチにより、レイテンシーの影響を受けやすいワークロードは、複数のファイルシステムにわたって集計された、1 秒あたりのレベルが高いファイルシステムオペレーションにスケールできます。同時に、これらのワークロードは、汎用パフォーマンスモードのファイルシステムによって提供される低レイテンシーを活用できます。

スループットモードファイルシステムに選択できるスループットモードは、バーストスループットとプロビジョニングされたスループットの 2 つがあります。バーストスループットモードで、Amazon EFS のスループットは、スタンダードストレージクラスのファイルシステムのサイズが大きくなるにつれて上昇します。EFS ストレージクラスの詳細については、「EFS ストレージクラス (p. 53)」を参照してください。プロビジョニングされたスループットモードでは、保存されたデータ量とは別に、ファイルシステムのスループット (MiB/秒)を簡単にプロビジョンできます。

Note

プロビジョニングされたスループットモードでは、ファイルシステムのスループットを削減できます。ただし、前回の削減から 24 時間を超えている必要があります。さらに、プロビジョニング

97

Page 106: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドバースト

されたスループットモードとデフォルトのバーストスループットモード間で変更できます。ただし、前回のスループットモードの変更から 24 時間を超えている必要があります。

バーストモードでのスループットのスケーリングバーストスループットモードで、Amazon EFS のスループットは、スタンダードストレージクラスに保存されているファイルシステムのサイズが大きくなるにつれて上昇します。ファイルベースのワークロードは通常高低差が激しく、短期間で高レベルのスループットが発生し、残りの時間は低レベルのスループットになります。これに対応するために、Amazon EFS は一定期間内のスループットレベルのバーストが許可されるように設計されています。

サイズに関係なく、すべてのファイルシステムのスループットを 100 MiB/秒までバーストできます。スタンダードストレージクラスで 1 TiB を超えるものは、ファイルシステムに保存されたデータの 1 TiB あたり 100 MiB/秒までバーストすることができます。たとえば、10 TiB のファイルシステムは、1,000 MiB/秒のスループットまでバーストすることができます (10 TiB x 100 MiB/s/TiB)。ファイルシステムがバーストできる期間は、サイズに応じて決まります。バーストモデルは、一般的なファイルシステムワークロードが必要な時にいつでも仮想的にバーストできるように設計されています。バーストスループットモードを使用するファイルシステムの場合、許容されるスループットは、スタンダードストレージクラスにのみ保存されているデータ量に基づいて決定されます。EFS ストレージクラスの詳細については、「EFS ストレージクラス (p. 53)」を参照してください。

Amazon EFS は、クレジットシステムを使用して、ファイルシステムがバーストできる時期を判断します。各ファイルシステムは、スタンダードストレージクラスに保存されているファイルシステムのサイズによって決定されるベースラインレートで時間の経過とともにクレジットを取得し、データを読み書きするたびにクレジットを使用します。ファイルシステムは、データを読み書きするたびにクレジットを使用します。ベースラインレートは、ストレージの 1 TiB あたり 50 MiB/秒です (同様に、ストレージの 1 GiBあたり 50 KiB/秒)。

蓄積されたバーストクレジットにより、ファイルシステムは、ベースラインレートを上回るスループットを駆動できます。ファイルシステムは、ベースラインレートでスループットを継続的に増やすことができます。それが非アクティブであるか、スループットがベースラインレートを下回ると、ファイルシステムはバーストクレジットを蓄積します。

たとえば、100 GiB のファイルシステムは、残りの 95 パーセントで非アクティブになっていると、5パーセントの時間 (100 MiB/秒で) バーストすることができます。24 時間にわたって、ファイルシステムは、432,000 MiB のクレジットを獲得します。これは、100 MiB/秒で、72 分間バーストするのに使用することができます。

1 TiB を超えるファイルシステムは、残りの 50 パーセントで非アクティブになっていると、常に最大 50パーセントの時間バーストすることができます。

次の表に、バーストの動作の例を示します。

ファイルシステムサイズ 読み取り/書き込みスループットの集計

100 GiB のファイルシステムは... • 毎日最大 72 分間、100 MiB/秒までバーストするか、または• 最大 5 MiB/秒まで連続駆動

1 TiB ファイルシステムは... • 毎日 12 時間、100 MiB/秒までバーストするか、または• 50 MiB/秒で連続駆動

10 TiB ファイルシステムは... • 毎日 12 時間、1 GiB/秒までバーストするか、または• 500 MiB/秒で連続駆動

一般的に、より大きなファイルシステムは ...

• 毎日 12 時間、ストレージの 1 TiB あたり 100 MiB/秒までバーストするか、または

• ストレージ 1 TiB あたり 50 MiB/秒で連続駆動

98

Page 107: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドバースト

Note

ベースラインレートの計算に使用される最小ファイルシステムサイズは、1 GiB です。したがって、すべてのファイルシステムのベースラインレートは少なくとも 50 KiB/秒です。ベースラインレートとバーストレートを決定する際に使用されるファイルシステムのサイズは、DescribeFileSystems オペレーションを通じて利用可能な計測されたサイズと同じですファイルシステムは、1 TiB より小さいファイルシステムの場合、2.1 TiB、または 1 TiB を超えるファイルシステムの場合は、1 TiB あたり 2.1 TiB の最大クレジットバランスを得ることができます。この方法は、ファイルシステムが連続して最大 12 時間バーストするのに十分なクレジットを蓄積できることを示しています。

次の表に、サイズの異なるファイルシステムのバースト動作のより詳細な例を示します。

ファイルシステムサイズ (GiB)

ベースライン集計スループット(MiB/秒)

バースト集計スループット (MiB/秒)

最大バースト期間(最小/1 日)

ファイルシステムがバースト可能な時間の % (1 日あたり)

10 0.5 100 7.2 0.5%

256 12.5 100 180 12.5%

512 25.0 100 360 25.0%

1024 50.0 100 720 50.0%

1536 75.0 150 720 50.0%

2048 100.0 200 720 50.0%

3072 150.0 300 720 50.0%

4096 200.0 400 720 50.0%

Note

前述したように、新しいファイルシステムの最初のバーストクレジットバランスは 2.1 TiBです。開始時のこのバランスを使用して、ストレージから発生したクレジットを使用せずに、6.12 時間 100 MB/秒のバーストが可能です。この開始時の計算式は 2.1 x 1024 x(1024/100/3600) として計算され、6.116 時間、切り上げて 6.12 時間となります。

バーストクレジットの管理ファイルシステムに、正のバーストクレジットバランスがあると、バーストすることができます。Amazon EFS の BurstCreditBalance Amazon CloudWatch メトリクスを表示することによって、ファイルシステムのバーストクレジットバランスを確認することができます。このメトリクスおよび他のメトリクスへのアクセスの詳細については、「Amazon EFS のモニタリング (p. 78)」を参照してください。

ファイルシステムのバースト能力 (時間の長さとバーストレートの両方) は、そのサイズに関連するものです。より大きいファイルシステムは、より長い期間、より大きなレートでバーストすることができます。場合によっては、アプリケーションがより大きくバーストする必要があり、その結果ファイルシステムがバーストクレジットを使い切ることがあります。このような場合、ファイルシステムのサイズを増やすか、プロビジョニングされたスループットモードに切り替える必要があります。

過去のスループットのパターンを使用して、必要なレベルのアクティビティの維持に必要なファイルシステムのサイズを計算します。この計算方法を次の手順で示します。

99

Page 108: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドプロビジョニングされたスループット

必要なレベルのアクティビティの維持に必要なファイルシステムサイズを計算するには

1. 過去の使用状況を見て、スループットの必要を特定します。Amazon CloudWatch コンソールから、過去 14 日間、毎日の集計を使用して TotalIOBytes メトリクスの sum 統計を確認します。 TotalIOBytes の最大値を持つ日を特定します。

2. この数を 24 時間、60 分、60 秒、1024 バイトで割り、その日にアプリケーションが必要とする平均KiB/秒を求めます。

3. 平均スループット数 (KiB/秒で) を EFS が提供するベースラインスループット数 (50 KiB/秒/GiB) で割り、この平均スループットを維持するために必要なファイルシステムサイズ (GiB) を計算します。

プロビジョニングモードでのスループットの指定プロビジョニングされたスループットモードは、ストレージへのスループット速度が高い (TiB あたりMiB/秒) アプリケーション、またはバーストスループットモードで許容されている以上の要件のアプリケーションで使用できます。たとえば、ファイルシステムのデータ量がスループットの要求に対して小さい開発ツール、ウェブ配信、コンテンツ管理アプリケーションに Amazon EFS を使用しているとします。ファイルシステムは、アプリケーションが必要とする高レベルのスループットを、ファイルシステムを底上げせずに取得できます。

プロビジョニングされたスループットの使用には追加料金が関連付けられます。プロビジョニングされたスループットモードを使用すると、使用したストレージと、提供されている量を超えてプロビジョニングしたスループットに対して課金されます。提供されるスループットの量は、標準ストレージクラスに保存されているデータの量に基づきます。EFS ストレージクラスの詳細については、「EFS ストレージクラス (p. 53)」を参照してください。料金の詳細については、Amazon EFS料金表を参照してください。

選択したスループットモードにかかわらず、スループットの制限は変わりません。これらの制限の詳細については、「引き上げることができる Amazon EFS のクォータ (p. 177)」を参照してください。

ファイルシステムがプロビジョニングされたスループットモードの場合は、ファイルシステムのプロビジョニングされたスループットを必要な時に増やすことができます。プロビジョニングされたスループットモードでは、ファイルシステムのスループットを削減できます。ただし、前回の削減から 24 時間を超えている必要があります。さらに、プロビジョニングされたスループットモードとデフォルトのバーストスループットモード間で変更できます。ただし、前回のスループットモードの変更から 24 時間を超えている必要があります。

ファイルシステムの計測サイズがプロビジョニングしたスループットの量よりも高いベースライン率である場合、ファイルシステムはデフォルトの Amazon EFS バーストスループットモードに従います。ファイルシステムがバーストスループットモードで使用できる量よりもプロビジョニングされたスループットが低い場合は、料金は発生しません。詳細については、「バーストモードでのスループットのスケーリング (p. 98)」を参照してください。

適切なスループットモードの使用デフォルトでは、バーストスループットモードでアプリケーションを実行することをお勧めします。パフォーマンスの問題が発生した場合は、BurstCreditBalance CloudWatch メトリクスを確認します。BurstCreditBalance メトリックスの値がゼロまたは安定して減少している場合、プロビジョニングされたスループットがお客様のアプリケーションに最適です。

場合によっては、ファイルシステムが、パフォーマンスの問題を発生させることなく、プロビジョニングされたスループットモードで実行される場合があります。ただし、それと同時に、BurstCreditBalance は通常のオペレーションの長期間にわたって継続的に増加します。このような場合は、プロビジョニングされたスループットの量を減らしてコストを削減することを検討してください。

大量のデータをファイルシステムに移行する予定がある場合は、プロビジョニングされたスループットモードに切り替えることを検討してください。この場合、割り当てられたバースト機能よりも高いスルー

100

Page 109: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドオンプレミスのパフォーマンスに関する考慮事項

プットをプロビジョニングして、データのロードを高速化できます。移行後に、プロビジョニングされたスループットの量を減らすか、通常のオペレーションではバーストスループットモードに切り替えることを検討してください。

ファイルシステムを駆動している平均スループットを PermittedThroughput メトリクスと比較します。ファイルシステムを駆動している計算された平均スループットが許容値を下回っている場合は、スループットを低コストに変更することを検討してください。

場合によっては、通常のオペレーションで計算された平均スループットが、バーストスループットモードのストレージ容量に対するベースラインスループットの比率以下になることがあります。この比率は、保存されるデータの TiB あたり 50 MiB/ 秒です。このような場合は、バーストスループットモードに切り替えることを検討してください。それ以外の場合は、通常のオペレーション中に計算された平均スループットがこの比率を上回っている可能性があります。このような場合は、プロビジョニングされたスループットを、現在のプロビジョニングされたスループットと、通常のオペレーション中に計算された平均スループットの間のポイントまで下げることを検討してください。

ファイルシステムのスループットモードは、AWS マネジメントコンソール、AWS CLI、または EFS APIを使用して変更できます。CLI では、update-file-system アクションを使用します。EFS API では、UpdateFileSystem (p. 271) オペレーションを使用します。

Note

前述したように、新しいファイルシステムの最初のバーストクレジットバランスは 2.1 TB です。開始時のこのバランスを使用して、ストレージから発生したクレジットを使用せずに、6.12 時間100 MB/秒のバーストが可能です。この開始時の計算式は 2.1 x 1024 x (1024/100/3600)として計算され、6.116 時間、切り上げて 6.12 時間となります。

オンプレミスのパフォーマンスに関する考慮事項Amazon EFS ファイルシステムのバーストスループットモデルは、オンプレミスサーバーまたは AmazonEC2 インスタンスからアクセスしても同じままです。ただし、オンプレミスサーバーから Amazon EFSファイルデータにアクセスする場合、最大スループットも AWS Direct Connect 接続の帯域幅によって制限されます。

長距離のデータ移動は伝達の遅延と関係してくるため、オンプレミスのデータセンターと Amazon VPC の間の AWS Direct Connect 接続のネットワークレイテンシーは数十ミリ秒になる可能性があります。ファイル操作をシリアル化すると、AWS Direct Connect 接続のレイテンシーが読み取り/書き込みスループットに直接影響します。基本的に、一定期間に読み取り/書き込みできるデータの量は、読み取り/書き込みの各オペレーションの完了にかかる時間に制限されます。スループットを最大化するには、ファイル操作を並列化して、複数の読み取り/書き込みが Amazon EFS によって同時に処理されるようにします。GNUparallel などの標準的なツールで、ファイルデータのコピーを並列化できます。

高可用性のアーキテクチャーオンプレミスのデータセンターと Amazon VPC の間の継続的な可用性を確保するために、2 つの AWSDirect Connect 接続を設定することをお勧めします。詳細については、『AWS Direct Connect ユーザーガイド』の ステップ 4: AWS Direct Connect との冗長接続を設定する を参照してください。

アプリケーションと Amazon EFS の継続的な可用性を確保するには、接続の中断の可能性から回復するようにアプリケーションを設計することをお勧めします。一般に、Amazon EFS ファイルシステムに接続されたオンプレミスアプリケーションのシナリオは、高可用性と可用性が高くないという 2 つです。

1 番目では、アプリケーションはいつで可用性が高く (HA)、HA クラスターで複数のオンプレミスサーバーを使用します。この場合、HA クラスターの各オンプレミスサーバーを、Amazon VPC 内の別のアベイラビリティーゾーン (AZ) のマウントターゲットに接続してください。マウントターゲットが存在する

101

Page 110: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAmazon EFS パフォーマンスのヒント

AZ が利用できなくなったためにオンプレミスサーバーがマウントターゲットにアクセスできない場合、アプリケーションは利用可能なマウントターゲット使用してサーバーにフェイルオーバーする必要があります。

2 番目では、アプリケーションの可用性は高くなく、マウントターゲットが存在する AZ が利用できなくなったためにオンプレミスサーバーがマウントターゲットにアクセスできなくなります。この場合、アプリケーションは再起動ロジックを実行し、別の AZ のマウントターゲットに接続する必要があります。

Amazon EFS パフォーマンスのヒントAmazon EFS を使用する場合は、次のパフォーマンスのヒントに留意してください。

• 平均 I/O サイズ – Amazon EFS は分散型であるため、可用性、耐久性、およびスケーラビリティが高いレベルで実現されています。分散型のアーキテクチャによって、それぞれのファイル操作のレイテンシーオーバーヘッドも小さくなります。このオペレーションあたりのレイテンシーのため、通常は平均I/O サイズの増加に応じて全体のスループットが向上します。大量のデータにオーバーヘッドが分散するためです。

• 同時接続 – Amazon EFS ファイルシステムは、同時に最大数千の Amazon EC2 インスタンスにマウントされます。より多くのインスタンス間でアプリケーションの並列化が可能である場合、全体のインスタンスにわたって、ファイルシステムのスループットレベルを高くすることができます。

• リクエストモデル – ファイルシステムへの非同期書き込みを有効にすることにより、保留中の書き込みオペレーションは、非同期で Amazon EFS に書き込まれる前に、Amazon EC2 インスタンスでバッファリングされます。非同期書き込みは、通常レイテンシーが低くなります。非同期書き込みを実行するとき、カーネルはキャッシュの追加のメモリを使用します。同期書き込みが有効になっているファイルシステム、またはキャッシュをバイパスするオプション (たとえば、O_DIRECT) を使用してファイルを開く場合、Amazon EFS に対して同期リクエストが発行されます。各オペレーションはクライアントとAmazon EFS の間のラウンドトリップを通過します。

Note

選択したリクエストモデルでは、整合性 (複数の Amazon EC2 インスタンスを使用している場合) と速度にトレードオフがあります。

• NFS クライアントのマウント設定 – EFS ファイルシステムをマウントする (p. 65) と マウントに関する追加の考慮事項 (p. 75) で説明されている推奨マウントオプションを使用していることを確認します。Amazon EFS は、ファイルシステムを Amazon EC2 インスタンスにマウントするときに、Network FileSystem バージョン 4.0 と 4.1 (NFSv4) プロトコルをサポートします。NFSv4.1 は、より高いパフォーマンスを提供します。

Note

ファイルシステムをマウントするときに、NFS クライアントの読み込みおよび書き込みバッファのサイズを 1 MB に増やすことができます

• Amazon EC2 インスタンス – 多数の読み取りおよび書き込みオペレーションを実行するアプリケーションは、そうでないアプリケーションよりも多くのメモリまたはコンピューティングキャパシティーを必要とします。Amazon EC2 インスタンスを起動するときは、アプリケーションに必要なこれらのリソースの量を持つインスタンスタイプを選択します。Amazon EFS ファイルシステムのパフォーマンス特性は、EBS 最適化インスタンスの使用に依存しません。

• 暗号化 – Amazon EFS は、2 つの暗号化形式、転送時の暗号化と保管時の暗号化をサポートします。このオプションは、保管時の暗号化用です。ファイルシステムの暗号化のいずれかまたは両方のタイプを有効にすることを選択すると、I/O レイテンシーとスループットへの影響は最小限になります。

汎用パフォーマンスモードでのファイルシステムの総スループット、インスタンスあたりのスループット、および 1 秒あたりのオペレーションに関する Amazon EFS の詳細については、Amazon EFS のクォータと制限 (p. 177) を参照してください。

102

Page 111: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド関連トピック

関連トピック• オンプレミスのパフォーマンスに関する考慮事項 (p. 101)• Amazon EFS パフォーマンスのヒント (p. 102)• 計測: Amazon EFS がファイルシステムとオブジェクトサイズをレポートする仕組み (p. 59)• Amazon EFS のトラブルシューティング (p. 182)

103

Page 112: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAWS Backup および EFS

Amazon EFS のデータ保護EFS ファイルシステムをバックアップしてデータを保護するために 2 つのオプションを使用できます。

• AWS Backup サービス• EFS-to-EFS バックアップソリューション

AWS Backup は、Amazon EFS ファイルシステムをバックアップするためのシンプルでコスト効率に優れた方法です。AWS バックアップは、バックアップの作成、移行、復元、削除を簡素化し、レポート作成と監査を向上させるように設計された、統合バックアップサービスです。詳細については、「Amazon EFSでの AWS Backup の使用 (p. 104)」を参照してください。

EFS-to-EFS バックアップソリューションはすべての AWS リージョンですべての Amazon EFS ファイルシステムに適しています。このソリューションをデプロイするために必要な AWS サービスを起動、設定、実行する AWS CloudFormation テンプレートが含まれています。このソリューションは、セキュリティと可用性に関する AWS のベストプラクティスに従います。詳細については、AWS Answers の「EFS-to-EFS バックアップソリューション」を参照してください。

Amazon EFS での AWS Backup の使用AWS Backup は、Amazon EFS ファイルシステムをバックアップしてデータを保護するための、シンプルでコスト効率に優れた方法です。AWS Backup は、バックアップの作成、移行、復元、削除を簡素化し、レポート作成と監査を向上させるように設計された、統合バックアップサービスです。AWS Backup を使用すると、法律、規制、業務に関するコンプライアンスのための、集中型バックアップ戦略を容易に開発できます。さらに AWS Backup は、次を実行するための一元的な場所を用意するだけで、AWS ストレージボリューム、データベースとファイルシステムを容易に保護することができます。

• バックアップする AWS リソースの設定と監査• 自動バックアップのスケジュール• 保持ポリシーの設定• 最近のすべてのバックアップと復元アクティビティの監視

Amazon EFS は AWS Backup と統合されます。AWS Backup を使用してバックアップ計画を設定し、バックアップの頻度、バックアップのタイミング、バックアップの保持期間、バックアップのライフサイクルポリシーを指定することができます。そして、そのバックアップ計画に Amazon EFS ファイルシステムまたは他の AWS リソースを割り当てることができます。

AWS Backup と EFS ファイルシステムの連携AWS Backup を使って、まずバックアップ計画を作成します。バックアップ計画では、バックアップのスケジュール、バックアップウィンドウ、保持ポリシー、ライフサイクルポリシー、タグを定義します。バックアップ計画は、AWS Backup 管理コンソール、AWS CLI、または AWS Backup API を使用して作成できます。バックアップ計画の一部として、以下を定義できます。

• スケジュール – バックアップを行うタイミング• バックアップウィンドウ – バックアップを開始する必要がある期間• ライフサイクル – 復旧ポイントをコールドストレージに移動するタイミングと削除するタイミング

104

Page 113: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAWS Backup と EFS ファイルシステムの連携

• バックアップボールト – バックアップルールによって作成された復旧ポイントを整理するために使用します。

バックアップ計画を作成したら、タグまたは Amazon EFS ファイルシステム ID を使って、特定のAmazon EFS ファイルシステムをバックアップ計画に割り当てます。計画が割り当てられると、AWSBackup は定義したバックアップ計画に従って、Amazon EFS ファイルシステムのバックアップを自動的に開始します。AWS Backup コンソールを使用して、バックアップ設定の管理や、バックアップアクティビティの監視を行えます。詳細については、「AWS Backup 開発者ガイド」を参照してください。

Note

ソケットと名前付きパイプはサポートされていないため、バックアップから除外されます。

増分バックアップAWS Backup は EFS ファイルシステムの増分バックアップを実行します。最初のバックアップ時には、ファイルシステム全体のコピーが作成されます。そのファイルシステムのその後のバックアップでは、変更、追加、削除されたファイルとディレクトリのみがコピーされます。このアプローチにより、完全なバックアップの作成に必要な時間が最小限に抑えられ、データを複製しないことで、ストレージコストが節約できます。

バックアップの整合性Amazon EFS は高い可用性を持つように設計されています。AWS Backup によるバックアップの実行中も、Amazon EFS ファイルシステムにアクセスしたり変更したりすることができます。ただし、バックアップの実行中にファイルシステムに変更が加えられると、データの重複、相違、欠落などの不整合が生じる場合があります。これらの変更には、書き込み、名前の変更、移動、削除の操作が含まれます。バックアップの整合性を確保するため、バックアッププロセスの間は、ファイルシステムを変更するアプリケーションやプロセスを一時停止することをお勧めします。または、ファイルシステムが変更中でない期間にバックアップを実行するようにスケジュールします。

パフォーマンス一般に、AWS バックアップでは、次のバックアップレートのパフォーマンスを期待できます。

• ほとんど大きなファイルで構成されているファイルシステムの場合、100 MB/秒• ほとんど小さなファイルで構成されているファイルシステムの場合、500 ファイル/秒• AWS Backup でのバックアップまたは復元オペレーションの最大期間は 7 日間です。

通常、復元オペレーションは対応するバックアップよりも時間がかかります。

AWS Backup の使用によって、蓄積されたバーストクレジットは消費されません。また汎用モードでのファイル操作の制限にはカウントされません。詳細については、「Amazon EFS ファイルシステムのクォータ (p. 179)」を参照してください。

完了ウィンドウオプションとして、バックアップの完了ウィンドウを指定できます。このウィンドウは、バックアップが完了する必要がある期間を定義します。完了ウィンドウを指定する場合には、予想されるパフォーマンスとファイルシステムのサイズと構成を考慮します。それにより、ウィンドウ内でバックアップを確実に完了できるようにします。

指定されたウィンドウの間に完了しないバックアップには、未完了ステータスのフラグが付けられます。スケジュールされた次のバックアップ時に、AWS Backup は中断した時点から再開します。すべてのバックアップのステータスは AWS Backup マネジメントコンソールに表示されます。

105

Page 114: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAWS Backup と EFS ファイルシステムの連携

EFS ストレージクラスAWS Backup を使用すると、データがどのストレージクラスにあるかに関係なく、EFS ファイルシステム内のすべてのデータをバックアップできます。ライフサイクル管理が有効になっていて、低頻度アクセス(IA) ストレージクラスにデータがある EFS ファイルシステムをバックアップするときは、データアクセス料金は発生しません。

復旧ポイントを復元すると、すべてのファイルが Standard ストレージクラスに復元されます。ストレージクラスの詳細については、「EFS ストレージクラス (p. 53)」および「EFS ライフサイクルの管理 (p. 54)」を参照してください。

オンデマンドバックアップAWS Backup マネジメントコンソールまたは CLI を使用して、オンデマンドで単一のリソースをバックアップボールトに保存できます。スケジュールされたバックアップとは異なり、オンデマンドバックアップを開始するためには、バックアップ計画を作成する必要はありません。この場合もバックアップにライフサイクルを割り当てることができます。これにより、復旧ポイントは自動的にコールドストレージ層に移動され、削除のタイミングが記録されます。

同時バックアップAWS Backup では、リソースごとに 1 つの同時バックアップに制限しています。このため、バックアップジョブが既に進行中の場合には、スケジュールバックアップまたはオンデマンドバックアップが失敗することがあります。AWS Backup の制限の詳細については、AWS Backup 開発者ガイドの「AWS バックアップの制限」を参照してください。

復旧ポイントの復元AWS Backup マネジメントコンソールまたは CLI を使用して、新しい EFS ファイルシステムまたはソースファイルシステムに復旧ポイントを復元することができます。完全復元を実行すると、ファイルシステム全体を復元できます。または、部分復元を実行して、特定のファイルやディレクトリを復元することもできます。特定のファイルやディレクトリを復元するには、マウントポイントからの相対パスを指定する必要があります。たとえば、ファイルシステムが /user/home/myname/efs にマウントされていて、ファイルパスが user/home/myname/efs/file1 である場合は、「/file1」と入力します。パスの大文字と小文字は区別されます。特殊文字、ワイルドカード、正規表現文字列を含めることはできません。

完全復元または部分復元を実行すると、復旧ポイントが復元ディレクトリに復元されます。復元ディレクトリは aws-backup-restore_timestamp-of-restore になります。このディレクトリは、復元の完了時にファイルシステムのルートに表示されます。同じパスで複数の復元を試みると、復元先のディレクトリが複数になる場合があります。復元に失敗すると、aws-backup-failed-restore_timestamp-of-restore ディレクトリが表示されます。復元ディレクトリと failed_restore ディレクトリが不要になった場合は、手動で削除する必要があります。

Note

既存の EFS ファイルシステムの部分復元を行うと、AWS Backup によってファイルおよびディレクトリがファイルシステムのルートディレクトリの新しいディレクトリに復元されます。復元ディレクトリには、指定した項目の完全な階層構造が保持されます。たとえば、ディレクトリ Aにサブディレクトリとして B、C、D が含まれている場合、AWS Backup は A、B、C、D の階層構造を保持して復元します。

復旧ポイントを復元したら、適切なディレクトリに復元できないデータフラグメントは、aws-backup-lost+found ディレクトリに配置されます。バックアップの実行中にファイルシステムに変更が加えられると、フラグメントがこのディレクトリに移動される場合があります。

106

Page 115: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドチュートリアル: AWS CLI を使用して、ファイルシステムを作成しマウントする

Amazon Elastic File System ウォークスルー

このセクションでは、Amazon EFS を調べ、エンドツーエンドのセットアップをテストするためのウォークスルーを提供しています。

トピック• チュートリアル: Amazon EFS ファイルシステムを作成し、AWS CLI を使用して Amazon EC2 インス

タンスにマウントする (p. 107)• チュートリアル: Apache ウェブサーバーを設定して Amazon EFS ファイルを提供する (p. 119)• チュートリアル: 書き込み可能なユーザーごとのサブディレクトリを作成し、再起動時の自動再マウン

トを設定する (p. 125)• ウォークスルー: AWS Direct Connect と VPN を使用してオンプレミスでファイルシステムを作成して

マウントする (p. 126)• ウォークスルー: 別の VPC からファイルシステムをマウントする (p. 133)• ウォークスルー: Amazon EFS ファイルシステムでの保管時の暗号化の強制 (p. 137)• チュートリアル: NFS クライアントの IAM 認証を使用してルートスカッシュを有効にする (p. 139)

チュートリアル: Amazon EFS ファイルシステムを作成し、AWS CLI を使用して Amazon EC2 インスタンスにマウントする

このチュートリアルでは、AWS CLI を使用して Amazon EFS API について調べます。このチュートリアルでは、Amazon EFS ファイルシステムを作成して、VPC の Amazon EC2 インスタンスにマウントし、セットアップをテストします。

Note

このチュートリアルは「はじめに」の実習に似ています。ご利用開始にあたって (p. 12) 実習では、コンソールを使用して EC2 と Amazon EFS リソースを作成します。このチュートリアルでは、AWS CLI を使用して — 主に Amazon EFS API に慣れるために同じことを行います。

このチュートリアルでは、アカウントに以下の AWS リソースを作成します。

• Amazon EC2 のリソース:• 2 つのセキュリティグループ (EC2 インスタンスおよび Amazon EFS ファイルシステム用)。

セキュリティグループにルールを追加して、適切なインバウンド/アウトバウンドアクセスを許可します。これにより、EC2 インスタンスは、標準の NFSv 4.1 TCP ポートを使用して、マウントターゲットを通じてファイルシステムに接続します。

• VPC の Amazon EC2 インスタンス。• Amazon EFS リソース。

• ファイルシステム。

107

Page 116: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド開始する前に

• ファイルシステムのマウントターゲット。

ファイルシステムを EC2 インスタンスにマウントするには、VPC にマウントターゲットを作成する必要があります。VPC 内の各アベイラビリティーゾーンに 1 つのマウントターゲットを作成できます。詳細については、「Amazon EFS: 仕組み (p. 3)」を参照してください。

次に、EC2 インスタンス上のファイルシステムをテストします。チュートリアルの最後のクリーンアップの手順には、これらのリソースを削除するための情報が記載されています。

このチュートリアルにより、米国西部 (オレゴン) リージョン (us-west-2) にこれらのリソースがすべて作成されます。どの AWS リージョンを使用しても、それを一貫して使用してください。VPC、EC2 リソース、Amazon EFS リソースなどのすべてのリソースは — 同じ AWS リージョン内に存在する必要があります。

開始する前に• AWS アカウントのルート認証情報を使用してコンソールにサインインし、「はじめに」の練習を試すこ

とができます。ただし、AWS Identity and Access Management (IAM) では、リクエストを実行するために、AWS アカウントのルート認証情報を使用しないことをお勧めします。代わりに、アカウントに管理者ユーザーを作成し、それらの認証情報を使用してアカウントのリソースを管理します。詳細については、「セットアップ (p. 9)」を参照してください。

• アカウントで作成したデフォルトの VPC またはカスタム VPC を使用できます。このウォークスルーでは、デフォルトの VPC 設定が機能します。ただし、カスタム VPC を使用する場合は、次の点を確認してください。• DNS ホスト名は有効です。詳細については、『Amazon VPC ユーザーガイド』の「VPC の DNS サ

ポートを更新する」を参照してください。• インターネットゲートウェイが VPC にアタッチされています。詳細については、『Amazon VPC

ユーザーガイド』の「インターネットゲートウェイ」を参照してください。• VPC サブネットは、VPC サブネットで起動されたインスタンスのパブリック IP アドレスを要求する

ように設定されています。詳細については、『Amazon VPC ユーザーガイド』の「VPC の IP アドレス指定」を参照してください。

• VPC ルートテーブルには、インターネット経由のすべてのトラフィックをインターネットゲートウェイに送信するルールが含まれています。

• AWS CLI をセットアップして、adminuser プロファイルを追加する必要があります。

AWS CLI のセットアップ次の手順に従って、AWS CLI とユーザープロファイルを設定します。

AWS CLI をセットアップするには

1. AWS CLI をダウンロードして設定します。手順については、『AWS Command Line Interface ユーザーガイド』の次のトピックを参照してください。

Getting Set Up with the AWS Command Line Interface

AWS コマンドラインインターフェイスのインストール

Configuring the AWS Command Line Interface2. プロファイルを設定します。

ユーザーの認証情報を AWS CLI config ファイルに格納します。このチュートリアルの CLI コマンドの例では、adminuser プロファイルを指定します。configuser ファイルを config ファイルに作成

108

Page 117: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドステップ 1: Amazon EC2 リソースを作成する

します。以下のように、管理者ユーザープロファイルを config ファイルのデフォルトとして設定することもできます。

[profile adminuser]aws_access_key_id = admin user access key IDaws_secret_access_key = admin user secret access keyregion = us-west-2

[default]aws_access_key_id = admin user access key IDaws_secret_access_key = admin user secret access keyregion = us-west-2

前述のプロファイルは、デフォルトの AWS リージョンも設定します。CLI コマンドでリージョンを指定しない場合、us-west-2 リージョンが使用されます。

3. コマンドプロンプトで以下のコマンドを入力して、セットアップを確認します。これらのコマンドの両方は、いずれも認証情報を明示的に提供しないため、デフォルトプロファイルの認証情報が使用されます。

• help コマンドを試してみます。

--profile パラメータを追加することで、明示的にユーザープロファイルを指定することもできます。

aws help

aws help \--profile adminuser

次のステップ

ステップ 1: Amazon EC2 リソースを作成する (p. 109)

ステップ 1: Amazon EC2 リソースを作成するこのステップでは、次の作業を行います。

• 2 つのセキュリティグループを作成します。• セキュリティグループにルールを追加して、追加のアクセスを許可します。• EC2 インスタンスを起動します。このインスタンス上に Amazon EFS ファイルシステムを作成し、次

の手順でマウントします。

トピック• ステップ 1.1: 2 つのセキュリティグループを作成する (p. 109)• ステップ 1.2: セキュリティグループにルールを追加してインバウンド/アウトバウンドアクセスを承認

する (p. 111)• ステップ 1: EC2 インスタンスを起動する (p. 111)

ステップ 1.1: 2 つのセキュリティグループを作成するこのセクションでは、EC2 インスタンスと Amazon EFS マウントターゲットの VPC にセキュリティグループを作成します。チュートリアルの後半で、これらのセキュリティグループを EC2 インスタンスと

109

Page 118: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドステップ 1: Amazon EC2 リソースを作成する

Amazon EFS マウントターゲットに割り当てます。セキュリティグループの詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドの「EC2-VPC のセキュリティグループ」を参照してください。

セキュリティグループを作成するには

1. create-security-group CLI コマンドを使用して、2 つのセキュリティグループを作成します。

a. EC2 インスタンス用のセキュリティグループ (efs-walkthrough1-ec2-sg) を作成し、VPC IDを指定します。

$ aws ec2 create-security-group \--region us-west-2 \--group-name efs-walkthrough1-ec2-sg \--description "Amazon EFS walkthrough 1, SG for EC2 instance" \--vpc-id vpc-id-in-us-west-2 \--profile adminuser

セキュリティグループ ID を書き留めます。以下に、応答の例を示します。

{ "GroupId": "sg-aexample"}

次のコマンドを使用して、VPC ID を見つけることができます。

$ aws ec2 describe-vpcs

b. Amazon EFS マウントターゲット用のセキュリティグループ (efs-walkthrough1-mt-sg) を作成します。VPC ID を指定する必要があります。

$ aws ec2 create-security-group \--region us-west-2 \--group-name efs-walkthrough1-mt-sg \--description "Amazon EFS walkthrough 1, SG for mount target" \--vpc-id vpc-id-in-us-west-2 \--profile adminuser

セキュリティグループ ID を書き留めます。以下に、応答の例を示します。

{ "GroupId": "sg-aexample"}

2. セキュリティグループを確認します。

aws ec2 describe-security-groups \--group-ids list of security group IDs separated by space \--profile adminuser \--region us-west-2

両方には、すべてのトラフィックを残すことができるアウトバウンドルールが 1 つだけ必要です。

次のセクションでは、以下を可能にする追加アクセスを承認します。

• EC2 インスタンスに接続できるようにします。• EC2 インスタンスと (このチュートリアルの後半でこれらのセキュリティグループを関連付ける)

Amazon EFS マウントターゲットとの間のトラフィックを有効にします。110

Page 119: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドステップ 1: Amazon EC2 リソースを作成する

ステップ 1.2: セキュリティグループにルールを追加してインバウンド/アウトバウンドアクセスを承認するこのステップでは、セキュリティグループにルールを追加して、インバウンド/アウトバウンドアクセスを許可します。

ルールを追加するには

1. 任意のホストからの Secure Shell (SSH) を使用して EC2 インスタンスに接続できるように、EC2 インスタンス (efs-walkthrough1-ec2-sg) のセキュリティグループへの受信 SSH 接続を認証します。

$ aws ec2 authorize-security-group-ingress \--group-id id of the security group created for EC2 instance \--protocol tcp \--port 22 \--cidr 0.0.0.0/0 \--profile adminuser \--region us-west-2

セキュリティグループに追加したインバウンドおよびアウトバウンドのルールがあることを確認します。

aws ec2 describe-security-groups \--region us-west-2 \--profile adminuser \--group-id security-group-id

2. Amazon EFS マウントターゲット (efs-walkthrough1-mt-sg) のセキュリティグループへのインバウンドアクセスを許可します。

コマンドプロンプトで、次の AWS CLI の authorize-security-group-ingress コマンドをadminuser プロファイルを使用して実行し、インバウンドルールを追加します。

$ aws ec2 authorize-security-group-ingress \--group-id ID of the security group created for Amazon EFS mount target \--protocol tcp \--port 2049 \--source-group ID of the security group created for EC2 instance \--profile adminuser \--region us-west-2

3. 両方のセキュリティグループがインバウンドアクセスを許可することを確認します。

aws ec2 describe-security-groups \--group-names efs-walkthrough1-ec2-sg efs-walkthrough1-mt-sg \--profile adminuser \--region us-west-2

ステップ 1: EC2 インスタンスを起動するこのステップでは、EC2 インスタンスを起動します。

EC2 インスタンスを起動するには

1. EC2 インスタンスを起動するときに必要な次の情報を収集します。

111

Page 120: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドステップ 1: Amazon EC2 リソースを作成する

• キーペア名:• 基本的な情報については、Linux インスタンス用 Amazon EC2 ユーザーガイドの「Amazon EC2

でのセットアップ」を参照してください。• .pem ファイルの作成手順については、『Linux インスタンス用 Amazon EC2 ユーザーガイド』の

「キーペアの作成」を参照してください。• インスタンスの起動に使用する Amazon マシンイメージ (AMI) の ID。

EC2 インスタンスを起動するために使用する AWS CLI コマンドには、デプロイする AMI の ID がパラメータとして必要です。この演習では、Amazon Linux HVM AMI を使用しています。

Note

ほとんどの汎用の Linux ベースの AMI を使用することができます。別の Linux AMI を使用する場合は、必ずご使用のディストリビューションのパッケージマネージャーを使用して、インスタンスに NFS クライアントをインストールします。また、必要に応じてソフトウェアパッケージを追加する必要がある場合もあります。

Amazon Linux HVM AMI では、Amazon Linux AMI で最新の ID を見つけることができます。Amazon Linux AMI ID テーブルから次のように ID 値を選択します。• [US West Oregon (米国西部オレゴン)] リージョンを選択します。このチュートリアルでは、米国

西部 (オレゴン) リージョン (us-west-2) 内にすべてのリソースを作成していることを前提としています。

• [EBS-backed HVM 64-bit] タイプを選択します (CLI コマンドでインスタンスストアをサポートしない t2.micro インスタンスタイプを指定するため)。

• EC2 インスタンス用に作成したセキュリティグループの ID。• AWS リージョン.このチュートリアルでは、us-west-2 リージョンを使用しています。• インスタンスを起動する VPC サブネット ID。サブネットのリストを取得するには、describe-subnets コマンドを使用します。

$ aws ec2 describe-subnets \--region us-west-2 \--filters "Name=vpc-id,Values=vpc-id" \--profile adminuser

サブネット ID を選択した後、describe-subnets の結果から次の値を書き留めます。• サブネット ID – マウントターゲットを作成するときにこの値が必要です。この練習では、EC2 イ

ンスタンスを起動するのと同じサブネットにマウントターゲットを作成します。• サブネットのアベイラビリティーゾーン – この値は、マウントターゲットの DNS 名を構成する

ために必要です。この名前は、EC2 インスタンスにファイルシステムをマウントするために使用します。

2. 次の AWS CLI run-instances コマンドを実行して、EC2 インスタンスを起動します。

$ aws ec2 run-instances \--image-id AMI ID \--count 1 \--instance-type t2.micro \--associate-public-ip-address \--key-name key-pair-name \--security-group-ids ID of the security group created for EC2 instance \--subnet-id VPC subnet ID \--region us-west-2 \--profile adminuser

3. run-instances コマンドによって返されるインスタンス ID を書き留めます。

112

Page 121: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドステップ 2: Amazon EFS リソースを作成する

4. 作成した EC2 インスタンスには、EC2 インスタンスに接続してファイルシステムをマウントするために使用するパブリック DNS 名が必要です。パブリック DNS 名の形式は次のとおりです。

ec2-xx-xx-xx-xxx.compute-1.amazonaws.com

次の CLI コマンドを実行して、パブリック DNS 名を書き留めます。

aws ec2 describe-instances \--instance-ids EC2 instance ID \--region us-west-2 \ --profile adminuser

パブリック DNS 名が見つからない場合は、EC2 インスタンスを起動した VPC の設定を確認してください。詳細については、「開始する前に (p. 108)」を参照してください。

5. (オプション) 作成した EC2 インスタンスに名前を割り当てます。これを行うには、インスタンスに割り当てる名前にキー名と値を設定したタグを追加します。この操作はは、次の AWS CLI create-tags コマンドを実行して行うことができます。

$  aws ec2 create-tags \--resources EC2-instance-ID \--tags Key=Name,Value=Provide-instance-name  \--region us-west-2 \--profile adminuser

次のステップ

ステップ 2: Amazon EFS リソースを作成する (p. 113)

ステップ 2: Amazon EFS リソースを作成するこのステップでは、次の作業を行います。

• Amazon EFS ファイルシステムを作成します。• ライフサイクル管理を有効にします。• EC2 インスタンスを起動したアベイラビリティーゾーンにマウントターゲットを作成します。

トピック• ステップ 2.1: Amazon EFS ファイルシステムの作成 (p. 113)• ステップ 2.2: ライフサイクル管理の有効化 (p. 114)• ステップ 2.3: マウントターゲットを作成する (p. 115)

ステップ 2.1: Amazon EFS ファイルシステムの作成このステップでは、Amazon EFS ファイルシステムを作成します。次のステップで、ファイルシステムのマウントターゲットを作成するときに使用する FileSystemId を書き留めます。

ファイルシステムを作成するには

• オプションの Name タグを使用してファイルシステムを作成します。

a. コマンドプロンプトで、次の AWS CLI create-file-system コマンドを実行します。

$ aws efs create-file-system \

113

Page 122: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドステップ 2: Amazon EFS リソースを作成する

--creation-token FileSystemForWalkthrough1 \--tags Key=Name,Value=SomeExampleNameValue \--region us-west-2 \--profile adminuser

次のレスポンスが返されます。

{ "OwnerId": "123456789abcd", "CreationToken": "FileSystemForWalkthrough1", "FileSystemId": "fs-c657c8bf", "CreationTime": 1548950706.0, "LifeCycleState": "creating", "NumberOfMountTargets": 0, "SizeInBytes": { "Value": 0, "ValueInIA": 0, "ValueInStandard": 0 }, "PerformanceMode": "generalPurpose", "Encrypted": false, "ThroughputMode": "bursting", "Tags": [ { "Key": "Name", "Value": "SomeExampleNameValue" } ]}

b. [FileSystemId] の値を書き留めます。「ステップ 2.3: マウントターゲットを作成する (p. 115)」でこのファイルシステムのマウントターゲットを作成するときに、この値が必要になります。

ステップ 2.2: ライフサイクル管理の有効化このステップでは、低頻度アクセスストレージクラスを使用するために、ファイルシステムでライフサイクル管理を有効にします。詳細については、「EFS ライフサイクルの管理 (p. 54)」と「EFS ストレージクラス (p. 53)」を参照してください。

ライフサイクル管理を有効にするには

• コマンドプロンプトで、次の AWS CLI put-lifecycle-configuration コマンドを入力します。

$ aws efs put-lifecycle-configuration \--file-system-id fs-c657c8bf \--lifecycle-policies TransitionToIA=AFTER_30_DAYS \--region us-west-2 \--profile adminuser

次のレスポンスが返されます。

{ "LifecyclePolicies": [ { "TransitionToIA": "AFTER_30_DAYS" } ]}

114

Page 123: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドステップ 3: ファイルシステムをマウントしてテストする

ステップ 2.3: マウントターゲットを作成するこのステップでは、EC2 インスタンスを起動したアベイラビリティーゾーンにファイルシステムのマウントターゲットを作成します。

1. 以下の情報があることを確認してください。

• マウント対象を作成するファイルシステムの ID (例: fs-example)。• ステップ 1 で EC2 インスタンスを起動した VPC サブネット ID。

このチュートリアルでは、EC2 インスタンスを起動した同じサブネットにマウントターゲットを作成するので、サブネット ID (例: subnet-example) が必要です。

• 前のステップでマウントターゲット用に作成したセキュリティグループの ID。2. コマンドプロンプトで、次の AWS CLI create-mount-target コマンドを入力します。

$ aws efs create-mount-target \--file-system-id file-system-id \--subnet-id subnet-id \--security-group ID-of-the security-group-created-for-mount-target \--region us-west-2 \--profile adminuser

次のレスポンスが返されます。

{ "MountTargetId": "fsmt-example", "NetworkInterfaceId": "eni-example", "FileSystemId": "fs-example", "PerformanceMode" : "generalPurpose", "LifeCycleState": "available", "SubnetId": "fs-subnet-example", "OwnerId": "account-id", "IpAddress": "xxx.xx.xx.xxx"}

3. また、describe-mount-targets コマンドを使用して、ファイルシステムで作成したマウントターゲットの説明を取得することもできます。

$ aws efs describe-mount-targets \--file-system-id file-system-id \--region us-west-2 \--profile adminuser

次のステップ

ステップ 3: Amazon EFS ファイルシステムを EC2 インスタンスにマウントしてテストする (p. 115)

ステップ 3: Amazon EFS ファイルシステムを EC2 インスタンスにマウントしてテストするこのステップでは、次の作業を行います。

トピック

115

Page 124: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドステップ 3: ファイルシステムをマウントしてテストする

• ステップ 3.1: 情報を収集する (p. 116)• ステップ 3.2: EC2 インスタンスに NFS クライアントをインストールする (p. 116)• ステップ 3.3: EC2 インスタンスへのファイルシステムのマウントとテスト (p. 117)

ステップ 3.1: 情報を収集するこのセクションの手順に従って、次の情報を確認してください。

• EC2 インスタンスのパブリック DNS 名の形式は以下のとおりです。

ec2-xx-xxx-xxx-xx.aws-region.compute.amazonaws.com

• ファイルシステムの DNS 名。この DNS 名は、次の一般的な形式を使用して作成できます。

file-system-id.efs.aws-region.amazonaws.com

マウントターゲットを使用してファイルシステムをマウントする EC2 インスタンスは、ファイルシステムの DNS 名をマウントターゲットの IP アドレスに解決できます。

Note

Amazon EFS では、Amazon EC2 インスタンスがパブリック IP アドレスまたはパブリック DNS名のいずれかを持つことは必要ではありません。前述の要件は、SSH を使用して VPC 外のインスタンスに接続するための、このチュートリアルでの一例です。

ステップ 3.2: EC2 インスタンスに NFS クライアントをインストールするWindows または Linux、macOS X、またはその他の Unix バリアントを実行しているコンピュータから、EC2 インスタンスに接続できます。

NFS クライアントをインストールするには

1. EC2 インスタンスに接続します。

• macOS または Linux を実行しているコンピュータからインスタンスに接続するには、-i オプションとプライベートキーへのパスと共に、SSH コマンドに対する .pem ファイルを指定します。

• Windows を実行しているコンピュータから Linux インスタンスに接続する場合は、MindTerm または PuTTY のどちらかを使用できます。PuTTY を使用する予定がある場合は、それをインストールしてから、次のプロシージャを使用して .pem ファイルを .ppk ファイルに変換します。

詳細については、「Linux インスタンス用 Amazon EC2 ユーザーガイド」の次のトピックを参照してください。

• PuTTY を使用した Windows から Linux インスタンスへの接続• SSH を使用した Linux インスタンスへの接続

2. SSH セッションを使用して、EC2 インスタンスで次のコマンドを実行します。

a. (オプション) アップデートを入手して再起動します。

$ sudo yum -y update $ sudo reboot

116

Page 125: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドステップ 3: ファイルシステムをマウントしてテストする

再起動後、EC2 インスタンスに再接続します。b. NFS クライアントをインストールします。

$ sudo yum -y install nfs-utils

Note

Amazon EC2 インスタンスの起動時に [Amazon Linux AMI 2016.03.0] Amazon LinuxAMI を選択する場合、nfs-utils はデフォルトですでに AMI に組み込まれているため、インストールする必要はありません。

ステップ 3.3: EC2 インスタンスへのファイルシステムのマウントとテストこれで、EC2 インスタンスにファイルシステムをマウントします。

1. ディレクトリを作成します (「efs-mount-point」)。

$ mkdir ~/efs-mount-point

2. Amazon EFS ファイルシステムをマウントします。

$ sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport mount-target-DNS:/ ~/efs-mount-point

EC2 インスタンスは、マウントターゲットの DNS 名を IP アドレスに解決できます。オプションでマウントターゲットの IP アドレスを直接指定することもできます。

$ sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport mount-target-ip:/  ~/efs-mount-point

3. EC2 インスタンスに Amazon EFS ファイルシステムをマウントしたので、ファイルを作成できます。

a. ディレクトリを変更します。

$ cd ~/efs-mount-point

b. ディレクトリの内容を一覧表示します。

$ ls -al

これは空である必要があります。

drwxr-xr-x 2 root root 4096 Dec 29 22:33 .drwx------ 4 ec2-user ec2-user 4096 Dec 29 22:54 ..

c. ファイルシステムのルートディレクトリは、作成時に root ユーザーが所有し、root ユーザーによって書き込みが可能なため、ファイルを追加する権限を変更する必要があります。

$ sudo chmod go+rw .

117

Page 126: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドステップ 4: クリーンアップする

ls -al コマンドを実行すると、権限が変更されたことがわかります。

drwxrwxrwx 2 root root 4096 Dec 29 22:33 .drwx------ 4 ec2-user ec2-user 4096 Dec 29 22:54 ..

d. テキストファイルを作成します。

$ touch test-file.txt

e. ディレクトリのコンテンツを一覧表示します。

$ ls -l

これで、VPC の EC2 インスタンスに Amazon EFS ファイルシステムが作成され、マウントされました。

マウントしたファイルシステムは、再起動後も保持されません。ディレクトリを自動的に再マウントするには、fstab ファイルを使用します。詳細については、「再起動時の自動再マウント (p. 126)」を参照してください。Auto Scaling グループを使用して EC2 インスタンスを起動する場合は、起動設定でスクリプトを設定することもできます。例については、「チュートリアル: Apache ウェブサーバーを設定してAmazon EFS ファイルを提供する (p. 119)」を参照してください。

次のステップ

ステップ 4: クリーンアップする (p. 118)

ステップ 4: クリーンアップする作成したリソースが不要になった場合は、削除する必要があります。これは CLI で行うことができます。

• EC2 リソース (EC2 インスタンスと 2 つのセキュリティグループ) を削除します。マウント対象を削除すると、Amazon EFS によってネットワークインターフェイスが削除されます。

• Amazon EFS リソース (ファイルシステム、マウントターゲット) を削除します。

このチュートリアルで作成した AWS リソースを削除するには

1. このチュートリアルのために作成した EC2 インスタンスを終了します。

$ aws ec2 terminate-instances \--instance-ids instance-id \--profile adminuser

コンソールを使用して EC2 リソースを削除することもできます。手順については、『Linux インスタンス用 Amazon EC2 ユーザーガイド』の「インスタンスを削除する」を参照してください。

2. マウントターゲットを削除します。

ファイルシステムを削除する前に、そのファイルシステム用に作成されたマウントターゲットを削除する必要があります。マウントターゲットのリストを取得するには、describe-mount-targetsCLI コマンドを使用します。

$ aws efs describe-mount-targets \--file-system-id file-system-ID \--profile adminuser \--region aws-region

118

Page 127: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドチュートリアル: Apache ウェブサーバーを設定してファイルを提供する

次に、delete-mount-target CLI コマンドを使用してマウントターゲットを削除します。

$ aws efs delete-mount-target \--mount-target-id ID-of-mount-target-to-delete \--profile adminuser \--region aws-region

3. (オプション) 作成した 2 つのセキュリティグループを削除します。セキュリティグループを作成するための料金はかかりません。

EC2 インスタンスのセキュリティグループを削除する前に、まずマウントターゲットのセキュリティグループを削除する必要があります。マウントターゲットのセキュリティグループには、EC2 セキュリティグループを参照するルールがあります。したがって、EC2 インスタンスのセキュリティグループを最初に削除することはできません。

手順については、『Linux インスタンス用 Amazon EC2 ユーザーガイド』の「セキュリティグループの削除」を参照してください。

4. delete-file-system CLI コマンドを使用してファイルシステムを削除します。describe-file-systems CLI コマンドを使用すると、ファイルシステムのリストを取得できます。レスポンスからファイルシステム ID を取得できます。

aws efs describe-file-systems \--profile adminuser \--region aws-region

ファイルシステム ID を指定してファイルシステムを削除します。

$ aws efs delete-file-system \--file-system-id ID-of-file-system-to-delete \--region aws-region \--profile adminuser

チュートリアル: Apache ウェブサーバーを設定して Amazon EFS ファイルを提供する

Apache ウェブサーバーを実行している EC2 インスタンスによって、Amazon EFS ファイルシステムに保存されているファイルを提供できます。EC2 インスタンスのいずれかにすることも、または、アプリケーションのニーズに合わせて、複数の EC2 インスタンスが Amazon EFS ファイルシステムからファイルを提供することもできます。次の手順で説明されています。

• EC2 インスタンスに Apache ウェブサーバーを設定します (p. 120)。• Auto Scaling グループを作成して、複数の EC2 インスタンスに Apache ウェブサーバーを設定しま

す (p. 121)。Amazon EC2 Auto Scaling を使用して複数の EC2 インスタンスを作成できます。これは、アプリケーションのニーズに応じてグループ内の EC2 インスタンスの数を増減できる AWS のサービスです。複数のウェブサーバーがある場合、その間でリクエストトラフィックを分散させるためのロードバランサーも必要です。

Note

どちらの手順でも、すべてのリソースを 米国西部 (オレゴン) リージョン (us-west-2) に作成します。

119

Page 128: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド単一 EC2 インスタンスによってファイルを提供する

単一 EC2 インスタンスによってファイルを提供するApache ウェブサーバーを 1 つの EC2 インスタンスで設定するステップに従って、Amazon EFS ファイルシステムで作成するファイルを提供します。

1. 「使用開始」の演習の手順に従って、以下のものから成る設定の作業を行います。

• Amazon EFS ファイルシステム• EC2 インスタンス• EC2 インスタンスにマウントされているファイルシステム

手順については、「Amazon Elastic File System の使用開始 (p. 12)」を参照してください。この手順に従って、以下を書き留めてください。

• EC2 インスタンスのパブリック DNS 名。• EC2 インスタンスを起動した場所と同じアベイラビリティーゾーンで作成されたマウントターゲッ

トのパブリック DNS 名。2. (オプション) 「使用開始」の演習で作成したマウントポイントからファイルシステムをアンマウント

することもできます。

$ sudo umount ~/efs-mount-point

このチュートリアルでは、ファイルシステムの別のマウントポイントを作成します。3. EC2 インスタンスで Apache ウェブサーバーをインストールし、次のように設定します。

a. EC2 インスタンスに接続し、Apache ウェブサーバーをインストールします。

$ sudo yum -y install httpd

b. サービスを起動します。

$ sudo service httpd start

c. マウントポイントを作成します。

最初に、DocumentRoot ファイルの /etc/httpd/conf/httpd.conf が /var/www/html(DocumentRoot "/var/www/html") を指していることに注意してください。

Amazon EFS ファイルシステムは、ドキュメントルートの下のサブディレクトリにマウントします。

i. /var/www/html の下にサブディレクトリ efs-mount-point を作成します。

$ sudo mkdir /var/www/html/efs-mount-point

ii. Amazon EFS ファイルシステムをマウントします。ファイルシステム ID を指定して、EFSマウントヘルパーユーティリティを使用して、次のマウントコマンドを更新する必要があります。

$ sudo mount -t efs fs-12345678:/ /var/www/html/efs-mount-point

4. セットアップをテストします。

a. 「使用開始」の演習で作成した EC2 インスタンスセキュリティグループにルールを追加し、どこからでも TCP ポート 80 での HTTP トラフィックを許可します。

120

Page 129: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド複数の EC2 インスタンスによってファイルを提供する

ルールを追加すると、EC2 インスタンスセキュリティグループに次のインバウンドルールが適用されます。

手順については、「AWS マネジメントコンソール を使用したセキュリティグループの作成 (p. 30)」を参照してください。

b. サンプルの html ファイルを作成します。

i. ディレクトリを変更します。

$ cd /var/www/html/efs-mount-point

ii. sampledir のサブディレクトリを作成し、所有権を変更します。また、ディレクトリを変更して、sampledir サブディレクトリにファイルを作成できるようにします。

$ sudo mkdir sampledir $ sudo chown ec2-user sampledir$ sudo chmod -R o+r sampledir$ cd sampledir

iii. サンプルの hello.html ファイルを作成します。

$ echo "<html><h1>Hello from Amazon EFS</h1></html>" > hello.html

c. ブラウザウィンドウを開き、URL を入力してファイルにアクセスします (EC2 インスタンスのパブリック DNS 名の後にファイル名が続きます)。例:

http://EC2-instance-public-DNS/efs-mount-point/sampledir/hello.html

これで、Amazon EFS ファイルシステムに保存されているウェブページを提供できます。

Note

このセットアップでは、起動時に httpd (ウェブサーバー) を自動的に開始するよう EC2 インスタンスが設定されません。また、起動時にファイルシステムがマウントされません。次のチュートリアルでは、このセットアップのための起動設定を作成します。

複数の EC2 インスタンスによってファイルを提供する複数の EC2 インスタンスから Amazon EFS ファイルシステムの同じコンテンツを提供する手順に従って、スケーラビリティまたは可用性を向上させます。

121

Page 130: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド複数の EC2 インスタンスによってファイルを提供する

1. ご利用開始にあたって (p. 12) 演習の手順に従って、Amazon EFS ファイルシステムを作成およびテストします。

Important

このチュートリアルでは、「使用開始」の演習で作成した EC2 インスタンスは使用しません。代わりに、新しい EC2 インスタンスを起動します。

2. 次の手順を使用して、VPC にロードバランサーを作成します。

1. ロードバランサーを定義する

[Basic Configuration (基本的な設定)] セクションで VPC を選択して、ファイルシステムをマウントする EC2 インスタンスを作成します。

[サブネットの選択] セクションでは、利用可能なすべてのサブネットを選択するか、選ぶことができます。詳細については、次のセクションの cloud-config スクリプトを参照してください。

2. セキュリティグループの割り当て

次に示すように、ロードバランサーの新しいセキュリティグループを作成して、どこからでもポート 80 からの HTTP アクセスを許可します。

• [Type]: HTTP• [Protocol]: TCP• [Port Range]: 80• ソース: Anywhere (0.0.0.0/0)

Note

すべてが機能している場合は、EC2 インスタンスのセキュリティグループのインバウンドルールアクセスを更新して、ロードバランサーからの HTTP トラフィックのみを許可することもできます。

3. ヘルスチェックを設定する

[Ping Path (ping パス)] を /efs-mount-point/test.html に設定します。efs-mount-point はファイルシステムがマウントされているサブディレクトリです。この手順の後半で、test.html ページを追加します。

Note

EC2 インスタンスを追加しないでください。EC2 インスタンスを起動する Auto Scaling グループを作成した後で、このロードバランサーを指定します。

ロードバランサーを作成する手順については、『Elastic Load Balancing ユーザーガイド』の「ElasticLoad Balancing の開始方法」を参照してください。

3. 2 つの EC2 インスタンスを使用して Auto Scaling グループを作成します。まず、インスタンスを記述する起動設定を作成します。次に、起動設定を指定して Auto Scaling グループを作成します。次の手順では、Amazon EC2 コンソールから Auto Scaling グループを作成するために指定する設定情報を示します。

a. 左側のナビゲーションから、[AUTO SCALING (自動スケーリング)] の下にある [LaunchConfigurations (起動設定)] を選択します。

b. [Create Auto Scaling group (Auto Scaling グループの作成)] を選択して、ウィザードを起動します。

c. [Create launch configuration] を選択します。122

Page 131: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド複数の EC2 インスタンスによってファイルを提供する

d. [Quick Start (クイックスタート)] から、最新バージョンの [Amazon Linux (HVM)] AMI を選択します。これは、「使用開始」の演習の「ステップ 2: EC2 リソースを作成し、EC2 インスタンスを起動する (p. 16)」で使用したのと同じ AMI です。

e. [Advanced (アドバンスド)] セクションで以下を実行します。

• [IP Address Type (IP アドレスタイプ)] で、[Assign a public IP address to every instance (パブリック IP アドレスをすべてのインスタンスに割り当てる)] を選択します。

• 次のスクリプトを [User data (ユーザーデータ)] ボックスにコピー/ペーストします。

file-system-id と aws-region の値を指定してスクリプトを更新する必要があります(「使用開始」の演習に従った場合は、us-west-2 region にファイルシステムを作成しました)。

スクリプトでは、以下の点に注意してください。• このスクリプトでは、NFS クライアントと Apache ウェブサーバーをインストールします。• echo コマンドでは、/etc/fstab ファイルに次のエントリを書き込み、マウントするファ

イルシステムの DNS 名とサブディレクトリを識別します。このエントリによって、各システムの再起動後にファイルがマウントされます。ファイルシステムの DNS 名は動的に構築されることに注意してください。詳細については、「DNS 名を使用して Amazon EC2 にマウントする (p. 305)」を参照してください。

file-system-ID.efs.aws-region.amazonaws.com:/ /var/www/html/efs-mount-point nfs4 defaults

• efs-mount-point サブディレクトリを作成し、その上にファイルシステムをマウントします。• test.html ページを作成して、ELB ヘルスチェックがファイルを見つけることができるように

します (このファイルを ping ポイントとして指定したロードバランサーを作成する場合)。

ユーザーデータスクリプトの詳細については、『Linux インスタンス用 Amazon EC2 ユーザーガイド』の「ユーザーデータの追加」を参照してください。

#cloud-configpackage_upgrade: truepackages:- nfs-utils- httpdruncmd:- echo "$(curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone).file-system-id.efs.aws-region.amazonaws.com:/ /var/www/html/efs-mount-point nfs4 defaults" >> /etc/fstab- mkdir /var/www/html/efs-mount-point- mount -a- touch /var/www/html/efs-mount-point/test.html- service httpd start- chkconfig httpd on

f. [Assign a security group (セキュリティグループの割り当て)] で、[Select an existing securitygroup (既存のセキュリティグループを選択する)] を選択し、EC2 インスタンス用に作成したセキュリティグループを選択します。

Auto Scaling グループの詳細を設定する場合は、以下の情報を使用します。

1. [Group size (グループサイズ)] に「Start with 2 instances」と入力します。2 つの EC2 インスタンスを作成します

2. [Network] リストから VPC を選択します。3. 前の手順の起動設定の作成時に、ユーザーデータスクリプトでマウントターゲット ID を指定した

際に使用したのと同じアベイラビリティーゾーンのサブネットを選択します。4. [Advanced Details] セクション

123

Page 132: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド複数の EC2 インスタンスによってファイルを提供する

a. [Load Balancing (ロードバランシング)] で、[Receive traffic from Elastic Load Balancer(Elastic Load Balancer からトラフィックを受信)] を選択し、この演習用に作成したロードバランサーを選択します。

b. [Health Check Type (ヘルスチェックタイプ)] で、[ELB] を選択します。

『Amazon EC2 Auto Scaling ユーザーガイド』の「スケーリングとロードバランシングを使用するアプリケーションのセットアップ」にある指示に従って、Auto scaling グループを作成します。該当する場合は、前述の表の情報を使用してください。

4. Auto Scaling グループが正常に作成されると、nfs-utils を持つ 2 つの EC2 インスタンスとApache ウェブサーバーがインストールされます。それぞれのインスタンスで、Amazon EFS ファイルシステムがマウントされた /var/www/html/efs-mount-point サブディレクトリがあることを確認します。EC2 インスタンスに接続する手順については、Linux インスタンス用 Amazon EC2 ユーザーガイドの「Linux インスタンスへの接続」を参照してください。

Note

Amazon EC2 インスタンスの起動時に [Amazon Linux AMI 2016.03.0] Amazon Linux AMI を選択する場合、nfs-utils はデフォルトですでに AMI に組み込まれているため、インストールする必要はありません。

5. サンプルページ (index.html) を作成します。

a. ディレクトリを変更します。

$ cd /var/www/html/efs-mount-point

b. sampledir のサブディレクトリを作成し、所有権を変更します。また、ディレクトリを変更して、sampledir サブディレクトリにファイルを作成できるようにします。前述の 単一 EC2 インスタンスによってファイルを提供する (p. 120) に従った場合は、sampledir サブディレクトリが既に作成されているため、この手順をスキップできます。

$ sudo mkdir sampledir $ sudo chown ec2-user sampledir$ sudo chmod -R o+r sampledir$ cd sampledir

c. サンプルの index.html ファイルを作成します。

$ echo "<html><h1>Hello from Amazon EFS</h1></html>" > index.html

6. セットアップをテストできるようになりました。ロードバランサーのパブリック DNS 名を使用して、index.html ページにアクセスします。

http://load balancer public DNS Name/efs-mount-point/sampledir/index.html

ロードバランサーから Apache ウェブサーバーを実行している EC2 インスタンスの 1 つにリクエストが送信されます。次に、ウェブサーバーによって、Amazon EFS ファイルシステムに保存されているファイルが提供されます。

124

Page 133: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドチュートリアル: 書き込み可能なユーザーごとのサブディレクトリの作成

チュートリアル: 書き込み可能なユーザーごとのサブディレクトリを作成し、再起動時の自動再マウントを設定する

Amazon EFS ファイルシステムを作成し、それを EC2 インスタンスにローカルにマウントすると、フフフフフフフフフフフという空のディレクトリが公開されます。一般的なユースケースの 1 つは、EC2 インスタンスで作成した各ユーザーのために、このファイルシステムルートの下に「書き込み可能な」サブディレクトリを作成し、それをユーザーのホームディレクトリにマウントすることです。これにより、ユーザーがホームディレクトリに作成したすべてのファイルとサブディレクトリは、Amazon EFS ファイルシステム上に作成されます。

このチュートリアルでは、最初に「mike」というユーザーを EC2 インスタンスに作成します。その後、ユーザー mike のホームディレクトリに Amazon EFS サブディレクトリをマウントします。また、このチュートリアルでは、システムが再起動した場合にサブディレクトリを自動で再マウントするよう設定する方法を説明します。

たとえば、Amazon EFS ファイルシステムを作成し、EC2 インスタンスのローカルディレクトリにマウントしたとします。EFSroot という名前にしましょう。

Note

ご利用開始にあたって (p. 12) の演習に従い、EC2 インスタンスに Amazon EFS ファイルシステムを作成し、マウントします。

以下の手順では、ユーザー (mike) を作成し、ユーザーのためのサブディレクトリを作成し (EFSroot/mike)、ユーザー mike をサブディレクトリの所有者にして完全なアクセス許可を付与し、最後にユーザーのホームディレクトリ (/home/mike) に Amazon EFS サブディレクトリをマウントします。

1. ユーザー mike の作成:

• EC2 インスタンスにログインします。ルート権限を使用して (この場合は sudo コマンドを使用して)、ユーザー mike を作成し、パスワードを割り当てます。

$ sudo useradd -c "Mike Smith" mike$ sudo passwd mike

これにより、ユーザーのホームディレクトリ /home/mike も作成されます。2. ユーザー mike のために EFSroot 下にサブディレクトリを作成します。

a. EFSroot 下にサブディレクトリ mike を作成します。

$  sudo mkdir /EFSroot/mike

EFSroot をローカルディレクトリ名と置き換える必要があります。b. ルートユーザーとルートグループがサブディレクトリ /mike の所有者となります (ls -l コマン

ドを使用してこれを確認できます)。ユーザー mike に対してこのサブディレクトリに対する完全なアクセス権限を有効にするには、ディレクトリの所有権を mike に付与します。

$ sudo chown mike:mike /EFSroot/mike

125

Page 134: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド再起動時の自動再マウント

3. mount コマンドを使用し、mike のホームディレクトリにサブディレクトリ EFSroot/mike をマウントします。

$  sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport mount-target-DNS:/mike  /home/mike

mount-target-DNS アドレスがリモート Amazon EFS ファイルシステムのルートを識別します。

これで、ユーザー mike のホームディレクトリは、Amazon EFS ファイルシステムにあるサブディレクトリで、mike により書き込み可能となりました。このマウントターゲットをアンマウントすると、再マウントしない限りユーザーは EFS ディレクトリにアクセスできず、これにはルート権限が要求されます。

再起動時の自動再マウントfstab ファイルを使用して再起動後にファイルシステムを自動的に再マウントできます。詳細については、「Amazon EFS ファイルシステムを自動的にマウントする (p. 69)」を参照してください。

ウォークスルー: AWS Direct Connect と VPN を使用してオンプレミスでファイルシステムを作成してマウントする

このウォークスルーでは、AWS マネジメントコンソール を使用して、オンプレミスクライアント上のファイルシステムを作成およびマウントします。これを行うには、AWS Direct Connect 接続または AWS仮想プライベートネットワーク (VPN) の接続を使用して行います。

Note

Microsoft Windows– ベースのクライアントで Amazon EFS を使用することはサポートされていません。

トピック• 開始する前に (p. 127)• ステップ 1: Amazon Elastic File System リソースを作成する (p. 127)• ステップ 2: NFS クライアントをインストールする (p. 128)• ステップ 3: オンプレミスクライアント Amazon EFS ファイルシステムをマウントする (p. 129)• ステップ 4: リソースをクリーンアップし、AWS アカウントを保護する (p. 130)• オプション: 転送中のデータの暗号化 (p. 130)

このウォークスルーでは、AWS Direct Connect または VPN 接続がすでにあることを前提としています。接続がない場合は今すぐ接続プロセスを開始し、接続が確立されてからこのウォークスルーに戻ってください。AWS Direct Connect の詳細については、「AWS Direct Connect ユーザーガイド」を参照してください。VPN 接続設定の詳細については、『Amazon VPC ユーザーガイド』の「VPN 接続」を参照してください。

AWS Direct Connect または VPN 接続がある場合、Amazon VPC に Amazon EFS ファイルシステムとマウントターゲットを作成します。その後、amazon-efs-utils ツールをダウンロードしてインストールします。次に、オンプレミスクライアントからファイルシステムをテストします。最後に、ウォークスルーの最後のクリーンアップのステップでは、これらのリソースを削除するための情報が提供されます。

126

Page 135: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド開始する前に

このチュートリアルにより、米国西部 (オレゴン) リージョン (us-west-2) にこれらのリソースがすべて作成されます。どの AWS リージョンを使用しても、それを一貫して使用してください。すべてのリソース — VPC、マウントターゲット、Amazon EFS ファイルシステムなど — は、同じ AWS リージョン内に存在する必要があります。

Note

場合によっては、ローカルアプリケーションが EFS ファイルシステムが使用可能かどうかを知る必要があります。このような場合、最初のマウントポイントを一時的に使用できなくなった場合、アプリケーションは別のマウントポイントの IP アドレスを指すことができます。このシナリオでは、可用性を高めるために、2 つのオンプレミスクライアントを異なるアベイラビリティーゾーン (AZ) を介してファイルシステムに接続することをお勧めします。

開始する前にAWS アカウントのルート認証情報を使用してコンソールにサインインし、この演習を試すことができます。ただし、AWS Identity and Access Management (IAM) のベストプラクティスでは AWS アカウントのルート認証情報を使用しないことをお勧めします。代わりに、アカウントに管理者ユーザーを作成し、それらの認証情報を使用してアカウントのリソースを管理します。詳細については、「セットアップ (p. 9)」を参照してください。

アカウントで作成したデフォルトの VPC またはカスタム VPC を使用できます。このウォークスルーでは、デフォルトの VPC 設定が機能します。ただし、カスタム VPC を使用する場合は、次の点を確認してください。

• インターネットゲートウェイが VPC にアタッチされています。詳細については、『Amazon VPC ユーザーガイド』の「インターネットゲートウェイ」を参照してください。

• VPC ルートテーブルには、インターネット経由のすべてのトラフィックをインターネットゲートウェイに送信するルールが含まれています。

ステップ 1: Amazon Elastic File System リソースを作成するこのステップでは、Amazon EFS ファイルシステムおよびマウントターゲットを作成します。

Amazon EFS ファイルシステムを作成するには

1. Amazon EFS コンソール (https://console.aws.amazon.com/efs/) を開きます。2. [Create File System (ファイルシステムの作成)] を選択します。3. [VPC] リストからデフォルトの VPC を選択します。4. すべてのアベイラビリティーゾーンのチェックボックスをオンにします。それらがすべてデフォルト

のサブネット、自動 IP アドレス、および選択済みのデフォルトのセキュリティグループを持っていることを確認します。これらが、マウントターゲットです。詳細については、「マウントターゲットの作成 (p. 24)」を参照してください。

5. [Next Step] を選択します。6. ファイルシステムに名前を付け、デフォルトのパフォーマンスモードとして [general purpose (汎用)]

を選択したまま [Next Step (次のステップ)] を選択します。7. [Create File System (ファイルシステムの作成)] を選択します。8. リストからファイルシステムを選択し、[Security group (セキュリティグループ)] 値を書き留めます。

この値は次のステップで必要になります。

作成したファイルシステムにはマウントターゲットがあります。各マウントターゲットには、関連するセキュリティグループがあります。セキュリティグループは、ネットワークトラフィックを制御する仮想ファイアウォールとして機能します。マウントターゲットの作成時にセキュリティグループを提供しな

127

Page 136: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドステップ 2: NFS クライアントをインストールする

かった場合、Amazon EFS は VPC のデフォルトのセキュリティグループをそのマウントターゲットに関連付けます。上記のステップに正確に従った場合、マウントターゲットはデフォルトのセキュリティグループを使用します。

次に、マウントターゲットのセキュリティグループにルールを追加して、ネットワークファイルシステム(NFS) ポート (2049) へのインバウンドトラフィックを許可します。AWS マネジメントコンソール を使用して、VPC のマウントターゲットのセキュリティグループにルールを追加できます。

NFS ポートへのインバウンドトラフィックを許可するには

1. AWS マネジメントコンソールにサインインをしたあと、https://console.aws.amazon.com/ec2/ にあるAmazon EC2 コンソールを開きます。

2. [NETWORK & SECURITY (ネットワークとセキュリティ)] で、[Security Groups (セキュリティグループ)] を選択します。

3. ファイルシステムに関連付けられているセキュリティグループを選択します。ステップ 1: AmazonElastic File System リソースを作成する (p. 127) の最後にこれを書き留めました。

4. セキュリティグループのリストの下に表示されるタブ付きペインで、[Inbound (インバウンド)] タブを選択します。

5. [Edit] を選択します。6. [Add Rule (ルールの追加)] を選択し、以下のタイプのルールを選択します。

• [Type] – NFS• ソース–Anywhere

テストには [Anywhere (任意の場所)] ソースのみを使用することをお勧めします。オンプレミスクライアントの IP アドレスに設定されたカスタムソースを作成するか、クライアント自体のコンソールを使用して [My IP (マイ IP)] を選択するかを選ぶことができます。

Note

アウトバウンドルールを追加する必要はありません。これは、デフォルトのアウトバウンドルールですべてのトラフィックを残すことができるためです。このデフォルトのアウトバウンドルールがない場合は、アウトバウンドルールを追加して NFS ポート上の TCP 接続を開き、マウントターゲットのセキュリティグループを送信先として識別します。

ステップ 2: NFS クライアントをインストールするこのステップでは、NFS クライアントをインストールします。

オンプレミスサーバーに NFS クライアントをインストール

Note

転送中のデータを暗号化する必要がある場合は、を使用して、NFS クライアントの代わりにAmazon EFS マウントヘルパー amazon-efs-utils を使用します。amazon-efs-utils の詳細については、「オプション: 転送中のデータの暗号化」セクションを参照してください。

1. オンプレミスクライアントのターミナルにアクセスします。2. NFS をインストールします。

Red Hat Linux を使用している場合は、次のコマンドを使用して NFS をインストールします。

$ sudo yum -y install nfs-utils

Ubuntu を使用している場合は、次のコマンドを使用して NFS をインストールします。

128

Page 137: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドステップ 3: オンプレミスクライアント

Amazon EFS ファイルシステムをマウントする

$ sudo apt-get -y install nfs-common

ステップ 3: オンプレミスクライアント Amazon EFSファイルシステムをマウントするマウントのディレクトリを作成するには

1. 次のコマンドを使用して、マウントポイントのディレクトリを作成します。

Example

mkdir ~/efs

2. アベイラビリティーゾーンで、目的のマウントターゲットの IP アドレスを選択します。オンプレミスLinux クライアントからレイテンシーを測定できます。これを行うには、異なるアベイラビリティーゾーンの EC2 インスタンスの IP アドレスに対して ping のようなターミナルベースのツールを実行して、レイテンシーが最も短いものを探します。

• mount コマンドを実行して、マウントターゲットの IP アドレスを使用してファイルシステムをマウントします。

$ sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport mount-target-IP:/ ~/efs

Amazon EFS ファイルシステムをマウントしたので、次の手順でテストすることができます。

Amazon EFS ファイルシステム接続をテストするには

1. ディレクトリを、次のコマンドで、作成した新しいディレクトリに変更します。

$ cd ~/efs

2. サブディレクトリを作成し、そのサブディレクトリの所有権を EC2 インスタンスユーザーに変更します。次に、以下のコマンドを使用して、その新しいディレクトリに移動します。

$ sudo mkdir getting-started$ sudo chown ec2-user getting-started$ cd getting-started

3. 次のコマンドを使用してテキストファイルを作成します。

$ touch test-file.txt

4. 次のコマンドを使用して、ディレクトリの内容を一覧表示します。

$ ls -al

その結果、次のファイルが作成されます。

129

Page 138: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドステップ 4: リソースをクリーンアッ

プし、AWS アカウントを保護する

-rw-rw-r-- 1 username username 0 Nov 15 15:32 test-file.txt

/etc/fstab ファイルにエントリを追加することで、自動的にファイルシステムをマウントすることもできます。詳細については、「Amazon EFS ファイルシステムを自動的にマウントする (p. 69)」を参照してください。

Warning

ファイルシステムを自動的にマウントする場合、ネットワークファイルシステムを識別するために使用された _netdev オプションを使用します。_netdev が見つからない場合、EC2 インスタンスは応答を停止する可能性があります。この結果は、コンピューティングインスタンスがネットワーキングを開始後、ネットワークファイルシステムを初期化する必要があるためです。詳細については、「自動マウントが失敗してインスタンスが応答しない (p. 189)」を参照してください。

ステップ 4: リソースをクリーンアップし、AWS アカウントを保護するこのウォークスルーが完了したら、またはウォークスルーを調べない場合は、以下の手順に従ってリソースをクリーンアップし、AWS アカウントを保護する必要があります。

リソースをクリーンアップし、AWS アカウントを保護するには

1. 次のコマンドで、Amazon EFS ファイルシステムをアンマウントします。

$ sudo umount ~/efs

2. Amazon EFS コンソール (https://console.aws.amazon.com/efs/) を開きます。3. ファイルシステムのリストから削除する Amazon EFS ファイルシステムを選択します。4. [Actions] で、[Delete file system] を選択します。5. [Permanently delete file system (ファイルシステムを完全に削除)] ダイアログボックスで、削除する

Amazon EFS ファイルシステムのファイルシステム ID を入力して、[Delete File System (ファイルシステムの削除)] を選択します。

6. https://console.aws.amazon.com/ec2/ で Amazon EC2 コンソールを開きます。7. ナビゲーションペインで、[Security Groups] を選択します。8. このウォークスルーのルールを追加したセキュリティグループの名前を選択します。

Warning

VPC のデフォルトのセキュリティグループを削除しないでください。9. [Actions (アクション)] メニューで、[Edit inbound rules (インバウンドルールの編集)] を選択します。10. 追加したインバウンドルールの最後に [X] を選択し、[Save (保存)] を選択します。

オプション: 転送中のデータの暗号化転送中のデータを暗号化する必要がある場合は、NFS クライアントの代わりに、Amazon EFS マウントヘルパー、amazon-efs-utils を使用します

amazon-efs-utils パッケージは、 Amazon EFS ツールのオープンソースのコレクションです。amazon-efs-utils コレクションには、マウントヘルパーおよび Amazon EFS の転送時のデータ暗号化の実行を簡単にするツールが付属しています。このパッケージの詳細については、「amazon-efs-utils ツールを使用する (p. 37)」を参照してください。このパッケージは、パッケージのリポジトリを複製することで GitHubから無料でダウンロードできます。

130

Page 139: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドオプション: 転送中のデータの暗号化

GitHub から amazon-efs-utils のクローンを作成するには

1. オンプレミスクライアントのターミナルにアクセスします。2. ターミナルから以下のコマンドで、GitHub の amazon-efs-utils ツールを任意のディレクトリにクロー

ンします。

git clone https://github.com/aws/efs-utils

パッケージが手に入ったため、それをインストールすることができます。このインストールは、オンプレミスクライアントの Linux ディストリビューションによって異なります。以下のディストリビューションがサポートされています。

• Amazon Linux 2• Amazon Linux• Red Hat Enterprise Linux (および、その派生物 CentOS など) バージョン 7 以降• Ubuntu 16.04 LTS 以降

amazon-efs-utils を RPM パッケージとしてビルドおよびインストールするには

1. クライアント上のターミナルを開き、GitHub からクローンされた amazon-efs-utils パッケージのあるディレクトリに移動します。

2. 次のコマンドを使用して、パッケージをビルドします。

make rpm

Note

rpm-builder パッケージをまだインストールしていない場合は、次のコマンドを使用してインストールします。

sudo yum -y install rpm-build

3. 次のコマンドでパッケージをインストールします。

sudo yum -y install build/amazon-efs-utils*rpm

amazon-efs-utils を deb パッケージとしてビルドおよびインストールするには

1. クライアント上のターミナルを開き、GitHub からクローンされた amazon-efs-utils パッケージのあるディレクトリに移動します。

2. 次のコマンドを使用して、パッケージをビルドします。

./build-deb.sh

3. 次のコマンドでパッケージをインストールします。

sudo apt-get install build/amazon-efs-utils*deb

パッケージをインストールしたら、AWS Direct Connect または VPN を使用して、AWS リージョンで使用するように amazon-fs-utils を設定します。

131

Page 140: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドオプション: 転送中のデータの暗号化

AWS リージョンで使用する amazon-efs-utils を設定するには

1. 任意のテキストエディタを使用して、編集のために /etc/amazon/efs/efs-utils.conf ファイルを開きます。

2. “dns_name_format = {fs_id}.efs.{region}.amazonaws.com” という行を探します。3. {region} を、us-west-2 などの AWS リージョンの ID に変更します。

オンプレミスのクライアントに EFS ファイルシステムをマウントするには、まず、オンプレミス Linux クライアントでターミナルを開きます。システムをマウントするには、ファイルシステム ID、マウントターゲットの 1 つのマウントターゲット IP アドレス、ファイルシステムの AWS リージョンが必要です。ファイルシステムに複数のマウントターゲットを作成した場合は、これらのいずれかを選択できます。

その情報がある場合は、次の 3 つのステップで、ファイルシステムをマウントできます。

マウントのディレクトリを作成するには

1. 次のコマンドを使用して、マウントポイントのディレクトリを作成します。

Example

mkdir ~/efs

2. アベイラビリティーゾーンで、目的のマウントターゲットの IP アドレスを選択します。オンプレミスLinux クライアントからレイテンシーを測定できます。これを行うには、異なるアベイラビリティーゾーンの EC2 インスタンスの IP アドレスに対して ping のようなターミナルベースのツールを実行して、レイテンシーが最も短いものを探します。

/etc/hosts を更新するには

• ローカルの /etc/hosts ファイルに、ファイルシステム ID とマウントターゲットの IP アドレスを含むエントリを次の形式で追加します。

mount-target-IP-Address file-system-ID.efs.region.amazonaws.com

Example

192.0.2.0 fs-12345678.efs.us-west-2.amazonaws.com

マウントのディレクトリを作成するには

1. 次のコマンドを使用して、マウントポイントのディレクトリを作成します。

Example

mkdir ~/efs

2. マウントコマンドを使用してファイルシステムをマウントします。

Example

sudo mount -t efs fs-12345678 ~/efs

転送時にデータの暗号化を使用する場合、マウントコマンドは次のようになります。

132

Page 141: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドウォークスルー: 別の VPC から

ファイルシステムをマウントする

Example

sudo mount -t efs -o tls fs-12345678 ~/efs

ウォークスルー: 別の VPC からファイルシステムをマウントする

このウォークスルーでは、Amazon EC2 インスタンスを設定して、別の Virtual Private Cloud (VPC) にある Amazon EFS ファイルシステムをマウントします。これは、EFS マウントヘルパーを使用して行います。マウントヘルパーは、amazon-efs-utils というツールセットの一部です。amazon-efs-utilsの詳細については、「amazon-efs-utils ツールを使用する (p. 37)」を参照してください。

クライアントの VPC と EFS ファイルシステムの VPC を接続するには、VPC ピアリング接続または VPCトランジットゲートウェイを使用する必要があります。VPC ピアリング接続またはトランジットゲートウェイを使用して VPC に接続する場合、ある VPC 上の Amazon EC2 インスタンスから別の VPC の EFSファイルシステムにアクセスすることができます。VPC 同士が異なるアカウントに属していても可能です。

Note

Microsoft Windows– ベースのクライアントで Amazon EFS を使用することはサポートされていません。

トピック• 開始する前に (p. 133)• ステップ 1: EFS マウントターゲットのアベイラビリティーゾーン ID を特定する (p. 134)• 手順 2: マウントターゲットの IP アドレスを特定する (p. 134)• 手順 3: マウントターゲットのホストエントリを追加する (p. 135)• 手順 4: EFS マウントヘルパーを使用してファイルシステムをマウントする (p. 135)• ステップ 5: リソースをクリーンアップし、AWS アカウントを保護する (p. 137)

開始する前にこのウォークスルーでは、すでに次のことを前提としています。

• この手順を使用する前に、amazon-efs-utils ツールセットが EC2 インスタンスにインストールされていること。amazon-efs-utils のインストール手順については、「amazon-efs-utils ツールを使用する (p. 37)」を参照してください。

• 次のいずれかです。• EFS ファイルシステムが存在する VPC と EC2 インスタンスが存在する VPC との間の VPC ピアリン

グ接続。VPC ピアリング接続は、2 つの VPC 間のネットワーク接続です。このタイプの接続では、インターネットプロトコルバージョン 4 (IPv4) またはインターネットプロトコルバージョン 6 (IPv6)のプライベートアドレスを使用して、2 つの VPC 間でトラフィックをルーティングできます。VPCピア接続を使用して、同じ AWS リージョン内または AWS リージョン間の VPC を接続できます。詳細については、『Amazon VPC Peering Guide』の「VPC ピアリング接続の作成と使用」を参照してください。

• EFS ファイルシステムが存在する VPC と EC2 インスタンスが存在する VPC を接続するトランジットゲートウェイ。トランジットゲートウェイは、VPC とオンプレミスネットワークを相互接続するために使用できるネットワークの中継ハブです。詳細については、『Amazon VPC トランジットゲートウェイ 開発者ガイド』の「トランジットゲートウェイの開始方法」を参照してください。

133

Page 142: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドステップ 1: EFS マウントターゲットの

アベイラビリティーゾーン ID を特定する

ステップ 1: EFS マウントターゲットのアベイラビリティーゾーン ID を特定するファイルシステムの高可用性を確保するために、NFS クライアントと同じアベイラビリティーゾーン (AZ)にある EFS マウントターゲットの IP アドレスを常に使用することをお勧めします。別のアカウントにある EFS ファイルシステムをマウントする場合は、NFS クライアントと EFS マウントターゲットが同じAZ ID にあることを確認します。この要件が適用されるのは、AZ 名がアカウントによって異なる可能性があるためです。

EC2 インスタンスの AZ ID を特定するには

1. EC2 インスタンスに接続します。

• macOS または Linux を実行しているコンピュータからインスタンスに接続するには、SSH コマンドに対する .pem ファイルを指定します。これを行うには、-i オプションとプライベートキーへのパスを使用します。

• Windows を実行しているコンピュータから Linux インスタンスに接続する場合は、MindTerm または PuTTY のどちらかを使用できます。PuTTY を使用するには、インストールしてから .pem ファイルを .ppk ファイルに変換します。

詳細については、「Linux インスタンス用 Amazon EC2 ユーザーガイド」の次のトピックを参照してください。

• SSH を使用した Linux インスタンスへの接続• PuTTY を使用した Windows から Linux インスタンスへの接続

2. EC2 インスタンスがある AZ ID を特定するには、次のように describe-availability-zones CLIコマンドを使用します。

[[email protected]] $ aws ec2 describe-availability-zones --zone-name `curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone`{ "AvailabilityZones": [ { "State": "available", "ZoneName": "us-east-2b", "Messages": [], "ZoneId": "use2-az2", "RegionName": "us-east-2" } ]}

AZ ID は、ZoneId プロパティで返されます (use2-az2)。

手順 2: マウントターゲットの IP アドレスを特定するEC2 インスタンスの AZ ID を特定したら、同じ AZ ID にあるマウントターゲットの IP アドレスを取得します。

同じ AZ ID のマウントターゲットの IP アドレスを特定するには

• 次のように CLI コマンド describe-mount-targets を使用して、AZ ID use2-az2 内のファイルシステムに対するマウントターゲットの IP アドレスを取得します。

134

Page 143: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド手順 3: マウントターゲットのホストエントリを追加する

$ aws efs describe-mount-targets --file-system-id file_system_id{ "MountTargets": [ { "OwnerId": "111122223333", "MountTargetId": "fsmt-11223344", =====> "AvailabilityZoneId": "use2-az2", "NetworkInterfaceId": "eni-048c09a306023eeec", "AvailabilityZoneName": "us-east-2b", "FileSystemId": "fs-01234567", "LifeCycleState": "available", "SubnetId": "subnet-06eb0da37ee82a64f", "OwnerId": "958322738406", =====> "IpAddress": "10.0.2.153" }, ... { "OwnerId": "111122223333", "MountTargetId": "fsmt-667788aa", "AvailabilityZoneId": "use2-az3", "NetworkInterfaceId": "eni-0edb579d21ed39261", "AvailabilityZoneName": "us-east-2c", "FileSystemId": "fs-01234567", "LifeCycleState": "available", "SubnetId": "subnet-0ee85556822c441af", "OwnerId": "958322738406", "IpAddress": "10.0.3.107" } ]}

AZ ID use2-az2 内のマウントターゲットの IP アドレスは 10.0.2.153 です。

手順 3: マウントターゲットのホストエントリを追加する次は、EC2 インスタンスの /etc/hosts ファイルに、マウントターゲット IP アドレスを EFS ファイルシステムのホスト名にマッピングするエントリを作成します。

マウントターゲットのホストエントリを追加するには

• EC2 インスタンスの /etc/hosts ファイルに、マウントターゲットの IP アドレスの行を追加します。このエントリには、mount-target-IP-Address file-system-ID.efs.region.amazonaws.com という形式を使用します。ファイルに行を追加するには、次のコマンドを使用します。

echo "10.0.2.153 fs-01234567.efs.us-east-2.amazonaws.com" | sudo tee -a /etc/hosts

手順 4: EFS マウントヘルパーを使用してファイルシステムをマウントするEFS ファイルシステムをマウントするには、まず EC2 インスタンスにマウントディレクトリを作成します。その後、EFS マウントヘルパーを使用し、IAM 認証または EFS アクセスポイントのいずれかでファイルシステムをマウントできます。詳細については、「IAM を使用した Amazon EFS への NFS アクセス

135

Page 144: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド手順 4: EFS マウントヘルパーを使用してファイルシステムをマウントする

のコントロール (p. 159)」および「Amazon EFS アクセスポイントの使用 (p. 171)」を参照してください。

マウントのディレクトリを作成するには

• 次のコマンドを使用して、ファイルシステムをマウントするためのディレクトリを作成します。

$ sudo mkdir /mnt/efs/

IAM 認証を使用してファイルシステムをマウントするには

• IAM 認証を使用してファイルシステムをマウントするには、次のコマンドを使用します。

$ sudo mount -t efs -o tls,iam file-system-id /mnt/efs/

EFS アクセスポイントを使用してファイルシステムをマウントするには

• EFS アクセスポイントを使用してファイルシステムをマウントするには、次のコマンドを使用します。

$ sudo mount -t efs -o tls,accesspoint=access-point-id file-system-id /mnt/efs/

Amazon EFS ファイルシステムをマウントしたので、次の手順でテストすることができます。

Amazon EFS ファイルシステム接続をテストするには

1. ディレクトリを、次のコマンドで、作成した新しいディレクトリに変更します。

$ cd ~/mnt/efs

2. サブディレクトリを作成し、そのサブディレクトリの所有権を EC2 インスタンスユーザーに変更します。次に、以下のコマンドを使用して、その新しいディレクトリに移動します。

$ sudo mkdir getting-started$ sudo chown ec2-user getting-started$ cd getting-started

3. 次のコマンドを使用してテキストファイルを作成します。

$ touch test-file.txt

4. 次のコマンドを使用して、ディレクトリの内容を一覧表示します。

$ ls -al

その結果、次のファイルが作成されます。

-rw-rw-r-- 1 username username 0 Nov 15 15:32 test-file.txt

/etc/fstab ファイルにエントリを追加することで、自動的にファイルシステムをマウントすることもできます。詳細については、「/etc/fstab を使用した自動マウント (p. 70)」を参照してください。

136

Page 145: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドステップ 5: リソースをクリーンアッ

プし、AWS アカウントを保護する

Warning

ファイルシステムを自動的にマウントする場合、ネットワークファイルシステムを識別するために使用された _netdev オプションを使用します。_netdev が見つからない場合、EC2 インスタンスは応答を停止する可能性があります。この結果は、コンピューティングインスタンスがネットワーキングを開始後、ネットワークファイルシステムを初期化する必要があるためです。詳細については、「自動マウントが失敗してインスタンスが応答しない (p. 189)」を参照してください。

ステップ 5: リソースをクリーンアップし、AWS アカウントを保護するこのチュートリアルを完了した場合や、チュートリアルを試さない場合は、次の手順を必ず実行してください。これによってリソースをクリーンアップし、AWS アカウントを保護できます。

リソースをクリーンアップし、AWS アカウントを保護するには

1. 次のコマンドで、Amazon EFS ファイルシステムをアンマウントします。

$ sudo umount ~/efs

2. Amazon EFS コンソール (https://console.aws.amazon.com/efs/) を開きます。3. ファイルシステムのリストから削除する Amazon EFS ファイルシステムを選択します。4. [Actions] で、[Delete file system] を選択します。5. [Permanently delete file system (ファイルシステムを完全に削除)] ダイアログボックスで、削除する

Amazon EFS ファイルシステムのファイルシステム ID を入力して、[Delete File System (ファイルシステムの削除)] を選択します。

6. https://console.aws.amazon.com/ec2/ で Amazon EC2 コンソールを開きます。7. ナビゲーションペインで、[Security Groups] を選択します。8. このウォークスルーのルールを追加したセキュリティグループの名前を選択します。

Warning

VPC のデフォルトのセキュリティグループを削除しないでください。9. [Actions (アクション)] メニューで、[Edit inbound rules (インバウンドルールの編集)] を選択します。10. 追加したインバウンドルールの最後に [X] を選択し、[Save (保存)] を選択します。

ウォークスルー: Amazon EFS ファイルシステムでの保管時の暗号化の強制

次に、Amazon CloudWatch と AWS CloudTrail を使用して保管時の暗号化を強制する方法の詳細を説明します。この演習は、AWS ホワイトペーパー「Amazon EFS 暗号化されたファイルシステムで保存中のデータを暗号化する」に基づいています。

Note

現時点では、転送時に暗号化を強制することはできません。

保管時の暗号化を強制する組織では、特定の分類に合致する、または特定のアプリケーション、ワークロード、環境に関連するすべての保管中のデータを暗号化する必要が生じる場合があります。発見的統制を使用することで、Amazon

137

Page 146: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド保管時の暗号化を強制する

EFS ファイルシステムのデータ暗号化に関するポリシーを強制的に実施できます。これらのコントロールは、ファイルシステムの作成を検出し、保管時の暗号化が有効になっているかどうかを確認します。

保管時の暗号化が設定されていないファイルシステムが検出された場合、さまざまな方法で応答できます。これらには、ファイルシステムおよびマウントターゲットの削除から管理者への通知までが含まれます。

保管時に暗号化されていないファイルシステムを削除してデータを保持する場合は、まず新しい保管時に暗号化されるファイルシステムを作成します。次に、保管時に暗号化される新しいファイルシステムにデータをコピーします。データがコピーされた後で、保管時に暗号化されないファイルシステムを削除できます。

保管時に暗号化されないファイルシステムの検出CloudWatch アラームを作成して、CloudTrail ログで CreateFileSystem イベントを監視できます。作成されたファイルシステムが保管時に暗号化されていない場合、アラームをトリガーして管理者に通知できます。

メトリックフィルタの作成暗号化されていない Amazon EFS ファイルシステムの作成時に起動される CloudWatch アラームを作成するには、次の手順を実行します。

開始する前に、CloudTrail ログを CloudWatch ログのロググループに送信する既存の証跡を作成する必要があります。詳細については、『AWS CloudTrail User Guide』の「CloudWatch Logs にイベントを送信する」を参照してください。

メトリックスフィルタを作成するには

1. https://console.aws.amazon.com/cloudwatch/ にある CloudWatch コンソールを開きます。2. ナビゲーションペインで [Logs] を選択します。3. ロググループのリストで、CloudTrail ログイベントのために作成したロググループを選択します。4. [Create Metric Filter] を選択します。5. [ログメトリクスフィルタの定義] 画面で [フィルタパターン] を選択し、次の内容を入力します。

{ ($.eventName = CreateFileSystem) && ($.responseElements.encrypted IS FALSE) }

6. [Assign Metric] を選択します。7. [Filter Name] に「UnencryptedFileSystemCreated」と入力します。8. [メトリクス名前空間] に「CloudTrailMetrics」と入力します。9. [メトリクス名] に「UnencryptedFileSystemCreatedEventCount」と入力します。10. [Show advanced metric settings] を選択します。11. [Metric Value] に「1」と入力します。12. [Create Filter] を選択します。

アラームの作成メトリックスフィルタを作成後に、次の手順を実行してアラームを作成します。

アラームを作成するには

1. [Log_Group_Name] ページの [フィルタ] で、[UnencryptedFileSystemCreated] ファイル名の横の [アラームの作成] を選択します。

138

Page 147: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドチュートリアル: NFS 用 IAM を使用してルートスカッシュを有効にする

2. [アラームの作成] ページで、次のパラメータを設定します。

• [名前] に「Unencrypted File System Created」を入力します。• [次の時に通知を受け取る:] で、以下を実行します。

• [は:] を > = 1 に設定します。• [を:] を 1 [回連続した場合] に設定します。

• [欠落データの処理方法] で、[適正 (しきい値を超えていない)] を選択します。• [操作] で、以下の作業を行います。

• [Whenever this alarm] で [State is ALARM] を選択します。• [通知の送信先:] で、[NotifyMe] を選択し、[新しいリスト] を選択してから、このリストの一意の

トピック名を入力します。• [メールリスト:] に、通知の送信先の E メールアドレスを入力します。このアドレスで E メールを

受信し、このアラームを作成したことを確認します。• [アラームのプレビュー] で、以下の作業を行います。

• [期間] で、[1 分] を選択します。• [統計] で、[スタンダード] および [合計] を選択します。

3. [Create Alarm] を選択します。

暗号化されていないファイルシステムの作成アラームをテストする保管時に暗号化されないファイルシステムを作成して、アラームをテストすることができます。手順は以下のとおりです。

保管時に暗号化されないファイルシステムを作成してアラームをテストするには

1. Amazon EFS コンソール (https://console.aws.amazon.com/efs) を開きます。2. [Create File System (ファイルシステムの作成)] を選択します。3. [VPC] リストからデフォルトの VPC を選択します。4. すべてのアベイラビリティーゾーンを選択します。デフォルトのサブネット、自動 IP アドレス、およ

びデフォルトのセキュリティグループが選択されていることを確認します。これらが、マウントターゲットです。

5. [Next Step] を選択します。6. 暗号化されないファイルシステムを作成するには、ファイルシステムに名前を付け、[Enable

encryption (暗号化の有効化)] はオフのままにしておきます。7. [Next Step] を選択します。8. [Create File System (ファイルシステムの作成)] を選択します。

証跡は CreateFileSystem オペレーションのログを記録し、CloudWatch Logs ロググループにイベントを配信します。イベントによってメトリックスアラームと CloudWatch Logs がトリガーされ、変更に関する通知が送信されます。

チュートリアル: NFS クライアントの IAM 認証を使用してルートスカッシュを有効にする

このチュートリアルでは、1 つの管理ワークステーションを除くすべての AWS プリンシパルを対象に、Amazon EFS ファイルシステムへのルートアクセスを拒否するように、Amazon EFS を設定しま

139

Page 148: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドチュートリアル: NFS 用 IAM を使用してルートスカッシュを有効にする

す。そのためには、ネットワークファイルシステム (NFS) クライアントの AWS Identity and AccessManagement (IAM) 認証を設定します。EFS での NFS クライアントの IAM 認証の詳細については、「IAM を使用した Amazon EFS への NFS アクセスのコントロール (p. 159)」を参照してください。

そのためには、以下に示すように、2 つの IAM アクセス許可ポリシーを設定する必要があります。

• ファイルシステムへの読み取りおよび書き込みアクセスを明示的に許可し、ルートアクセスを暗黙的に拒否する EFS ファイルシステムポリシーを作成します。

• Amazon EC2 インスタンスプロファイルを使用して、ファイルシステムへのルートアクセスを必要とする Amazon EC2 管理ワークステーションに IAM ID を割り当てます。Amazon EC2 インスタンスプロファイルの詳細については、AWS Identity and Access Management ユーザーガイドの「インスタンスプロファイルの使用」を参照してください。

• AmazonElasticFileSystemClientFullAccess AWS 管理ポリシーを、管理ワークステーションのIAM ロールに割り当てます。EFS の AWS 管理ポリシーの詳細については、「Amazon EFS での AWS管理 (事前定義) ポリシー (p. 155)」を参照してください。

NFS クライアントの IAM 認証を使用してルートスカッシュを有効にするには、以下の手順を使用します。

ファイルシステムへのルートアクセスを無効にするには

1. Amazon Elastic File System コンソール (https://console.aws.amazon.com/efs/) を開きます。2. [File systems (ファイルシステム)] ページで、ルートスカッシュを有効にする対象のファイルシステム

を選択します。3. [Actions (アクション)] で、[Manage client access (クライアントアクセスの管理)] を選択します。

[Manage file system permission (ファイルシステムのアクセス許可の管理)] ページが表示されます。4. [Disable root access (ルートアクセスを無効にする)] を選択し、[Set policy (ポリシーの設定)] を選択し

ます。

[{}JSON] タブに、生成されたファイルシステムポリシーが表示されます。

140

Page 149: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドチュートリアル: NFS 用 IAM を使用してルートスカッシュを有効にする

このポリシーは、すべての AWS プリンシパルに対して、ルートアクセスを暗黙的に拒否します。このファイルシステムポリシーを設定したら、IAM アイデンティティベースのポリシーを使用してルートアクセスを許可します。ID ベースのポリシーは匿名 NFS クライアントで利用できないため、匿名NFS クライアントもルートアクセスを拒否されます。

5. [Save (保存)] を選択して、ファイルシステムポリシーを保存します。

非匿名クライアントは、アイデンティティベースのポリシーを通じてファイルシステムへのルートアクセスを取得できます。AmazonElasticFileSystemClientFullAccess 管理ポリシーをワークステーションのロールにアタッチすると、IAM はその ID ポリシーに基づいてワークステーションへのルートアクセスを許可します。

管理ワークステーションからルートアクセスを有効にするには

1. IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。2. Amazon EC2 のロールとして EFS-client-root-access を作成します。IAM は、作成した EC2

ロールと同じ名前を使用してインスタンスプロファイルを作成します。3. 作成した EC2 ロールに AWS 管理ポリシー AmazonElasticFileSystemClientFullAccess を割

り当てます。このポリシーの内容は次のとおりです。

{ “Version”: “2012-10-17”, “Statement”: [ { “Resource”: “*”, “Effect”: “Allow”, “Action”: “elasticfilesystem:Client*” } ], "Condition": {}

141

Page 150: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドチュートリアル: NFS 用 IAM を使用してルートスカッシュを有効にする

}

4. 以下に説明するように、管理ワークステーションとして使用している EC2 インスタンスにインスタンスプロファイルをアタッチします。詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドの「IAM ロールをインスタンスにアタッチする」を参照してください。

a. https://console.aws.amazon.com/ec2/ で Amazon EC2 コンソールを開きます。b. ナビゲーションペインで、[インスタンス] を選択します。c. インスタンスを選択します。[Actions (アクション)] で [インスタンスの設定] を選択し、[IAM ロー

ルの割り当て/置換] を選択します。d. 最初のステップで作成した IAM ロール (EFS-client-root-access) を選択してから、[Apply

(適用)] を選択します。5. 管理ワークステーションに EFS マウントヘルパーをインストールします。EFS マウントヘルパーと

amazon-efs-utils パッケージの詳細については、「amazon-efs-utils ツールを使用する (p. 37)」を参照してください。

6. 以下のコマンドと iam マウントオプションを使用して、管理ワークステーションに EFS ファイルシステムをマウントします。

$ sudo mount -t efs -o tls,iam file-system-id:/ efs-mount-point

IAM 認証を使用してファイルシステムを自動的にマウントするように Amazon EC2 インスタンスを設定できます。IAM 認証を使用した EFS ファイルシステムのマウントの詳細については、「IAM 認証によるマウント (p. 67)」を参照してください。

142

Page 151: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドEFS でのデータの暗号化

Amazon EFS でのセキュリティAWS では、クラウドのセキュリティが最優先事項です。AWS のお客様は、セキュリティを最も重視する組織の要件を満たすように構築されたデータセンターとネットワークアーキテクチャから利点を得られます。

セキュリティは、AWS とお客様の間の共有責任です。共有責任モデルでは、これをクラウドのセキュリティおよびクラウド内のセキュリティとして説明しています。

• クラウドのセキュリティ – AWS は、AWS クラウド内で AWS サービスを実行するインフラストラクチャを保護する責任を担います。また、AWS は、使用するサービスを安全に提供します。AWS コンプライアンスプログラムの一環として、サードパーティーの監査が定期的にセキュリティの有効性をテストおよび検証しています。Amazon Elastic File System に適用されるコンプライアンスプログラムの詳細については、「コンプライアンスプログラム対象範囲内の AWS のサービス」を参照してください。

• クラウド内のセキュリティ – お客様の責任はお客様が使用する AWS のサービスによって決まります。また、お客様は、お客様のデータの機密性、企業の要件、および適用可能な法律および規制などの他の要因についても責任を担います。

このドキュメントは、Amazon EFS を使用する際に責任共有モデルを適用する方法を理解するのに役立ちます。以下のトピックでは、セキュリティおよびコンプライアンスの目的を達成するように Amazon EFSを設定する方法について説明します。また、Amazon EFS リソースのモニタリングや保護に役立つ AWSの他のサービスの使用方法についても説明します。

以下は、Amazon EFS を操作する際のセキュリティ上の考慮事項についての説明です。Amazon EFS ファイルシステムには 4 つのレベルのアクセスコントロールがあり、それぞれに異なるメカニズムが使用されています。

トピック• EFS でのデータの暗号化 (p. 143)• Amazon EFS の Identity and Access Management (p. 148)• NFS クライアントの Amazon EFS ファイルシステムへのネットワークアクセスのコントロー

ル (p. 163)• ネットワークファイルシステム (NFS) レベルでのユーザー、グループ、アクセス許可の操作 (p. 167)• Amazon EFS アクセスポイントの使用 (p. 171)• Amazon EFS でのログ記録とモニタリング (p. 174)• Amazon Elastic File System のコンプライアンス検証 (p. 174)• Amazon Elastic File System の耐障害性 (p. 175)• Amazon Elastic File System ネットワークの隔離 (p. 175)

EFS でのデータの暗号化Amazon EFS は、ファイルシステムの 2 つの暗号化形式、転送時の暗号化と保管時のデータの暗号化をサポートします。Amazon EFS ファイルシステムを作成する場合、保管時のデータの暗号化を有効にすることができます。後でファイルシステムをマウントする時、伝送中のデータの暗号化を有効にすることができます。

143

Page 152: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド暗号化を使用する場合

暗号化を使用する場合保管時のデータとメタデータの暗号化が必要な企業または規制ポリシーの対象となる組織の場合は、転送中のデータの暗号化を使用してファイルシステムをマウントする暗号化されたファイルシステムを作成することをおすすめします。

関連トピックAmazon EFS を使用した暗号化の詳細については、次の関連するトピックを参照してください。

• Amazon EFS のリソースを作成する (p. 20)• 暗号化されたファイルシステムへのアクセスの管理 (p. 63)• Amazon EFS パフォーマンスのヒント (p. 102)• Amazon EFS API のアクセス権限: アクション、リソース、条件リファレンス (p. 156)• 保管時に暗号化されたファイルシステムの Amazon EFS ログファイルエントリ (p. 93)• 暗号化のトラブルシューティング (p. 193)

トピック• 保存データの暗号化 (p. 144)• 転送中のデータの暗号化 (p. 146)

保存データの暗号化暗号化されていないファイルシステムの場合と同様に、AWS マネジメントコンソール、AWS CLI、またはプログラムを使用して、Amazon EFS API またはいずれかの AWS SDK で、暗号化されたファイルシステムを作成することができます。組織では、特定の分類に合致する、または特定のアプリケーション、ワークロード、環境に関連するすべてのデータを暗号化する必要が生じる場合があります。

Amazon CloudWatch および AWS CloudTrail を使用してファイルシステムが作成されていることの検出と、暗号化が有効になっていることの検証を行うことで、Amazon EFS ファイルシステムで保管中の暗号化が使用されているかどうかをモニタリングできます。詳細については、「ウォークスルー: AmazonEFS ファイルシステムでの保管時の暗号化の強制 (p. 137)」を参照してください。ファイルシステムポリシーを使用して、転送中の暗号化を適用できます。詳細については、「IAM を使用した Amazon EFS へのNFS アクセスのコントロール (p. 159)」を参照してください。

Note

AWS のキー管理のインフラストラクチャは、連邦情報処理標準 (FIPS) 140-2 で認可された暗号化アルゴリズムを使用します。このインフラストラクチャは、米国国立標準技術研究所 (NIST)800-57 推奨事項に準拠しています。

コンソールを使用して保管時のファイルシステムを暗号化するファイルシステムを作成するときに、保管時の暗号化を有効にするように選択できます。次の手順では、新しいファイルシステムをコンソールから作成するときに暗号化を有効にする方法を説明します。

コンソールで新しいファイルシステムを暗号化するには

1. Amazon Elastic File System コンソール (https://console.aws.amazon.com/efs/) を開きます。2. [Create file system (ファイルシステムの作成)] を選択して、ファイルシステム作成ウィザードを開き

ます。

144

Page 153: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド保存データの暗号化

3. [Step 1: Configure network access (ステップ 1: ネットワークアクセスの設定)] で VPC を選択し、マウントターゲットを作成して、[Next Step (次のステップ)] を選択します。

4. [Step 2: Configure file system settings (ステップ 2: ファイルシステム設定の構成)] で、タグを追加し、ライフサイクル管理を有効にします。さらに、スループットモードとパフォーマンスモードを選択し、暗号化を有効にしてファイルシステムを暗号化して、[Next Step (次のステップ)] を選択します。

5. [Step 3.Configure client access (ステップ 3: クライアントアクセスの設定)] で、事前設定済みのファイルシステムポリシーを選択するか、[{} JSON] タブの JSON エディタを使用してより高度なポリシーを作成できます。詳細については、「IAM を使用した Amazon EFS への NFS アクセスのコントロール (p. 159)」を参照してください。[Next Step] を選択します。

6. [Step 4: Review and create (ステップ 4: 確認と作成)] で設定を確認し、[Create File System (ファイルシステムの作成)] を選択します。

これで、新しい保管時に暗号化されるファイルシステムが作成されます。

保存時の暗号化の方法暗号化されたファイルシステムの場合、データとメタデータはファイルシステムに書き込まれる前に自動的に暗号化されます。同様に、データとメタデータが読み取られ、アプリケーションに提示される前に自動的に復号されます。このプロセスは Amazon EFS で透過的に処理されるため、アプリケーションを変更する必要はありません。

Amazon EFS は保管時の EFS データおよびメタデータを暗号化するために、業界標準の AES-256 暗号化アルゴリズムを使用します。詳細については、『AWS Key Management Service Developer Guide』の「暗号化の基礎」を参照してください。

Amazon EFS で AWS KMS を使用する方法Amazon EFS は、AWS Key Management Service (AWS KMS) と統合してキー管理を行います。AmazonEFS は、カスタマーマスターキー (CMK) を使用して、以下の方法でファイルシステムを暗号化します。

• 保存時のメタデータの暗号化 – Amazon EFS は Amazon EFS に AWS 管理 CMK、aws/elasticfilesystem を使用して、ファイルシステムメタデータ (つまり、ファイル名、ディレクトリ名、ディレクトリの内容) を暗号化および復号します。

• 保管時のファイルデータの暗号化 – ファイルデータ (ファイルの内容) の暗号化と復号に使用する CMKを選択します。この CMK の許可を有効化、無効化、または削除することができます。この CMK は、以下の 2 つのタイプのいずれかになります。• Amazon EFS 用の AWS 管理の CMK – これはデフォルトの CMK、aws/elasticfilesystem で

す。CMK の作成と保存に対して料金はかかりませんが、使用に対しては料金がかかります。詳細については、「AWS Key Management Service の料金表」を参照してください。

• カスタマー管理の CMK – これは、キーポリシーと許可を複数のユーザーまたはサービスに設定できる、最も柔軟性のあるマスターキーです。CMK 作成の詳細については、『AWS Key ManagementService Developer Guide』の「キーの作成」を参照してください。

カスタマー管理の CMK をファイルデータの暗号化と復号のマスターキーとして使用している場合、キーローテーションを有効にできます。キーローテーションを有効にすると、AWS KMS は、1 年に1 回、キーを自動的にローテーションします。また、カスタマー管理の CMK では、CMK へのアクセスを無効にしたり、再び有効化したり、削除したり、取り消すタイミングを随時選択することができます。詳細については、ファイルシステムの CMK へのアクセスの無効化、削除、取り消し (p. 64)を参照してください。

Important

Amazon EFS では、対称 CMK のみを使用できます。Amazon EFS で非対称 CMK を使用することはできません。

145

Page 154: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド転送中のデータの暗号化

保管時のデータの暗号化と復号は透過的に処理されます。ただし、Amazon EFS に固有の AWS アカウント ID は AWS KMS アクションに関連する AWS CloudTrail ログに表示されます。詳細については、「保管時に暗号化されたファイルシステムの Amazon EFS ログファイルエントリ (p. 93)」を参照してください。

AWS KMS の Amazon EFS キーポリシーキーポリシーは、CMK へのアクセスを制御するための主要な方法です。キーポリシーの詳細については、『AWS Key Management Service Developer Guide』の「AWS KMS でのキーポリシーの使用」を参照してください。以下のリストで、保管時のファイルシステムの暗号化に対して Amazon EFS でサポートされる、AWS KMS 関連のすべてのアクセス許可について説明します。

• kms:Encrypt – (オプション) プレーンテキストを暗号化テキストに暗号化します。この権限は、デフォルトのキーポリシーに含まれます。

• kms:Decrypt – (必須) 暗号化テキストを復号します。以前に暗号化された暗号化テキストはプレーンテキストです。この権限は、デフォルトのキーポリシーに含まれます。

• kms:ReEncrypt – (オプション) クライアント側にデータのプレーンテキストを公開することなく、サーバー側で新しいカスタマーマスターキー (CMK) を使用してデータを暗号化します。データを復号してから再暗号化します。この権限は、デフォルトのキーポリシーに含まれます。

• kms:GenerateDataKeyWithoutPlaintext – (必須) CMK で暗号化されたデータ暗号化キーを返します。この権限は、kms:GenerateDataKey* のデフォルトのキーポリシーに含まれます。

• kms:CreateGrant – (必須) キーを使用できるユーザーとその条件を指定する権限をキーに追加します。許可は、キーポリシーの代替のアクセス許可メカニズムです。許可の詳細については、『AWS KeyManagement Service Developer Guide』の「許可の使用」を参照してください。 この権限は、デフォルトのキーポリシーに含まれます。

• kms:DescribeKey – (必須) 指定されたカスタマーマスターキーに関する詳細情報を提供します。この権限は、デフォルトのキーポリシーに含まれます。

• kms:ListAliases – (オプション) アカウント内のキーエイリアスをすべて一覧表示します。コンソールを使用して暗号化されたファイルシステムを作成すると、このアクセス許可により KMS マスターキーの選択リストが設定されます。最高のユーザーエクスペリエンスを提供するこのアクセス許可を使用することをお勧めします。この権限は、デフォルトのキーポリシーに含まれます。

転送中のデータの暗号化転送中のデータを Amazon EFS ファイルシステムを使用して暗号化でき、アプリケーションを変更する必要はありません。

TLS を使用した転送中のデータの暗号化Amazon EFS ファイルシステムの転送中のデータの暗号化を有効にするには、Amazon EFS マウントヘルパーを使用してファイルシステムをマウントするときに、Transport Layer Security (TLS) を有効にします。詳細については、「EFS マウントヘルパーを使用してマウントする (p. 66)」を参照してください。

転送時のデータ暗号化が Amazon EFS ファイルシステムのマウントオプションとして宣言されている場合、マウントヘルパーはクライアント stunnel プロセスを初期化します。stunnel はオープンソースの多目的ネットワークリレーです。クライアント stunnel プロセスはインバウンドトラフィックのローカルポートをリッスンし、マウントヘルパーはネットワークファイルシステム (NFS) クライアントトラフィックをこのローカルポートにリダイレクトします。マウントヘルパーはファイルシステムとの通信に TLS バージョン 1.2 を使用します。

転送中のデータ暗号化を有効にし、マウントヘルパーを使用して、Amazon EFS ファイルシステムをマウントするには

1. Secure Shell (SSH) を介してインスタンスのターミナルにアクセスし、適切なユーザー名でログインします。これを行う方法の詳細については、『Linux インスタンス用 Amazon EC2 ユーザーガイド』の「SSH を使用した Linux インスタンスへの接続」を参照してください。

146

Page 155: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド転送中のデータの暗号化

2. 以下のコマンドを使用してファイルシステムをマウントします。

sudo mount -t efs -o tls fs-12345678:/ /mnt/efs

転送中の暗号化の動作転送中のデータの暗号化を有効にするには、TLS を使用して Amazon EFS に接続します。最もシンプルなオプションのマウントヘルパーの使用をお勧めします。

マウントヘルパーを使用していない場合でも、転送中のデータの暗号化を有効にすることができます。そうする場合の手順の概略は以下のとおりです。

マウントヘルパーを使用せずに転送中のデータの暗号化を有効にするには

1. stunnel をダウンロードしてインストールし、アプリケーションがリッスンするポートを書き留めます。

2. stunnel を実行し、TLS を使用して、ポート 2049 で Amazon EFS ファイルシステムに接続します。3. NFS クライアントを使用して、最初のステップで書き留めたポート localhost:port に、port を

マウントします。

接続ごとに転送中のデータ暗号化が設定されているため、設定された各マウントにはインスタンスで実行される専用の stunnel プロセスがあります。デフォルトでは、マウントヘルパーが使用する stunnel プロセスはローカルポート 20449 および 20049 をリッスンし、ポート 2049 で Amazon EFS に接続します。

Note

デフォルトでは、Amazon EFS マウントヘルパーを TLS で使用するときに、マウントヘルパーによって証明書ホスト名のチェックが適用されます。Amazon EFS マウントヘルパーは、TLS 機能の stunnel プログラムを使用します。Linux のバージョンによっては、これらの TLS 機能をサポートする stunnel のバージョンがデフォルトで含まれていない場合があります。これらの Linuxバージョンのいずれかを使用する場合、TLS を使用する Amazon EFS ファイルシステムのマウントが失敗します。amazon-efs-utils パッケージのインストール後に、システムの stunnel のバージョンをアップグレードするには、「stunnel のアップグレード (p. 39)」を参照してください。暗号化の問題については、暗号化のトラブルシューティング (p. 193) を参照してください。

転送中のデータの暗号化を使用する場合、NFS クライアント設定が変更されます。アクティブにマウントされたファイルシステムを検査する場合、次の例に示すように、localhost または 127.0.0.1 にマウントされたことが表示されます。

$ mount | column -t127.0.0.1:/ on /home/ec2-user/efs type nfs4 (rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,port=20127,timeo=600,retrans=2,sec=sys,clientaddr=127.0.0.1,local_lock=none,addr=127.0.0.1)

TLS および Amazon EFS マウントヘルパーを使用してマウントする場合、ローカルポートにマウントするために NFS クライアントを再設定します。マウントヘルパーは、このローカルポートをリッスンするクライアント stunnel プロセスを開始し、stunnel は TLS を使用して、EFS への暗号化された接続を開きます。EFS マウントヘルパーは、この暗号化された接続と関連する設定をセットアップして維持します。

ローカルマウントポイントに対応する Amazon EFS ファイルシステム ID を確認するために、次のコマンドを使用できます。efs-mount-point を、ファイルシステムをマウントしたローカルパスに置き換えます。

grep -E "Successfully mounted.*efs-mount-point" /var/log/amazon/efs/mount.log | tail -1

147

Page 156: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドIdentity and Access Management

転送中のデータの暗号化にマウントヘルパーを使用する場合は、amazon-efs-mount-watchdog というプロセスも作成されます。このプロセスは、各マウントの stunnel プロセスが実行されているかどうか、Amazon EFS ファイルシステムがアンマウントされたときに stunnel が停止されたかどうかを確認します。何らかの理由で、stunnel プロセスが予期せず終了した場合、ウォッチドッグプロセスにより再開されます。

Amazon EFS の Identity and Access ManagementAmazon EFS へのアクセスには、リクエストの認証に AWS が使用できる認証情報が必要です。これらの認証情報には、Amazon EFS ファイルシステムや Amazon EC2 インスタンスなどの AWS リソースに対するアクセス許可が含まれている必要があります。次のセクションでは、AWS Identity and AccessManagement (IAM) と Amazon EFS を使用して、リソースにアクセスできるユーザーを制御することで、リソースを保護する方法について詳しく説明します。

• 認証 (p. 148)• アクセスコントロール (p. 149)

認証AWS には、次のタイプのアイデンティティでアクセスできます。

• AWS アカウントのルートユーザー – AWS にサインアップするときは、AWS アカウントに関連付けられた E メールアドレスとパスワードを指定します。これは AWS アカウントのルートユーザーです。この認証情報はすべての AWS リソースに対する完全なアクセスを提供します。

Important

セキュリティ上の理由から、AWS アカウントへの完全なアクセス権限を持つ管理者 (IAM ユーザー) を作成するためにのみ、ルートユーザーを使用することをお勧めします。その後、この管理者ユーザーを使用して、制限されたアクセス権限を持つ他の IAM ユーザーとロールを作成できます。詳細については、『IAM ユーザーガイド』の「IAM のベストプラクティス」および「管理者のユーザーおよびグループの作成」を参照してください。

• IAM ユーザー – IAM ユーザーとは、簡単に述べると、特定のカスタムアクセス許可 (Amazon EFS で afile system を作成するアクセス許可など) を持つ AWS アカウント内のアイデンティティです。IAM のユーザー名とパスワードを使用して、AWS マネジメントコンソール、AWS ディスカッションフォーラム、AWS Support Center などのセキュリティで保護された AWS ウェブページにサインインできます。

 

ユーザー名とパスワードに加えて、各ユーザーのアクセスキーを生成することもできます。いくつかのSDK の 1 つまたは AWS Command Line Interface (CLI) を使ってプログラムで AWS サービスにアクセスするときに、これらのキーを使用できます。SDK と CLI ツールでは、アクセスキーを使用してリクエストが暗号で署名されます。AWS ツールを使用しない場合は、リクエストに自分で署名する必要があります。Amazon EFS supports では、署名バージョン 4 がサポートされています。これは、インバウンド API リクエストを認証するためのプロトコルです。リクエストの認証の詳細については、『AWSGeneral Reference』の「署名バージョン 4 の署名プロセス」を参照してください。

 • IAM ロール – IAM ロールは、特定のアクセス許可を持ち、アカウントで作成できる、もう 1 つの IAM ア

イデンティティです。これは IAM ユーザーに似ていますが、特定のユーザーに関連付けられていません。IAM ロールでは、AWS のサービスおよびリソースにアクセスできる一時的なアクセスキーを取得することができます。IAM ロールと一時的な認証情報は、次の状況で役立ちます。

 

148

Page 157: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドアクセスコントロール

• フェデレーティッドユーザーアクセス – IAM ユーザーを作成するのではなく、AWS DirectoryService、エンタープライズユーザーディレクトリ、またはウェブアイデンティティプロバイダーの既存のユーザーアイデンティティを使用することもできます。このようなユーザーはフェデレーティッドユーザーと呼ばれます。AWS では、ID プロバイダーを通じてアクセスがリクエストされたとき、フェデレーティッドユーザーにロールを割り当てます。フェデレーティッドユーザーの詳細については、IAM ユーザーガイドの「フェデレーティッドユーザーとロール」を参照してください。

 • クロスアカウント管理 – アカウントの IAM ロールを使用して、アカウントの Amazon EFS リソース

を管理するためのアクセス許可を別の AWS アカウントに付与することができます。この例については、『IAM ユーザーガイド』の「チュートリアル: AWS アカウント間の IAM ロールを使用したアクセスの委任」を参照してください。VPC またはアカウントにまたがって Amazon EFS ファイルシステムをマウントすることはできません。詳細については、「ファイルシステムのネットワークアクセシビリティの管理 (p. 44)」を参照してください。

 • AWSサービスアクセス – アカウントで IAM ロールを使って、お客様のアカウントのリソースにアク

セスするための AWS サービスのアクセス許可を付与できます。たとえば、Amazon Redshift がお客様に代わって Amazon S3 バケットにアクセスし、バケットからデータを Amazon Redshift クラスターにロードすることを許可するロールを作成できます。詳細については、『IAM ユーザーガイド』の「AWS サービスにアクセス権限を委任するロールの作成」を参照してください。

 • Amazon EC2 で実行されているアプリケーション – IAM ロールを使用して、EC2 インスタンスで実

行され、AWS API リクエストを作成しているアプリケーションの一時的な認証情報を管理できます。これは、EC2 インスタンス内でのアクセスキーの保存に推奨されます。AWS ロールを EC2 インスタンスに割り当て、そのすべてのアプリケーションで使用できるようにするには、インスタンスにアタッチされたインスタンスプロファイルを作成します。インスタンスプロファイルにはロールが含まれ、EC2 インスタンスで実行されるプログラムは一時認証情報を取得することができます。詳細については、「Amazon EC2 インスタンスで実行されるアプリケーションに IAM ロールを使用してアクセス権限を付与する」 (IAM ユーザーガイド) を参照してください。

アクセスコントロール有効な認証情報があればリクエストを認証できますが、アクセス許可が付与されている場合を除き、Amazon Elastic File System リソースの作成やアクセスはできません。たとえば、Amazon EFS ファイルシステムを作成するためのアクセス権限が必要です。

以下のセクションでは、Amazon EFS のアクセス許可を管理する方法について説明します。最初に概要のセクションを読むことをお勧めします。

• Amazon EFS リソースへのアクセス許可の管理の概要 (p. 149)• EFS API へのアクセスの制御 (p. 153)

Amazon EFS リソースへのアクセス許可の管理の概要すべての AWS リソースは AWS アカウントによって所有され、リソースの作成またはアクセスは、アクセス権限のポリシーによって管理されます。アカウント管理者は、IAM アイデンティティ (ユーザー、グループ、ロール) にアクセス許可ポリシーをアタッチできます。一部のサービス (Amazon EFS など) では、アクセス許可ポリシーをリソースにアタッチすることもできます。

Note

アカウント管理者 (または管理者ユーザー) は、管理者権限を持つユーザーです。詳細については、IAM ユーザーガイド の「IAM のベストプラクティス」を参照してください。

149

Page 158: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドアクセス管理の概要

アクセス権限を付与する場合、アクセス権限を取得するユーザー、取得するアクセス権限の対象となるリソース、およびそれらのリソースに対して許可される特定のアクションを決定します。

トピック• Amazon EFS リソースおよびオペレーション (p. 150)• リソース所有権について (p. 150)• リソースへのアクセスの管理 (p. 150)• ポリシー要素の指定 : アクション、効果、プリンシパル (p. 152)• ポリシーでの条件の指定 (p. 152)

Amazon EFS リソースおよびオペレーションAmazon EFS のプライマリリソースはファイルシステムです。Amazon EFS の追加のリソースタイプとして、マウントターゲットとアクセスポイントもサポートされています。ただし Amazon EFS では、既存のファイルシステムのコンテキストでのみマウントターゲットとアクセスポイントを作成できます。マウントターゲットおよびアクセスポイントは、サブリソースと呼ばれます。

これらのリソースとサブリソースには、次の表に示すとおり、一意の Amazon リソースネーム (ARN) が関連付けられています。

Amazon EFS では、Amazon EFS リソースを操作する一連のオペレーションが用意されています。利用可能なオペレーションのリストについては、「Amazon EFSActions (p. 198)」と「NFS クライアントのEFS アクション (p. 159)」を参照してください。

リソース所有権についてAWS アカウントは、誰がリソースを作成したかにかかわらず、アカウントで作成されたリソースを所有します。具体的には、リソース所有者は、リソースの作成リクエストを認証するプリンシパルエンティティ(ルートアカウント、IAM ユーザー、または IAM ロール) の AWS アカウントです。以下の例では、このしくみを示しています。

• AWS アカウントのルートアカウントの認証情報を使用してファイルシステムを作成する場合、このAWS アカウントがリソースの所有者です (Amazon EFS では、リソースはファイルシステムです)。

• AWS アカウントに IAM ユーザーを作成し、ファイルシステムを作成するためのアクセス権限をそのユーザーに付与した場合、そのユーザーはファイルシステムを作成できます。ただし、ユーザーが属する AWS アカウントはファイルシステムリソースを所有しています。

• AWS アカウントに、ファイルシステムを作成するためのアクセス権限を持つ IAM ロールを作成する場合は、ロールを引き受けることのできるいずれのユーザーもファイルシステムを作成できます。ロールが属する AWS アカウントはファイルシステムリソースを所有しています。

リソースへのアクセスの管理アクセスポリシーでは、誰が何にアクセスできるかを記述します。以下のセクションで、アクセス権限のポリシーを作成するために使用可能なオプションについて説明します。

Note

このセクションでは、Amazon EFS のコンテキストでの IAM の使用について説明します。これは、IAM サービスに関する詳細情報を取得できません。完全な IAM ドキュメントについては、IAM ユーザーガイドの「IAM とは?」を参照してください。IAM ポリシーの構文と説明については、IAM ユーザーガイド の「IAM ポリシーリファレンス」を参照してください。

IAM のアイデンティティにアタッチされたポリシーはアイデンティティベースのポリシー (IAM ポリシー)と呼ばれ、リソースにアタッチされたポリシーはリソースベースのポリシーと呼ばれます。Amazon EFSは、アイデンティティベースのポリシーとリソースベースのポリシーの両方をサポートしています。

150

Page 159: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドアクセス管理の概要

トピック• アイデンティティベースのポリシー (IAM ポリシー) (p. 151)• リソースベースのポリシー (p. 151)

アイデンティティベースのポリシー (IAM ポリシー)IAM の ID にポリシーをアタッチして、EFS API へのアクセスを制御したり、NFS クライアントアクセスを制御したりできます。たとえば、ファイルシステムなどの Amazon EFS リソースを作成するためのアクセス許可をユーザーに付与するには、ユーザーまたはユーザーが属するグループにアクセス許可ポリシーをアタッチできます。

IAM を使用したアクセス権限の委任の詳細については、IAM ユーザーガイド の「アクセス管理」を参照してください。

以下に示しているのは、お客様の AWS アカウントに対する CreateFileSystem アクションの実行をユーザーに許可するポリシーの例です。

{ "Version": "2012-10-17", "Statement": [ { "Sid" : "Stmt1EFSpermissions", "Effect": "Allow", "Action": [ "elasticfilesystem:CreateFileSystem", "elasticfilesystem:CreateMountTarget" ], "Resource": "arn:aws:elasticfilesystem:us-west-2:account-id:file-system/*" }, { "Sid" : "Stmt2EC2permissions", "Effect": "Allow", "Action": [ "ec2:DescribeSubnets", "ec2:CreateNetworkInterface", "ec2:DescribeNetworkInterfaces" ], "Resource": "*" } ]

Amazon EFS でアイデンティティベースのポリシーを使用する方法の詳細については、「EFS API へのアクセスの制御 (p. 153)」を参照してください。ユーザー、グループ、ロール、アクセス権限の詳細については、IAM ユーザーガイド の「アイデンティティ (ユーザー、グループ、ロール)」を参照してください。

リソースベースのポリシーファイルシステムポリシーを使用して、ファイルシステムへの API アクセスおよび NFS クライアントアクセスを制御できます。Amazon EFS は、ファイルシステム用の FileSystemPolicy と呼ばれるリソースベースのポリシーをサポートしています。EFS FileSystemPolicy を使用すると、ファイルシステムにアクセスできるユーザーと、ファイルシステムに対して実行できるアクションを指定できます。ファイルシステムポリシーを使用すると、ファイルシステムへのアクセスを簡単に制御でき、ファイルシステムごとに他のアカウントに使用権限を付与できます。次のファイルシステムポリシーは ClientMount (読み取り専用) アクセス許可を、AWS IAM のすべてのプリンシパルに付与します。

{ "Version": "2012-10-17", "Id": "read-only-example-policy02",

151

Page 160: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドアクセス管理の概要

"Statement": [ { "Sid": "efs-statement-example02", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": [ "elasticfilesystem:ClientMount" ] } ]}

ポリシー要素の指定 : アクション、効果、プリンシパルサービスは、Amazon EFS リソース (「Amazon EFS リソースおよびオペレーション (p. 150)」を参照) ごとに、アクセス許可を付与できる対象の一連のアクション API オペレーション (「Actions (p. 198)」および「NFS クライアントの EFS アクション (p. 159)」を参照) を定義します。Amazon EFS ファイルシステムリソースの場合、アクションはCreateFileSystem、DeleteFileSystem、DescribeFileSystems などです。1 つの API オペレーションの実行で、複数のアクションのアクセス権限が必要になる場合があります。

以下は、最も基本的なポリシーの要素です。

• リソース – リソースベースのポリシー (ファイルシステムポリシー) では、ポリシーをアタッチする先のリソースは暗黙的なリソースです。ID ベースのポリシーでは、Amazon リソースネーム (ARN) を使用して、ポリシーを適用するリソースを識別します。詳細については、「Amazon EFS リソースおよびオペレーション (p. 150)」を参照してください。

• アクション – アクションのキーワードを使用して、許可または拒否するリソースオペレーションを識別します。たとえば、指定した効果に応じて、elasticfilesystem:CreateFileSystem は AmazonEFS CreateFileSystem オペレーションを実行するアクセス許可をユーザーに付与または拒否します。

• 効果 – ユーザーが特定のアクションをリクエストする際の効果を指定します。許可または拒否のいずれかになります。リソースへのアクセスを明示的に許可していない場合、アクセスは暗黙的に拒否されます。また、明示的にリソースへのアクセスを拒否すると、別のポリシーによってアクセスが許可されている場合でも、ユーザーはそのリソースにアクセスできなくなります。

• プリンシパル – アイデンティティベースのポリシー (IAM ポリシー) で、ポリシーがアタッチされているユーザーが黙示的なプリンシパルとなります。リソースベースのポリシーでは、権限 (リソースベースのポリシーにのみ適用) を受け取りたいユーザー、アカウント、サービス、またはその他のエンティティを指定します。

IAM ポリシーの構文と説明については、IAM ユーザーガイド の「IAM ポリシーリファレンス」を参照してください。

すべての Amazon EFS API アクションを示す表については、「Amazon EFS API のアクセス権限: アクション、リソース、条件リファレンス (p. 156)」を参照してください。

Amazon EFS NFS クライアントのすべてのアクションを示す表については、「IAM を使用した AmazonEFS への NFS アクセスのコントロール (p. 159)」を参照してください。

ポリシーでの条件の指定アクセス権限を付与するとき、IAM ポリシー言語を使用して、ポリシーが有効になる必要がある条件を指定できます。ポリシーでの条件の指定の詳細については、IAM ユーザーガイドの「IAM JSON ポリシーエレメント: 条件」を参照してください。

152

Page 161: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAPI へのアクセスの制御

EFS 固有の条件キーと AWS 全体の条件キーがあり、必要に応じて使用できます。AWS 全体を対象とするすべてのキーのリストについては、『IAM ユーザーガイド』の「条件に利用可能なキー」を参照してください。EFS 固有の条件キーの詳細なリストについては、「NFS クライアントの EFS 条件キー (p. 159)」を参照してください。

Note

CreateMountTarget、DeleteMountTarget、DescribeMountTargetSecurityGroups、または ModifyMountTargetSecurityGroup アクションに、aws:SourceIp AWS 全体に対する条件を使用しないでください。Amazon EFS はリクエストの送信元 IP アドレスではなく、独自の IP アドレスを使用してマウントターゲットをプロビジョニングします。

EFS API へのアクセスの制御IAM の ID ポリシーとリソースポリシーの両方を使用して、Amazon EFS リソースに対して API オペレーションを実行するためのアクセス許可を付与できます。このトピックでは、ID ベースのポリシーの例を通じて、アカウント管理者が IAM の ID (ユーザー、グループ、ロール) にアクセス許可ポリシーをアタッチする方法を示します。これは、Amazon EFS API へのアクセスを制御する最も一般的な方法です。

Important

初めに、Amazon EFS リソースへのアクセスを管理するための基本概念と使用可能なオプションについて説明する概要トピックを読むことをお勧めします。詳細については、「Amazon EFS リソースへのアクセス許可の管理の概要 (p. 149)」を参照してください。

このセクションでは、次のトピックを対象としています。

• Amazon EFS コンソールを使用するために必要なアクセス権限 (p. 154)• Amazon EFS での AWS 管理 (事前定義) ポリシー (p. 155)• お客様が管理するポリシーの例 (p. 155)

以下に示しているのは、アクセス権限ポリシーの例です。

{ "Version": "2012-10-17", "Statement": [ { "Sid" : "AllowFileSystemPermissions", "Effect": "Allow", "Action": [ "elasticfilesystem:CreateFileSystem", "elasticfilesystem:CreateMountTarget" ], "Resource": "arn:aws:elasticfilesystem:us-west-2:account-id:file-system/*" }, { "Sid" : "AllowEC2Permissions", "Effect": "Allow", "Action": [ "ec2:DescribeSubnets", "ec2:CreateNetworkInterface", "ec2:DescribeNetworkInterfaces" ], "Resource": "*" } ]}

このポリシーには以下の 2 つのステートメントがあります。

153

Page 162: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAPI へのアクセスの制御

• 1 つ目のステートメントは、ファイルシステムの Amazon リソースネーム (ARN) を使用して、リソースでの 2 つの Amazon EFS アクション (elasticfilesystem:CreateFileSystem とelasticfilesystem:CreateMountTarget) に対するアクセス許可を付与します。ファイルシステムを作成するまではファイルシステム ID が不明であるため、ARN ではワイルドカード文字 (*) を指定します。

• 2 番目のステートメントは、最初のステートメントで elasticfilesystem:CreateMountTarget アクションが特定の Amazon EC2 アクションのアクセス権限が必要なため、一部の Amazon EC2; アクションに対してアクセス権限を付与します。これらの Amazon EC2 アクションはリソースレベルのアクセス許可をサポートしていないため、ポリシーはファイルシステム ARN ではなくワイルドカード文字(*) を Resource の値として指定します。

アイデンティティベースのポリシーでアクセス権限を得るプリンシパルを指定していないため、ポリシーでは Principal 要素を指定していません。ユーザーにポリシーをアタッチすると、そのユーザーが暗黙のプリンシパルになります。IAM ロールにアクセス権限ポリシーをアタッチすると、ロールの信頼ポリシーで識別されたプリンシパルがアクセス権限を得ることになります。

すべての Amazon EFS API アクションとそれらが適用されるリソースを示す表については、「AmazonEFS API のアクセス権限: アクション、リソース、条件リファレンス (p. 156)」を参照してください。

Amazon EFS コンソールを使用するために必要なアクセス権限アクセス権限のリファレンス表では、Amazon EFS の API オペレーションと各オペレーションに必要なアクセス権限を示しています。Amazon EFS API オペレーションの詳細については、「Amazon EFS API のアクセス権限: アクション、リソース、条件リファレンス (p. 156)」を参照してください。

Amazon EFS コンソールを使用するには、以下のアクセス許可ポリシーに示しているように、追加のアクションに対するアクセス許可を付与する必要があります。

{ "Version": "2012-10-17", "Statement": [ { "Sid" : "Stmt1AddtionalEC2PermissionsForConsole", "Effect": "Allow", "Action": [ "ec2:DescribeAvailabilityZones", "ec2:DescribeSecurityGroups", "ec2:DescribeVpcs", "ec2:DescribeVpcAttribute"

], "Resource": "*" } { "Sid" : "Stmt2AdditionalKMSPermissionsForConsole", "Effect": "Allow", "Action": [ "kms:ListAliases", "kms:DescribeKey" ], "Resource": "*" } ]}

Amazon EFS コンソールには、以下の理由でこれらの追加のアクセス権限が必要になります。

• Amazon EFS アクションを実行するためのアクセス権限。コンソールで、アカウントの Amazon EFS リソースを表示するために必要です。

154

Page 163: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAPI へのアクセスの制御

• Amazon EC2 に対してクエリを行う ec2 アクションを実行するためのアクセス権限。コンソールで、アベイラビリティーゾーン、VPC、セキュリティグループ、アカウント属性を表示するために必要です。

• コンソールが暗号化されたファイルシステムを作成するには kms アクション用のアクセス権限が必要です。暗号化されたファイルシステムの詳細については、「EFS でのデータの暗号化 (p. 143)」を参照してください。

Amazon EFS での AWS 管理 (事前定義) ポリシーAWS は、AWS によって作成され管理されるスタンドアロンの IAM ポリシーが提供する多くの一般的ユースケースに対応します。管理ポリシーは、一般的ユースケースに必要なアクセス権限を付与することで、どの権限が必要なのかをユーザーが調査する必要をなくすることができます。詳細については、『IAMユーザーガイド』の「AWS 管理ポリシー」を参照してください。

アカウントのユーザーにアタッチできる以下の AWS 管理ポリシーは、Amazon EFS に固有のものです。

• AmazonElasticFileSystemReadOnlyAccess – Amazon EFS リソースへの読み取り専用アクセスを付与します。

• AmazonElasticFileSystemFullAccess – Amazon EFS リソースへのフルアクセスを付与します。

Note

IAM コンソールにサインインし、特定のポリシーを検索することで、これらのアクセス権限ポリシーを確認することができます。

独自のカスタム IAM ポリシーを作成して、Amazon EFS API アクションにアクセス権限を付与することもできます。これらのカスタムポリシーは、それらのアクセス権限が必要な IAM ユーザーまたはグループにアタッチできます。

お客様が管理するポリシーの例このセクションでは、さまざまな Amazon EFS アクションのアクセス権限を付与するユーザーポリシー例を示しています。これらのポリシーは、AWS SDK または AWS CLI を使用しているときに機能します。コンソールを使用している場合は、「Amazon EFS コンソールを使用するために必要なアクセス権限 (p. 154)」で説明しているコンソールに固有の追加のアクセス権限を付与する必要があります。

Note

すべての例で、us-west-2 リージョンを使用し、架空のアカウント ID を含めています。

例• 例 1: ユーザーに既存のファイルシステムへのマウントターゲットとタグの作成を許可する (p. 155)• 例 2: すべての Amazon EFS アクションの実行をユーザーに許可する (p. 156)

例 1: ユーザーに既存のファイルシステムへのマウントターゲットとタグの作成を許可する次のアクセス権限ポリシーは、us-west-2 リージョンで特定のファイルシステムのマウントターゲットとタグを作成するためのアクセス権限をユーザーに付与します。マウントターゲットを作成するには、特定の Amazon EC2 アクションのアクセス権限も必要で、アクセス権限ポリシーに含まれています。

{ "Version": "2012-10-17", "Statement": [ { "Sid" : "Stmt1CreateMountTargetAndTag",

155

Page 164: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAPI へのアクセスの制御

"Effect": "Allow", "Action": [ "elasticfilesystem:CreateMountTarget", "elasticfilesystem:DescribeMountTargets", "elasticfilesystem:CreateTags", "elasticfilesystem:DescribeTags" ], "Resource": "arn:aws:elasticfilesystem:us-west-2:123456789012:file-system/file-system-ID" }, { "Sid" : "Stmt2AdditionalEC2PermissionsToCreateMountTarget", "Effect": "Allow", "Action": [ "ec2:DescribeSubnets", "ec2:CreateNetworkInterface", "ec2:DescribeNetworkInterfaces" ], "Resource": "*" } ]}

例 2: すべての Amazon EFS アクションの実行をユーザーに許可する

次のアクセス許可ポリシーでは、ワイルドカード文字 ("elasticfilesystem:*") を使用して us-west-2 リージョンでのすべての Amazon EFS アクションを許可します。一部の Amazon EFS アクションは、Amazon EC2 アクションのアクセス権限も必要であるため、このポリシーではすべてのアクションへのアクセス権限も付与されます。

{ "Version": "2012-10-17", "Statement": [ { "Sid" : "Stmt1PermissionForAllEFSActions", "Effect": "Allow", "Action": "elasticfilesystem:*", "Resource": "arn:aws:elasticfilesystem:us-west-2:123456789012:file-system/*" }, { "Sid" : "Stmt2RequiredEC2PermissionsForAllEFSActions", "Effect": "Allow", "Action": [ "ec2:DescribeSubnets", "ec2:CreateNetworkInterface", "ec2:DescribeNetworkInterfaces", "ec2:DeleteNetworkInterface", "ec2:ModifyNetworkInterfaceAttribute", "ec2:DescribeNetworkInterfaceAttribute" ], "Resource": "*" } ]}

Amazon EFS API のアクセス権限: アクション、リソース、条件リファレンスアクセスコントロール (p. 149) をセットアップし、IAM アイデンティティにアタッチできるアクセス権限ポリシー (アイデンティティベースのポリシー) を作成するときは、以下のリストをリファレンスと

156

Page 165: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAPI へのアクセスの制御

して使用できます。 リストを含む には、各 Amazon EFS API オペレーション、アクションの実行権限を付与するためのアクション、および権限を付与する AWS リソースを示しています。ポリシーの Actionフィールドでアクションを指定し、ポリシーの Resource フィールドでリソースの値を指定します。

Amazon EFS ポリシーで AWS 全体の条件キーを使用して、条件を表現することができます。AWS 全体のキーの完全なリストについては、IAM ユーザーガイド の「利用可能なキー」を参照してください。

Note

アクションを指定するには、API オペレーション名(elasticfilesystem:CreateFileSystem など) の前に elasticfilesystem: プレフィックスを使用します。

Amazon EFS API とアクションで必要なアクセス権限

CreateFileSystem (p. 203)

1 つ以上のアクション: elasticfilesystem:CreateFileSystem

リソース: arn:aws:elasticfilesystem:region:account-id:file-system/*CreateMountTarget (p. 211)

1 つ以上のアクション:elasticfilesystem:CreateMountTarget、ec2:DescribeSubnets、ec2:DescribeNetworkInterfaces、ec2:CreatenetworkInterface

リソース: arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id

CreateTags (p. 218)

1 つ以上のアクション: elasticfilesystem:CreateTags

リソース: arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id

DeleteFileSystem (p. 223)

1 つ以上のアクション: elasticfilesystem:DeleteFileSystem

リソース: arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id

DeleteMountTarget (p. 227)

1 つ以上のアクション:elasticfilesystem:DeleteMountTarget、ec2:DeleteNetworkInterface

リソース: arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id

DeleteTags (p. 230)

1 つ以上のアクション: elasticfilesystem:DeleteTags

リソース: arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id

DescribeFileSystems (p. 238)

1 つ以上のアクション: elasticfilesystem:DescribeFileSystems

リソース: arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id, arn:aws:elasticfilesystem:region:account-id:file-system/*

157

Page 166: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAPI へのアクセスの制御

DescribeLifecycleConfiguration (p. 242)

1 つ以上のアクション: elasticfilesystem:DescribeLifecycleConfiguration

リソース: arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id

DescribeMountTargetSecurityGroups (p. 249)

1 つ以上のアクション:elasticfilesystem:DescribeMountTargetSecurityGroups、ec2:DescribeNetworkInterfaceAttribute

リソース: arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id

DescribeMountTargets (p. 245)

1 つ以上のアクション: elasticfilesystem:DescribeMountTargets

リソース: arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id

DescribeTags (p. 252)

1 つ以上のアクション: elasticfilesystem:DescribeTags

リソース: arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id

ModifyMountTargetSecurityGroups (p. 257)

1 つ以上のアクション: elasticfilesystem:ModifyMountTargetSecurityGroups、ec2:ModifyNetworkInterfaceAttribute

リソース: arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id

PutFileSystemPolicy (p. 260)

1 つ以上のアクション: elasticfilesystem:PutFileSystemPolicy

リソース: arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id

PutLifecycleConfiguration (p. 263)

1 つ以上のアクション: elasticfilesystem:PutLifecycleConfiguration

リソース: arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id

TagResource (p. 267)

1 つ以上のアクション: elasticfilesystem:TagResource

リソース: arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id

UntagResource (p. 269)

1 つ以上のアクション: elasticfilesystem:UntagResource

リソース: arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id

UpdateFileSystem (p. 271)

1 つ以上のアクション:elasticfilesystem:UpdateFileSystem、elasticfilesystem:UpdateFileSystem

158

Page 167: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドIAM を使用して NFS アクセスを制御する

リソース: arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id

IAM を使用した Amazon EFS への NFS アクセスのコントロールIAM の ID ポリシーとリソースポリシーの両方を使用して、クラウド環境向けのスケーラブルで最適化された方法により、Amazon EFS リソースへの NFS クライアントアクセスを制御できます。IAM を使用すると、読み取り専用アクセス、書き込みアクセス、ルートアクセスなどの特定のアクションをファイルシステムに実行することをクライアントに許可できます。

NFS クライアントは、EFS ファイルシステムに接続するときに、IAM ロールを使用してそれ自体を識別できます。クライアントがファイルシステムに接続すると、Amazon EFS はファイルシステムの IAM リソースポリシー (ファイルシステムポリシー) と ID ベースの IAM ポリシーを評価し、付与する適切なファイルシステムアクセス許可を決定します。

NFS クライアントの IAM 認証を使用すると、クライアント接続と IAM 認証の決定が AWS CloudTrail に記録されます。CloudTrail を使用して Amazon EFS API コールを記録する方法の詳細については、「AWSCloudTrail を使用した Amazon EFS API 呼び出しのログ作成 (p. 87)」を参照してください。

Important

IAM 認証を使用して NFS クライアントによるアクセスをコントロールするには、EFS マウントヘルパーを使用して Amazon EFS ファイルシステムをマウントする必要があります。詳細については、「IAM 認証によるマウント (p. 67)」を参照してください。

デフォルトの EFS ファイルシステムポリシーデフォルトの EFS ファイルシステムポリシーは、ファイルシステムに接続できる NFS クライアントへのフルアクセスを許可します。デフォルトポリシーは、ファイルシステムの作成時を含め、ユーザーがファイルシステムポリシーを設定していない場合に有効になります。デフォルトのファイルシステムポリシーが有効な場合、DescribeFileSystemPolicy (p. 235) API オペレーションは PolicyNotFound レスポンスを返します。

NFS クライアントの EFS アクションファイルシステムポリシーを使用して、ファイルシステムに対する NFS クライアントの以下のアクションを指定できます。

アクション 説明

elasticfilesystem:ClientMountファイルシステムへの読み取り専用アクセスを NFS クライアントに許可します。

elasticfilesystem:ClientWriteファイルシステムへの書き込みアクセス許可を NFS クライアントに付与します。

elasticfilesystem:ClientRootAccessファイルシステムへのアクセス時にルートユーザーを使用することを NFS クライアントに許可します。

NFS クライアントの EFS 条件キー条件を表現するには、定義済みの条件キーを使用します。Amazon EFS には、NFS クライアント用の以下の条件キーがあらかじめ定義されています。

159

Page 168: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドIAM を使用して NFS アクセスを制御する

EFS 条件キー 説明 演算子

aws:SecureTransportこのキーを使用して、NFS クライアントから EFS ファイルシステムに接続するときに TLS を使用することを要求します。

Boolean

elasticfilesystem:AccessPointArnクライアントが接続する先の EFS アクセスポイントのARN。

ファイルシステムポリシーの例このセクションでは、さまざまな Amazon EFS アクションに対してアクセス許可を付与または拒否するファイルシステムポリシーの例を示します。リソースベースのポリシーの要素については、「ポリシー要素の指定 : アクション、効果、プリンシパル (p. 152)」を参照してください。

Important

ファイルシステムポリシーで個々の IAM ユーザーまたはロールにアクセス許可を付与する場合、ポリシーがファイルシステムで有効な間は、そのユーザーまたはロールを削除したり再作成したりしないでください。そのような操作を行うと、そのユーザーまたはロールはファイルシステムから事実上ロックアウトされ、アクセスできなくなります。詳細については、IAM ユーザーガイドの「プリンシパルの指定」を参照してください。

例 1: すべての IAM プリンシパルに対して読み取りおよび書き込みアクセスを許可する

この例の EFS ファイルシステムポリシーには、以下の特徴があります。

• 効果は Allow です。• プリンシパルは、すべての IAM エンティティを示す「*」に設定されます。• アクションは ClientMount、ClientWrite、ClientRootAccess に設定されます。• アクセス許可を付与する条件は SecureTransport に設定されます。つまり、TLS を使用してファイ

ルシステムに接続する NFS クライアントにのみアクセスが許可されます。

{ "Version": "2012-10-17", "Id": "ExamplePolicy01", "Statement": [ { "Sid": "ExampleSatement01", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": [ "elasticfilesystem:ClientMount", "elasticfilesystem:ClientWrite" ], "Condition": { "Bool": { "aws:SecureTransport": "true" } } } ]}

160

Page 169: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドEFS サービスにリンクされたロールの使用

例 2: 読み取り専用アクセスの付与以下のファイルシステムポリシーは、すべての IAM プリンシパルに ClientMount (読み取り専用) アクセス許可のみを付与します。

{ "Version": "2012-10-17", "Id": "read-only-example-policy02", "Statement": [ { "Sid": "efs-statement-example02", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": [ "elasticfilesystem:ClientMount" ] } ]}

特定の管理ワークステーションを除くすべての IAM プリンシパルに対してルートアクセスを拒否するなど、追加のファイルシステムポリシーを設定する方法については、「チュートリアル: NFS クライアントの IAM 認証を使用してルートスカッシュを有効にする (p. 139)」を参照してください。

例 3: EFS アクセスポイントに対してアクセスを許可するEFS アクセスポリシーを使用して、EFS ファイルシステムの共有ファイルベースのデータセットに関するアプリケーション固有のビューを、NFS クライアントに提供します。ファイルシステムポリシーを使用して、ファイルシステムへのアクセス許可をアクセスポイントに付与します。このファイルポリシーの例では、条件要素を使用して、ARN によって識別された特定のアクセスポイントに対してファイルシステムへのフルアクセスを許可します。EFS アクセスポイントの詳細については、「Amazon EFS アクセスポイントの使用 (p. 171)」を参照してください。

{ "Version": "2012-10-17", "Id": "access-point-example03", "Statement": [ { "Sid": "access-point-statement-example03", “Effect”: “Allow”, “Principal”: {“arn:aws::account_id:role/myapp”}, “Action”: “elasticfilesystem:Client*”, “Condition”: { “StringEquals”: { “elasticfilesystem:AccessPointArn”:“arn:aws::account_id/access-point/access_point_id” } } } ]}

Amazon EFS サービスにリンクされたロールの使用Amazon Elastic File System は、AWS Identity and Access Management (IAM) サービスにリンクされたロールを使用します。Amazon EFS サービスにリンクされたロールは、Amazon EFS に直接リンクされた一意のタイプの IAM ロールです。定義済みの Amazon EFS サービスにリンクされたロールには、その

161

Page 170: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドEFS サービスにリンクされたロールの使用

サービスがユーザーに代わって AWS の他のサービスを呼び出すために必要なアクセス許可が含まれています。

サービスにリンクされたロールを使用すると、必要なアクセス許可を手動で追加する必要がなくなるため、Amazon EFS の設定が容易になります。Amazon EFS サービスにリンクされたロールのアクセス許可を定義するのは Amazon EFS 自体であり、そのロールは引き受けることができるのは当該サービスのみです。定義されるアクセス権限には、信頼ポリシーやアクセス許可ポリシーなどがあり、そのアクセス許可ポリシーを他の IAM エンティティにアタッチすることはできません。

Amazon EFS サービスにリンクされたロールを削除するには、最初に Amazon EFS ファイルシステムを削除する必要があります。これにより、リソースへの意図しないアクセスによるアクセス許可の削除が防止され、Amazon EFS リソースは保護されます。

サービスにリンクされたロールを使用すると、すべての API コールを CloudTrail から表示できます。これにより、Amazon EFS がユーザーに代わって実行するすべてのアクションを追跡できるため、モニタリングと監査の要件を満たしやすくなります。詳細については、「EFS サービスにリンクされたロールのログエントリ (p. 90)」を参照してください。

Amazon EFS のサービスにリンクされたロールのアクセス許可Amazon EFS では、AWSServiceRoleForAmazonElasticFileSystem to allow Amazon EFS to calland manage AWS resources on behalf of your EFS file systems と呼ばれるサービスにリンクされたロールを使用します。

AWSServiceRoleForAmazonElasticFileSystem サービスにリンクされたロールは、ロールを引き受ける上で次のサービスを信頼します。

• elasticfilesystem.amazonaws.com

ロールのアクセス許可ポリシーは、Amazon EFS が次のアクションを完了することを許可します。

• ec2:CreateNetworkInterface

• ec2:DeleteNetworkInterface

• ec2:DescribeSecurityGroups

• ec2:DescribeSubnets

• ec2:DescribeNetworkInterfaceAttribute

• ec2:ModifyNetworkInterfaceAttribute

IAM エンティティ (ユーザー、グループ、ロールなど) がサービスにリンクされたロールを作成、編集、削除できるようにするには、アクセス権限を設定する必要があります。詳細については、IAM ユーザーガイド の「サービスにリンクされたロールのアクセス許可」を参照してください。

Note

保管時に暗号化される新しい Amazon EFS ファイルシステムを作成する場合は、AWS KMSの IAM アクセス許可を手動で設定する必要があります。詳細については、「保存データの暗号化 (p. 144)」を参照してください。

Amazon EFS のサービスにリンクされたロールの作成サービスにリンクされたロールを手動で作成する必要はありません。AWS マネジメントコンソール、AWS CLI、または AWS API で create mount targets for your EFS file system を行うと、サービスにリンクされたロールが Amazon EFS で自動的に作成されます。

このサービスにリンクされたロールを削除した後で再度作成する必要が生じた場合は、同じ方法でアカウントにロールを再作成できます。サービスにリンクされたロールは、create mount targets for your EFS filesystem すると Amazon EFS で再度自動的に作成されます。

162

Page 171: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドネットワークアクセスの制御

Amazon EFS のサービスにリンクされたロールの編集Amazon EFS では、AWSServiceRoleForAmazonElasticFileSystem サービスにリンクされたロールの編集をユーザーに許可しません。サービスにリンクされたロールを作成すると、多くのエンティティによってロールが参照される可能性があるため、ロール名を変更することはできません。ただし、IAM を使用したロールの説明の編集はできます。詳細については、IAM ユーザーガイド の「サービスにリンクされたロールの編集」を参照してください。

Amazon EFS のサービスにリンクされたロールの削除サービスにリンクされたロールが必要な機能またはサービスが不要になった場合には、そのロールを削除することをお勧めします。そうすることで、使用していないエンティティがアクティブにモニタリングされたり、メンテナンスされたりすることがなくなります。ただし、手動で削除する前に、サービスにリンクされたロールのリソースをクリーンアップする必要があります。

Note

リソースを削除する際に、Amazon EFS サービスでロールが使用されている場合、削除は失敗することがあります。失敗した場合は、数分待ってから再度オペレーションを実行してください。

AWSServiceRoleForAmazonElasticFileSystem で使用されている Amazon EFS リソースを削除するには

AWSServiceRoleForAmazonElasticFileSystem で使用される Amazon EFS リソースを削除するには、次の手順を実行します。詳細な手順については、「ステップ 4: リソースをクリーンアップし、AWS アカウントを保護する (p. 18)」を参照してください。

1. Amazon EC2 インスタンスで、Amazon EFS ファイルシステムをアンマウントします。2. Amazon EFS ファイルシステムを削除します3. ファイルシステムのカスタムセキュリティグループを削除します。

Warning

VPC のデフォルトのセキュリティグループを使用している場合は、これを削除しないでください。

IAM を使用して、サービスにリンクされたロールを手動で削除するには

IAM コンソール、AWS CLI、または AWS API を使用して、AWSServiceRoleForAmazonElasticFileSystemサービスにリンクされたロールを削除します。詳細については、IAM ユーザーガイド の「サービスにリンクされたロールの削除」を参照してください。

NFS クライアントの Amazon EFS ファイルシステムへのネットワークアクセスのコントロール

ネットワーク層セキュリティおよび EFS ファイルシステムポリシーを使用して、Amazon EFS ファイルシステムへの NFS クライアントによるアクセスを制御できます。VPC セキュリティグループルールやネットワーク ACL など、Amazon EC2 で使用できるネットワーク層セキュリティメカニズムを使用できます。AWS IAM により、EFS ファイルシステムポリシーとアイデンティティベースのポリシーを使用して NFS アクセスをコントロールすることもできます。

トピック• Amazon EC2 インスタンスとマウントターゲットのセキュリティグループの使用 (p. 164)• EFS で使用される送信元ポート (p. 165)• ネットワークアクセスに関するセキュリティ上の考慮事項 (p. 165)

163

Page 172: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAmazon EC2 インスタンスとマウント

ターゲットのセキュリティグループの使用

• Amazon EFS でのインターフェイス VPC エンドポイントの使用 (p. 166)

Amazon EC2 インスタンスとマウントターゲットのセキュリティグループの使用Amazon EFS を使用する場合は、EC2 インスタンスの Amazon EC2 セキュリティグループと、ファイルシステムに関連付けられている EFS マウントターゲットのセキュリティグループを指定します。セキュリティグループはファイアウォールとして機能し、追加するルールはトラフィックフローを定義します。「使用開始」の演習では、EC2 インスタンスを起動したときに 1 つのセキュリティグループを作成します。次に、別のセキュリティグループを EFS マウントターゲット (デフォルト VPC のデフォルトのセキュリティグループ) に関連付けました。この方法は、「使用開始」の演習で機能します。ただし、本番稼働用システムでは、EFS で使用するための最小限のアクセス許可でセキュリティグループを設定する必要があります。

EFS ファイルシステムへのインバウンドおよびアウトバウンドのアクセスを許可できます。これを行うには、ネットワークファイルシステム (NFS) ポートを使用するマウントターゲット経由で EC2 インスタンスが Amazon EFS ファイルシステムにアクセスできるようにルールを追加します。セキュリティグループを作成および更新するには、以下のステップを実行します。

EC2 インスタンスとマウントターゲットのセキュリティグループを作成するには

1. VPC に 2 つのセキュリティグループを作成します。

手順については、『Amazon VPC ユーザーガイド』の「セキュリティグループを作成する」の手順を参照してください。

2. https://console.aws.amazon.com/vpc/ の Amazon VPC マネジメントコンソールを開き、これらのセキュリティグループのデフォルトルールを確認します。両方のセキュリティグループは、トラフィックが出ていくのを許可するアウトバウンドルールのみが設定されている必要があります。

セキュリティグループに必要なアクセスを更新するには

1. Amazon VPC コンソール (https://console.aws.amazon.com/vpc/) を開きます。2. EC2 セキュリティグループにルールを追加して、任意のホストからの Secure Shell (SSH) を使用した

インバウンドアクセスを許可します。オプションで、[ソース] アドレスを制限します。

アウトバウンドルールを追加する必要はありません。これは、デフォルトのアウトバウンドルールですべてのトラフィックを残すことができるためです。もしそうでない場合には、NFS ポート上の TCP接続を開き、マウントターゲットのセキュリティグループを送信先として識別するアウトバウンドルールを追加する必要があります。

手順については、『Amazon VPC ユーザーガイド』の「ルールを追加または削除する」を参照してください。

3. 次に示すように、マウントターゲットのセキュリティグループのルールを追加して、EC2 セキュリティグループからのインバウンドアクセスを許可します。EC2 セキュリティグループはソースとして識別されます。

164

Page 173: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドソースポート

4. 両方のセキュリティグループがインバウンドおよびアウトバウンドアクセスを許可することを確認します。

セキュリティグループの詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドの「EC2-VPC のセキュリティグループ」を参照してください。

EFS で使用される送信元ポート一連の NFS クライアントをサポートするために、Amazon EFS はソースポートからのすべての接続を許可します。権限のあるユーザーのみが Amazon EFS にアクセスできるようにするには、以下のクライアントのファイアウォールルールを使用することをお勧めします。

iptables -I OUTPUT 1 -m owner --uid-owner 1-4294967294 -m tcp -p tcp --dport 2049 -j DROP

このコマンドは、OUTPUT チェーン (-I OUTPUT 1) の開始時に新しいルールを挿入します。このルールにより、権限のない、非カーネルプロセス (-m owner --uid-owner 1-4294967294) が、NFS ポート(-m tcp -p tcp –dport 2049) への接続を開くことを防ぎます。

ネットワークアクセスに関するセキュリティ上の考慮事項ファイルシステムのマウントターゲットの NFS ポートの 1 つに接続できる場合にのみ、NFS バージョン4.1 (NFSv4.1) クライアントはファイルシステムをマウントできます。同様に、このネットワーク接続ができる場合にのみ、NFSv 4.1 クライアントはファイルシステムにアクセスするときにユーザーおよびグループ ID をアサートできます。

このネットワーク接続を行うことができるかどうかは、以下の組み合わせによって管理されます。

• マウントターゲットの VPC によって提供されるネットワーク分離 – ファイルシステムのマウントターゲットにはパブリック IP アドレスを関連付けることはできません。ファイルシステムをマウントできる唯一のターゲットは次のとおりです。• ローカル Amazon VPC の Amazon EC2インスタンス• 接続された VPC の EC2 インスタンス• AWS Direct Connect と AWS 仮想プライベートネットワーク (VPN) を使用して Amazon VPC に接続

されたオンプレミスサーバー• マウントターゲットのサブネット外からアクセスするための、クライアントおよびマウントターゲット

の VPC サブネットのネットワークアクセスコントロールリスト (ACL) – ファイルシステムをマウントするには、クライアントはマウントターゲットの NFS ポートへの TCP 接続を確立できる必要があります。また、リターントラフィックを受信する必要があります。

• すべてのアクセス用のクライアントおよびマウントターゲットの VPC セキュリティグループのルール –ファイルシステムをマウントする EC2 インスタンスの場合、次のセキュリティグループルールが有効である必要があります。• ファイルシステムには、インスタンスからの NFS ポートでインバウンド接続を有効にするルールを持

つセキュリティグループがネットワークインターフェイスにあるマウントターゲットが必要です。IP

165

Page 174: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドVPC エンドポイントの使用

アドレス (CIDR 範囲) またはセキュリティグループのいずれかを使用してインバウンド接続を有効化できます。マウントターゲットネットワークインターフェイス上のインバウンド NFS ポートセキュリティグループルールのソースは、ファイルシステムのアクセスコントロールの重要な要素です。NFSポート以外のインバウンドルール、およびどのようなアウトバウンドルールも、ファイルシステムのマウントターゲットネットワークインターフェイスには使用されません。

• インスタンスのマウントには、ファイルシステムのマウントターゲットのいずれかの NFS ポートへのアウトバウンド接続を有効にするセキュリティグループルールがあるネットワークインターフェイスが必要です。IP アドレス (CIDR 範囲) またはセキュリティグループのいずれかを使用してアウトバウンド接続を有効化できます。

詳細については、「マウントターゲットの作成 (p. 24)」を参照してください。

Amazon EFS でのインターフェイス VPC エンドポイントの使用仮想プライベートクラウド (VPC) と Amazon EFS API の間にプライベート接続を確立するには、インターフェイス VPC エンドポイントを作成できます。この接続を使用して、インターネット経由でトラフィックを送信せずに VPC から Amazon EFS API を呼び出します。このエンドポイントは、インターネットゲートウェイ、NAT インスタンス、または仮想プライベートネットワーク (VPN) 接続を必要とせずに、Amazon EFS API への安全な接続を提供します。詳細については、Amazon VPC ユーザーガイドの「インターフェイス VPC エンドポイント」を参照してください。

インターフェイス VPC エンドポイントは AWS PrivateLink を利用しています。これは、プライベート IPアドレスを使用して AWS のサービス間のプライベート通信を可能にする機能です。AWS PrivateLink を使用するには、Amazon VPC コンソール、API、または CLI を使用して、VPC に Amazon EFS のインターフェイス VPC エンドポイントを作成します。これによって Elastic Network Interface がサブネットに作成され、そのプライベート IP アドレスが Amazon EFS API リクエストを処理します。また、AWSVPN、AWS Direct Connect、または VPC ピアリングを使用して、オンプレミス環境または他の VPC からVPC エンドポイントにアクセスすることもできます。詳細については、Amazon VPC ユーザーガイドの「AWS PrivateLink によるサービスへのアクセス」を参照してください。

Amazon EFS のインターフェイスエンドポイントの作成Amazon EFS のインターフェイス VPC エンドポイントを作成するには、次のいずれかを使用します。

• com.amazonaws.region.elasticfilesystem – Amazon EFS API オペレーションのエンドポイントを作成します。

• com.amazonaws.region.elasticfilesystem-fips – 連邦情報処理標準 (FIPS) 140-2 に準拠したAmazon EFS API のエンドポイントを作成します。

Amazon EFS エンドポイントの詳細なリストについては、アマゾン ウェブ サービス全般のリファレンスの「Amazon Elastic File System」を参照してください。

インターフェイスエンドポイントの作成方法の詳細については、Amazon VPC ユーザーガイドの「インターフェイスエンドポイントの作成」を参照してください。

Amazon EFS の VPC エンドポイントポリシーの作成Amazon EFS API へのアクセスを制御するために VPC エンドポイントに AWS Identity and AccessManagement (IAM) ポリシーをアタッチできます。このポリシーでは、以下を指定します。

• アクションを実行できるプリンシパル。• 実行可能なアクション。• このアクションを実行できるリソース。

166

Page 175: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドNFS レベルのユーザー、グループ、およびアクセス許可

詳細については、Amazon VPC ユーザーガイド の「VPC エンドポイントによるサービスのアクセスコントロール」を参照してください。

次の例は、エンドポイントを介して EFS ファイルシステムを作成するアクセス許可を全員に対して拒否する VPC エンドポイントポリシーを示しています。このポリシー例では、他のすべてのアクションを実行するアクセス許可も全員に付与しています。

{ "Statement": [ { "Action": "*", "Effect": "Allow", "Resource": "*", "Principal": "*" }, { "Action": "elasticfilesystem:CreateFileSystem", "Effect": "Deny", "Resource": "*", "Principal": "*" } ]}

詳細については、Amazon VPC ユーザーガイド の「VPC エンドポイントポリシーの使用」を参照してください。

ネットワークファイルシステム (NFS) レベルでのユーザー、グループ、アクセス許可の操作

トピック• ファイルおよびディレクトリのアクセス許可 (p. 168)• Amazon EFS ファイルシステムのユースケースとアクセス許可の例 (p. 168)• ファイルシステム内のファイルとディレクトリに対するユーザー ID とグループ ID のアクセス許

可 (p. 169)• ルートスカッシュなし (p. 170)• アクセス許可のキャッシュ (p. 170)• ファイルシステムオブジェクトの所有権の変更 (p. 170)• EFS アクセスポイント (p. 170)

ファイルシステムを作成した後、デフォルトでは、ルートユーザー (UID 0) のみが読み取り/書き込み/実行のアクセス許可を持ちます。他のユーザーがファイルシステムを変更できるようにするには、ルートユーザーは、明示的にアクセス許可を付与する必要があります。アクセスポイントを使用すると、root 以外のユーザーによる書き込み可能なディレクトリの作成を自動化できます。詳細については、「Amazon EFSアクセスポイントの使用 (p. 171)」を参照してください。

Amazon EFS ファイルシステムオブジェクトには、Unix 形式のモードが関連付けられています。このモード値は、そのオブジェクトに対してアクションを実行するアクセス許可を定義します。Unix スタイルのシステムに精通しているユーザーは、これらのアクセス許可に関して Amazon EFS がどのように動作するかを簡単に理解できます。

さらに、Unix 形式のシステムでは、ユーザーとグループは Amazon EFS がファイルの所有権を表すために使用する数値 ID にマッピングされます。Amazon EFS では、ファイルシステムオブジェクト (ファイル、ディレクトリなど) は、単一の所有者と単一のグループによって所有されます。Amazon EFS は、

167

Page 176: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドファイルおよびディレクトリのアクセス許可

ユーザーがファイルシステムオブジェクトにアクセスしようとすると、マッピングされた数値 ID を使用してアクセス許可をチェックします。

以下では、アクセス許可の例、および Amazon EFS での NFS のアクセス許可に関する考慮事項について説明します。

ファイルおよびディレクトリのアクセス許可EFS ファイルシステムのファイルとディレクトリは、EFS アクセスポイントによって上書きされない限り、NFSv4.1 クライアントのマウントを使用してアサートされたユーザー ID とグループ ID に基づいて、標準 UNIX 形式の読み取り、書き込み、および実行のアクセス許可をサポートします。 詳細については、「ネットワークファイルシステム (NFS) レベルでのユーザー、グループ、アクセス許可の操作 (p. 167)」を参照してください。

Note

デフォルトでは、このアクセスコントロールのレイヤーは、NFSv4.1 クライアントをユーザーID とグループ ID のアサーションで信頼するかどうかに依存します。AWS Identity and AccessManagement (IAM) のリソースベースのポリシーと ID ポリシーを使用して NFS クライアントを承認することで、読み取り専用、書き込み、およびルートアクセス許可を付与できます。EFSアクセスポイントを使用して、NFS クライアントから提供されるオペレーティングシステムのユーザー ID およびグループの ID 情報を上書きできます。詳細については、「IAM を使用した Amazon EFS への NFS アクセスのコントロール (p. 159)」および「アクセスポイントの作成 (p. 33)」を参照してください。

ファイルとディレクトリの読み取り、書き込み、実行のアクセス許可の例として、Alice は、ファイルシステムの個人ディレクトリ /alice にある任意のファイルを読み書きするアクセス許可を持っています。ただし、この例では、Alice は同じファイルシステムの Mark の個人ディレクトリ /mark にあるファイルを読み書きすることはできません。Alice と Mark の両方が共有ディレクトリ /share 内のファイルを読み取ることはできますが、書き込むことはできません。

Amazon EFS ファイルシステムのユースケースとアクセス許可の例Amazon EFS ファイルシステムを作成し、VPC にファイルシステムのターゲットをマウントしたら、リモートファイルシステムを Amazon EC2 インスタンスにローカルにマウントできます。mount コマンドは、ファイルシステムの任意のディレクトリをマウントできます。ただし、最初にファイルシステムを作成するときは、/ にルートディレクトリは 1 つしかありません。

次の mount コマンドは、ファイルシステムの DNS 名で識別される Amazon EFS ファイルシステムのルートディレクトリを /efs-mount-point ローカルディレクトリにマウントします。

sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport file-system-id.efs.aws-region.amazonaws.com:/ efs-mount-point

ルートユーザーとルートグループは、マウントされたディレクトリを所有します。

最初のアクセス許可のモードでは、次のことを許可します。

• 所有者のルートに対する read-write-execute アクセス許可

168

Page 177: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドファイルシステム内のファイルとディレクトリに対するユーザー ID とグループ ID のアクセス許可

• グループのルートに対する read-execute アクセス許可• 他のユーザーに対する read-execute アクセス許可

ルートユーザーのみがこのディレクトリを変更できます。たとえば、ルートユーザーは、他のユーザーにこのディレクトリに書き込むアクセス許可を付与することもできます。

• 書き込み可能なユーザーごとのサブディレクトリを作成します。手順については、「チュートリアル: 書き込み可能なユーザーごとのサブディレクトリを作成し、再起動時の自動再マウントを設定する (p. 125)」を参照してください。

• ユーザーが Amazon EFS ファイルシステムルートに書き込むことを許可します。ルート権限を持つユーザーは、他のユーザーにファイルシステムへのアクセスを許可することができます。• Amazon EFS ファイルシステムの所有権を非ルートユーザーとグループに変更するには、以下を使用

します。

$ sudo chown user:group /EFSroot

• ファイルシステムのアクセス許可をより制限の低いものに変更するには、以下を使用します。

$ sudo chmod 777 /EFSroot

このコマンドは、ファイルシステムがマウントされているすべての EC2 インスタンス上のすべてのユーザーに読み取り/書き込み/実行の権限を許可します。

ファイルシステム内のファイルとディレクトリに対するユーザー ID とグループ ID のアクセス許可Amazon EFS ファイルシステムのファイルとディレクトリでは、ユーザー ID とグループ ID に基づいて標準 UNIX 形式の読み取り、書き込み、実行のアクセス許可がサポートされます。NFS クライアントがアクセスポイントを使用せずに EFS ファイルシステムをマウントした場合は、クライアントから提供されたユーザー ID とグループ ID が信頼されます。EFS アクセスポイントにより、NFS クライアントによって使用されるユーザー ID とグループ ID を上書きできます。ユーザーがファイルとディレクトリにアクセスしようとすると、Amazon EFS はユーザー ID とグループ ID を確認して、ユーザーにオブジェクトへのアクセス許可があることを確認します。Amazon EFS は、これらの ID を使用して、ユーザーが作成した新しいファイルとディレクトリの所有者とグループ所有者を示します。Amazon EFS はユーザー名またはグループ名を調べず、数値の識別子のみを使用します。

Note

EC2 インスタンスでユーザーを作成すると、任意の数値のユーザー ID (UID) とグループ ID(GID) をユーザーに割り当てることができます。数値のユーザー ID は、Linux システムの /etc/passwd ファイルに設定されます。数値グループ ID は、/etc/group ファイルにあります。これらのファイルは、名前と ID の間のマッピングを定義します。EC2 インスタンスの外部では、Amazon EFS は、0 のルート ID を含むこれらの ID の認証を実行しません。

ユーザーが 2 つの異なる EC2 インスタンスから Amazon EFS ファイルシステムにアクセスする場合、これらのインスタンスでユーザーの UID が同じか異なるかによって、次のような異なる動作になります。

• ユーザー ID が両方の EC2 インスタンスで同じである場合、Amazon EFS は使用された EC2 インスタンスに関係なく、それらが同じユーザーを示すとみなします。ファイルシステムにアクセスする際のユーザーエクスペリエンスは、両方の EC2 インスタンスで同じです。

• ユーザー ID が両方の EC2 インスタンスで同じでない場合、Amazon EFS はユーザーを異なるユーザーと見なします。2 つの異なる EC2 インスタンスから Amazon EFS ファイルシステムにアクセスする場合には、ユーザーエクスペリエンスは同じではありません。

169

Page 178: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドルートスカッシュなし

• 異なる EC2 インスタンスの 2 人の異なるユーザーが ID を共有する場合、Amazon EFS はそれらを同じユーザーとみなします。

EC2 インスタンス間でユーザー ID マッピングを一貫して管理することを検討することもできます。ユーザーは、以下に示すように、id コマンドを使用して数値 ID を確認することができます。

$ id

uid=502(joe) gid=502(joe) groups=502(joe)

ID マッパーを無効にするオペレーティングシステムの NFS ユーティリティには、ユーザー名と ID の間のマッピングを管理する IDマッパーと呼ばれるデーモンが含まれています。Amazon Linux では、デーモンは rpc.idmapd と呼ばれ、Ubuntu では、idmapd と呼ばれます。これは、ユーザーおよびグループ ID を名前に変換し、逆も行います。ただし、Amazon EFS は、数値 ID のみを扱います。EC2 インスタンスでこのプロセスを無効にすることをお勧めします。Amazon Linux では、マッパーは通常無効です。この場合、ID マッパーを有効にしないでください。ID マッパーを無効にするには、以下に示すコマンドを使用します。

$ service rpcidmapd status$ sudo service rpcidmapd stop

ルートスカッシュなしデフォルトでは、ルートスカッシュは EFS ファイルシステムで無効になっています。Amazon EFS はno_root_squash を使用する Linux NFS サーバーと同じように動作します。ユーザーまたはグループ IDが 0 の場合、Amazon EFS はそのユーザーを root ユーザーとして処理し、アクセス許可チェックをバイパスします (すべてのファイルシステムオブジェクトへのアクセスと変更を許可します)。AWS Identityand Access Management (AWS IAM) の ID ポリシーまたはリソースポリシーが ClientRootAccess アクションへのアクセスを許可しない場合、ルートスカッシュをクライアント接続で有効にすることができます。ルートスカッシュが有効になっている場合、ルートユーザーは NFS サーバー上で制限されたアクセス許可を持つユーザーに変換されます。

アクセス許可のキャッシュAmazon EFS は、短期間、ファイルのアクセス許可をキャッシュします。その結果、以前ファイルシステムオブジェクトにアクセスでき、最近アクセスを取り消されたユーザーが、そのオブジェクトに短期間アクセスできることがあります。

ファイルシステムオブジェクトの所有権の変更Amazon EFS は、POSIX chown_restricted 属性を適用します。これは、ルートユーザーだけがファイルシステムオブジェクトの所有者を変更できることを意味します。ルートユーザーまたは所有者ユーザーは、ファイルシステムオブジェクトの所有者グループを変更できます。ただし、ユーザーがルートでない限り、そのグループは所有者ユーザーがメンバーになっているものにのみ変更できます。

EFS アクセスポイントアクセスポイントは、アクセスポイントを介したすべてのシステム要求に対して、オペレーティングシステムのユーザー、グループ、およびファイルシステムのパスを適用します。アクセスポイントのオペレーティングシステムのユーザーおよびグループは、NFS クライアントから提供されるすべての ID 情報を上書きします。ファイルシステムのパスは、アクセスポイントのルートディレクトリとしてクライアントに公開されます。このアプローチにより、各アプリケーションは共有ファイルベースのデータセットにアクセスするときに、常に正しいオペレーティングシステム ID と正しいディレクトリを使用できます。アクセ

170

Page 179: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドアクセスポイントの使用

スポイントを使用するアプリケーションは、それ自体のディレクトリ以下のデータにのみアクセスできます。アクセスポイントの詳細については、「Amazon EFS アクセスポイントの使用 (p. 171)」を参照してください。

Amazon EFS アクセスポイントの使用Amazon EFS アクセスポイントは、EFS ファイルシステムへのアプリケーション固有のエントリポイントです。これにより、共有データセットへのアプリケーションアクセスが管理しやすくなります。アクセスポイントを使用すると、アクセスポイントを介したすべてのファイルシステム要求に対してユーザー ID(ユーザーの POSIX グループなど) を適用できます。また、ファイルシステムに対して別のルートディレクトリを適用し、このディレクトリまたはそのサブディレクトリ内のデータに対してのみ、クライアントにアクセスを許可することもできます。

AWS Identity and Access Management (IAM) ポリシーを使用して、特定のアプリケーションが特定のアクセスポイントを使用するように設定できます。IAM ポリシーとアクセスポイントを組み合わせると、アプリケーションから特定のデータセットへのアクセスを簡単に保護できます。

アクセスポイントの作成の詳細については、「アクセスポイントの作成 (p. 33)」を参照してください。

トピック• アクセスポイントの作成 (p. 171)• アクセスポイントを使用したファイルシステムのマウント (p. 171)• アクセスポイントを使用したユーザー ID の適用 (p. 171)• アクセスポイントを使用したルートディレクトリの適用 (p. 172)• IAM ポリシーでのアクセスポイントの使用 (p. 173)

アクセスポイントの作成AWS マネジメントコンソール、AWS Command Line Interface (AWS CLI)、EFS API を使用して、既存のAmazon EFS ファイルシステムのアクセスポイントを作成できます。

アクセスポイントの作成方法については、「アクセスポイントの作成 (p. 33)」を参照してください。

アクセスポイントを使用したファイルシステムのマウントアクセスポイントを使用してファイルシステムをマウントする場合は、EFS マウントヘルパーを使用します。mount コマンドには、以下の例に示すように、ファイルシステム ID、アクセスポイント ID、tls マウントオプションを含めます。

$ mount -t efs -o tls,accesspoint=fsap-12345678 fs-12345678: /localmountpoint

アクセスポイントを使用したファイルシステムのマウントの詳細については、「EFS アクセスポイントによるマウント (p. 67)」を参照してください。

アクセスポイントを使用したユーザー ID の適用アクセスポイントを使用すると、アクセスポイントを介したすべてのファイルシステム要求に対して、ユーザーおよびグループ情報を適用できます。この機能を有効にするには、アクセスポイントの作成時に、適用するオペレーティングシステム ID を指定する必要があります。

その一環として、以下の情報を提供します。

171

Page 180: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドアクセスポイントを使用したルートディレクトリの適用

• ユーザー ID – ユーザーの数値 POSIX ユーザー ID。• グループ ID – ユーザーの数値 POSIX グループ ID。• セカンダリグループ ID – オプションのセカンダリグループ ID のリスト。

ユーザー適用を有効にすると、Amazon EFS は NFS クライアントのユーザー ID およびグループ ID を、アクセスポイントですべてのファイルシステムオペレーションに対して設定されている ID に置き換えます。ユーザー適用では、以下のことも行います。

• 新しいファイルとディレクトリの所有者とグループは、アクセスポイントのユーザー ID とグループ IDに設定されます。

• EFS は、ファイルシステムのアクセス許可を評価するときに、アクセスポイントのユーザー ID、グループ ID、およびセカンダリグループ ID を考慮します。EFS は、NFS クライアントの ID を無視します。

Important

ユーザー ID の適用は、ClientRootAccess IAM アクセス許可を条件とします。たとえば、場合によっては、アクセスポイントのユーザー ID、グループ ID、またはその両方をルートに設定する (つまり、UID、GID、またはその両方を 0 に設定する) ことがあります。そのような場合、NFS クライアントに ClientRootAccess IAM アクセス許可を付与する必要があります。

アクセスポイントを使用したルートディレクトリの適用アクセスポイントを使用して、ファイルシステムのルートディレクトリを上書きできます。ルートディレクトリを適用すると、アクセスポイントを使用する NFS クライアントは、ファイルシステムのルートディレクトリではなく、アクセスポイントに設定されているルートディレクトリを使用します。

この機能を有効にするには、アクセスポイントの作成時にアクセスポイントの Path 属性を設定します。Path 属性は、このアクセスポイントを介したすべてのファイルシステム要求に対するファイルシステムのルートディレクトリのフルパスです。フルパスの長さは 100 文字を超えることはできません。最大4 つのサブディレクトリを含めることができます。

アクセスポイントにルートディレクトリを指定すると、これがアクセスポイントをマウントする NFS クライアントのファイルシステムのルートディレクトリになります。たとえば、アクセスポイントのルートディレクトリが /data であるとします。この場合、アクセスポイントを使用して fs-12345678:/ をマウントすると、アクセスポイントを使用せずに fs-12345678:/data をマウントするのと同じ効果があります。

アクセスポイントのルートディレクトリの作成アクセスポイントのルートディレクトリパスがファイルシステムに存在しない場合は、Amazon EFS によって、設定可能な所有権とアクセス許可を使用して、そのルートディレクトリが自動的に作成されます。このアプローチにより、Linux ホストからファイルシステムをマウントすることなく、特定のユーザーまたはアプリケーションに対してファイルシステムアクセスをプロビジョニングできます。アクセスポイントの作成時に以下の属性を使用して、ルートディレクトリの所有権とアクセス許可を設定できます。

• OwnerUid – ルートディレクトリの所有者として使用する数値 POSIX ユーザー ID。• OwnerGiD – ルートディレクトリの所有者グループとして使用する数値 POSIX グループ ID。• アクセス許可 – ディレクトリの Unix モード。一般的な設定は 755 です。この設定では、ディレクトリ

所有者に、ディレクトリ内の新しいファイルを入力、一覧表示、書き込むアクセス許可が付与されます。他のすべてのユーザーに、ファイルを入力および一覧表示するアクセス許可が付与されます。Unix

172

Page 181: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドIAM ポリシーでのアクセスポイントの使用

のファイルモードとディレクトリモードの使用方法の詳細については、「ネットワークファイルシステム (NFS) レベルでのユーザー、グループ、アクセス許可の操作 (p. 167)」を参照してください。

アクセスポイントを使用してファイルシステムをマウントすると、ディレクトリがまだ存在しない場合に、アクセスポイントのルートディレクトリが作成されます。マウントに先立ってアクセスポイントにルートディレクトリが設定済みである場合、既存のアクセス許可はアクセスポイントによって上書きされません。ルートディレクトリを削除すると、次にアクセスポイントを使用してファイルシステムをマウントするときに、EFS によってルートディレクトリが再作成されます。

アクセスポイントのルートディレクトリのセキュリティモデルルートディレクトリの上書きが有効になっている場合、Amazon EFS は no_subtree_check オプションを有効にした Linux NFS サーバーと同じように動作します。

NFS プロトコルでは、ファイルのアクセス時に一意の参照としてクライアントで使用されるファイルハンドルがサーバーで作成されます。EFS は、EFS ファイルシステム固有の予測可能なファイルハンドルを安全に生成します。ルートディレクトリの上書きが有効になっている場合、EFS は指定されたルートディレクトリ外のファイルにファイルハンドルを公開しません。ただし、場合によっては、ユーザーは帯域外メカニズムを使用して、アクセスポイント外のファイルのファイルハンドルを取得することがあります。たとえば、2 番目のアクセスポイントにアクセスできる場合は、これを行う可能性があります。これを行うと、ファイルに対して読み取りおよび書き込みオペレーションを実行できます。

ユーザーのアクセスポイントのルートディレクトリ内外のファイルへのアクセスに対しては、ファイルの所有権とアクセス許可が常に適用されます。

IAM ポリシーでのアクセスポイントの使用IAM ポリシーでは、IAM ロールで特定した NFS クライアントに対して、特定のアクセスポイントへのアクセスのみを許可できます。そのためには、elasticfilesystem:AccessPointArn IAM 条件キーを使用します。AccessPointArn は、ファイルシステムがマウントされているアクセスポイントの Amazonリソースネーム (ARN) です。

以下に示しているのは、IAM ロール app1 にアクセスポイント fsap-01234567 を使用したファイルシステムへのアクセスを許可するファイルシステムポリシーの例です。また、このポリシーでは、app2 にアクセスポイント fsap-89abcdef を使用したファイルシステムへのアクセスを許可しています。

{ "Version": "2012-10-17", "Id": "MyFileSystemPolicy", "Statement": [ { "Sid": "App1Access", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/app1" }, "Action": [ "elasticfilesystem:ClientMount", "elasticfilesystem:ClientWrite" ], "Condition": { "StringEquals": { "elasticfilesystem:AccessPointArn" : "arn:aws:elasticfilesystem:us-east-1:222233334444:access-point/fsap-01234567" } } }, { "Sid": "App2Access", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/app2" },

173

Page 182: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドロギングとモニタリング

"Action": [ "elasticfilesystem:ClientMount", "elasticfilesystem:ClientWrite" ], "Condition": { "StringEquals": { "elasticfilesystem:AccessPointArn" : "arn:aws:elasticfilesystem:us-east-1:222233334444:access-point/fsap-89abcdef" } } } ]}

Amazon EFS でのログ記録とモニタリングモニタリングは、Amazon EFS および AWS ソリューションの信頼性、可用性、パフォーマンスを維持する上で重要な要素です。マルチポイント障害が発生した場合は、その障害をより簡単にデバッグできるように、AWS ソリューションのすべての部分からモニタリングデータを収集する必要があります。AWS では、Amazon EFS リソースをモニタリングして起こり得るインシデントに対応するためのツールがいくつか用意されています。

Amazon CloudWatch アラーム

Amazon CloudWatch Events を使用して、指定した期間にわたって 1 つのメトリクスを監視します。メトリクスが特定のしきい値を超えると、Amazon Simple Notification Service (Amazon SNS) トピックまたは Amazon EC2 Auto Scaling ポリシーに通知が送信されます。CloudWatch イベントは、それが特定の状態にあるという理由だけではアクションを呼び出しません。アクションを呼び出すには、状態が変化し、その状態が特定の期間にわたって維持されている必要があります。詳細については、「Amazon CloudWatch を使用した EFS のモニタリング (p. 79)」を参照してください。

Amazon CloudWatch Logs

Amazon CloudWatch Logs を使用して、AWS CloudTrail または他のソースのログファイルをモニタリング、保存、およびアクセスできます。詳細については、Amazon CloudWatch ユーザーガイドの「ログファイルのモニタリング」を参照してください。

Amazon CloudWatch Events

イベントを一致させ、イベントを 1 つ以上のターゲット関数やストリームにルーティングして、変更を加えたり、状態情報を取得したり、修正アクションを実行したりします。詳細については、Amazon CloudWatch ユーザーガイドの「Amazon CloudWatch Events とは」を参照してください。

AWS CloudTrail ログのモニタリング

CloudTrail は、Amazon EFS のユーザー、ロール、または AWS のサービスによって実行されたアクションの記録を提供します。CloudTrail によって収集された情報を使用して、Amazon EFS に対するリクエスト、リクエスト元の IP アドレス、リクエスト者、リクエスト日時などの詳細を確認できます。詳細については、「AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成 (p. 87)」を参照してください。

Amazon Elastic File System のコンプライアンス検証

サードパーティーの監査者は、複数の Amazon Elastic File System コンプライアンスプログラムの一環として AWS のセキュリティとコンプライアンスを評価します。これらに

174

Page 183: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド弾力

は、SOC、PCI、FedRAMP、HIPAA、DoD CC SRG、HITRUST CSF、OSPAR、CS、ENS High が含まれます。

特定のコンプライアンスプログラムの対象となる AWS サービスのリストについては、「コンプライアンスプログラムによる AWS 対象範囲内のサービス」を参照してください。一般的な情報については、「AWS コンプライアンスプログラム」を参照してください。

サードパーティーの監査レポートをダウンロードするには、AWS Artifact を使用します。詳細については、「AWS Artifact でレポートをダウンロードする」を参照してください。

EFS サービスを使用する際のお客様のコンプライアンス責任は、データの機密性、貴社のコンプライアンス目的、および適用法規や規則によって決まります。AWS ではコンプライアンスに役立つ以下のリソースを用意しています。

• セキュリティおよびコンプライアンスのクイックスタートガイド – これらのデプロイガイドでは、アーキテクチャー上の考慮事項について説明し、セキュリティとコンプライアンスに重点を置いたベースライン環境を AWS でデプロイするための手順を説明します。

• HIPAA のセキュリティとコンプライアンスに関するホワイトペーパーを作成する – このホワイトペーパーでは、企業が AWS を使用して HIPAA 準拠のアプリケーションを作成する方法について説明します。

• AWS コンプライアンスのリソース – このワークブックおよびガイドのコレクションは、お客様の業界や場所に適用される場合があります。

• AWS Config 開発者ガイドの「ルールでのリソースの評価」– AWS Config サービスでは、リソース設定が社内のプラクティス、業界のガイドライン、規制にどの程度適合しているかを評価します。

• AWS Security Hub – この AWS サービスでは、AWS 内のセキュリティ状態を包括的に表示しており、セキュリティ業界の標準およびベストプラクティスへの準拠を確認するのに役立ちます。

Amazon Elastic File System の耐障害性AWS のグローバルインフラストラクチャは AWS リージョンとアベイラビリティーゾーンを中心として構築されます。AWS リージョンには、低レイテンシー、高いスループット、そして高度の冗長ネットワークで接続されている複数の物理的に独立・隔離されたアベイラビリティーゾーンがあります。アベイラビリティーゾーンでは、ゾーン間で中断することなく自動的にフェイルオーバーするアプリケーションとデータベースを設計および運用することができます。アベイラビリティーゾーンは、従来の単一または複数のデータセンターインフラストラクチャよりも可用性、耐障害性、および拡張性が優れています。

AWS リージョンとアベイラビリティーゾーンの詳細については、「AWS グローバルインフラストラクチャ」を参照してください。

Amazon Elastic File System ネットワークの隔離マネージド型サービスである Amazon Elastic File System は、ホワイトペーパー「アマゾン ウェブ サービスのセキュリティプロセスの概要」に記載されている AWS グローバルネットワークセキュリティの手順で保護されています。

ネットワークを介した Amazon EFS へのアクセスには、AWS が発行する API が使用されます。クライアントは Transport Layer Security (TLS) 1.0 をサポートしている必要があります。TLS 1.2 をお勧めします。また、Ephemeral Diffie-Hellman (DHE) や Elliptic Curve Ephemeral Diffie-Hellman (ECDHE) などのPerfect Forward Secrecy (PFS) を使用した暗号スイートもクライアントでサポートされている必要があります。これらのモードは、Java 7 以降など、最近のほとんどのシステムでサポートされています。また、リクエストに署名する必要があります。署名するには、IAM プリンシパルに関連付けられたアクセスキーID とシークレットアクセスキーを使用するか、AWS Security Token Service (STS) を使用します。

175

Page 184: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドネットワークの隔離

これらの API は任意のネットワークの場所から呼び出すことができますが、Amazon EFS ではリソースベースのアクセスポリシーがサポートされているため、送信元 IP アドレスに基づく制限を含めることができます。また、Amazon EFS ポリシーを使用して、特定の Amazon Virtual Private Cloud (AmazonVPC) エンドポイントまたは特定の VPC からのアクセスを制御することもできます。これにより効果的に、AWS ネットワーク内の特定の VPC から特定の Amazon EFS リソースへのネットワークアクセスのみが分離されます。

176

Page 185: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド引き上げることができる Amazon EFS のクォータ

Amazon EFS のクォータと制限Amazon EFS を使用する際のクォータについて以下に説明します。

トピック• 引き上げることができる Amazon EFS のクォータ (p. 177)• リソースクォータ (p. 178)• NFS クライアントのクォータ (p. 179)• Amazon EFS ファイルシステムのクォータ (p. 179)• サポートされていない NFSv4 機能 (p. 180)• 追加の考慮事項 (p. 181)

引き上げることができる Amazon EFS のクォータサービスクォータ は、1 つの場所からクォータまたは制限を管理するのに役立つ AWS のサービスです。すべての Amazon EFS 制限値は、サービスクォータ コンソールで表示できます。サービスクォータ コンソールを使用して、AWS リージョンの EFS ファイルシステム数のクォータ引き上げをリクエストすることもできます。

AWS サポートに連絡して、次の Amazon EFS クォータの引き上げをリクエストすることもできます。詳細については、「クォータ引き上げのリクエスト (p. 178)」を参照してください。Amazon EFS サービスチームは各リクエストを個別に確認します。

リソース デフォルトのクォータ

AWS リージョン内のお客様のアカウントごとのファイルシステムの数

1,000

デフォルトのスループットクォータは、バーストとプロビジョニングの両方のスループットモードに適用されます。モードの違いの詳細は「Amazon EFS のパフォーマンス (p. 95)」を参照してください。

リソース デフォルトのクォータ

すべての接続されたクライアントの合計バースト 米国東部 (オハイオ) リージョン – 3 GB/秒

米国東部 (バージニア北部) リージョン – 3 GB/秒

米国西部 (北カリフォルニア) リージョン – 1 GB/秒

米国西部 (オレゴン) リージョン – 3 GB/秒

アフリカ (ケープタウン) リージョン – 1 GB/秒

アジアパシフィック (香港) リージョン – 1 GB/秒

アジアパシフィック (ムンバイ) リージョン – 1 GB/秒

アジアパシフィック (ソウル) リージョン – 1 GB/秒

177

Page 186: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドクォータ引き上げのリクエスト

リソース デフォルトのクォータアジアパシフィック (シンガポール) リージョン – 1GB/秒

アジアパシフィック (シドニー) リージョン – 3 GB/秒

アジアパシフィック (東京) リージョン – 1 GB/秒

カナダ (中部) リージョン – 1 GB/秒

中国 (北京) リージョン – 1 GB/秒

中国 (寧夏) リージョン – 1 GB/秒

欧州 (フランクフルト) リージョン – 1 GB/秒

欧州 (アイルランド) リージョン – 3 GB/秒

欧州 (ロンドン) リージョン – 1 GB/秒

欧州 (パリ) リージョン – 1 GB/秒

欧州 (ストックホルム) リージョン – 1 GB/秒

中東 (バーレーン) リージョン – 1 GB/秒

南米 (サンパウロ) リージョン – 1 GB/秒

すべての接続されたクライアントの合計プロビジョンドスループット

すべての AWS リージョン – 1 GB/秒

クォータ引き上げのリクエストAWS サポートを通じてこれらのクォータの引き上げをリクエストするには、以下のステップを実行します。Amazon EFS チームが各クォータの引き上げリクエストを検討します。

AWS サポートを通じてクォータの引き上げをリクエストするには

1. AWS サポートセンターのページを開き、必要に応じてサインインします。続いて、[Create role (ロールの作成)] を選択します。

2. [Create case (ケースの作成)] で [Service Limit Increase (サービスの上限緩和)] を選択します。3. [Limit Type (制限のタイプ)] で、引き上げる制限のタイプを選択します。フォームの必要なフィールド

に入力し、希望する連絡方法を選択します。

リソースクォータAWS リージョンのお客様のアカウントごとに Amazon EFS リソースに適用されるクォータは次のとおりです。

リソース Quota

各ファイルシステムのアクセスポイント数 120

178

Page 187: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドNFS クライアントのクォータ

リソース Quota

アベイラビリティーゾーンごとのファイルシステムあたりのマウントターゲットの数

1

各 VPC のマウントターゲットの数 400

マウントターゲットあたりのセキュリティグループの数 5

ファイルシステムあたりのタグの数 50

ファイルシステムあたりの VPC の数 1

Note

クライアントは、別のアカウントまたは VPC のマウントターゲットに接続することもできます。詳細については、「別のアカウントまたは VPC から EFS ファイルシステムをマウントする (p. 73)」を参照してください。

NFS クライアントのクォータLinux NFSv4.1 クライアントを想定して、NFS クライアントに次のクォータが適用されます。

• NFS クライアントあたりの最大スループットは 250 MB/秒です。NFS クライアントのスループットは、送受信される合計バイト数として計算されます。最小の NFS リクエストサイズは 4 KB です。

• クライアントあたり最大 128 のアクティブユーザーアカウントが、同時にファイルを開くことができます。各ユーザーアカウントは、インスタンスにログインしているローカルユーザーを表します。複数回ログインしたユーザーアカウントは 1 人のアクティブユーザーとしてカウントされます。

• インスタンス上で同時に最大 32,768 ファイルを開くことができます。ディレクトリの内容を一覧表示することは、ファイルを開くこととしてカウントされません。

• クライアントのそれぞれの一意のマウントは、最大 256 個の一意のファイル-プロセスのペアにわたり合計 8,192 個のロックを取得できます。たとえば、1 つのプロセスで 256 個の個別のファイルに対して 1つ以上のロックを取得できます。別の例として、8 つのプロセスがそれぞれ 32 個のファイルに対して 1つ以上のロックを取得できます。

• Amazon EFS に接続する場合、オンプレミスまたは別の AWS リージョンにある NFS クライアントは、同じ AWS リージョンから EFS に接続する場合よりもスループットは低くなります。この影響は、ネットワークレイテンシーが増加するためです。クライアントごとの最大スループットを達成するには、ネットワークレイテンシーを 1 ミリ秒以下にする必要があります。オンプレミス NFS サーバーからEFS に大量のデータセットを移行する場合は、DataSync データ移行サービスを使用してください。詳細については、「オンプレミスのパフォーマンスに関する考慮事項 (p. 101)」を参照してください。

• Microsoft Windows での Amazon EFS の使用はサポートされていません。

Amazon EFS ファイルシステムのクォータ以下のクォータは、Amazon EFS ファイルシステムに固有のものです。

• 名前の長さは最大 255 バイトです。• シンボリックリンク (symlink) の長さは最大 4,080 バイトです。• ファイルへのハードリンクの最大数: 177。• 1 つのファイルの最大サイズ: 52,673,613,135,872 バイト (47.9 TiB)。• ディレクトリの最大の深さ: 1,000 レベル。

179

Page 188: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドサポートされていない NFSv4 機能

• 1 つの特定のファイルが、接続されているすべてのインスタンスとそのファイルにアクセスしているユーザー全体で持つことのできるロックの数は、最大 512 個までです。

• 汎用モードでは、1 秒あたりのファイル操作が 35,000 回に制限されています。データまたはメタデータを読み取る操作では 1 回のファイル操作が消費され、データの書き込みまたはメタデータの更新操作では 5 回のファイル操作が消費されます。つまりファイルシステムでは、毎秒 35,000 回の読み取り操作、7,000 回の書き込み操作、またはこの 2 つの組み合わせをサポートできます。たとえば、20,000 回の読み取り操作と 3,000 回の書き込み操作 (20,000 件の読み取り × 読み取りごとに 1 回のファイル操作+ 3,000 件の書き込み × 書き込みごとに 5 回のファイル操作 =35,000 回のファイル操作) が可能です。ファイル操作は、接続しているすべてのクライアントからカウントされます。

サポートされていない NFSv4 機能Amazon Elastic File System は、NFSv2 または NFSv3 をサポートしていませんが、Amazon EFS は、以下の機能を除き NFSv4.1 と NFSv4.0 の両方をサポートしています。

• pNFS• 任意のタイプのクライアント委任またはコールバック

• オペレーション OPEN は、委任タイプとして常に OPEN_DELEGATE_NONE を返します。• オペレーション OPEN は、NFSERR_NOTSUPP と CLAIM_DELEGATE_CUR クレームタイプに対し

て、CLAIM_DELEGATE_PREV を返します。• 強制ロック

Amazon EFS のすべてのロックはアドバイザリです。つまり、オペレーションが実行される前に、READ と WRITE オペレーションで競合するロックがチェックされないことを意味します。

• 共有の拒否

NFS は、共有拒否の概念をサポートしています。共有拒否は、主に Windows クライアントによって開かれた特定のファイルへのアクセスを他のユーザーに拒否させるために使用されます。AmazonEFS ではこれはサポートされておらず、OPEN4_SHARE_DENY_NONE 以外の共有拒否値を特定するあらゆる OPEN コマンドに NFS エラー NFS4ERR_NOTSUPP を返します。Linux NFS クライアントは、OPEN4_SHARE_DENY_NONE 以外を使用しません。

• アクセスコントロールリスト (ACL)• Amazon EFS はファイル読み取りの time_access 属性を更新しません。Amazon EFS は次のイベント

の time_access を更新します。• ファイルが作成された場合 (inode が作成されます)。• NFS クライアントが明示的な setattr コールを行う場合。• ファイルサイズの変更やファイルのメタデータの変更などによって inode に書き込まれた場合。• 任意の inode 属性が更新されます。

• 名前空間• 永続的な応答キャッシュ• Kerberos ベースのセキュリティ• NFSv4.1 のデータ保持• ディレクトリの SetUID• CREATE オペレーションを使用する場合、サポートされていないファイルタイプ: ブロックデバイ

ス (NF4BLK)、キャラクターデバイス (NF4CHR)、属性ディレクトリ (NF4ATTRDIR)、名前付き属性(NF4NAMEDATTR)。

• サポートされていない属性:FATTR4_ARCHIVE、FATTR4_FILES_AVAIL、FATTR4_FILES_FREE、FATTR4_FILES_TOTAL、FATTR4_FS_LOCATIONS、FATTR4_MIMETYPE、FATTR4_QUOTA_AVAIL_HARD、FATTR4_QUOTA_AVAIL_SOFT、FATTR4_QUOTA_USED、FATTR4_TIME_BACKUP、FATTR4_ACL。

これらの属性を設定しようとすると、NFS4ERR_ATTRNOTSUPP エラーがクライアントに返されます。

180

Page 189: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド追加の考慮事項

追加の考慮事項さらに、以下の点に注意してください。

• Amazon EFS のファイルシステムを作成できる AWS リージョンのリストについては、「AWS GeneralReference」を参照してください。

• VPC で作成したマウントターゲットを使用して、VPC の EC2 インスタンスからファイルシステムをマウントします。VPC にない EC2-Classic インスタンスにファイルシステムをマウントすることもできます。ただし、最初に ClassicLink を使用して VPC にリンクする必要があります。ClassicLink の使用に関する詳細は、Linux インスタンス用 Amazon EC2 ユーザーガイドの「ClassicLink」を参照してください。

• AWS Direct Connect および VPN を使用して、オンプレミスのデータセンターサーバーの Amazon EFSファイルシステムをマウントできます。

181

Page 190: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド一般的な問題のトラブルシューティング

Amazon EFS のトラブルシューティング

Amazon Elastic File System (Amazon EFS) の以下の問題のトラブルシューティングについての情報を見つけることができます。

トピック• Amazon EFS のトラブルシューティング: 一般的な問題 (p. 182)• ファイル操作エラーのトラブルシューティング (p. 184)• AMI とカーネルの問題のトラブルシューティング (p. 186)• マウントの問題のトラブルシューティング (p. 188)• 暗号化のトラブルシューティング (p. 193)

Amazon EFS のトラブルシューティング: 一般的な問題

この情報を使用して一般的な Amazon EFS の問題をトラブルシューティングします。パフォーマンスの詳細については、「Amazon EFS のパフォーマンス (p. 95)」を参照してください。

一般的に、Amazon EFS で解決できない問題が発生した場合は、最新の Linux カーネルを使用していることを確認します。エンタープライズ Linux ディストリビューションを使用している場合は、以下をお勧めします。

• Amazon Linux 2• Amazon Linux 2015.09 以降• RHEL 7.3 以降• Ubuntu 16.04 のすべてのバージョン• カーネル 3.13.0-83 の Ubuntu 14.04 以降• SLES 12 Sp2 以降

別のディストリビューションまたはカスタムカーネルを使用している場合は、カーネルバージョン 4.3 以降をお勧めします。

Note

多くのファイルを並列に開くとパフォーマンスが低下する (p. 183) により、RHEL 6.9 は特定のワークロードには適していない可能性があり ます。

トピック• Amazon EC2 インスタンスがハングする (p. 183)• 大量のデータを書き込みしているアプリケーションがハングする (p. 183)• 多くのファイルを並列に開くとパフォーマンスが低下する (p. 183)• カスタム NFS 設定による書き込みの遅延 (p. 184)• Oracle Recovery Manager を使用したバックアップの作成に時間がかかる (p. 184)

182

Page 191: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAmazon EC2 インスタンスがハングする

Amazon EC2 インスタンスがハングするファイルシステムをアンマウントせずにファイルシステムのマウントターゲットを削除したため、Amazon EC2 インスタンスがハングすることがあります。

実行するアクション

ファイルシステムのマウントターゲットを削除する前に、ファイルシステムをアンマウントします。Amazon EFS ファイルシステムのアンマウントの詳細については、「ファイルシステムをアンマウントする (p. 77)」を参照してください。

大量のデータを書き込みしているアプリケーションがハングするAmazon EFS に大量のデータを書き込むアプリケーションがハングし、インスタンスが再起動します。

実行するアクション

アプリケーションが Amazon EFS にすべてのデータを書き込む時間が長すぎる場合、プロセスが応答しなくなったように見えるため、Linux が再起動することがあります。この動作は、kernel.hung_task_panic と kernel.hung_task_timeout_secs という 2 つのカーネルの設定パラメータにより定義されます。

次の例では、停止したプロセスの状態は ps コマンドにより D と共にインスタンスの再起動より前に報告されます。これは、プロセスが I/O で待機していることを示します。

$ ps aux | grep large_io.pyroot 33253 0.5 0.0 126652 5020 pts/3 D+ 18:22 0:00 python large_io.py/efs/large_file

再起動を避けるには、タイムアウト時間を長くするか、またはハングタスクが検出されたときのカーネルパニックを無効にします。次のコマンドは、ほとんどの Linux システムでタスクがハングしたときのカーネルパニックを無効にします。

$ sudo sysctl -w kernel.hung_task_panic=0

多くのファイルを並列に開くとパフォーマンスが低下する複数のファイルを並列に開くアプリケーションでは、I/O の並列化のパフォーマンスが期待されるほど向上しません。

実行するアクション

この問題は、Network File System バージョン4 (NFSv4) クライアントおよび NFSv4.1 を使用する RHEL6 クライアントで発生します。これらの NFS クライアントは NFS OPEN および CLOSE 操作をシリアル化するためです。NFSプロトコルバージョン 4.1 と、この問題が発生しない Linux ディストリビューション (p. 182)の 1 つを使用してください。

NFSv4.1 を使用できない場合は、Linux NFSv4.0 クライアントによりユーザー ID とグループ ID によるオープンとクローズのリクエストが直列化することに注意してください。この直列化は、複数のプロセスまたは複数のスレッドが同時にリクエストを発行した場合でも発生します。クライアントは、すべての IDが一致したときに、NFS サーバーに一度に 1 つのオープンまたはクローズの操作を送信します。これらの問題を回避するには、次のいずれかの操作を実行します。

183

Page 192: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドカスタム NFS 設定による書き込みの遅延

• 同じプロセスを、同じ Amazon EC2 インスタンス上の異なるユーザー ID から実行できます。• すべてのオープンリクエストでユーザー ID を同じにしておき、代わりにグループ ID のセットを変更す

ることができます。• 別の Amazon EC2 インスタンスから各プロセスを実行できます。

カスタム NFS 設定による書き込みの遅延カスタム NFS クライアント設定があり、Amazon EC2 インスタンスがファイルシステムで別の AmazonEC2 インスタンスから実行された書き込み操作を参照するのに最大 3 秒かかります。

実行するアクション

この問題が発生した場合は、次のいずれかの方法で解決することができます。

• データを読み取っている Amazon EC2 インスタンスの NFS クライアントが属性のキャッシュを有効にしている場合は、ファイルシステムをアンマウントします。次に、属性のキャッシュを無効にするため、noac オプションを使用して再マウントします。NFSv4.1 では、属性のキャッシュはデフォルトで有効になっています。

Note

クライアント側のキャッシュを無効にすると、アプリケーションのパフォーマンスを低下させる可能性があります。

• NFS プロシージャと互換性のあるプログラミング言語を使用して、必要に応じて属性のキャッシュをクリアすることもできます。これを行うには、読み込みリクエストの直前に ACCESS プロシージャリクエストを送信します。

たとえば、Python プログラミング言語を使用して、以下の呼び出しを作成できます。

# Does an NFS ACCESS procedure request to clear the attribute cache, given a path to the fileimport osos.access(path, os.W_OK)

Oracle Recovery Manager を使用したバックアップの作成に時間がかかるバックアップジョブを開始する前に Oracle Recovery Manager が 120 秒間一時停止すると、OracleRecovery Manager を使用したバックアップの作成が遅くなることがあります。

実行するアクション

この問題が発生した場合は、Oracle ヘルプセンターにある「NFS の Direct NFS クライアントコントロールの有効化と無効化」の説明に従って、Oracle Direct NFS を無効にします。

Note

Amazon EFS では、Oracle Direct NFS はサポートされていません。

ファイル操作エラーのトラブルシューティングAmazon EFS ファイルシステムにアクセスすると、ファイルシステム内の特定の制限がファイルに適用されます。これらの制限を超えると、ファイル操作エラーが発生します。Amazon EFS でのクライアントお

184

Page 193: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド「Disk quota exceeded」エラーでコマンドが失敗する

よびファイルに基づく制限の詳細については、「NFS クライアントのクォータ (p. 179)」を参照してください。以下に、いくつかの一般的なファイル操作エラーと各エラーに関連する制限を示します。

トピック• 「Disk quota exceeded」エラーでコマンドが失敗する (p. 185)• 「I/O error」でコマンドが失敗する (p. 185)• 「File name is too long」エラーでコマンドが失敗する (p. 185)• 「File not found」エラーでコマンドが失敗する (p. 186)• 「Too many links」エラーでコマンドが失敗する (p. 186)• 「File too large」エラーでコマンドが失敗する (p. 186)

「Disk quota exceeded」エラーでコマンドが失敗するAmazon EFS は現在、ユーザーディスククォータをサポートしていません。このエラーは、次のいずれかの制限を超えた場合に発生することがあります。

• 1 つのインスタンスに対して最大 128 のアクティブなユーザーアカウントで同時にファイルを開くことができます。

• 1 つのインスタンスに対して最大 32,768 ファイルを一度に開くことができます。• インスタンスのそれぞれの一意のマウントは、256 個の一意のファイル/プロセスのペア全体で合計

8,192 のロックを取得できます。たとえば、1 つのプロセスが 256 の別個のファイルに対して 1 つ以上のロックを取得する、または、8 つのプロセスがそれぞれ 32 ファイルに対して 1 つ以上のロックを取得することができます。

実行するアクション

この問題が発生した場合は、上記のいずれの制限を超過しているかを特定し、その制限を満たすように変更することで解決できます。

「I/O error」でコマンドが失敗するこのエラーは、以下の問題のいずれかが発生したときに発生します。

• インスタンスごとに 128 を超えるアクティブなユーザーアカウントが同時にファイルを開いた。

実行するアクション

この問題が発生した場合は、インスタンスで開いているファイルのサポートされている制限を満たすことで解決できます。これを行うには、インスタンス上で Amazon EFS ファイルシステムからのファイルを同時に開いているアクティブユーザーの数を減らします。

• ファイルシステムを暗号化する AWS KMS キーが削除されました。

実行するアクション

この問題が発生した場合、そのキーで暗号化されたデータを復号化できなくなります。これは、そのデータが回復不能になることを意味します。

「File name is too long」エラーでコマンドが失敗するこのエラーは、ファイル名またはシンボリックリンク (symlink) のサイズが長すぎる場合に発生します。ファイル名には以下の制限があります。

185

Page 194: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド「File not found」エラーでコマンドが失敗する

• 名前の長さは、最大 255 バイトまでです。• シンボリックリンクのサイズは最大 4080 バイトまでです。

実行するアクション

この問題が発生した場合は、サポートされている制限を満たすようにファイル名またはシンボリックリンクの長さを縮小することで解決できます。

「File not found」エラーでコマンドが失敗するこのエラーは、Oracle E-Business スイートの一部の古い 32 ビットバージョンが 32 ビットのファイル I/Oインターフェイスを使用し、EFS が 64 ビットの inode 番号を使用するために発生します。失敗する可能性のあるシステムコールには、stat () とreaddir () があります。

実行するアクション

このエラーが発生した場合は、nfs.enable_ino64=0 kernel ブートオプションを使用して解決できます。このオプションでは、64 ビットの EFS inode 番号が 32 ビットに圧縮されます。カーネルブートオプションは、Linux ディストリビューションごとに異なる方法で処理されます。Amazon Linux では、/etc/default/grub で GRUB_CMDLINE_LINUX_DEFAULT 変数に nfs.enable_ino64=0 kernel を追加することで、このオプションをオンにします。カーネルブートオプションを有効にする方法については、お使いのディストリビューションのドキュメントを参照してください。

「Too many links」エラーでコマンドが失敗するこのエラーは、ファイルへのハードリンクが多すぎる場合に発生します。1 つのファイルに持つことができるハードリンクは最大 177 個までです。

実行するアクション

この問題が発生した場合は、ファイルへのハードリンクの数をサポートされている制限を満たすように減らすことで解決できます。

「File too large」エラーでコマンドが失敗するこのエラーは、ファイルが大きすぎる場合に発生します。1 つのファイルのサイズは、最大52,673,613,135,872 バイト (47.9 TiB) までです。

実行するアクション

この問題が発生した場合は、サポートされている制限を満たすようにファイルのサイズを小さくすることで解決できます。

AMI とカーネルの問題のトラブルシューティング以下に、Amazon EC2 インスタンスから Amazon EFS を使用している時の、特定の Amazon マシンイメージ (AMI) またはカーネルバージョンに関連する問題のトラブルシューティングについての情報を示します。

トピック• chown ができない (p. 187)• クライアントのバグのためにファイルシステムが繰り返し操作を実行し続ける (p. 187)• デッドロッククライアント (p. 187)• 大きなディレクトリ内のファイルの一覧表示に時間がかかる (p. 187)

186

Page 195: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドchown ができない

chown ができないLinux の chown コマンドを使用してファイル/ディレクトリの所有権を変更することができません。

このバグのカーネルバージョン

2.6.32

実行するアクション

このエラーは次のように解決できます。

• EFS のルートディレクトリの所有権を変更するために必要な 1 回限りの設定のステップで chown を実行している場合、より新しいカーネルを実行しているインスタンスから chown コマンドを実行できます。たとえば、Amazon Linux の最新バージョンを使用します。

• chown が本稼働ワークフローの一部である場合、chown を使用するには、カーネルバージョンを更新する必要があります。

クライアントのバグのためにファイルシステムが繰り返し操作を実行し続けるクライアントのバグのために、ファイルシステムが繰り返し操作を実行しスタックします。

実行するアクション

クライアントのソフトウェアを最新バージョンに更新します。

デッドロッククライアントクライアントがデッドロック状態になります。

このバグのカーネルバージョン

• CentOS-7 でカーネルが Linux 3.10.0-229.20.1.el7.x86_64• Ubuntu 15.10 でカーネルが Linux 4.2.0-18-generic

実行するアクション

次のいずれかを行ってください。

• 新しいカーネルバージョンに更新します。CentOS-7 では、カーネルバージョン Linux 3.10.0-327 以降に修正が含まれています。

• 古いカーネルバージョンにダウングレードします。

大きなディレクトリ内のファイルの一覧表示に時間がかかるこれは、NFS クライアントがリスト操作を完了するためディレクトリを反復処理している間に、ディレクトリが変更された場合に発生します。この反復処理中にディレクトリの内容が変更されたことを NFS クライアントが認識すると、NFS クライアントは最初から反復処理を再開します。その結果、頻繁に変更されるファイルのある大きなディレクトリで ls コマンドが完了するまでに時間がかかることがあります。

187

Page 196: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドマウントの問題のトラブルシューティング

このバグのカーネルバージョン

CentOS および RHEL バージョン 2.6.32-696.1.1.el6 より以前のカーネル

実行するアクション

この問題を解決するには、新しいカーネルバージョンにアップグレードします。

マウントの問題のトラブルシューティング以下では、Amazon EFS でのファイルシステムのマウントに関する問題のトラブルシューティングについての情報を見つけることができます。

• Windows インスタンスでのファイルシステムのマウントが失敗する (p. 188)• サーバーによってアクセスが拒否されました (p. 188)• 自動マウントが失敗してインスタンスが応答しない (p. 189)• /etc/fstab での複数の Amazon EFS ファイルシステムのマウントが失敗する (p. 189)• エラーメッセージ「wrong fs type」でマウントコマンドが失敗する (p. 189)• エラーメッセージ「incorrect mount option」でマウントコマンドが失敗する (p. 190)• ファイルシステムを作成した後すぐにファイルシステムのマウントが失敗する (p. 190)• ファイルシステムのマウントがハングした後、タイムアウトエラーで失敗する (p. 190)• DNS 名を使用したファイルシステムのマウントが失敗する (p. 191)• 「nfs が応答していません」が表示されてファイルシステムのマウントが失敗する (p. 192)• マウントターゲットのライフサイクル状態がスタックする (p. 192)• マウントが応答しない (p. 192)• 新しくマウントされたファイルシステムでの操作が「bad file handle」エラーを返します (p. 192)• ファイルシステムのアンマウントが失敗する (p. 193)

Windows インスタンスでのファイルシステムのマウントが失敗するMicrosoft Windows の Amazon EC2 インスタンスで、ファイルシステムのマウントが失敗します。

実行するアクション

Amazon EFS を Windows EC2 インスタンスで使用しないでください。これはサポートされていません。

サーバーによってアクセスが拒否されましたファイルシステムのマウントが失敗し、次のメッセージが表示されます。

/efs mount.nfs4: access denied by server while mounting 127.0.0.1:/

この問題は、ファイルシステムをマウントするためのアクセス許可が NFS クライアントにない場合に発生することがあります。

実行するアクション

IAM を使用してファイルシステムをマウントする場合は、マウントコマンドで -o iam オプションを必ず使用します。これにより、EFS マウントヘルパーから EFS マウントターゲットに認証情報を渡すように指示します。それでもアクセスできない場合は、ファイルシステムポリシーと ID ポリシーをチェックし

188

Page 197: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド自動マウントが失敗してインスタンスが応答しない

て、接続に DENY 句が適用されていないこと、および接続に ALLOW 句が少なくとも 1 つ適用されていることを確認します。

自動マウントが失敗してインスタンスが応答しないこの問題は、ファイルシステムがインスタンスで自動的にマウントされ、_netdev オプションが宣言されていない場合に発生することがあります。_netdev が見つからない場合、EC2 インスタンスは応答を停止する可能性があります。この結果は、コンピューティングインスタンスがネットワーキングを開始後、ネットワークファイルシステムを初期化する必要があるためです。

実行するアクション

この問題が発生した場合は、AWS サポートにお問い合わせください。

/etc/fstab での複数の Amazon EFS ファイルシステムのマウントが失敗する/etc/fstab で 2 つ以上の Amazon EFS エントリを使用して systemd init システムを使用するインスタンスの場合、これらのエントリの一部またはすべてがマウントされないことがあります。この場合、dmesg 出力で以下のような 1 つ以上の行が表示されます。

NFS: nfs4_discover_server_trunking unhandled error -512. Exiting with error EIO

実行するアクション

この場合、以下の内容で /etc/systemd/system/mount-nfs-sequentially.service に新しいsystemd サービスファイルを作成することをお勧めします。

[Unit]Description=Workaround for mounting NFS file systems sequentially at boot timeAfter=remote-fs.target

[Service]Type=oneshotExecStart=/bin/mount -avt nfs4RemainAfterExit=yes

[Install]WantedBy=multi-user.target

その後、次の 2 つのコマンドを実行します。

1. sudo systemctl daemon-reload2. sudo systemctl enable mount-nfs-sequentially.service

次に、Amazon EC2 インスタンスを再起動します。通常 1 秒以内にオンデマンドでファイルシステムがマウントされます。

エラーメッセージ「wrong fs type」でマウントコマンドが失敗するマウントコマンドが失敗し、次のエラーメッセージが表示されます。

mount: wrong fs type, bad option, bad superblock on 10.1.25.30:/,

189

Page 198: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドエラーメッセージ「incorrect mount

option」でマウントコマンドが失敗する

missing codepage or helper program, or other error (for several filesystems (e.g. nfs, cifs) you might need a /sbin/mount.<type> helper program)In some cases useful info is found in syslog - try dmesg | tail or so.

実行するアクション

このメッセージが表示された場合、nfs-utils (または Ubuntu では nfs-common) パッケージをインストールします。詳細については、「NFS クライアントをインストールする (p. 303)」を参照してください。

エラーメッセージ「incorrect mount option」でマウントコマンドが失敗するマウントコマンドが失敗し、次のエラーメッセージが表示されます。

mount.nfs: an incorrect mount option was specified

実行するアクション

このエラーメッセージは、ほとんどの場合、ご利用の Linux ディストリビューションが Network FileSystem バージョン 4.0 および 4.1 (NFSv4) をサポートしていないことを意味します。これが該当するかどうかを確認するには、次のコマンドを実行します。

$ grep CONFIG_NFS_V4_1 /boot/config*

前述のコマンドが # CONFIG_NFS_V4_1 is not set を返すなら、ご利用の Linux ディストリビューションで NFSv4.1 がサポートされていません。NFSv4.1 をサポートする Amazon Elastic Compute Cloud(Amazon EC2) の Amazon マシンイメージ (AMI) の一覧については、「NFS サポート (p. 302)」を参照してください。

ファイルシステムを作成した後すぐにファイルシステムのマウントが失敗するマウントターゲットを作成した後、ドメインネームサービス (DNS) のレコードが AWS リージョンに完全に伝達するには、最大 90 秒かかります。

実行するアクション

たとえば、AWS CloudFormation テンプレートのように、ファイルシステムの作成とマウントにプログラムを使用している場合は、待機条件を実装することをお勧めします。

ファイルシステムのマウントがハングした後、タイムアウトエラーで失敗するファイルシステムのマウントコマンドが 1、2 分間ハングし、タイムアウトエラーで失敗します。コードの例を以下に示します。

$ sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport mount-target-ip:/ mnt

[2+ minute wait here]

190

Page 199: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドDNS 名を使用したファイルシステムのマウントが失敗する

mount.nfs: Connection timed out$ 

実行するアクション

このエラーは、Amazon EC2 インスタンスまたはマウントターゲットのセキュリティグループが正しく設定されていないために発生することがあります。マウントターゲットセキュリティグループに、EC2 セキュリティグループから NFS へのアクセスを許可するインバウンドルールがあることを確認します。

詳細については、「セキュリティグループの作成 (p. 29)」を参照してください。

指定したマウントターゲットの IP アドレスが有効であることを確認します。間違った IP アドレスを指定し、その IP アドレスにマウントを拒否するものが他に何もない場合、この問題が生じることがあります。

DNS 名を使用したファイルシステムのマウントが失敗するDNS 名を使用したファイルシステムのマウントが失敗します。コードの例を以下に示します。

$ sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport file-system-id.efs.aws-region.amazonaws.com:/ mnt mount.nfs: Failed to resolve server file-system-id.efs.aws-region.amazonaws.com: Name or service not known.

実行するアクション

VPC 設定を確認します。カスタム VPC を使用している場合は、DNS 設定が有効であることを確認します。詳細については、「Amazon VPC ユーザーガイド」の「VPC での DNS の使用」を参照してください。

mount コマンドで DNS 名を指定するには、以下を実行する必要があります。

• Amazon EC2 インスタンスと同じアベイラビリティーゾーンに Amazon EFS マウントターゲットがあることを確認します。

• Amazon EC2 インスタンスと同じ VPC にマウントターゲットがあることを確認します。そうしないと、別の VPC で EFS マウントターゲットに DNS 名前解決を使用することができません。詳細については、「別のアカウントまたは VPC から EFS ファイルシステムをマウントする (p. 73)」を参照してください。

• Amazon が提供する DNS サーバーを使用するように設定された Amazon VPC 内で Amazon EC2 インスタンスを接続します。詳細については、『Amazon VPC ユーザーガイド』の「DHCP オプションセット」を参照してください。

• 接続する Amazon EC2 インスタンスの Amazon VPC で、DNS ホスト名が有効であることを確認します。詳細については、『Amazon VPC ユーザーガイド』の「VPC の DNS サポートを更新する」を参照してください。

191

Page 200: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド「nfs が応答していません」が表示されてファイルシステムのマウントが失敗する

「nfs が応答していません」が表示されてファイルシステムのマウントが失敗する"nfs: server_name still not responding" との Transmission Control Protocol (TCP) 再接続イベントで Amazon EFS ファイルシステムのマウントが失敗します。

実行するアクション

ネットワーク接続が再確立されたときに、NFS クライアントが新しい TCP ソースポートを使用することを確認するには、noresvport マウントオプションを使用します。これにより、ネットワーク復旧イベント後の中断のない可用性が保証されます。

マウントターゲットのライフサイクル状態がスタックするマウントターゲットのライフサイクル状態が [creating (作成中)] または [deleting (削除中)] の状態でスタックします。

実行するアクション

CreateMountTarget または DeleteMountTarget の呼び出しを再試行します。

マウントが応答しないAmazon EFS マウントが応答していないようにみえます。たとえば、ls のようなコマンドがハングします。

実行するアクション

別のアプリケーションが大量のデータをファイルシステムに書き込んでいる際に、このエラーが発生することがあります。オペレーションが完了するまで、書き込み中のファイルへのアクセスがブロックされている可能性があります。一般的に、書き込まれているファイルにアクセスしようとするコマンドまたはアプリケーションはハングしているように見えます。たとえば、ls コマンドは、書き込み中のファイルに実行された場合、ハングする場合があります。この結果は、一部の Linux ディストリビューションでは、lsコマンドに別名を付け、ディレクトリの内容を一覧表示するだけでなく、ファイルの属性を取得するためです。

この問題を解決するには、以下の例のように、別のアプリケーションが Amazon EFS マウントにファイルを書き込んでいること、また、それが Uninterruptible sleep (D) 状態であることを確認します。

$ ps aux | grep large_io.py root 33253 0.5 0.0 126652 5020 pts/3 D+ 18:22 0:00 python large_io.py /efs/large_file

このような場合には、他の書き込み操作が完了するのを待つか、回避策を実装して問題を解決できます。ls の例では、エイリアスの代わりに直接 /bin/ls コマンドを使用できます。これにより、書き込まれているファイルにハングすることなくコマンドを続行できます。一般的に、データを書き込むアプリケーションが (おそらく fsync(2) を使用して) 定期的にデータを強制的にフラッシュする場合、そうすることで他のアプリケーションへのファイルシステムの応答性が向上する可能性があります。ただし、この改善は、アプリケーションがデータを書き込むときのパフォーマンスを犠牲にする可能性があります。

新しくマウントされたファイルシステムでの操作が「bad file handle」エラーを返します新しくマウントされたファイルシステムで実行された操作が bad file handle エラーを返します。

192

Page 201: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドファイルシステムのアンマウントが失敗する

このエラーは、Amazon EC2 インスタンスが 1 つのファイルシステムおよび 1 つのマウントターゲットに指定された IP アドレスで接続され、そのファイルシステムとマウントターゲットが削除された場合に発生します。同じマウントターゲットの IP アドレスを持つ Amazon EC2 インスタンスに接続するために新しいファイルシステムとマウントターゲットを作成すると、この問題が発生する可能性があります。

実行するアクション

このエラーは、ファイルシステムをアンマウントし、Amazon EC2 インスタンス上のファイルシステムを再マウントすることで解決できます。Amazon EFS ファイルシステムのアンマウントの詳細については、「ファイルシステムをアンマウントする (p. 77)」を参照してください。

ファイルシステムのアンマウントが失敗するファイルシステムが使用中の場合、アンマウントすることはできません。

実行するアクション

この問題は以下の方法で解決できます。

• すべての読み取りおよび書き込み操作が終了するまで待機してから、umount コマンドを再実行してください。

• umount オプションを使用して -f コマンドを強制的に終了します。

Warning

強制的なアンマウントにより、ファイルシステムで現在処理中の、すべてのデータ読み込みまたは書き込み操作が中断されます。

暗号化のトラブルシューティング以下では、Amazon EFS での暗号化に関する問題のトラブルシューティングについての情報を見つけることができます。

• 転送中にデータの暗号化を行うマウントが失敗する (p. 193)• 転送中にデータの暗号化を行うマウントが中断する (p. 193)• 保管時に暗号化されたファイルシステムを作成できない (p. 194)• 使用できない暗号化されたファイルシステム (p. 194)

転送中にデータの暗号化を行うマウントが失敗するデフォルトでは、Amazon EFS マウントヘルパーを Transport Layer Security (TLS) で使用するときに、ホスト名のチェックが強制されます。一部のシステム (Red Hat Enterprise Linux や CentOS など) では、この機能はサポートされません。このような場合は、TLS を使用した EFS ファイルシステムのマウントは失敗します。

実行するアクション

クライアントで stunnel のバージョンをアップグレードして、ホスト名のチェックに対応することをお勧めします。詳細については、「stunnel のアップグレード (p. 39)」を参照してください。

転送中にデータの暗号化を行うマウントが中断するごくまれに、Amazon EFS ファイルシステムへの暗号化された接続がハングしたり、クライアント側のイベントによって中断されることがあります。

193

Page 202: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド保管時に暗号化されたファイルシステムを作成できない

実行するアクション

転送時のデータ暗号化を使用した Amazon EFS ファイルシステムへの接続が中断される場合、次の手順を実行します。

1. クライアントで stunnel サービスが実行されていることを確認します。2. ウォッチドッグアプリケーション amazon-efs-mount-watchdog が、クライアントで実行されてい

ることを確認します。このアプリケーションが実行されているかどうかを確認するには、次のコマンドを使用します。

ps aux | grep [a]mazon-efs-mount-watchdog

3. サポートログを確認します。詳細については、「サポートログの取得 (p. 42)」を参照してください。4. 必要に応じて、stunnel ログを有効にしてそれらの情報を確認することもできます。/etc/amazon/

efs/efs-utils.conf でログの設定を変更して、stunnel ログを有効にできます。ただし、変更を有効にするためには、マウントヘルパーでファイルシステムをアンマウントしてから再マウントする必要があります。

Important

stunnel ログを有効にすると、ファイルシステムのいくらかの容量が使用されます。

中断が続く場合は、AWS サポートにお問い合わせください。

保管時に暗号化されたファイルシステムを作成できない保管時に暗号化されるファイルシステムを新しく作成しようとしましたが、「AWS KMS が利用できません」というエラーメッセージが表示されます。

実行するアクション

ユーザーの AWS リージョンで一時的に AWS KMS が利用できなくなった場合に、このエラーがまれに発生する可能性があります。これが発生した場合は、AWS KMS が完全に利用できるようになるまで待ってから、ファイルシステムの作成を再試行します。

使用できない暗号化されたファイルシステム暗号化されたファイルシステムが一貫して NFS サーバーエラーを返します。これらのエラーは、次のいずれかの理由で EFS が AWS KMS からマスターキーを取得できないときに発生します。

• キーが無効になっています。• キーが削除されました。• Amazon EFS がキーを使用するためのアクセス許可が失効しました。• AWS KMS は一時的に使用できません。

実行するアクション

まず、AWS KMS キーが有効になっていることを確認します。コンソールでキーを表示することで確認できます。詳細については、『AWS Key Management Service Developer Guide』の「キーの作成」を参照してください。

キーが有効になっていない場合は、有効化します。詳細については、『AWS Key Management ServiceDeveloper Guide』の「キーの有効化と無効化」を参照してください。

194

Page 203: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド使用できない暗号化されたファイルシステム

キーの削除が保留中の場合、このステータスによってキーが無効になります。削除をキャンセルして、キーを再度有効にできます。詳細については、『AWS Key Management Service Developer Guide』の「キーの削除をスケジュールし、キャンセルする」を参照してください。

キーを有効化してもまだ問題が発生している場合、またはキーの再度有効化で問題が発生した場合は、AWS サポートにお問い合わせください。

195

Page 204: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAPI エンドポイント

Amazon EFS APIAmazon EFS API は、HTTP (RFC 2616) に基づくネットワークプロトコルです。各 API 呼び出しについて、ファイルシステムを管理する AWS リージョンのリージョン固有の Amazon EFS API エンドポイントへの HTTP 要求を行います。API は、HTTP リクエスト/応答本文に JSON (RFC 4627) ドキュメントを使用します。

Amazon EFS API は RPC モデルです。このモデルでは、オペレーションの固定のセットがあり、各オペレーションの構文は、事前に操作しなくてもクライアントに知られています。次のセクションでは、理論上の RPC 表記を使用する各 API オペレーションについて説明します。それぞれには、オンラインでは表示されないオペレーション名があります。各オペレーションでは、トピックが HTTP リクエスト要素のマッピングを指定します。

リクエストのメソッド (GET、PUT、POST、DELETE) とリクエスト URI が一致するさまざまなパターンの組み合わせにより、所定のリクエストマップが定義されている、特定の Amazon EFS オペレーション。オペレーションが PUT または POST の場合、Amazon EFS はリクエストボディ中の Request-URI パスセグメント、クエリパラメーター、JSON オブジェクトから呼び出しの引数を引き出します。

Note

CreateFileSystem といったオペレーション名はオンラインには表示されませんが、これらのオペレーション名は AWS Identity and Access Management (IAM) ポリシーにとって意味があります。詳細については、「Amazon EFS の Identity and Access Management (p. 148)」を参照してください。オペレーション名は、コマンドラインツールのコマンドと AWS SDK API の要素に名前を付けるためにも使用されます。たとえば、CreateFileSystem オペレーションにマッピングする、create-file-system という AWS CLI コマンドがあります。オペレーション名は、Amazon EFS API コールの AWS CloudTrail ログ内にも表示されます。

API エンドポイントAPI エンドポイントは、API コールのために HTTP URI でホストとして使用する DNS 名です。これらのAPI エンドポイントは AWS リージョン固有で、次の書式が使用されます。

elasticfilesystem.aws-region.amazonaws.com

たとえば、米国西部 (オレゴン) リージョン のための Amazon EFS API エンドポイントは以下のとおりです。

elasticfilesystem.us-west-2.amazonaws.com

Amazon EFS がサポートする、ファイルシステムを作成および管理できる AWS リージョンの一覧は、『AWS General Reference』の「Amazon Elastic File System」を参照してください。

リージョン固有の API エンドポイントは、API コールを作成したときにアクセスできる Amazon EFS リソースの範囲を定義します。たとえば、前述のエンドポイントを使用して DescribeFileSystems オペレーションを呼び出す際、アカウントで作成された 米国西部 (オレゴン) リージョン内のファイルシステムのリストを取得します。

196

Page 205: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAPI バージョン

API バージョン呼び出しに使用される API のバージョンは、リクエスト URI の最初のパスセグメントにより特定されます。この形式は ISO 8601 の日付になります。例については、「CreateFileSystem (p. 203)」を参照してください。

ドキュメントでは、API バージョン 2015-02-01 について説明されています。

関連トピック以下のセクションでは、API オペレーション、認証リクエスト用の署名を作成する方法、IAM ポリシーを使用して、これらの API オペレーションのためのアクセス許可を付与する方法を説明します。

• Amazon EFS の Identity and Access Management (p. 148)• Actions (p. 198)• Data Types (p. 275)

Amazon EFS のクエリ API リクエスト率の使用Amazon EFS API のリクエストはリージョンごとに 各 AWS アカウントに対してスロットリングされ、サービスパフォーマンスに役立ちます。Amazon EFS API の呼び出しはすべて、アプリケーション、AWSCLI、Amazon EFS コンソールから発信されたかにかかわらず、許可される API リクエスト率の最大値を超えることはできません。最大 API リクエスト率は AWS リージョン間で異なる場合があります。AWSIdentity and Access Management (IAM) ユーザーによる API リクエストは、基盤となる AWS アカウントに起因します。

API リクエストがそのカテゴリの API リクエスト率を超過する場合、ThrottlingException エラーコードが返されます。このエラーを回避するには、アプリケーションが API リクエストを再試行する率を低くします。これは、ポーリングの際に注意深くし、エクスポネンシャルバックオフの再試行を使用することにより行えます。

ポーリングアプリケーションにより API オペレーションを繰り返し呼び出して、ステータスの更新を確認する必要がある場合があります。ポーリングを開始する前に、リクエストの予想完了時間を指定します。ポーリングを開始するとき、連続するリクエストの間に適切なスリープ間隔を使用します。最良の結果を得るには、漸増スリープ間隔を使用します。

再試行またはバッチ処理失敗した後で、アプリケーションが API リクエストを再試行するか、複数のリソースを処理する必要がある場合があります (たとえば、Amazon EFS ファイルシステムすべて)。API リクエストの率を下げるには、連続するリクエストの間に適切なスリープ間隔を使用します。最良の結果を得るには、漸増または可変スリープ間隔を使用します。

スリープ間隔の計算API リクエストをポーリングまたは再試行する必要がある場合は、エクスポネンシャルバックオフアルゴリズムを使用して API コール間のスリープ間隔を計算することをお勧めします。エクスポネンシャルバックオフは、再試行間の待機時間を累進的に長くして、連続的なエラー応答を受信するという考えに基づい

197

Page 206: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドActions

ています。詳細およびこのアルゴリズムの実装の例については、『アマゾン ウェブ サービス全般のリファレンス』の「AWS でのエラーの再試行とエクスポネンシャルバックオフ」を参照してください。

ActionsThe following actions are supported:

• CreateAccessPoint (p. 199)• CreateFileSystem (p. 203)• CreateMountTarget (p. 211)• CreateTags (p. 218)• DeleteAccessPoint (p. 221)• DeleteFileSystem (p. 223)• DeleteFileSystemPolicy (p. 225)• DeleteMountTarget (p. 227)• DeleteTags (p. 230)• DescribeAccessPoints (p. 232)• DescribeFileSystemPolicy (p. 235)• DescribeFileSystems (p. 238)• DescribeLifecycleConfiguration (p. 242)• DescribeMountTargets (p. 245)• DescribeMountTargetSecurityGroups (p. 249)• DescribeTags (p. 252)• ListTagsForResource (p. 255)• ModifyMountTargetSecurityGroups (p. 257)• PutFileSystemPolicy (p. 260)• PutLifecycleConfiguration (p. 263)• TagResource (p. 267)• UntagResource (p. 269)• UpdateFileSystem (p. 271)

198

Page 207: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドCreateAccessPoint

CreateAccessPointCreates an EFS access point. An access point is an application-specific view into an EFS file systemthat applies an operating system user and group, and a file system path, to any file system request madethrough the access point. The operating system user and group override any identity information providedby the NFS client. The file system path is exposed as the access point's root directory. Applications usingthe access point can only access data in its own directory and below. To learn more, see Mounting a FileSystem Using EFS Access Points.

This operation requires permissions for the elasticfilesystem:CreateAccessPoint action.

Request SyntaxPOST /2015-02-01/access-points HTTP/1.1Content-type: application/json

{ "ClientToken": "string", "FileSystemId": "string", "PosixUser": { "Gid": number, "SecondaryGids": [ number ], "Uid": number }, "RootDirectory": { "CreationInfo": { "OwnerGid": number, "OwnerUid": number, "Permissions": "string" }, "Path": "string" }, "Tags": [ { "Key": "string", "Value": "string" } ]}

URI Request ParametersThe request does not use any URI parameters.

Request BodyThe request accepts the following data in JSON format.

ClientToken (p. 199)

A string of up to 64 ASCII characters that Amazon EFS uses to ensure idempotent creation.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 64.

Required: YesFileSystemId (p. 199)

The ID of the EFS file system that the access point provides access to.

199

Page 208: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドCreateAccessPoint

Type: String

Required: YesPosixUser (p. 199)

The operating system user and group applied to all file system requests made using the access point.

Type: PosixUser (p. 286) object

Required: NoRootDirectory (p. 199)

Specifies the directory on the Amazon EFS file system that the access point exposes as the rootdirectory of your file system to NFS clients using the access point. The clients using the access pointcan only access the root directory and below. If the RootDirectory > Path specified does notexist, EFS creates it and applies the CreationInfo settings when a client connects to an accesspoint. When specifying a RootDirectory, you need to provide the Path, and the CreationInfo isoptional.

Type: RootDirectory (p. 287) object

Required: NoTags (p. 199)

Creates tags associated with the access point. Each tag is a key-value pair.

Type: Array of Tag (p. 288) objects

Required: No

Response Syntax

HTTP/1.1 200Content-type: application/json

{ "AccessPointArn": "string", "AccessPointId": "string", "ClientToken": "string", "FileSystemId": "string", "LifeCycleState": "string", "Name": "string", "OwnerId": "string", "PosixUser": { "Gid": number, "SecondaryGids": [ number ], "Uid": number }, "RootDirectory": { "CreationInfo": { "OwnerGid": number, "OwnerUid": number, "Permissions": "string" }, "Path": "string" }, "Tags": [ { "Key": "string", "Value": "string"

200

Page 209: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドCreateAccessPoint

} ]}

Response ElementsIf the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

AccessPointArn (p. 200)

The unique Amazon Resource Name (ARN) associated with the access point.

Type: StringAccessPointId (p. 200)

The ID of the access point, assigned by Amazon EFS.

Type: StringClientToken (p. 200)

The opaque string specified in the request to ensure idempotent creation.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 64.FileSystemId (p. 200)

The ID of the EFS file system that the access point applies to.

Type: StringLifeCycleState (p. 200)

Identifies the lifecycle phase of the access point.

Type: String

Valid Values: creating | available | updating | deleting | deletedName (p. 200)

The name of the access point. This is the value of the Name tag.

Type: StringOwnerId (p. 200)

Identified the AWS account that owns the access point resource.

Type: StringPosixUser (p. 200)

The full POSIX identity, including the user ID, group ID, and secondary group IDs on the access pointthat is used for all file operations by NFS clients using the access point.

Type: PosixUser (p. 286) objectRootDirectory (p. 200)

The directory on the Amazon EFS file system that the access point exposes as the root directory toNFS clients using the access point.

201

Page 210: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドCreateAccessPoint

Type: RootDirectory (p. 287) objectTags (p. 200)

The tags associated with the access point, presented as an array of Tag objects.

Type: Array of Tag (p. 288) objects

ErrorsAccessPointAlreadyExists

Returned if the access point you are trying to create already exists, with the creation token youprovided in the request.

HTTP Status Code: 409AccessPointLimitExceeded

Returned if the AWS account has already created the maximum number of access points allowed perfile system.

HTTP Status Code: 403BadRequest

Returned if the request is malformed or contains an error such as an invalid parameter value or amissing required parameter.

HTTP Status Code: 400FileSystemNotFound

Returned if the specified FileSystemId value doesn't exist in the requester's AWS account.

HTTP Status Code: 404InternalServerError

Returned if an error occurred on the server side.

HTTP Status Code: 500

See AlsoFor more information about using this API in one of the language-specific AWS SDKs, see the following:

• AWS Command Line Interface• AWS SDK for .NET• AWS SDK for C++• AWS SDK for Go• AWS SDK for Java• AWS SDK for JavaScript• AWS SDK for PHP V3• AWS SDK for Python• AWS SDK for Ruby V3

202

Page 211: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドCreateFileSystem

CreateFileSystemCreates a new, empty file system. The operation requires a creation token in the request that Amazon EFSuses to ensure idempotent creation (calling the operation with same creation token has no effect). If a filesystem does not currently exist that is owned by the caller's AWS account with the specified creation token,this operation does the following:

• Creates a new, empty file system. The file system will have an Amazon EFS assigned ID, and an initiallifecycle state creating.

• Returns with the description of the created file system.

Otherwise, this operation returns a FileSystemAlreadyExists error with the ID of the existing filesystem.

Note

For basic use cases, you can use a randomly generated UUID for the creation token.

The idempotent operation allows you to retry a CreateFileSystem call without risk of creating an extrafile system. This can happen when an initial call fails in a way that leaves it uncertain whether or not afile system was actually created. An example might be that a transport level timeout occurred or yourconnection was reset. As long as you use the same creation token, if the initial call had succeeded increating a file system, the client can learn of its existence from the FileSystemAlreadyExists error.

Note

The CreateFileSystem call returns while the file system's lifecycle state is still creating. Youcan check the file system creation status by calling the DescribeFileSystems (p. 238) operation,which among other things returns the file system state.

This operation also takes an optional PerformanceMode parameter that you choose for your file system.We recommend generalPurpose performance mode for most file systems. File systems using the maxIOperformance mode can scale to higher levels of aggregate throughput and operations per second with atradeoff of slightly higher latencies for most file operations. The performance mode can't be changed afterthe file system has been created. For more information, see Amazon EFS: Performance Modes.

After the file system is fully created, Amazon EFS sets its lifecycle state to available, at which pointyou can create one or more mount targets for the file system in your VPC. For more information, seeCreateMountTarget (p. 211). You mount your Amazon EFS file system on an EC2 instances in your VPCby using the mount target. For more information, see Amazon EFS: How it Works.

This operation requires permissions for the elasticfilesystem:CreateFileSystem action.

Request SyntaxPOST /2015-02-01/file-systems HTTP/1.1Content-type: application/json

{ "CreationToken": "string", "Encrypted": boolean, "KmsKeyId": "string", "PerformanceMode": "string", "ProvisionedThroughputInMibps": number, "Tags": [ { "Key": "string", "Value": "string" }

203

Page 212: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドCreateFileSystem

], "ThroughputMode": "string"}

URI Request ParametersThe request does not use any URI parameters.

Request BodyThe request accepts the following data in JSON format.

CreationToken (p. 203)

A string of up to 64 ASCII characters. Amazon EFS uses this to ensure idempotent creation.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 64.

Required: YesEncrypted (p. 203)

A Boolean value that, if true, creates an encrypted file system. When creating an encrypted file system,you have the option of specifying CreateFileSystem:KmsKeyId (p. 204) for an existing AWS KeyManagement Service (AWS KMS) customer master key (CMK). If you don't specify a CMK, then thedefault CMK for Amazon EFS, /aws/elasticfilesystem, is used to protect the encrypted filesystem.

Type: Boolean

Required: NoKmsKeyId (p. 203)

The ID of the AWS KMS CMK to be used to protect the encrypted file system. This parameter is onlyrequired if you want to use a nondefault CMK. If this parameter is not specified, the default CMK forAmazon EFS is used. This ID can be in one of the following formats:• Key ID - A unique identifier of the key, for example 1234abcd-12ab-34cd-56ef-1234567890ab.• ARN - An Amazon Resource Name (ARN) for the key, for example arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.

• Key alias - A previously created display name for a key, for example alias/projectKey1.• Key alias ARN - An ARN for a key alias, for example arn:aws:kms:us-west-2:444455556666:alias/projectKey1.

If KmsKeyId is specified, the CreateFileSystem:Encrypted (p. 204) parameter must be set to true.Important

EFS accepts only symmetric CMKs. You cannot use asymmetric CMKs with EFS file systems.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 2048.

Required: NoPerformanceMode (p. 203)

The performance mode of the file system. We recommend generalPurpose performance modefor most file systems. File systems using the maxIO performance mode can scale to higher levels of

204

Page 213: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドCreateFileSystem

aggregate throughput and operations per second with a tradeoff of slightly higher latencies for most fileoperations. The performance mode can't be changed after the file system has been created.

Type: String

Valid Values: generalPurpose | maxIO

Required: NoProvisionedThroughputInMibps (p. 203)

The throughput, measured in MiB/s, that you want to provision for a file system that you're creating.Valid values are 1-1024. Required if ThroughputMode is set to provisioned. The upper limit forthroughput is 1024 MiB/s. You can get this limit increased by contacting AWS Support. For moreinformation, see Amazon EFS Limits That You Can Increase in the Amazon EFS User Guide.

Type: Double

Valid Range: Minimum value of 1.0.

Required: NoTags (p. 203)

A value that specifies to create one or more tags associated with the file system. Eachtag is a user-defined key-value pair. Name your file system on creation by including a"Key":"Name","Value":"{value}" key-value pair.

Type: Array of Tag (p. 288) objects

Required: NoThroughputMode (p. 203)

The throughput mode for the file system to be created. There are two throughput modes tochoose from for your file system: bursting and provisioned. If you set ThroughputMode toprovisioned, you must also set a value for ProvisionedThroughPutInMibps. You can decreaseyour file system's throughput in Provisioned Throughput mode or change between the throughputmodes as long as it’s been more than 24 hours since the last decrease or throughput mode change.For more, see Specifying Throughput with Provisioned Mode in the Amazon EFS User Guide.

Type: String

Valid Values: bursting | provisioned

Required: No

Response SyntaxHTTP/1.1 201Content-type: application/json

{ "CreationTime": number, "CreationToken": "string", "Encrypted": boolean, "FileSystemId": "string", "KmsKeyId": "string", "LifeCycleState": "string", "Name": "string", "NumberOfMountTargets": number, "OwnerId": "string",

205

Page 214: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドCreateFileSystem

"PerformanceMode": "string", "ProvisionedThroughputInMibps": number, "SizeInBytes": { "Timestamp": number, "Value": number, "ValueInIA": number, "ValueInStandard": number }, "Tags": [ { "Key": "string", "Value": "string" } ], "ThroughputMode": "string"}

Response ElementsIf the action is successful, the service sends back an HTTP 201 response.

The following data is returned in JSON format by the service.

CreationTime (p. 205)

The time that the file system was created, in seconds (since 1970-01-01T00:00:00Z).

Type: TimestampCreationToken (p. 205)

The opaque string specified in the request.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 64.Encrypted (p. 205)

A Boolean value that, if true, indicates that the file system is encrypted.

Type: BooleanFileSystemId (p. 205)

The ID of the file system, assigned by Amazon EFS.

Type: StringKmsKeyId (p. 205)

The ID of an AWS Key Management Service (AWS KMS) customer master key (CMK) that was usedto protect the encrypted file system.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 2048.LifeCycleState (p. 205)

The lifecycle phase of the file system.

Type: String

Valid Values: creating | available | updating | deleting | deleted

206

Page 215: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドCreateFileSystem

Name (p. 205)

You can add tags to a file system, including a Name tag. For more information, seeCreateFileSystem (p. 203). If the file system has a Name tag, Amazon EFS returns the value in thisfield.

Type: String

Length Constraints: Maximum length of 256.NumberOfMountTargets (p. 205)

The current number of mount targets that the file system has. For more information, seeCreateMountTarget (p. 211).

Type: Integer

Valid Range: Minimum value of 0.OwnerId (p. 205)

The AWS account that created the file system. If the file system was created by an IAM user, theparent account to which the user belongs is the owner.

Type: StringPerformanceMode (p. 205)

The performance mode of the file system.

Type: String

Valid Values: generalPurpose | maxIOProvisionedThroughputInMibps (p. 205)

The throughput, measured in MiB/s, that you want to provision for a file system. Valid values are1-1024. Required if ThroughputMode is set to provisioned. The limit on throughput is 1024 MiB/s. You can get these limits increased by contacting AWS Support. For more information, see AmazonEFS Limits That You Can Increase in the Amazon EFS User Guide.

Type: Double

Valid Range: Minimum value of 1.0.SizeInBytes (p. 205)

The latest known metered size (in bytes) of data stored in the file system, in its Value field, and thetime at which that size was determined in its Timestamp field. The Timestamp value is the integernumber of seconds since 1970-01-01T00:00:00Z. The SizeInBytes value doesn't represent the sizeof a consistent snapshot of the file system, but it is eventually consistent when there are no writes tothe file system. That is, SizeInBytes represents actual size only if the file system is not modified for aperiod longer than a couple of hours. Otherwise, the value is not the exact size that the file system wasat any point in time.

Type: FileSystemSize (p. 282) objectTags (p. 205)

The tags associated with the file system, presented as an array of Tag objects.

Type: Array of Tag (p. 288) objectsThroughputMode (p. 205)

The throughput mode for a file system. There are two throughput modes to choose from for your filesystem: bursting and provisioned. If you set ThroughputMode to provisioned, you must also

207

Page 216: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドCreateFileSystem

set a value for ProvisionedThroughPutInMibps. You can decrease your file system's throughputin Provisioned Throughput mode or change between the throughput modes as long as it’s been morethan 24 hours since the last decrease or throughput mode change.

Type: String

Valid Values: bursting | provisioned

ErrorsBadRequest

Returned if the request is malformed or contains an error such as an invalid parameter value or amissing required parameter.

HTTP Status Code: 400FileSystemAlreadyExists

Returned if the file system you are trying to create already exists, with the creation token you provided.

HTTP Status Code: 409FileSystemLimitExceeded

Returned if the AWS account has already created the maximum number of file systems allowed peraccount.

HTTP Status Code: 403InsufficientThroughputCapacity

Returned if there's not enough capacity to provision additional throughput. This value might be returnedwhen you try to create a file system in provisioned throughput mode, when you attempt to increasethe provisioned throughput of an existing file system, or when you attempt to change an existing filesystem from bursting to provisioned throughput mode.

HTTP Status Code: 503InternalServerError

Returned if an error occurred on the server side.

HTTP Status Code: 500ThroughputLimitExceeded

Returned if the throughput mode or amount of provisioned throughput can't be changed because thethroughput limit of 1024 MiB/s has been reached.

HTTP Status Code: 400

ExampleCreate a File SystemThe following example sends a POST request to create a file system in the us-west-2 region. Therequest specifies myFileSystem1 as the creation token.

Sample Request

POST /2015-02-01/file-systems HTTP/1.1

208

Page 217: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドCreateFileSystem

Host: elasticfilesystem.us-west-2.amazonaws.comx-amz-date: 20140620T215117ZAuthorization: <...>Content-Type: application/jsonContent-Length: 42

{ "CreationToken" : "myFileSystem1", "PerformanceMode" : "generalPurpose", "Tags":[ { "Key": "Name", "Value": "Test Group1" } ]}

Sample Response

HTTP/1.1 201 Createdx-amzn-RequestId: 01234567-89ab-cdef-0123-456789abcdefContent-Type: application/jsonContent-Length: 319

{ "ownerId":"251839141158", "creationToken":"myFileSystem1", "PerformanceMode" : "generalPurpose", "fileSystemId":"fs-01234567", "CreationTime":"1403301078", "LifeCycleState":"creating", "numberOfMountTargets":0, "SizeInBytes":{ "Timestamp": 1403301078, "Value": 29313417216, "ValueInIA": 675432, "ValueInStandard": 29312741784 }, "Tags":[ { "Key": "Name", "Value": "Test Group1" } ]}

See AlsoFor more information about using this API in one of the language-specific AWS SDKs, see the following:

• AWS Command Line Interface• AWS SDK for .NET• AWS SDK for C++• AWS SDK for Go• AWS SDK for Java• AWS SDK for JavaScript• AWS SDK for PHP V3• AWS SDK for Python• AWS SDK for Ruby V3

209

Page 218: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドCreateFileSystem

210

Page 219: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドCreateMountTarget

CreateMountTargetCreates a mount target for a file system. You can then mount the file system on EC2 instances by using themount target.

You can create one mount target in each Availability Zone in your VPC. All EC2 instances in a VPC withina given Availability Zone share a single mount target for a given file system. If you have multiple subnets inan Availability Zone, you create a mount target in one of the subnets. EC2 instances do not need to be inthe same subnet as the mount target in order to access their file system. For more information, see AmazonEFS: How it Works.

In the request, you also specify a file system ID for which you are creating the mount target and the filesystem's lifecycle state must be available. For more information, see DescribeFileSystems (p. 238).

In the request, you also provide a subnet ID, which determines the following:

• VPC in which Amazon EFS creates the mount target• Availability Zone in which Amazon EFS creates the mount target• IP address range from which Amazon EFS selects the IP address of the mount target (if you don't specify

an IP address in the request)

After creating the mount target, Amazon EFS returns a response that includes, a MountTargetId and anIpAddress. You use this IP address when mounting the file system in an EC2 instance. You can also usethe mount target's DNS name when mounting the file system. The EC2 instance on which you mount thefile system by using the mount target can resolve the mount target's DNS name to its IP address. For moreinformation, see How it Works: Implementation Overview.

Note that you can create mount targets for a file system in only one VPC, and there can be only one mounttarget per Availability Zone. That is, if the file system already has one or more mount targets created for it,the subnet specified in the request to add another mount target must meet the following requirements:

• Must belong to the same VPC as the subnets of the existing mount targets• Must not be in the same Availability Zone as any of the subnets of the existing mount targets

If the request satisfies the requirements, Amazon EFS does the following:

• Creates a new mount target in the specified subnet.• Also creates a new network interface in the subnet as follows:

• If the request provides an IpAddress, Amazon EFS assigns that IP address to the network interface.Otherwise, Amazon EFS assigns a free address in the subnet (in the same way that the Amazon EC2CreateNetworkInterface call does when a request does not specify a primary private IP address).

• If the request provides SecurityGroups, this network interface is associated with those securitygroups. Otherwise, it belongs to the default security group for the subnet's VPC.

• Assigns the description Mount target fsmt-id for file system fs-id where fsmt-id is the mount target ID, and fs-id is the FileSystemId.

• Sets the requesterManaged property of the network interface to true, and the requesterId valueto EFS.

Each Amazon EFS mount target has one corresponding requester-managed EC2 network interface. Afterthe network interface is created, Amazon EFS sets the NetworkInterfaceId field in the mount target'sdescription to the network interface ID, and the IpAddress field to its address. If network interfacecreation fails, the entire CreateMountTarget operation fails.

211

Page 220: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドCreateMountTarget

Note

The CreateMountTarget call returns only after creating the network interface, but while themount target state is still creating, you can check the mount target creation status by calling theDescribeMountTargets (p. 245) operation, which among other things returns the mount targetstate.

We recommend that you create a mount target in each of the Availability Zones. There are costconsiderations for using a file system in an Availability Zone through a mount target created in anotherAvailability Zone. For more information, see Amazon EFS. In addition, by always using a mount target localto the instance's Availability Zone, you eliminate a partial failure scenario. If the Availability Zone in whichyour mount target is created goes down, then you can't access your file system through that mount target.

This operation requires permissions for the following action on the file system:

• elasticfilesystem:CreateMountTarget

This operation also requires permissions for the following Amazon EC2 actions:

• ec2:DescribeSubnets

• ec2:DescribeNetworkInterfaces

• ec2:CreateNetworkInterface

Request SyntaxPOST /2015-02-01/mount-targets HTTP/1.1Content-type: application/json

{ "FileSystemId": "string", "IpAddress": "string", "SecurityGroups": [ "string" ], "SubnetId": "string"}

URI Request ParametersThe request does not use any URI parameters.

Request BodyThe request accepts the following data in JSON format.

FileSystemId (p. 212)

The ID of the file system for which to create the mount target.

Type: String

Required: YesIpAddress (p. 212)

Valid IPv4 address within the address range of the specified subnet.

Type: String

Required: No

212

Page 221: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドCreateMountTarget

SecurityGroups (p. 212)

Up to five VPC security group IDs, of the form sg-xxxxxxxx. These must be for the same VPC assubnet specified.

Type: Array of strings

Array Members: Maximum number of 5 items.

Required: NoSubnetId (p. 212)

The ID of the subnet to add the mount target in.

Type: String

Required: Yes

Response SyntaxHTTP/1.1 200Content-type: application/json

{ "AvailabilityZoneId": "string", "AvailabilityZoneName": "string", "FileSystemId": "string", "IpAddress": "string", "LifeCycleState": "string", "MountTargetId": "string", "NetworkInterfaceId": "string", "OwnerId": "string", "SubnetId": "string"}

Response ElementsIf the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

AvailabilityZoneId (p. 213)

The unique and consistent identifier of the Availability Zone (AZ) that the mount target resides in. Forexample, use1-az1 is an AZ ID for the us-east-1 Region and it has the same location in every AWSaccount.

Type: StringAvailabilityZoneName (p. 213)

The name of the Availability Zone (AZ) that the mount target resides in. AZs are independently mappedto names for each AWS account. For example, the Availability Zone us-east-1a for your AWSaccount might not be the same location as us-east-1a for another AWS account.

Type: StringFileSystemId (p. 213)

The ID of the file system for which the mount target is intended.

213

Page 222: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドCreateMountTarget

Type: StringIpAddress (p. 213)

Address at which the file system can be mounted by using the mount target.

Type: StringLifeCycleState (p. 213)

Lifecycle state of the mount target.

Type: String

Valid Values: creating | available | updating | deleting | deletedMountTargetId (p. 213)

System-assigned mount target ID.

Type: StringNetworkInterfaceId (p. 213)

The ID of the network interface that Amazon EFS created when it created the mount target.

Type: StringOwnerId (p. 213)

AWS account ID that owns the resource.

Type: StringSubnetId (p. 213)

The ID of the mount target's subnet.

Type: String

ErrorsBadRequest

Returned if the request is malformed or contains an error such as an invalid parameter value or amissing required parameter.

HTTP Status Code: 400FileSystemNotFound

Returned if the specified FileSystemId value doesn't exist in the requester's AWS account.

HTTP Status Code: 404IncorrectFileSystemLifeCycleState

Returned if the file system's lifecycle state is not "available".

HTTP Status Code: 409InternalServerError

Returned if an error occurred on the server side.

HTTP Status Code: 500

214

Page 223: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドCreateMountTarget

IpAddressInUse

Returned if the request specified an IpAddress that is already in use in the subnet.

HTTP Status Code: 409MountTargetConflict

Returned if the mount target would violate one of the specified restrictions based on the file system'sexisting mount targets.

HTTP Status Code: 409NetworkInterfaceLimitExceeded

The calling account has reached the limit for elastic network interfaces for the specific AWS Region.The client should try to delete some elastic network interfaces or get the account limit raised. For moreinformation, see Amazon VPC Limits in the Amazon VPC User Guide (see the Network interfaces perVPC entry in the table).

HTTP Status Code: 409NoFreeAddressesInSubnet

Returned if IpAddress was not specified in the request and there are no free IP addresses in thesubnet.

HTTP Status Code: 409SecurityGroupLimitExceeded

Returned if the size of SecurityGroups specified in the request is greater than five.

HTTP Status Code: 400SecurityGroupNotFound

Returned if one of the specified security groups doesn't exist in the subnet's VPC.

HTTP Status Code: 400SubnetNotFound

Returned if there is no subnet with ID SubnetId provided in the request.

HTTP Status Code: 400UnsupportedAvailabilityZone

HTTP Status Code: 400

ExamplesAdd a Mount Target to a File SystemThe following request creates a mount target for a file system. The request specifies values for onlythe required FileSystemId and SubnetId parameters. The request does not provide the optionalIpAddress and SecurityGroups parameters. For IpAddress, the operation uses one of the availableIP addresses in the specified subnet. And, the operation uses the default security group associated with theVPC for the SecurityGroups.

Sample Request

POST /2015-02-01/mount-targets HTTP/1.1

215

Page 224: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドCreateMountTarget

Host: elasticfilesystem.us-west-2.amazonaws.comx-amz-date: 20140620T221118ZAuthorization: <...>Content-Type: application/jsonContent-Length: 160

{"SubnetId": "subnet-748c5d03", "FileSystemId": "fs-01234567"}

Sample Response

HTTP/1.1 200 OKx-amzn-RequestId: 01234567-89ab-cdef-0123-456789abcdefContent-Type: application/jsonContent-Length: 252

{ "MountTargetId": "fsmt-55a4413c", "NetworkInterfaceId": "eni-01234567", "FileSystemId": "fs-01234567", "LifeCycleState": "available", "SubnetId": "subnet-01234567", "OwnerId": "231243201240", "IpAddress": "172.31.22.183"}

Add a Mount Target to a File System

The following request specifies all the request parameters to create a mount target.

Sample Request

POST /2015-02-01/mount-targets HTTP/1.1 Host: elasticfilesystem.us-west-2.amazonaws.comx-amz-date: 20140620T221118ZAuthorization: <...>Content-Type: application/jsonContent-Length: 160

{ "FileSystemId":"fs-01234567", "SubnetId":"subnet-01234567", "IpAddress":"10.0.2.42", "SecurityGroups":[ "sg-01234567" ]}

Sample Response

HTTP/1.1 200 OKx-amzn-RequestId: 01234567-89ab-cdef-0123-456789abcdefContent-Type: application/jsonContent-Length: 252

{ "OwnerId":"251839141158", "MountTargetId":"fsmt-9a13661e", "FileSystemId":"fs-01234567", "SubnetId":"subnet-fd04ff94", "LifeCycleState":"available", "IpAddress":"10.0.2.42",

216

Page 226: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドCreateTags

CreateTagsCreates or overwrites tags associated with a file system. Each tag is a key-value pair. If a tag key specifiedin the request already exists on the file system, this operation overwrites its value with the value providedin the request. If you add the Name tag to your file system, Amazon EFS returns it in the response to theDescribeFileSystems (p. 238) operation.

This operation requires permission for the elasticfilesystem:CreateTags action.

Request Syntax

POST /2015-02-01/create-tags/FileSystemId HTTP/1.1Content-type: application/json

{ "Tags": [ { "Key": "string", "Value": "string" } ]}

URI Request ParametersThe request requires the following URI parameters.

FileSystemId (p. 218)

The ID of the file system whose tags you want to modify (String). This operation modifies the tags only,not the file system.

Request BodyThe request accepts the following data in JSON format.

Tags (p. 218)

An array of Tag objects to add. Each Tag object is a key-value pair.

Type: Array of Tag (p. 288) objects

Required: Yes

Response Syntax

HTTP/1.1 204

Response ElementsIf the action is successful, the service sends back an HTTP 204 response with an empty HTTP body.

218

Page 227: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドCreateTags

ErrorsBadRequest

Returned if the request is malformed or contains an error such as an invalid parameter value or amissing required parameter.

HTTP Status Code: 400FileSystemNotFound

Returned if the specified FileSystemId value doesn't exist in the requester's AWS account.

HTTP Status Code: 404InternalServerError

Returned if an error occurred on the server side.

HTTP Status Code: 500

ExampleCreate Tags on a File SystemThe following request creates three tags ("key1", "key2", and "key3") on the specified file system.

Sample Request

POST /2015-02-01/create-tags/fs-01234567 HTTP/1.1 Host: elasticfilesystem.us-west-2.amazonaws.comx-amz-date: 20140620T221118ZAuthorization: <...>Content-Type: application/jsonContent-Length: 160

{ "Tags": [ { "Value": "value1", "Key": "key1" }, { "Value": "value2", "Key": "key2" }, { "Value": "value3", "Key": "key3" } ]}

Sample Response

HTTP/1.1 204 no contentx-amzn-RequestId: 01234567-89ab-cdef-0123-456789abcdef

See AlsoFor more information about using this API in one of the language-specific AWS SDKs, see the following:

219

Page 229: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドDeleteAccessPoint

DeleteAccessPointDeletes the specified access point. After deletion is complete, new clients can no longer connect to theaccess points. Clients connected to the access point at the time of deletion will continue to function untilthey terminate their connection.

This operation requires permissions for the elasticfilesystem:DeleteAccessPoint action.

Request SyntaxDELETE /2015-02-01/access-points/AccessPointId HTTP/1.1

URI Request ParametersThe request requires the following URI parameters.

AccessPointId (p. 221)

The ID of the access point that you want to delete.

Request BodyThe request does not have a request body.

Response SyntaxHTTP/1.1 204

Response ElementsIf the action is successful, the service sends back an HTTP 204 response with an empty HTTP body.

ErrorsAccessPointNotFound

Returned if the specified AccessPointId value doesn't exist in the requester's AWS account.

HTTP Status Code: 404BadRequest

Returned if the request is malformed or contains an error such as an invalid parameter value or amissing required parameter.

HTTP Status Code: 400InternalServerError

Returned if an error occurred on the server side.

HTTP Status Code: 500

See AlsoFor more information about using this API in one of the language-specific AWS SDKs, see the following:

221

Page 231: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドDeleteFileSystem

DeleteFileSystemDeletes a file system, permanently severing access to its contents. Upon return, the file system no longerexists and you can't access any contents of the deleted file system.

You can't delete a file system that is in use. That is, if the file system has any mount targets,you must first delete them. For more information, see DescribeMountTargets (p. 245) andDeleteMountTarget (p. 227).

Note

The DeleteFileSystem call returns while the file system state is still deleting. You can checkthe file system deletion status by calling the DescribeFileSystems (p. 238) operation, whichreturns a list of file systems in your account. If you pass file system ID or creation token for thedeleted file system, the DescribeFileSystems (p. 238) returns a 404 FileSystemNotFounderror.

This operation requires permissions for the elasticfilesystem:DeleteFileSystem action.

Request SyntaxDELETE /2015-02-01/file-systems/FileSystemId HTTP/1.1

URI Request ParametersThe request requires the following URI parameters.

FileSystemId (p. 223)

The ID of the file system you want to delete.

Request BodyThe request does not have a request body.

Response SyntaxHTTP/1.1 204

Response ElementsIf the action is successful, the service sends back an HTTP 204 response with an empty HTTP body.

ErrorsBadRequest

Returned if the request is malformed or contains an error such as an invalid parameter value or amissing required parameter.

HTTP Status Code: 400FileSystemInUse

Returned if a file system has mount targets.

223

Page 232: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドDeleteFileSystem

HTTP Status Code: 409FileSystemNotFound

Returned if the specified FileSystemId value doesn't exist in the requester's AWS account.

HTTP Status Code: 404InternalServerError

Returned if an error occurred on the server side.

HTTP Status Code: 500

ExampleDelete a File System

The following example sends a DELETE request to the file-systems endpoint(elasticfilesystem.us-west-2.amazonaws.com/2015-02-01/file-systems/fs-01234567)to delete a file system whose ID is fs-01234567.

Sample Request

DELETE /2015-02-01/file-systems/fs-01234567 HTTP/1.1Host: elasticfilesystem.us-west-2.amazonaws.comx-amz-date: 20140622T233021ZAuthorization: <...>

Sample Response

HTTP/1.1 204 No Contentx-amzn-RequestId: a2d125b3-7ebd-4d6a-ab3d-5548630bff33Content-Length: 0

See AlsoFor more information about using this API in one of the language-specific AWS SDKs, see the following:

• AWS Command Line Interface• AWS SDK for .NET• AWS SDK for C++• AWS SDK for Go• AWS SDK for Java• AWS SDK for JavaScript• AWS SDK for PHP V3• AWS SDK for Python• AWS SDK for Ruby V3

224

Page 233: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドDeleteFileSystemPolicy

DeleteFileSystemPolicyDeletes the FileSystemPolicy for the specified file system. The default FileSystemPolicy goes intoeffect once the existing policy is deleted. For more information about the default file system policy, seeUsing Resource-based Policies with EFS.

This operation requires permissions for the elasticfilesystem:DeleteFileSystemPolicy action.

Request SyntaxDELETE /2015-02-01/file-systems/FileSystemId/policy HTTP/1.1

URI Request ParametersThe request requires the following URI parameters.

FileSystemId (p. 225)

Specifies the EFS file system for which to delete the FileSystemPolicy.

Request BodyThe request does not have a request body.

Response SyntaxHTTP/1.1 200

Response ElementsIf the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

ErrorsFileSystemNotFound

Returned if the specified FileSystemId value doesn't exist in the requester's AWS account.

HTTP Status Code: 404IncorrectFileSystemLifeCycleState

Returned if the file system's lifecycle state is not "available".

HTTP Status Code: 409InternalServerError

Returned if an error occurred on the server side.

HTTP Status Code: 500

See AlsoFor more information about using this API in one of the language-specific AWS SDKs, see the following:

225

Page 235: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドDeleteMountTarget

DeleteMountTargetDeletes the specified mount target.

This operation forcibly breaks any mounts of the file system by using the mount target that is being deleted,which might disrupt instances or applications using those mounts. To avoid applications getting cut offabruptly, you might consider unmounting any mounts of the mount target, if feasible. The operation alsodeletes the associated network interface. Uncommitted writes might be lost, but breaking a mount targetusing this operation does not corrupt the file system itself. The file system you created remains. You canmount an EC2 instance in your VPC by using another mount target.

This operation requires permissions for the following action on the file system:

• elasticfilesystem:DeleteMountTarget

Note

The DeleteMountTarget call returns while the mount target state is still deleting. You cancheck the mount target deletion by calling the DescribeMountTargets (p. 245) operation, whichreturns a list of mount target descriptions for the given file system.

The operation also requires permissions for the following Amazon EC2 action on the mount target's networkinterface:

• ec2:DeleteNetworkInterface

Request Syntax

DELETE /2015-02-01/mount-targets/MountTargetId HTTP/1.1

URI Request ParametersThe request requires the following URI parameters.

MountTargetId (p. 227)

The ID of the mount target to delete (String).

Request BodyThe request does not have a request body.

Response Syntax

HTTP/1.1 204

Response ElementsIf the action is successful, the service sends back an HTTP 204 response with an empty HTTP body.

227

Page 236: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドDeleteMountTarget

ErrorsBadRequest

Returned if the request is malformed or contains an error such as an invalid parameter value or amissing required parameter.

HTTP Status Code: 400DependencyTimeout

The service timed out trying to fulfill the request, and the client should try the call again.

HTTP Status Code: 504InternalServerError

Returned if an error occurred on the server side.

HTTP Status Code: 500MountTargetNotFound

Returned if there is no mount target with the specified ID found in the caller's account.

HTTP Status Code: 404

ExampleRemove a file system's mount target

The following example sends a DELETE request to delete a specific mount target.

Sample Request

DELETE /2015-02-01/mount-targets/fsmt-9a13661e HTTP/1.1Host: elasticfilesystem.us-west-2.amazonaws.comx-amz-date: 20140622T232908ZAuthorization: <...>

Sample Response

HTTP/1.1 204 No Contentx-amzn-RequestId: 01234567-89ab-cdef-0123-456789abcdef

See AlsoFor more information about using this API in one of the language-specific AWS SDKs, see the following:

• AWS Command Line Interface• AWS SDK for .NET• AWS SDK for C++• AWS SDK for Go• AWS SDK for Java• AWS SDK for JavaScript• AWS SDK for PHP V3

228

Page 237: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドDeleteMountTarget

• AWS SDK for Python• AWS SDK for Ruby V3

229

Page 238: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドDeleteTags

DeleteTagsDeletes the specified tags from a file system. If the DeleteTags request includes a tag key that doesn'texist, Amazon EFS ignores it and doesn't cause an error. For more information about tags and relatedrestrictions, see Tag Restrictions in the AWS Billing and Cost Management User Guide.

This operation requires permissions for the elasticfilesystem:DeleteTags action.

Request SyntaxPOST /2015-02-01/delete-tags/FileSystemId HTTP/1.1Content-type: application/json

{ "TagKeys": [ "string" ]}

URI Request ParametersThe request requires the following URI parameters.

FileSystemId (p. 230)

The ID of the file system whose tags you want to delete (String).

Request BodyThe request accepts the following data in JSON format.

TagKeys (p. 230)

A list of tag keys to delete.

Type: Array of strings

Array Members: Minimum number of 1 item. Maximum number of 50 items.

Length Constraints: Minimum length of 1. Maximum length of 128.

Required: Yes

Response SyntaxHTTP/1.1 204

Response ElementsIf the action is successful, the service sends back an HTTP 204 response with an empty HTTP body.

ErrorsBadRequest

Returned if the request is malformed or contains an error such as an invalid parameter value or amissing required parameter.

230

Page 239: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドDeleteTags

HTTP Status Code: 400FileSystemNotFound

Returned if the specified FileSystemId value doesn't exist in the requester's AWS account.

HTTP Status Code: 404InternalServerError

Returned if an error occurred on the server side.

HTTP Status Code: 500

ExampleDelete Tags from a File System

The following request deletes the tag key2 from the tag set associated with the file system.

Sample Request

POST /2015-02-01/delete-tags/fs-01234567 HTTP/1.1Host: elasticfilesystem.us-west-2.amazonaws.comx-amz-date: 20140620T215123ZAuthorization: <...>Content-Type: application/jsonContent-Length: 223

{ "TagKeys":[ "key2" ]}

Sample Response

HTTP/1.1 204 No Contentx-amzn-RequestId: 01234567-89ab-cdef-0123-456789abcdef

See AlsoFor more information about using this API in one of the language-specific AWS SDKs, see the following:

• AWS Command Line Interface• AWS SDK for .NET• AWS SDK for C++• AWS SDK for Go• AWS SDK for Java• AWS SDK for JavaScript• AWS SDK for PHP V3• AWS SDK for Python• AWS SDK for Ruby V3

231

Page 240: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドDescribeAccessPoints

DescribeAccessPointsReturns the description of a specific Amazon EFS access point if the AccessPointId is provided. If youprovide an EFS FileSystemId, it returns descriptions of all access points for that file system. You canprovide either an AccessPointId or a FileSystemId in the request, but not both.

This operation requires permissions for the elasticfilesystem:DescribeAccessPoints action.

Request SyntaxGET /2015-02-01/access-points?AccessPointId=AccessPointId&FileSystemId=FileSystemId&MaxResults=MaxResults&NextToken=NextToken HTTP/1.1

URI Request ParametersThe request requires the following URI parameters.

AccessPointId (p. 232)

(Optional) Specifies an EFS access point to describe in the response; mutually exclusive withFileSystemId.

FileSystemId (p. 232)

(Optional) If you provide a FileSystemId, EFS returns all access points for that file system; mutuallyexclusive with AccessPointId.

MaxResults (p. 232)

(Optional) When retrieving all access points for a file system, you can optionally specify the MaxItemsparameter to limit the number of objects returned in a response. The default value is 100.

Valid Range: Minimum value of 1.NextToken (p. 232)

NextToken is present if the response is paginated. You can use NextMarker in the subsequentrequest to fetch the next page of access point descriptions.

Request BodyThe request does not have a request body.

Response SyntaxHTTP/1.1 200Content-type: application/json

{ "AccessPoints": [ { "AccessPointArn": "string", "AccessPointId": "string", "ClientToken": "string", "FileSystemId": "string", "LifeCycleState": "string", "Name": "string", "OwnerId": "string",

232

Page 241: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドDescribeAccessPoints

"PosixUser": { "Gid": number, "SecondaryGids": [ number ], "Uid": number }, "RootDirectory": { "CreationInfo": { "OwnerGid": number, "OwnerUid": number, "Permissions": "string" }, "Path": "string" }, "Tags": [ { "Key": "string", "Value": "string" } ] } ], "NextToken": "string"}

Response ElementsIf the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

AccessPoints (p. 232)

An array of access point descriptions.

Type: Array of AccessPointDescription (p. 276) objectsNextToken (p. 232)

Present if there are more access points than returned in the response. You can use the NextMarker inthe subsequent request to fetch the additional descriptions.

Type: String

ErrorsAccessPointNotFound

Returned if the specified AccessPointId value doesn't exist in the requester's AWS account.

HTTP Status Code: 404BadRequest

Returned if the request is malformed or contains an error such as an invalid parameter value or amissing required parameter.

HTTP Status Code: 400FileSystemNotFound

Returned if the specified FileSystemId value doesn't exist in the requester's AWS account.

HTTP Status Code: 404

233

Page 243: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドDescribeFileSystemPolicy

DescribeFileSystemPolicyReturns the FileSystemPolicy for the specified EFS file system.

This operation requires permissions for the elasticfilesystem:DescribeFileSystemPolicy action.

Request SyntaxGET /2015-02-01/file-systems/FileSystemId/policy HTTP/1.1

URI Request ParametersThe request requires the following URI parameters.

FileSystemId (p. 235)

Specifies which EFS file system to retrieve the FileSystemPolicy for.

Request BodyThe request does not have a request body.

Response SyntaxHTTP/1.1 200Content-type: application/json

{ "FileSystemId": "string", "Policy": "string"}

Response ElementsIf the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

FileSystemId (p. 235)

Specifies the EFS file system to which the FileSystemPolicy applies.

Type: StringPolicy (p. 235)

The JSON formatted FileSystemPolicy for the EFS file system.

Type: String

ErrorsFileSystemNotFound

Returned if the specified FileSystemId value doesn't exist in the requester's AWS account.

HTTP Status Code: 404

235

Page 244: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドDescribeFileSystemPolicy

InternalServerError

Returned if an error occurred on the server side.

HTTP Status Code: 500PolicyNotFound

Returned if the default file system policy is in effect for the EFS file system specified.

HTTP Status Code: 404

Example

Sample Request

GET /2015-02-01/file-systems/fs-01234567/policy HTTP/1.1

Sample Response

{ "FileSystemId": "fs-01234567", "Policy": "{ "Version": "2012-10-17", "Id": "efs-policy-wizard-cdef0123-aaaa-6666-5555-444455556666", "Statement": [ { "Sid": "efs-statement-abcdef01-1111-bbbb-2222-111122224444", "Effect" : "Deny", "Principal": { "AWS": "*" }, "Action": "*", "Resource": "arn:aws:elasticfilesystem:us-east-2:111122223333:file-system/fs-01234567", "Condition": { "Bool": { "aws:SecureTransport": "false" } } }, { "Sid": "efs-statement-01234567-aaaa-3333-4444-111122223333", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": [ "elasticfilesystem:ClientMount", "elasticfilesystem:ClientWrite" ], "Resource" : "arn:aws:elasticfilesystem:us-east-2:111122223333:file-system/fs-01234567" } ] }}

See AlsoFor more information about using this API in one of the language-specific AWS SDKs, see the following:

236

Page 246: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドDescribeFileSystems

DescribeFileSystemsReturns the description of a specific Amazon EFS file system if either the file system CreationToken orthe FileSystemId is provided. Otherwise, it returns descriptions of all file systems owned by the caller'sAWS account in the AWS Region of the endpoint that you're calling.

When retrieving all file system descriptions, you can optionally specify the MaxItems parameter to limitthe number of descriptions in a response. Currently, this number is automatically set to 10. If more filesystem descriptions remain, Amazon EFS returns a NextMarker, an opaque token, in the response. Inthis case, you should send a subsequent request with the Marker request parameter set to the value ofNextMarker.

To retrieve a list of your file system descriptions, this operation is used in an iterative process, whereDescribeFileSystems is called first without the Marker and then the operation continues to call it withthe Marker parameter set to the value of the NextMarker from the previous response until the responsehas no NextMarker.

The order of file systems returned in the response of one DescribeFileSystems call and the order of filesystems returned across the responses of a multi-call iteration is unspecified.

This operation requires permissions for the elasticfilesystem:DescribeFileSystems action.

Request SyntaxGET /2015-02-01/file-systems?CreationToken=CreationToken&FileSystemId=FileSystemId&Marker=Marker&MaxItems=MaxItems HTTP/1.1

URI Request ParametersThe request requires the following URI parameters.

CreationToken (p. 238)

(Optional) Restricts the list to the file system with this creation token (String). You specify a creationtoken when you create an Amazon EFS file system.

Length Constraints: Minimum length of 1. Maximum length of 64.FileSystemId (p. 238)

(Optional) ID of the file system whose description you want to retrieve (String).Marker (p. 238)

(Optional) Opaque pagination token returned from a previous DescribeFileSystems operation(String). If present, specifies to continue the list from where the returning call had left off.

MaxItems (p. 238)

(Optional) Specifies the maximum number of file systems to return in the response (integer). Thisnumber is automatically set to 100. The response is paginated at 100 per page if you have more than100 file systems.

Valid Range: Minimum value of 1.

Request BodyThe request does not have a request body.

238

Page 247: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドDescribeFileSystems

Response Syntax

HTTP/1.1 200Content-type: application/json

{ "FileSystems": [ { "CreationTime": number, "CreationToken": "string", "Encrypted": boolean, "FileSystemId": "string", "KmsKeyId": "string", "LifeCycleState": "string", "Name": "string", "NumberOfMountTargets": number, "OwnerId": "string", "PerformanceMode": "string", "ProvisionedThroughputInMibps": number, "SizeInBytes": { "Timestamp": number, "Value": number, "ValueInIA": number, "ValueInStandard": number }, "Tags": [ { "Key": "string", "Value": "string" } ], "ThroughputMode": "string" } ], "Marker": "string", "NextMarker": "string"}

Response ElementsIf the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

FileSystems (p. 239)

An array of file system descriptions.

Type: Array of FileSystemDescription (p. 279) objectsMarker (p. 239)

Present if provided by caller in the request (String).

Type: StringNextMarker (p. 239)

Present if there are more file systems than returned in the response (String). You can use theNextMarker in the subsequent request to fetch the descriptions.

Type: String

239

Page 248: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドDescribeFileSystems

ErrorsBadRequest

Returned if the request is malformed or contains an error such as an invalid parameter value or amissing required parameter.

HTTP Status Code: 400FileSystemNotFound

Returned if the specified FileSystemId value doesn't exist in the requester's AWS account.

HTTP Status Code: 404InternalServerError

Returned if an error occurred on the server side.

HTTP Status Code: 500

ExampleRetrieve a List of 10 File SystemsThe following example sends a GET request to the file-systems endpoint (elasticfilesystem.us-west-2.amazonaws.com/2015-02-01/file-systems). The request specifies a MaxItems queryparameter to limit the number of file system descriptions to 10.

Sample Request

GET /2015-02-01/file-systems?MaxItems=10 HTTP/1.1Host: elasticfilesystem.us-west-2.amazonaws.comx-amz-date: 20140622T191208ZAuthorization: <...>

Sample Response

HTTP/1.1 200 OKx-amzn-RequestId: 01234567-89ab-cdef-0123-456789abcdefContent-Type: application/jsonContent-Length: 499{ "FileSystems":[ { "OwnerId":"251839141158", "CreationToken":"MyFileSystem1", "FileSystemId":"fs-01234567", "PerformanceMode" : "generalPurpose", "CreationTime":"1403301078", "LifeCycleState":"created", "Name":"my first file system", "NumberOfMountTargets":1, "SizeInBytes":{ "Timestamp": 1403301078, "Value": 29313417216, "ValueInIA": 675432, "ValueInStandard": 29312741784 } } ]

240

Page 250: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドDescribeLifecycleConfiguration

DescribeLifecycleConfigurationReturns the current LifecycleConfiguration object for the specified Amazon EFS file system. EFSlifecycle management uses the LifecycleConfiguration object to identify which files to move to theEFS Infrequent Access (IA) storage class. For a file system without a LifecycleConfiguration object,the call returns an empty array in the response.

This operation requires permissions for theelasticfilesystem:DescribeLifecycleConfiguration operation.

Request Syntax

GET /2015-02-01/file-systems/FileSystemId/lifecycle-configuration HTTP/1.1

URI Request ParametersThe request requires the following URI parameters.

FileSystemId (p. 242)

The ID of the file system whose LifecycleConfiguration object you want to retrieve (String).

Request BodyThe request does not have a request body.

Response Syntax

HTTP/1.1 200Content-type: application/json

{ "LifecyclePolicies": [ { "TransitionToIA": "string" } ]}

Response ElementsIf the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

LifecyclePolicies (p. 242)

An array of lifecycle management policies. Currently, EFS supports a maximum of one policy per filesystem.

Type: Array of LifecyclePolicy (p. 283) objects

242

Page 251: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドDescribeLifecycleConfiguration

ErrorsBadRequest

Returned if the request is malformed or contains an error such as an invalid parameter value or amissing required parameter.

HTTP Status Code: 400FileSystemNotFound

Returned if the specified FileSystemId value doesn't exist in the requester's AWS account.

HTTP Status Code: 404InternalServerError

Returned if an error occurred on the server side.

HTTP Status Code: 500

ExampleRetrieve a Lifecycle Configuration for a File System

The following request retrieves the LifecycleConfiguration object for the specified file system.

Sample Request

GET /2015-02-01/file-systems/fs-01234567/lifecycle-configuration HTTP/1.1Host: elasticfilesystem.us-west-2.amazonaws.comx-amz-date: 20181120T221118ZAuthorization: <...>

Sample Response

HTTP/1.1 200 OK x-amzn-RequestId: 01234567-89ab-cdef-0123-456789abcdef Content-Type: application/json Content-Length: 86{ "LifecyclePolicies": [ { "TransitionToIA": "AFTER_14_DAYS" } ]}

See AlsoFor more information about using this API in one of the language-specific AWS SDKs, see the following:

• AWS Command Line Interface• AWS SDK for .NET• AWS SDK for C++• AWS SDK for Go

243

Page 253: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドDescribeMountTargets

DescribeMountTargetsReturns the descriptions of all the current mount targets, or a specific mount target, for a file system.When requesting all of the current mount targets, the order of mount targets returned in the response isunspecified.

This operation requires permissions for the elasticfilesystem:DescribeMountTargets action, oneither the file system ID that you specify in FileSystemId, or on the file system of the mount target thatyou specify in MountTargetId.

Request Syntax

GET /2015-02-01/mount-targets?AccessPointId=AccessPointId&FileSystemId=FileSystemId&Marker=Marker&MaxItems=MaxItems&MountTargetId=MountTargetId HTTP/1.1

URI Request ParametersThe request requires the following URI parameters.

AccessPointId (p. 245)

(Optional) The ID of the access point whose mount targets that you want to list. It must be included inyour request if a FileSystemId or MountTargetId is not included in your request. Accepts eitheran access point ID or ARN as input.

FileSystemId (p. 245)

(Optional) ID of the file system whose mount targets you want to list (String). It must be included in yourrequest if an AccessPointId or MountTargetId is not included. Accepts either a file system ID orARN as input.

Marker (p. 245)

(Optional) Opaque pagination token returned from a previous DescribeMountTargets operation(String). If present, it specifies to continue the list from where the previous returning call left off.

MaxItems (p. 245)

(Optional) Maximum number of mount targets to return in the response. Currently, this number isautomatically set to 10, and other values are ignored. The response is paginated at 100 per page if youhave more than 100 mount targets.

Valid Range: Minimum value of 1.MountTargetId (p. 245)

(Optional) ID of the mount target that you want to have described (String). It must be included in yourrequest if FileSystemId is not included. Accepts either a mount target ID or ARN as input.

Request BodyThe request does not have a request body.

Response Syntax

HTTP/1.1 200

245

Page 254: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドDescribeMountTargets

Content-type: application/json

{ "Marker": "string", "MountTargets": [ { "AvailabilityZoneId": "string", "AvailabilityZoneName": "string", "FileSystemId": "string", "IpAddress": "string", "LifeCycleState": "string", "MountTargetId": "string", "NetworkInterfaceId": "string", "OwnerId": "string", "SubnetId": "string" } ], "NextMarker": "string"}

Response ElementsIf the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

Marker (p. 245)

If the request included the Marker, the response returns that value in this field.

Type: StringMountTargets (p. 245)

Returns the file system's mount targets as an array of MountTargetDescription objects.

Type: Array of MountTargetDescription (p. 284) objectsNextMarker (p. 245)

If a value is present, there are more mount targets to return. In a subsequent request, you can provideMarker in your request with this value to retrieve the next set of mount targets.

Type: String

ErrorsAccessPointNotFound

Returned if the specified AccessPointId value doesn't exist in the requester's AWS account.

HTTP Status Code: 404BadRequest

Returned if the request is malformed or contains an error such as an invalid parameter value or amissing required parameter.

HTTP Status Code: 400FileSystemNotFound

Returned if the specified FileSystemId value doesn't exist in the requester's AWS account.

246

Page 255: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドDescribeMountTargets

HTTP Status Code: 404InternalServerError

Returned if an error occurred on the server side.

HTTP Status Code: 500MountTargetNotFound

Returned if there is no mount target with the specified ID found in the caller's account.

HTTP Status Code: 404

ExampleRetrieve Descriptions of Mount Targets Created for a File System

The following request retrieves descriptions of mount targets created for the specified file system.

Sample Request

GET /2015-02-01/mount-targets?FileSystemId=fs-01234567 HTTP/1.1Host: elasticfilesystem.us-west-2.amazonaws.comx-amz-date: 20140622T191252ZAuthorization: <...>

Sample Response

HTTP/1.1 200 OKx-amzn-RequestId: 01234567-89ab-cdef-0123-456789abcdefContent-Type: application/jsonContent-Length: 357

{ "MountTargets":[ { "OwnerId":"251839141158", "MountTargetId":"fsmt-01234567", "FileSystemId":"fs-01234567", "SubnetId":"subnet-01234567", "LifeCycleState":"added", "IpAddress":"10.0.2.42", "NetworkInterfaceId":"eni-1bcb7772" } ]}

See AlsoFor more information about using this API in one of the language-specific AWS SDKs, see the following:

• AWS Command Line Interface• AWS SDK for .NET• AWS SDK for C++• AWS SDK for Go• AWS SDK for Java• AWS SDK for JavaScript

247

Page 257: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドDescribeMountTargetSecurityGroups

DescribeMountTargetSecurityGroupsReturns the security groups currently in effect for a mount target. This operation requires that the networkinterface of the mount target has been created and the lifecycle state of the mount target is not deleted.

This operation requires permissions for the following actions:

• elasticfilesystem:DescribeMountTargetSecurityGroups action on the mount target's filesystem.

• ec2:DescribeNetworkInterfaceAttribute action on the mount target's network interface.

Request Syntax

GET /2015-02-01/mount-targets/MountTargetId/security-groups HTTP/1.1

URI Request ParametersThe request requires the following URI parameters.

MountTargetId (p. 249)

The ID of the mount target whose security groups you want to retrieve.

Request BodyThe request does not have a request body.

Response Syntax

HTTP/1.1 200Content-type: application/json

{ "SecurityGroups": [ "string" ]}

Response ElementsIf the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

SecurityGroups (p. 249)

An array of security groups.

Type: Array of strings

Array Members: Maximum number of 5 items.

249

Page 258: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドDescribeMountTargetSecurityGroups

ErrorsBadRequest

Returned if the request is malformed or contains an error such as an invalid parameter value or amissing required parameter.

HTTP Status Code: 400IncorrectMountTargetState

Returned if the mount target is not in the correct state for the operation.

HTTP Status Code: 409InternalServerError

Returned if an error occurred on the server side.

HTTP Status Code: 500MountTargetNotFound

Returned if there is no mount target with the specified ID found in the caller's account.

HTTP Status Code: 404

ExampleRetrieve Security Groups in Effect for a File System

The following example retrieves the security groups that are in effect for the network interface associatedwith a mount target.

Sample Request

GET /2015-02-01/mount-targets/fsmt-9a13661e/security-groups HTTP/1.1Host: elasticfilesystem.us-west-2.amazonaws.comx-amz-date: 20140620T223513ZAuthorization: <...>

Sample Response

HTTP/1.1 200 OKx-amzn-RequestId: 01234567-89ab-cdef-0123-456789abcdefContent-Length: 57

{"SecurityGroups" : ["sg-188d9f74"]}

See AlsoFor more information about using this API in one of the language-specific AWS SDKs, see the following:

• AWS Command Line Interface• AWS SDK for .NET

250

Page 260: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドDescribeTags

DescribeTagsReturns the tags associated with a file system. The order of tags returned in the response of oneDescribeTags call and the order of tags returned across the responses of a multiple-call iteration (whenusing pagination) is unspecified.

This operation requires permissions for the elasticfilesystem:DescribeTags action.

Request Syntax

GET /2015-02-01/tags/FileSystemId/?Marker=Marker&MaxItems=MaxItems HTTP/1.1

URI Request ParametersThe request requires the following URI parameters.

FileSystemId (p. 252)

The ID of the file system whose tag set you want to retrieve.Marker (p. 252)

(Optional) An opaque pagination token returned from a previous DescribeTags operation (String). Ifpresent, it specifies to continue the list from where the previous call left off.

MaxItems (p. 252)

(Optional) The maximum number of file system tags to return in the response. Currently, this numberis automatically set to 100, and other values are ignored. The response is paginated at 100 per page ifyou have more than 100 tags.

Valid Range: Minimum value of 1.

Request BodyThe request does not have a request body.

Response Syntax

HTTP/1.1 200Content-type: application/json

{ "Marker": "string", "NextMarker": "string", "Tags": [ { "Key": "string", "Value": "string" } ]}

Response ElementsIf the action is successful, the service sends back an HTTP 200 response.

252

Page 261: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドDescribeTags

The following data is returned in JSON format by the service.

Marker (p. 252)

If the request included a Marker, the response returns that value in this field.

Type: StringNextMarker (p. 252)

If a value is present, there are more tags to return. In a subsequent request, you can provide the valueof NextMarker as the value of the Marker parameter in your next request to retrieve the next set oftags.

Type: StringTags (p. 252)

Returns tags associated with the file system as an array of Tag objects.

Type: Array of Tag (p. 288) objects

ErrorsBadRequest

Returned if the request is malformed or contains an error such as an invalid parameter value or amissing required parameter.

HTTP Status Code: 400FileSystemNotFound

Returned if the specified FileSystemId value doesn't exist in the requester's AWS account.

HTTP Status Code: 404InternalServerError

Returned if an error occurred on the server side.

HTTP Status Code: 500

ExampleRetrieve Tags Associated with a File System

The following request retrieves tags (key-value pairs) associated with the specified file system.

Sample Request

GET /2015-02-01/tags/fs-01234567/ HTTP/1.1Host: elasticfilesystem.us-west-2.amazonaws.comx-amz-date: 20140620T215404ZAuthorization: <...>

Sample Response

HTTP/1.1 200 OKx-amzn-RequestId: 01234567-89ab-cdef-0123-456789abcdef

253

Page 262: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドDescribeTags

Content-Type: application/jsonContent-Length: 288

{ "Tags":[ { "Key":"Name", "Value":"my first file system" }, { "Key":"Fleet", "Value":"Development" }, { "Key":"Developer", "Value":"Alice" } ]}

See AlsoFor more information about using this API in one of the language-specific AWS SDKs, see the following:

• AWS Command Line Interface• AWS SDK for .NET• AWS SDK for C++• AWS SDK for Go• AWS SDK for Java• AWS SDK for JavaScript• AWS SDK for PHP V3• AWS SDK for Python• AWS SDK for Ruby V3

254

Page 263: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドListTagsForResource

ListTagsForResourceLists all tags for a top-level EFS resource. You must provide the ID of the resource that you want to retrievethe tags for.

This operation requires permissions for the elasticfilesystem:DescribeAccessPoints action.

Request Syntax

GET /2015-02-01/resource-tags/ResourceId?MaxResults=MaxResults&NextToken=NextToken HTTP/1.1

URI Request ParametersThe request requires the following URI parameters.

MaxResults (p. 255)

(Optional) Specifies the maximum number of tag objects to return in the response. The default value is100.

Valid Range: Minimum value of 1.NextToken (p. 255)

You can use NextToken in a subsequent request to fetch the next page of access point descriptions ifthe response payload was paginated.

ResourceId (p. 255)

Specifies the EFS resource you want to retrieve tags for. You can retrieve tags for EFS file systemsand access points using this API endpoint.

Request BodyThe request does not have a request body.

Response Syntax

HTTP/1.1 200Content-type: application/json

{ "NextToken": "string", "Tags": [ { "Key": "string", "Value": "string" } ]}

Response ElementsIf the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

255

Page 264: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドListTagsForResource

NextToken (p. 255)

NextToken is present if the response payload is paginated. You can use NextToken in a subsequentrequest to fetch the next page of access point descriptions.

Type: StringTags (p. 255)

An array of the tags for the specified EFS resource.

Type: Array of Tag (p. 288) objects

ErrorsAccessPointNotFound

Returned if the specified AccessPointId value doesn't exist in the requester's AWS account.

HTTP Status Code: 404BadRequest

Returned if the request is malformed or contains an error such as an invalid parameter value or amissing required parameter.

HTTP Status Code: 400FileSystemNotFound

Returned if the specified FileSystemId value doesn't exist in the requester's AWS account.

HTTP Status Code: 404InternalServerError

Returned if an error occurred on the server side.

HTTP Status Code: 500

See AlsoFor more information about using this API in one of the language-specific AWS SDKs, see the following:

• AWS Command Line Interface• AWS SDK for .NET• AWS SDK for C++• AWS SDK for Go• AWS SDK for Java• AWS SDK for JavaScript• AWS SDK for PHP V3• AWS SDK for Python• AWS SDK for Ruby V3

256

Page 265: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドModifyMountTargetSecurityGroups

ModifyMountTargetSecurityGroupsModifies the set of security groups in effect for a mount target.

When you create a mount target, Amazon EFS also creates a new network interface. For more information,see CreateMountTarget (p. 211). This operation replaces the security groups in effect for the networkinterface associated with a mount target, with the SecurityGroups provided in the request. Thisoperation requires that the network interface of the mount target has been created and the lifecycle state ofthe mount target is not deleted.

The operation requires permissions for the following actions:

• elasticfilesystem:ModifyMountTargetSecurityGroups action on the mount target's filesystem.

• ec2:ModifyNetworkInterfaceAttribute action on the mount target's network interface.

Request SyntaxPUT /2015-02-01/mount-targets/MountTargetId/security-groups HTTP/1.1Content-type: application/json

{ "SecurityGroups": [ "string" ]}

URI Request ParametersThe request requires the following URI parameters.

MountTargetId (p. 257)

The ID of the mount target whose security groups you want to modify.

Request BodyThe request accepts the following data in JSON format.

SecurityGroups (p. 257)

An array of up to five VPC security group IDs.

Type: Array of strings

Array Members: Maximum number of 5 items.

Required: No

Response SyntaxHTTP/1.1 204

Response ElementsIf the action is successful, the service sends back an HTTP 204 response with an empty HTTP body.

257

Page 266: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドModifyMountTargetSecurityGroups

ErrorsBadRequest

Returned if the request is malformed or contains an error such as an invalid parameter value or amissing required parameter.

HTTP Status Code: 400IncorrectMountTargetState

Returned if the mount target is not in the correct state for the operation.

HTTP Status Code: 409InternalServerError

Returned if an error occurred on the server side.

HTTP Status Code: 500MountTargetNotFound

Returned if there is no mount target with the specified ID found in the caller's account.

HTTP Status Code: 404SecurityGroupLimitExceeded

Returned if the size of SecurityGroups specified in the request is greater than five.

HTTP Status Code: 400SecurityGroupNotFound

Returned if one of the specified security groups doesn't exist in the subnet's VPC.

HTTP Status Code: 400

ExampleReplace a mount target's security groups

The following example replaces security groups in effect for the network interface associated with a mounttarget.

Sample Request

PUT /2015-02-01/mount-targets/fsmt-9a13661e/security-groups HTTP/1.1Host: elasticfilesystem.us-west-2.amazonaws.comx-amz-date: 20140620T223446ZAuthorization: <...>Content-Type: application/jsonContent-Length: 57

{"SecurityGroups" : ["sg-188d9f74"]}

258

Page 268: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドPutFileSystemPolicy

PutFileSystemPolicyApplies an Amazon EFS FileSystemPolicy to an Amazon EFS file system. A file system policy is anIAM resource-based policy and can contain multiple policy statements. A file system always has exactlyone file system policy, which can be the default policy or an explicit policy set or updated using this APIoperation. When an explicit policy is set, it overrides the default policy. For more information about thedefault file system policy, see Default EFS File System Policy.

This operation requires permissions for the elasticfilesystem:PutFileSystemPolicy action.

Request SyntaxPUT /2015-02-01/file-systems/FileSystemId/policy HTTP/1.1Content-type: application/json

{ "BypassPolicyLockoutSafetyCheck": boolean, "Policy": "string"}

URI Request ParametersThe request requires the following URI parameters.

FileSystemId (p. 260)

The ID of the EFS file system that you want to create or update the FileSystemPolicy for.

Request BodyThe request accepts the following data in JSON format.

BypassPolicyLockoutSafetyCheck (p. 260)

(Optional) A flag to indicate whether to bypass the FileSystemPolicy lockout safety check. Thepolicy lockout safety check determines whether the policy in the request will prevent the principalmaking the request will be locked out from making future PutFileSystemPolicy requests on thefile system. Set BypassPolicyLockoutSafetyCheck to True only when you intend to prevent theprincipal that is making the request from making a subsequent PutFileSystemPolicy request onthe file system. The default value is False.

Type: Boolean

Required: NoPolicy (p. 260)

The FileSystemPolicy that you're creating. Accepts a JSON formatted policy definition. To find outmore about the elements that make up a file system policy, see EFS Resource-based Policies.

Type: String

Required: Yes

Response SyntaxHTTP/1.1 200

260

Page 269: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドPutFileSystemPolicy

Content-type: application/json

{ "FileSystemId": "string", "Policy": "string"}

Response ElementsIf the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

FileSystemId (p. 260)

Specifies the EFS file system to which the FileSystemPolicy applies.

Type: StringPolicy (p. 260)

The JSON formatted FileSystemPolicy for the EFS file system.

Type: String

ErrorsFileSystemNotFound

Returned if the specified FileSystemId value doesn't exist in the requester's AWS account.

HTTP Status Code: 404IncorrectFileSystemLifeCycleState

Returned if the file system's lifecycle state is not "available".

HTTP Status Code: 409InternalServerError

Returned if an error occurred on the server side.

HTTP Status Code: 500InvalidPolicyException

Returned if the FileSystemPolicy is is malformed or contains an error such as an invalid parametervalue or a missing required parameter. Returned in the case of a policy lockout safety check error.

HTTP Status Code: 400

ExampleCreate an EFS FileSystemPolicyThe following request creates a FileSystemPolicy that allows all AWS principals to mount the specifiedEFS file system with read and write permissions.

Sample Request

PUT /2015-02-01/file-systems/fs-01234567/file-system-policy HTTP/1.1

261

Page 270: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドPutFileSystemPolicy

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "elasticfilesystem:ClientMount", "elasticfilesystem:ClientWrite" ], "Principal": { "AWS": ["*"] }, } ]}

Sample Response

{ "Version": "2012-10-17", "Id": "1", "Statement": [ { "Sid": "efs-statement-abcdef01-1111-bbbb-2222-111122224444", "Effect": "Allow", "Action": [ "elasticfilesystem:ClientMount", "elasticfilesystem:ClientWrite" ], "Principal": { "AWS": ["*"] }, "Resource":"arn:aws:elasticfilesystem:us-east-1:0123456789abc:file-system/fs-01234567" } ]}

See AlsoFor more information about using this API in one of the language-specific AWS SDKs, see the following:

• AWS Command Line Interface• AWS SDK for .NET• AWS SDK for C++• AWS SDK for Go• AWS SDK for Java• AWS SDK for JavaScript• AWS SDK for PHP V3• AWS SDK for Python• AWS SDK for Ruby V3

262

Page 271: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドPutLifecycleConfiguration

PutLifecycleConfigurationEnables lifecycle management by creating a new LifecycleConfiguration object. ALifecycleConfiguration object defines when files in an Amazon EFS file system are automaticallytransitioned to the lower-cost EFS Infrequent Access (IA) storage class. A LifecycleConfigurationapplies to all files in a file system.

Each Amazon EFS file system supports one lifecycle configuration, which applies to all filesin the file system. If a LifecycleConfiguration object already exists for the specifiedfile system, a PutLifecycleConfiguration call modifies the existing configuration. APutLifecycleConfiguration call with an empty LifecyclePolicies array in the request bodydeletes any existing LifecycleConfiguration and disables lifecycle management.

In the request, specify the following:

• The ID for the file system for which you are enabling, disabling, or modifying lifecycle management.• A LifecyclePolicies array of LifecyclePolicy objects that define when files are moved to the IA

storage class. The array can contain only one LifecyclePolicy item.

This operation requires permissions for the elasticfilesystem:PutLifecycleConfigurationoperation.

To apply a LifecycleConfiguration object to an encrypted file system, you need the same AWS KeyManagement Service (AWS KMS) permissions as when you created the encrypted file system.

Request Syntax

PUT /2015-02-01/file-systems/FileSystemId/lifecycle-configuration HTTP/1.1Content-type: application/json

{ "LifecyclePolicies": [ { "TransitionToIA": "string" } ]}

URI Request ParametersThe request requires the following URI parameters.

FileSystemId (p. 263)

The ID of the file system for which you are creating the LifecycleConfiguration object (String).

Request BodyThe request accepts the following data in JSON format.

LifecyclePolicies (p. 263)

An array of LifecyclePolicy objects that define the file system's LifecycleConfigurationobject. A LifecycleConfiguration object tells lifecycle management when to transition files fromthe Standard storage class to the Infrequent Access storage class.

263

Page 272: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドPutLifecycleConfiguration

Type: Array of LifecyclePolicy (p. 283) objects

Required: Yes

Response Syntax

HTTP/1.1 200Content-type: application/json

{ "LifecyclePolicies": [ { "TransitionToIA": "string" } ]}

Response ElementsIf the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

LifecyclePolicies (p. 264)

An array of lifecycle management policies. Currently, EFS supports a maximum of one policy per filesystem.

Type: Array of LifecyclePolicy (p. 283) objects

ErrorsBadRequest

Returned if the request is malformed or contains an error such as an invalid parameter value or amissing required parameter.

HTTP Status Code: 400FileSystemNotFound

Returned if the specified FileSystemId value doesn't exist in the requester's AWS account.

HTTP Status Code: 404IncorrectFileSystemLifeCycleState

Returned if the file system's lifecycle state is not "available".

HTTP Status Code: 409InternalServerError

Returned if an error occurred on the server side.

HTTP Status Code: 500

264

Page 273: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドPutLifecycleConfiguration

ExamplesCreate a Lifecycle Configuration

The following example creates a LifecyclePolicy object using the PutLifecycleConfiguration operation.This object tells EFS lifecycle management to move all files in the file system that haven't been accessed inthe last 14 days to the IA storage class. This is the only lifecycle policy that is currently supported. To learnmore, see EFS Lifecycle Management.

Sample Request

PUT /2015-02-01/file-systems/fs-01234567/lifecycle-configuration HTTP/1.1Host: elasticfilesystem.us-west-2.amazonaws.comx-amz-date: 20181122T232908ZAuthorization: <...>Content-type: application/jsonContent-Length: 86

{ "LifecyclePolicies": [ { "TransitionToIA": "AFTER_14_DAYS" } ]}

Sample Response

HTTP/1.1 200 OKx-amzn-RequestId: 01234567-89ab-cdef-0123-456789abcdefContent-type: application/jsonContent-Length: 86

{ "LifecyclePolicies": [ { "TransitionToIA": "AFTER_14_DAYS" } ]}

Disable Lifecycle Management

The following example disables lifecycle management for the specified file system.

Sample Request

PUT /2015-02-01/file-systems/fs-01234567/lifecycle-configuration HTTP/1.1Host: elasticfilesystem.us-west-2.amazonaws.comx-amz-date: 20181122T232908ZAuthorization: <...>Content-type: application/jsonContent-Length: 86

265

Page 274: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドPutLifecycleConfiguration

{ "LifecyclePolicies": [ ]}

Sample Response

HTTP/1.1 200 OKx-amzn-RequestId: 01234567-89ab-cdef-0123-456789abcdefContent-type: application/jsonContent-Length: 86

{ "LifecyclePolicies": [ ]}

See AlsoFor more information about using this API in one of the language-specific AWS SDKs, see the following:

• AWS Command Line Interface• AWS SDK for .NET• AWS SDK for C++• AWS SDK for Go• AWS SDK for Java• AWS SDK for JavaScript• AWS SDK for PHP V3• AWS SDK for Python• AWS SDK for Ruby V3

266

Page 275: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドTagResource

TagResourceCreates a tag for an EFS resource. You can create tags for EFS file systems and access points using thisAPI operation.

This operation requires permissions for the elasticfilesystem:TagResource action.

Request SyntaxPOST /2015-02-01/resource-tags/ResourceId HTTP/1.1Content-type: application/json

{ "Tags": [ { "Key": "string", "Value": "string" } ]}

URI Request ParametersThe request requires the following URI parameters.

ResourceId (p. 267)

The ID specifying the EFS resource that you want to create a tag for.

Request BodyThe request accepts the following data in JSON format.

Tags (p. 267)

Type: Array of Tag (p. 288) objects

Required: Yes

Response SyntaxHTTP/1.1 200

Response ElementsIf the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

ErrorsAccessPointNotFound

Returned if the specified AccessPointId value doesn't exist in the requester's AWS account.

HTTP Status Code: 404

267

Page 276: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドTagResource

BadRequest

Returned if the request is malformed or contains an error such as an invalid parameter value or amissing required parameter.

HTTP Status Code: 400FileSystemNotFound

Returned if the specified FileSystemId value doesn't exist in the requester's AWS account.

HTTP Status Code: 404InternalServerError

Returned if an error occurred on the server side.

HTTP Status Code: 500

See AlsoFor more information about using this API in one of the language-specific AWS SDKs, see the following:

• AWS Command Line Interface• AWS SDK for .NET• AWS SDK for C++• AWS SDK for Go• AWS SDK for Java• AWS SDK for JavaScript• AWS SDK for PHP V3• AWS SDK for Python• AWS SDK for Ruby V3

268

Page 277: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドUntagResource

UntagResourceRemoves tags from an EFS resource. You can remove tags from EFS file systems and access points usingthis API operation.

This operation requires permissions for the elasticfilesystem:UntagResource action.

Request Syntax

DELETE /2015-02-01/resource-tags/ResourceId HTTP/1.1Content-type: application/json

{ "TagKeys": [ "string" ]}

URI Request ParametersThe request requires the following URI parameters.

ResourceId (p. 269)

Specifies the EFS resource that you want to remove tags from.

Request BodyThe request accepts the following data in JSON format.

TagKeys (p. 269)

The keys of the key:value tag pairs that you want to remove from the specified EFS resource.

Type: Array of strings

Array Members: Minimum number of 1 item. Maximum number of 50 items.

Length Constraints: Minimum length of 1. Maximum length of 128.

Required: No

Response Syntax

HTTP/1.1 200

Response ElementsIf the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

ErrorsAccessPointNotFound

Returned if the specified AccessPointId value doesn't exist in the requester's AWS account.

269

Page 278: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドUntagResource

HTTP Status Code: 404BadRequest

Returned if the request is malformed or contains an error such as an invalid parameter value or amissing required parameter.

HTTP Status Code: 400FileSystemNotFound

Returned if the specified FileSystemId value doesn't exist in the requester's AWS account.

HTTP Status Code: 404InternalServerError

Returned if an error occurred on the server side.

HTTP Status Code: 500

See AlsoFor more information about using this API in one of the language-specific AWS SDKs, see the following:

• AWS Command Line Interface• AWS SDK for .NET• AWS SDK for C++• AWS SDK for Go• AWS SDK for Java• AWS SDK for JavaScript• AWS SDK for PHP V3• AWS SDK for Python• AWS SDK for Ruby V3

270

Page 279: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドUpdateFileSystem

UpdateFileSystemUpdates the throughput mode or the amount of provisioned throughput of an existing file system.

Request SyntaxPUT /2015-02-01/file-systems/FileSystemId HTTP/1.1Content-type: application/json

{ "ProvisionedThroughputInMibps": number, "ThroughputMode": "string"}

URI Request ParametersThe request requires the following URI parameters.

FileSystemId (p. 271)

The ID of the file system that you want to update.

Request BodyThe request accepts the following data in JSON format.

ProvisionedThroughputInMibps (p. 271)

(Optional) The amount of throughput, in MiB/s, that you want to provision for your file system. Validvalues are 1-1024. Required if ThroughputMode is changed to provisioned on update. If you're notupdating the amount of provisioned throughput for your file system, you don't need to provide this valuein your request.

Type: Double

Valid Range: Minimum value of 1.0.

Required: NoThroughputMode (p. 271)

(Optional) The throughput mode that you want your file system to use. If you're notupdating your throughput mode, you don't need to provide this value in your request. Ifyou are changing the ThroughputMode to provisioned, you must also set a value forProvisionedThroughputInMibps.

Type: String

Valid Values: bursting | provisioned

Required: No

Response SyntaxHTTP/1.1 202Content-type: application/json

271

Page 280: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドUpdateFileSystem

{ "CreationTime": number, "CreationToken": "string", "Encrypted": boolean, "FileSystemId": "string", "KmsKeyId": "string", "LifeCycleState": "string", "Name": "string", "NumberOfMountTargets": number, "OwnerId": "string", "PerformanceMode": "string", "ProvisionedThroughputInMibps": number, "SizeInBytes": { "Timestamp": number, "Value": number, "ValueInIA": number, "ValueInStandard": number }, "Tags": [ { "Key": "string", "Value": "string" } ], "ThroughputMode": "string"}

Response ElementsIf the action is successful, the service sends back an HTTP 202 response.

The following data is returned in JSON format by the service.

CreationTime (p. 271)

The time that the file system was created, in seconds (since 1970-01-01T00:00:00Z).

Type: TimestampCreationToken (p. 271)

The opaque string specified in the request.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 64.Encrypted (p. 271)

A Boolean value that, if true, indicates that the file system is encrypted.

Type: BooleanFileSystemId (p. 271)

The ID of the file system, assigned by Amazon EFS.

Type: StringKmsKeyId (p. 271)

The ID of an AWS Key Management Service (AWS KMS) customer master key (CMK) that was usedto protect the encrypted file system.

Type: String

272

Page 281: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドUpdateFileSystem

Length Constraints: Minimum length of 1. Maximum length of 2048.LifeCycleState (p. 271)

The lifecycle phase of the file system.

Type: String

Valid Values: creating | available | updating | deleting | deletedName (p. 271)

You can add tags to a file system, including a Name tag. For more information, seeCreateFileSystem (p. 203). If the file system has a Name tag, Amazon EFS returns the value in thisfield.

Type: String

Length Constraints: Maximum length of 256.NumberOfMountTargets (p. 271)

The current number of mount targets that the file system has. For more information, seeCreateMountTarget (p. 211).

Type: Integer

Valid Range: Minimum value of 0.OwnerId (p. 271)

The AWS account that created the file system. If the file system was created by an IAM user, theparent account to which the user belongs is the owner.

Type: StringPerformanceMode (p. 271)

The performance mode of the file system.

Type: String

Valid Values: generalPurpose | maxIOProvisionedThroughputInMibps (p. 271)

The throughput, measured in MiB/s, that you want to provision for a file system. Valid values are1-1024. Required if ThroughputMode is set to provisioned. The limit on throughput is 1024 MiB/s. You can get these limits increased by contacting AWS Support. For more information, see AmazonEFS Limits That You Can Increase in the Amazon EFS User Guide.

Type: Double

Valid Range: Minimum value of 1.0.SizeInBytes (p. 271)

The latest known metered size (in bytes) of data stored in the file system, in its Value field, and thetime at which that size was determined in its Timestamp field. The Timestamp value is the integernumber of seconds since 1970-01-01T00:00:00Z. The SizeInBytes value doesn't represent the sizeof a consistent snapshot of the file system, but it is eventually consistent when there are no writes tothe file system. That is, SizeInBytes represents actual size only if the file system is not modified for aperiod longer than a couple of hours. Otherwise, the value is not the exact size that the file system wasat any point in time.

Type: FileSystemSize (p. 282) object

273

Page 282: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドUpdateFileSystem

Tags (p. 271)

The tags associated with the file system, presented as an array of Tag objects.

Type: Array of Tag (p. 288) objectsThroughputMode (p. 271)

The throughput mode for a file system. There are two throughput modes to choose from for your filesystem: bursting and provisioned. If you set ThroughputMode to provisioned, you must alsoset a value for ProvisionedThroughPutInMibps. You can decrease your file system's throughputin Provisioned Throughput mode or change between the throughput modes as long as it’s been morethan 24 hours since the last decrease or throughput mode change.

Type: String

Valid Values: bursting | provisioned

ErrorsBadRequest

Returned if the request is malformed or contains an error such as an invalid parameter value or amissing required parameter.

HTTP Status Code: 400FileSystemNotFound

Returned if the specified FileSystemId value doesn't exist in the requester's AWS account.

HTTP Status Code: 404IncorrectFileSystemLifeCycleState

Returned if the file system's lifecycle state is not "available".

HTTP Status Code: 409InsufficientThroughputCapacity

Returned if there's not enough capacity to provision additional throughput. This value might be returnedwhen you try to create a file system in provisioned throughput mode, when you attempt to increasethe provisioned throughput of an existing file system, or when you attempt to change an existing filesystem from bursting to provisioned throughput mode.

HTTP Status Code: 503InternalServerError

Returned if an error occurred on the server side.

HTTP Status Code: 500ThroughputLimitExceeded

Returned if the throughput mode or amount of provisioned throughput can't be changed because thethroughput limit of 1024 MiB/s has been reached.

HTTP Status Code: 400TooManyRequests

Returned if you don’t wait at least 24 hours before changing the throughput mode, or decreasing theProvisioned Throughput value.

274

Page 283: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドData Types

HTTP Status Code: 429

See AlsoFor more information about using this API in one of the language-specific AWS SDKs, see the following:

• AWS Command Line Interface• AWS SDK for .NET• AWS SDK for C++• AWS SDK for Go• AWS SDK for Java• AWS SDK for JavaScript• AWS SDK for PHP V3• AWS SDK for Python• AWS SDK for Ruby V3

Data TypesThe following data types are supported:

• AccessPointDescription (p. 276)• CreationInfo (p. 278)• FileSystemDescription (p. 279)• FileSystemSize (p. 282)• LifecyclePolicy (p. 283)• MountTargetDescription (p. 284)• PosixUser (p. 286)• RootDirectory (p. 287)• Tag (p. 288)

275

Page 284: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAccessPointDescription

AccessPointDescriptionProvides a description of an EFS file system access point.

ContentsAccessPointArn

The unique Amazon Resource Name (ARN) associated with the access point.

Type: String

Required: NoAccessPointId

The ID of the access point, assigned by Amazon EFS.

Type: String

Required: NoClientToken

The opaque string specified in the request to ensure idempotent creation.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 64.

Required: NoFileSystemId

The ID of the EFS file system that the access point applies to.

Type: String

Required: NoLifeCycleState

Identifies the lifecycle phase of the access point.

Type: String

Valid Values: creating | available | updating | deleting | deleted

Required: NoName

The name of the access point. This is the value of the Name tag.

Type: String

Required: NoOwnerId

Identified the AWS account that owns the access point resource.

Type: String

Required: No

276

Page 285: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAccessPointDescription

PosixUser

The full POSIX identity, including the user ID, group ID, and secondary group IDs on the access pointthat is used for all file operations by NFS clients using the access point.

Type: PosixUser (p. 286) object

Required: NoRootDirectory

The directory on the Amazon EFS file system that the access point exposes as the root directory toNFS clients using the access point.

Type: RootDirectory (p. 287) object

Required: NoTags

The tags associated with the access point, presented as an array of Tag objects.

Type: Array of Tag (p. 288) objects

Required: No

See AlsoFor more information about using this API in one of the language-specific AWS SDKs, see the following:

• AWS SDK for C++• AWS SDK for Go• AWS SDK for Java• AWS SDK for Ruby V3

277

Page 286: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドCreationInfo

CreationInfoRequired if the RootDirectory > Path specified does not exist. Specifies the POSIX IDs andpermissions to apply to the access point's RootDirectory > Path. If the access point root directory doesnot exist, EFS creates it with these settings when a client connects to the access point. When specifyingCreationInfo, you must include values for all properties.

Important

If you do not provide CreationInfo and the specified RootDirectory does not exist, attemptsto mount the file system using the access point will fail.

ContentsOwnerGid

Specifies the POSIX group ID to apply to the RootDirectory. Accepts values from 0 to 2^32(4294967295).

Type: Long

Valid Range: Minimum value of 0. Maximum value of 4294967295.

Required: YesOwnerUid

Specifies the POSIX user ID to apply to the RootDirectory. Accepts values from 0 to 2^32(4294967295).

Type: Long

Valid Range: Minimum value of 0. Maximum value of 4294967295.

Required: YesPermissions

Specifies the POSIX permissions to apply to the RootDirectory, in the format of an octal numberrepresenting the file's mode bits.

Type: String

Pattern: ^[0-7]{3,4}$

Required: Yes

See AlsoFor more information about using this API in one of the language-specific AWS SDKs, see the following:

• AWS SDK for C++• AWS SDK for Go• AWS SDK for Java• AWS SDK for Ruby V3

278

Page 287: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドFileSystemDescription

FileSystemDescriptionA description of the file system.

ContentsCreationTime

The time that the file system was created, in seconds (since 1970-01-01T00:00:00Z).

Type: Timestamp

Required: YesCreationToken

The opaque string specified in the request.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 64.

Required: YesEncrypted

A Boolean value that, if true, indicates that the file system is encrypted.

Type: Boolean

Required: NoFileSystemId

The ID of the file system, assigned by Amazon EFS.

Type: String

Required: YesKmsKeyId

The ID of an AWS Key Management Service (AWS KMS) customer master key (CMK) that was usedto protect the encrypted file system.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 2048.

Required: NoLifeCycleState

The lifecycle phase of the file system.

Type: String

Valid Values: creating | available | updating | deleting | deleted

Required: YesName

You can add tags to a file system, including a Name tag. For more information, seeCreateFileSystem (p. 203). If the file system has a Name tag, Amazon EFS returns the value in thisfield.

279

Page 288: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドFileSystemDescription

Type: String

Length Constraints: Maximum length of 256.

Required: NoNumberOfMountTargets

The current number of mount targets that the file system has. For more information, seeCreateMountTarget (p. 211).

Type: Integer

Valid Range: Minimum value of 0.

Required: YesOwnerId

The AWS account that created the file system. If the file system was created by an IAM user, theparent account to which the user belongs is the owner.

Type: String

Required: YesPerformanceMode

The performance mode of the file system.

Type: String

Valid Values: generalPurpose | maxIO

Required: YesProvisionedThroughputInMibps

The throughput, measured in MiB/s, that you want to provision for a file system. Valid values are1-1024. Required if ThroughputMode is set to provisioned. The limit on throughput is 1024 MiB/s. You can get these limits increased by contacting AWS Support. For more information, see AmazonEFS Limits That You Can Increase in the Amazon EFS User Guide.

Type: Double

Valid Range: Minimum value of 1.0.

Required: NoSizeInBytes

The latest known metered size (in bytes) of data stored in the file system, in its Value field, and thetime at which that size was determined in its Timestamp field. The Timestamp value is the integernumber of seconds since 1970-01-01T00:00:00Z. The SizeInBytes value doesn't represent the sizeof a consistent snapshot of the file system, but it is eventually consistent when there are no writes tothe file system. That is, SizeInBytes represents actual size only if the file system is not modified for aperiod longer than a couple of hours. Otherwise, the value is not the exact size that the file system wasat any point in time.

Type: FileSystemSize (p. 282) object

Required: YesTags

The tags associated with the file system, presented as an array of Tag objects.

280

Page 289: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドFileSystemDescription

Type: Array of Tag (p. 288) objects

Required: YesThroughputMode

The throughput mode for a file system. There are two throughput modes to choose from for your filesystem: bursting and provisioned. If you set ThroughputMode to provisioned, you must alsoset a value for ProvisionedThroughPutInMibps. You can decrease your file system's throughputin Provisioned Throughput mode or change between the throughput modes as long as it’s been morethan 24 hours since the last decrease or throughput mode change.

Type: String

Valid Values: bursting | provisioned

Required: No

See AlsoFor more information about using this API in one of the language-specific AWS SDKs, see the following:

• AWS SDK for C++• AWS SDK for Go• AWS SDK for Java• AWS SDK for Ruby V3

281

Page 290: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドFileSystemSize

FileSystemSizeThe latest known metered size (in bytes) of data stored in the file system, in its Value field, and the time atwhich that size was determined in its Timestamp field. The value doesn't represent the size of a consistentsnapshot of the file system, but it is eventually consistent when there are no writes to the file system. Thatis, the value represents the actual size only if the file system is not modified for a period longer than acouple of hours. Otherwise, the value is not necessarily the exact size the file system was at any instant intime.

ContentsTimestamp

The time at which the size of data, returned in the Value field, was determined. The value is theinteger number of seconds since 1970-01-01T00:00:00Z.

Type: Timestamp

Required: NoValue

The latest known metered size (in bytes) of data stored in the file system.

Type: Long

Valid Range: Minimum value of 0.

Required: YesValueInIA

The latest known metered size (in bytes) of data stored in the Infrequent Access storage class.

Type: Long

Valid Range: Minimum value of 0.

Required: NoValueInStandard

The latest known metered size (in bytes) of data stored in the Standard storage class.

Type: Long

Valid Range: Minimum value of 0.

Required: No

See AlsoFor more information about using this API in one of the language-specific AWS SDKs, see the following:

• AWS SDK for C++• AWS SDK for Go• AWS SDK for Java• AWS SDK for Ruby V3

282

Page 291: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドLifecyclePolicy

LifecyclePolicyDescribes a policy used by EFS lifecycle management to transition files to the Infrequent Access (IA)storage class.

ContentsTransitionToIA

A value that describes the period of time that a file is not accessed, after which it transitions to the IAstorage class. Metadata operations such as listing the contents of a directory don't count as file accessevents.

Type: String

Valid Values: AFTER_7_DAYS | AFTER_14_DAYS | AFTER_30_DAYS | AFTER_60_DAYS |AFTER_90_DAYS

Required: No

See AlsoFor more information about using this API in one of the language-specific AWS SDKs, see the following:

• AWS SDK for C++• AWS SDK for Go• AWS SDK for Java• AWS SDK for Ruby V3

283

Page 292: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドMountTargetDescription

MountTargetDescriptionProvides a description of a mount target.

ContentsAvailabilityZoneId

The unique and consistent identifier of the Availability Zone (AZ) that the mount target resides in. Forexample, use1-az1 is an AZ ID for the us-east-1 Region and it has the same location in every AWSaccount.

Type: String

Required: NoAvailabilityZoneName

The name of the Availability Zone (AZ) that the mount target resides in. AZs are independently mappedto names for each AWS account. For example, the Availability Zone us-east-1a for your AWSaccount might not be the same location as us-east-1a for another AWS account.

Type: String

Required: NoFileSystemId

The ID of the file system for which the mount target is intended.

Type: String

Required: YesIpAddress

Address at which the file system can be mounted by using the mount target.

Type: String

Required: NoLifeCycleState

Lifecycle state of the mount target.

Type: String

Valid Values: creating | available | updating | deleting | deleted

Required: YesMountTargetId

System-assigned mount target ID.

Type: String

Required: YesNetworkInterfaceId

The ID of the network interface that Amazon EFS created when it created the mount target.

Type: String

284

Page 293: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドMountTargetDescription

Required: NoOwnerId

AWS account ID that owns the resource.

Type: String

Required: NoSubnetId

The ID of the mount target's subnet.

Type: String

Required: Yes

See AlsoFor more information about using this API in one of the language-specific AWS SDKs, see the following:

• AWS SDK for C++• AWS SDK for Go• AWS SDK for Java• AWS SDK for Ruby V3

285

Page 294: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドPosixUser

PosixUserThe full POSIX identity, including the user ID, group ID, and any secondary group IDs, on the access pointthat is used for all file system operations performed by NFS clients using the access point.

ContentsGid

The POSIX group ID used for all file system operations using this access point.

Type: Long

Valid Range: Minimum value of 0. Maximum value of 4294967295.

Required: YesSecondaryGids

Secondary POSIX group IDs used for all file system operations using this access point.

Type: Array of longs

Array Members: Minimum number of 0 items. Maximum number of 16 items.

Valid Range: Minimum value of 0. Maximum value of 4294967295.

Required: NoUid

The POSIX user ID used for all file system operations using this access point.

Type: Long

Valid Range: Minimum value of 0. Maximum value of 4294967295.

Required: Yes

See AlsoFor more information about using this API in one of the language-specific AWS SDKs, see the following:

• AWS SDK for C++• AWS SDK for Go• AWS SDK for Java• AWS SDK for Ruby V3

286

Page 295: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドRootDirectory

RootDirectorySpecifies the directory on the Amazon EFS file system that the access point provides access to. Theaccess point exposes the specified file system path as the root directory of your file system to applicationsusing the access point. NFS clients using the access point can only access data in the access point'sRootDirectory and it's subdirectories.

ContentsCreationInfo

(Optional) Specifies the POSIX IDs and permissions to apply to the access point's RootDirectory.If the RootDirectory > Path specified does not exist, EFS creates the root directory usingthe CreationInfo settings when a client connects to an access point. When specifying theCreationInfo, you must provide values for all properties.

Important

If you do not provide CreationInfo and the specified RootDirectory > Path does notexist, attempts to mount the file system using the access point will fail.

Type: CreationInfo (p. 278) object

Required: NoPath

Specifies the path on the EFS file system to expose as the root directory to NFS clients using theaccess point to access the EFS file system. A path can have up to four subdirectories. If the specifiedpath does not exist, you are required to provide the CreationInfo.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 100.

Required: No

See AlsoFor more information about using this API in one of the language-specific AWS SDKs, see the following:

• AWS SDK for C++• AWS SDK for Go• AWS SDK for Java• AWS SDK for Ruby V3

287

Page 296: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドTag

TagA tag is a key-value pair. Allowed characters are letters, white space, and numbers that can be representedin UTF-8, and the following characters: + - = . _ : /

ContentsKey

The tag key (String). The key can't start with aws:.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 128.

Required: YesValue

The value of the tag key.

Type: String

Length Constraints: Maximum length of 256.

Required: Yes

See AlsoFor more information about using this API in one of the language-specific AWS SDKs, see the following:

• AWS SDK for C++• AWS SDK for Go• AWS SDK for Java• AWS SDK for Ruby V3

288

Page 297: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAWS Data Pipeline を使用したバックアップ

Amazon EFS の追加情報次に、引き続きサポートされているが、必ずしも推奨されていない機能を含めて、Amazon EFS の追加情報を提供します。

トピック• AWS Data Pipeline を使用して、Amazon EFS ファイルシステムをバックアップする (p. 289)• EFS マウントヘルパーを使用せずにファイルシステムをマウントする (p. 301)

AWS Data Pipeline を使用して、Amazon EFS ファイルシステムをバックアップする

Note

AWS Data Pipeline を使用して EFS ファイルシステムをバックアップすることは、レガシーソリューションです。

推奨される EFS バックアップソリューションEFS ファイルシステムのバックアップには、利用できる 2 つの推奨ソリューションがあります。

• AWS Backup サービス• EFS-to-EFS バックアップソリューション

AWS Backup は、Amazon EFS ファイルシステムをバックアップするためのシンプルでコスト効率に優れた方法です。AWS バックアップは、バックアップの作成、移行、復元、削除を簡素化し、レポート作成と監査を向上させるように設計された、統合バックアップサービスです。詳細については、「Amazon EFSでの AWS Backup の使用 (p. 104)」を参照してください。

EFS-to-EFS バックアップソリューションはすべての AWS リージョンですべての Amazon EFS ファイルシステムに適しています。このソリューションをデプロイするために必要な AWS サービスを起動、設定、実行する AWS CloudFormation テンプレートが含まれています。このソリューションは、セキュリティと可用性に関する AWS のベストプラクティスに従います。詳細については、AWS Answers の「EFS-to-EFS バックアップソリューション」を参照してください。

AWS Data Pipeline を使用したレガシー EFS バックアップソリューションAWS Data Pipeline を使用して EFS ファイルシステムをバックアップすることは、レガシーバックアップソリューションです。このバックアップソリューションでは、AWS Data Pipeline サービスを使用してデータパイプラインを作成します。このパイプラインは、Amazon EFS ファイルシステム (実稼働ファイルシステムと呼ばれる) から別の Amazon EFS ファイルシステム (バックアップファイルシステムと呼ばれる) へデータをコピーします。

このソリューションは、以下を実装する AWS Data Pipeline テンプレートで構成されています。

• 定義したスケジュール (時間単位、日単位、週単位、月単位など) に基づいて自動化された EFS バックアップ。

• 最も古いバックアップが、保持するバックアップの数に基づいて最新のバックアップに置き換えられる、バックアップの自動ローテーション。

289

Page 298: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAWS Data Pipeline を使用した Amazon

EFS バックアップのパフォーマンス

• あるバックアップから次のバックアップへの変更のみをバックアップする、rsync を使用したより迅速なバックアップ。

• ハードリンクを使用したバックアップの効率的なストレージ。ハードリンクは、ファイルシステム内のファイルに名前を関連付けるディレクトリエントリです。ハードリンクを設定することにより、バックアップからバックアップに変更された内容だけを保存しながら、任意のバックアップからデータを完全に復元することができます。

バックアップソリューションを設定したら、このチュートリアルではバックアップにアクセスしてデータを復元する方法を示します。このバックアップソリューションは、GitHub でホストされているスクリプトの実行に依存しているため、GitHub の可用性に左右されます。この依存関係を解消し、Amazon S3バケットでスクリプトをホストする場合は、Amazon S3 バケットでの rsync スクリプトのホスティング (p. 300) を参照してください。

Important

このソリューションでは、ファイルシステムと同じ AWS リージョン内で AWS Data Pipeline を使用する必要があります。AWS Data Pipeline は 米国東部 (オハイオ) ではサポートされていないため、このソリューションはその AWS リージョンでは機能しません。このソリューションを使用してファイルシステムをバックアップする場合は、サポートされている AWS リージョンのいずれかでファイルシステムを使用することをお勧めします。

トピック• AWS Data Pipeline を使用した Amazon EFS バックアップのパフォーマンス (p. 290)• AWS Data Pipeline を使用した Amazon EFS バックアップに関する考慮事項 (p. 291)• AWS Data Pipeline を使用した Amazon EFS バックアップの前提条件 (p. 291)• AWS Data Pipeline で Amazon EFS ファイルシステムをバックアップする方法 (p. 292)• その他のバックアップリソース (p. 297)

AWS Data Pipeline を使用した Amazon EFS バックアップのパフォーマンスデータのバックアップと復元を実行する場合、ファイルシステムのパフォーマンスは、ベースラインとバーストスループットキャパシティを含む Amazon EFS のパフォーマンス (p. 95) の影響を受けます。バックアップソリューションで使用されるスループットは、ファイルシステム全体のスループットに対してカウントされます。次の表は、バックアップウィンドウの長さが 15 分であると仮定して、このソリューションで動作する Amazon EFS ファイルシステムと Amazon EC2 インスタンスサイズの推奨事項を示しています。

EFS サイズ (30MB の平均ファイルサイズ)

毎日の変更量 残りのバースト時間 バックアップエージェントの最小数

256 GB 25 GB 未満 6.75 1 - m3.medium

512 GB 50 GB 未満 7.75 1 - m3.large

1.0 TB 75 GB 未満 11.75 2 - m3.large*

1.5 TB 125 GB 未満 11.75 2 - m3.xlarge*

2.0 TB 175 GB 未満 11.75 3 - m3.large*

3.0 TB 250 GB 未満 11.75 4 - m3.xlarge*

290

Page 299: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAWS Data Pipeline を使用した Amazon

EFS バックアップに関する考慮事項

* これらの見積もりは、1 TB 以上の EFS ファイルシステムに保存されたデータが、バックアップを複数のバックアップノードに分散できるように構成されていることを前提としています。複数ノードのサンプルスクリプトは、EFS ファイルシステムの第 1 レベルディレクトリの内容に基づいて、ノード間でバックアップの負荷を分割します。

たとえば、2 つのバックアップノードがある場合、1 つのノードは第 1 レベルのディレクトリにあるすべての偶数のファイルとディレクトリをバックアップします。奇数のノードは奇数のファイルとディレクトリについて同じ処理を行います。別の例では、Amazon EFS ファイルシステム内の 6 つのディレクトリと4 つのバックアップノードを使用して、最初のノードが 1 番目と 5 番目のディレクトリをバックアップします。2 番目のノードが 2 番目と 6 番目のディレクトリをバックアップし、3 番目と 4 番目のノードが 3番目と 4 番目のディレクトリをそれぞれバックアップします。

AWS Data Pipeline を使用した Amazon EFS バックアップに関する考慮事項AWS Data Pipeline を使用して Amazon EFS バックアップソリューションを実装するかどうかを決定するときは、次の点を考慮してください。

• この EFS バックアップへのアプローチには、多くの AWS リソースが含まれています。このソリューションでは、次のものを作成する必要があります。• 1 つの実稼働ファイルシステムと、実稼働ファイルシステムの完全なコピーを含む 1 つのバックアッ

プファイルシステムです。システムには、バックアップのローテーション期間におけるデータの増分変更も含まれます。

• ライフサイクルが AWS Data Pipeline によって管理され、修復およびスケジュールされたバックアップを実行する Amazon EC2 インスタンス。

• データをバックアップするために定期的にスケジュールされた 1 つの AWS Data Pipeline。• バックアップを復元するための AWS Data Pipeline。

このソリューションが実装されると、これらのサービスのアカウントへの課金が行われます。詳細については、「Amazon EFS」、「Amazon EC2」、および「AWS Data Pipeline」の料金表ページを参照してください。

• このソリューションはオフラインでのバックアップソリューションではありません。完全に一貫性のある完全なバックアップを確保するには、ファイルシステムへのファイル書き込みを一時停止するか、バックアップの実行中にファイルシステムをマウント解除します。スケジュールされたダウンタイムまたは休止時間中にすべてのバックアップを実行することをお勧めします。

AWS Data Pipeline を使用した Amazon EFS バックアップの前提条件このチュートリアルでは、いくつかの前提条件があり、次のようにサンプル値を宣言しています。

• 始める前に、このチュートリアルでは、ご利用開始にあたって (p. 12) をすでに完了していることを前提としています。

• 「開始方法」の演習を完了したら、バックアップするファイルシステムの 2 つのセキュリティグループ、VPC サブネット、およびファイルシステムマウントターゲットがあります。このチュートリアルの残りの部分では、次のサンプル値を使用します。• このチュートリアルでバックアップするファイルシステムの ID は、fs-12345678 です。• マウントターゲットに関連付けられているファイルシステムのセキュリティグループは efs-mt-sg(sg-1111111a) とします。

• Amazon EC2 インスタンスが実稼働 EFS マウントポイントに接続する機能を許可するセキュリティグループは efs-ec2-sg (sg-1111111b) と呼ばれます。

291

Page 300: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAWS Data Pipeline で Amazon EFS ファ

イルシステムをバックアップする方法

• VPC サブネットの ID の値は subnet-abcd1234 です。• バックアップするファイルシステムのソースファイルシステムのマウントターゲットの IP アドレスは10.0.1.32:/ とします。

• この例では、本稼働ファイルシステムは、平均 30 MB のサイズのメディアファイルを提供するコンテンツ管理システムであることを想定しています。

前出の前提および例は、次の初期設定の図に反映されています。

AWS Data Pipeline で Amazon EFS ファイルシステムをバックアップする方法このセクションの手順に従って、AWS Data Pipeline を使用して Amazon EFS ファイルシステムをバックアップまたは復元します。

トピック• ステップ 1: バックアップ Amazon EFS ファイルシステムの作成 (p. 292)• ステップ 2: バックアップのための AWS Data Pipeline テンプレートをダウンロードする (p. 293)• ステップ 3: バックアップのためのデータパイプラインを作成する (p. 293)• ステップ 4: Amazon EFS バックアップにアクセスする (p. 295)

ステップ 1: バックアップ Amazon EFS ファイルシステムの作成このチュートリアルでは、別々のセキュリティグループ、ファイルシステム、およびマウントポイントを作成して、データソースからバックアップを分離します。この最初のステップでは、これらのリソースを作成します。

1. まず、2 つのセキュリティグループを作成します。バックアップマウントターゲットのセキュリティグループの例は efs-backup-mt-sg (sg-9999999a) です。マウントターゲットにアクセスする EC2インスタンスのセキュリティグループ例は efs-backup-ec2-sg (sg-9999999b) です。これらのセキュリティグループをバックアップする EFS ボリュームと同じ VPC に作成することに注意します。この例では、subnet-abcd1234 サブネットに関連付けられている VPC です。セキュリティグループの作成方法の詳細については、「セキュリティグループの作成 (p. 29)」を参照してください。

2. 次に、バックアップ Amazon EFS ファイルシステムを作成します。この例では、ファイルシステム IDは fs-abcdefaa です。ファイルシステムの作成の詳細については、「Amazon Elastic File Systemを作成する (p. 21)」を参照してください。

292

Page 301: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAWS Data Pipeline で Amazon EFS ファ

イルシステムをバックアップする方法

3. 最後に、EFS バックアップファイルシステムのマウントポイントを作成し、10.0.1.75:/ の値を持つようにします。マウントターゲットの作成についての詳細は、マウントターゲットの作成 (p. 24) を参照してください。

この最初のステップを完了した後、設定は以下の図の例のようになります。

ステップ 2: バックアップのための AWS Data Pipeline テンプレートをダウンロードするAWS Data Pipeline は、指定された間隔で異なる AWS コンピューティングサービスとストレージサービス間でデータを確実に処理し、移動するのに役立ちますAWS Data Pipeline コンソールを使用して、テンプレートと呼ばれる事前設定済みのパイプライン定義を作成できます。これらのテンプレートを使用すると、AWS Data Pipeline の使用を迅速に開始することができます。このチュートリアルでは、バックアップパイプラインの設定プロセスを簡単にするためのテンプレートが提供されています。

このテンプレートを実装すると、実稼働ファイルシステムからバックアップファイルシステムにデータをバックアップするために指定したスケジュールで、単一の Amazon EC2 インスタンスを起動するデータパイプラインが作成されます。このテンプレートには多くのプレースホルダー値があります。これらのプレースホルダーに一致する値は、AWS Data Pipeline コンソールの [パラメータ] セクション内で指定します。バックアップのために AWS Data Pipeline テンプレートを GitHub の 1-Node-EFSBackupDataPipeline.json からダウンロードします。

Note

また、このテンプレートは、バックアップコマンドを実行するスクリプトを参照して実行します。パイプラインを作成する前にスクリプトをダウンロードして、そのスクリプトの内容を確認することができます。スクリプトを確認するには、GitHub から efs-backup.sh をダウンロードします。このバックアップソリューションは、GitHub でホストされているスクリプトの実行に依存しているため、GitHub の可用性に左右されます。この依存関係を解消し、Amazon S3 バケットでスクリプトをホストする場合は、Amazon S3 バケットでの rsync スクリプトのホスティング (p. 300) を参照してください。

ステップ 3: バックアップのためのデータパイプラインを作成するデータパイプラインを作成するには、次の手順を実行します。

Amazon EFS バックアップのためのデータパイプラインを作成するには

1. https://console.aws.amazon.com/datapipeline/ で AWS Data Pipeline コンソールを開きます。

293

Page 302: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAWS Data Pipeline で Amazon EFS ファ

イルシステムをバックアップする方法

Important

Amazon EFS ファイルシステムと同じ AWS リージョンで操作していることを確認してください。

2. [Create new pipeline (新しいパイプラインの作成)] を選択します。3. [Name (名前)] の値および必要に応じて [Description (説明)] の値を追加します。4. [Source (ソース)] で、[Import a definition (定義のインポート)] を選択してから、[Load local file (ロー

カルファイルのロード)] を選択します。5. ファイルエクスプローラーで、ステップ 2: バックアップのための AWS Data Pipeline テンプレートを

ダウンロードする (p. 293) で保存したテンプレートに移動し、[Open (開く)] を選択します。6. [Parameters (パラメータ)] で、バックアップおよび実稼働 EFS ファイルシステムの両方の詳細を提供

します。

7. [スケジュール] でオプションを設定し、Amazon EFS バックアップのスケジュールを定義します。この例のバックアップは 1 日に 1 回実行され、バックアップは 1 週間保持されます。バックアップが 7日を経過したら、次に古いバックアップに置き換えられます。

Note

オフピークの時間帯に発生するランタイムを指定することをお勧めします。

294

Page 303: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAWS Data Pipeline で Amazon EFS ファ

イルシステムをバックアップする方法

8. (オプション) パイプラインログの保存、カスタム IAM ロールの設定、またはパイプラインを記述するタグの追加に Amazon S3 の場所を指定します。

9. パイプラインを設定したら、[Activate (アクティブ化)] を選択します。

Amazon EFS バックアップデータパイプラインを設定してアクティブ化しました。AWS Data Pipeline の詳細については、「AWS Data Pipeline 開発者ガイド」を参照してください。この段階では、今すぐテストとしてバックアップを実行するか、または、スケジュールされた時刻にバックアップが実行されるまで待つことができます。

ステップ 4: Amazon EFS バックアップにアクセスするAmazon EFS バックアップが作成され、アクティブ化され、定義したスケジュールで実行されています。このステップでは、EFS バックアップにアクセスする方法の概要を説明します。バックアップは以下の形式で作成した EFS バックアップファイルシステムに保存されています。

backup-efs-mount-target:/efs-backup-id/[backup interval].[0-backup retention]-->

サンプルシナリオの値を使用すると、ファイルシステムのバックアップは 10.1.0.75:/fs-12345678/daily.[0-6] に配置されます。daily.0 が最新のバックアップで daily.6 は 7 つのローテーションバックアップの中で最も古いものです。

バックアップへアクセスすることで、本稼働ファイルシステムにデータを復元できます。ファイルシステム全体を復元するか、または個々のファイルを復元するかを選択できます。

ステップ 4.1: Amazon EFS バックアップ全体の復元

Amazon EFS ファイルシステムのバックアップコピーを復元するには、ステップ 3: バックアップのためのデータパイプラインを作成する (p. 293) で設定したのと同様の別の AWS Data Pipeline が必要です。ただし、この復元パイプラインは、バックアップパイプラインの逆に作動します。通常、これらの復元は自動的に開始するようスケジュールされていません。

バックアップと同じように、復元も復旧時間の目標を満たすように並行して実行できます。データパイプラインを作成する場合、いつ実行するかをスケジュールする必要があることに注意してください。アクティベーションの時に実行することを選択した場合、復元処理をすぐに開始します。復元をする必要がある場合にのみ、または特定の時間帯に実行することを計画している場合にのみ、復元パイプラインを作成することをお勧めします。

バックアップ EFS と復元 EFS の両方によりバーストキャパシティーが消費されます。パフォーマンスの詳細については、「Amazon EFS のパフォーマンス (p. 95)」を参照してください。以下の手順では、復元パイプラインの作成および実装の方法を示します。

EFS データの復元のためにデータパイプラインを作成するには

1. バックアップ EFS ファイルシステムからデータを復元するためのデータパイプラインのテンプレートをダウンロードします。このテンプレートでは、指定されたサイズに基づいて 1 つの Amazon EC2 インスタンスを起動します。これを起動するように指定した場合にのみ起動します。バックアップのために AWS Data Pipeline テンプレートを GitHub の 1-Node-EFSRestoreDataPipeline.json からダウンロードします。

Note

また、このテンプレートは、復元コマンドを実行するスクリプトを参照して実行します。パイプラインを作成する前にスクリプトをダウンロードして、そのスクリプトの内容を確認することができます。スクリプトを確認するには、GitHub から efs-restore.sh をダウンロードします。

2. https://console.aws.amazon.com/datapipeline/ で AWS Data Pipeline コンソールを開きます。

295

Page 304: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドAWS Data Pipeline で Amazon EFS ファ

イルシステムをバックアップする方法

Important

Amazon EFS ファイルシステムおよび Amazon EC2 と同じ AWS リージョンで操作していることを確認してください。

3. [Create new pipeline (新しいパイプラインの作成)] を選択します。4. [Name (名前)] の値および必要に応じて [Description (説明)] の値を追加します。5. [Source (ソース)] で、[Import a definition (定義のインポート)] を選択してから、[Load local file (ロー

カルファイルのロード)] を選択します。6. ファイルエクスプローラーで、ステップ 1: バックアップ Amazon EFS ファイルシステムの作

成 (p. 292) で保存したテンプレートに移動し、[Open (開く)] を選択します。7. [Parameters (パラメータ)] で、バックアップおよび実稼働 EFS ファイルシステムの両方の詳細を提供

します。

8. 通常は必要なときにのみ復元を実行するので、復元を [once on pipeline activation (パイプラインのアクティブ化中に一度)] 実行するようにスケジュールできます。または、オフピーク期間中など、指定した将来の時間に 1 回限り復元を実行するようスケジュールすることもできます。

9. (オプション) パイプラインログの保存、カスタム IAM ロールの設定、またはパイプラインを記述するタグの追加に Amazon S3 の場所を指定します。

10. パイプラインを設定したら、[Activate (アクティブ化)] を選択します。

Amazon EFS 復元データパイプラインを設定してアクティブ化しました。ここで、バックアップを本稼働EFS ファイルシステムに復元する必要がある場合、AWS Data Pipeline コンソールからアクティブ化を行います。詳細については、「AWS Data Pipeline 開発者ガイド」を参照してください。

ステップ 4.2: Amazon EFS バックアップから個別のファイルを復元する

Amazon EC2 インスタンスを起動して一時的に本稼働およびバックアップ EFS ファイルシステムの両方をマウントすることで、Amazon EFS ファイルシステムのバックアップからファイルを復元することができます。EC2 インスタンスは両方の EFS クライアント (この例では [efs-ec2-sg] および [efs-backup-clients-sg]) のセキュリティグループのメンバーである必要があります。両方の EFS マウントターゲットをこの復元インスタンスでマウントできます。たとえば、リカバリ EC2 インスタンスで次のマウントポイントを作成できます。ここでは、-o ro オプションを使用して、バックアップ EFS を読み取り専用としてマウントし、バックアップから復元しようとする際、誤ってバックアップが変更されないようにします。

296

Page 305: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドその他のバックアップリソース

mount -t nfs source-efs-mount-target:/ /mnt/data

mount -t nfs -o ro backup-efs-mount-target:/fs-12345678/daily.0 /mnt/backup>

ターゲットをマウントした後、/mnt/backup コマンドを使用して、/mnt/data からファイルをターミナルの cp -p の適切な場所にコピーできます。たとえば、次のコマンドを使用して、ホームディレクトリ全体 (ファイルシステムのアクセス許可を含む) を再帰的にコピーできます。

sudo cp -rp /mnt/backup/users/my_home /mnt/data/users/my_home

次のコマンドを実行することで、1 つのファイルを復元できます。

sudo cp -p /mnt/backup/user/my_home/.profile /mnt/data/users/my_home/.profile

Warning

個々のデータファイルを手動で復元する場合は、誤ってバックアップ自体を変更しないように注意してください。データが破損する可能性があります。

その他のバックアップリソースこのチュートリアルで紹介したバックアップソリューションでは、AWS Data Pipeline のテンプレートを使用しています。ステップ 2: バックアップのための AWS Data Pipeline テンプレートをダウンロードする (p. 293) および ステップ 4.1: Amazon EFS バックアップ全体の復元 (p. 295) で使用したテンプレートは両方とも単一の Amazon EC2 インスタンスを使用し作業を実行しています。ただし、Amazon EFSファイルシステムでデータをバックアップまたは復元するために実行できる並列インスタンスの数には、実際の制限はありません。このトピックには、バックアップソリューションとしてダウンロードして使用できる複数の EC2 インスタンス用に設定された他の AWS Data Pipeline テンプレートへのリンクがあります。追加のインスタンスを含めるようにテンプレートを変更する方法も示してあります。

トピック• 追加テンプレートの使用 (p. 297)• バックアップインスタンスの追加 (p. 297)• 復元インスタンスをさらに追加する (p. 299)• Amazon S3 バケットでの rsync スクリプトのホスティング (p. 300)

追加テンプレートの使用次の追加テンプレートは、GitHub からダウンロードできます。

• 2-Node-EFSBackupPipeline.json – このテンプレートは、2 つの並列 Amazon EC2 インスタンスを起動して、本稼働 Amazon EFS ファイルシステムをバックアップします。

• 2-Node-EFSRestorePipeline.json – このテンプレートは、2 つの並行 Amazon EC2 インスタンスを起動して、本稼働 Amazon EFS ファイルシステムのバックアップを復元します。

バックアップインスタンスの追加このチュートリアルで使用するバックアップテンプレートにノードを追加できます。ノードを追加するには、2-Node-EFSBackupDataPipeline.json テンプレートの以下のセクションを変更します。

297

Page 306: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドその他のバックアップリソース

Important

追加のノードを使用している場合、最上位ディレクトリに格納されているファイル名とディレクトリにはスペースを使用できません。そうした場合、それらのファイルとディレクトリではバックアップや復元はされません。トップレベルより少なくとも 1 レベル下のすべてのファイルとサブディレクトリは、バックアップされ、想定どおりに復元されます。

• 作成したい追加のノードごとに追加の EC2Resource を作成します (この例では、4 番目の EC2 インスタンス)。

{"id": "EC2Resource4","terminateAfter": "70 Minutes","instanceType": "#{myInstanceType}","name": "EC2Resource4","type": "Ec2Resource","securityGroupIds" : [ "#{mySrcSecGroupID}","#{myBackupSecGroupID}" ],"subnetId": "#{mySubnetID}","associatePublicIpAddress": "true"},

• 追加のノード (この場合はアクティビティ BackupPart4) ごとに追加のデータパイプラインアクティビティを作成し、次のセクションを必ず設定してください。• 以前に作成した EC2Resource を指すように runsOn 参照を更新します (以下の例のEC2Resource4)。

• 最後の 2 つの scriptArgument 値を各ノードが担当するバックアップ部分およびノードの合計数と等しくなるよう増分します。以下の例の "2" および "3" では、係数の論理で、0 から数え始める必要があるため、この例の 4 番目のノードのバックアップ部分は "3" となります。

{"id": "BackupPart4","name": "BackupPart4","runsOn": {"ref": "EC2Resource4"},"command": "wget https://raw.githubusercontent.com/awslabs/data-pipeline-samples/master/samples/EFSBackup/efs-backup-rsync.sh\nchmod a+x efs-backup-rsync.sh\n./efs-backup-rsync.sh $1 $2 $3 $4 $5 $6 $7","scriptArgument": ["#{myEfsSource}","#{myEfsBackup}", "#{myInterval}", "#{myRetainedBackups}","#{myEfsID}", "3", "4"],"type": "ShellCommandActivity","dependsOn": {"ref": "InitBackup"},"stage": "true"},

• ノード数にすべての既存の scriptArgument 値の最後の値を増分します (この例では "4")。

{"id": "BackupPart1",..."scriptArgument": ["#{myEfsSource}","#{myEfsBackup}", "#{myInterval}", "#{myRetainedBackups}","#{myEfsID}", "1", "4"],...},{"id": "BackupPart2",..."scriptArgument": ["#{myEfsSource}","#{myEfsBackup}", "#{myInterval}", "#{myRetainedBackups}","#{myEfsID}", "2", "4"],

298

Page 307: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドその他のバックアップリソース

...},{"id": "BackupPart3",..."scriptArgument": ["#{myEfsSource}","#{myEfsBackup}", "#{myInterval}", "#{myRetainedBackups}","#{myEfsID}", "0", "4"],...},

• FinalizeBackup アクティビティを更新し、dependsOn リストに新しいバックアップアクティビティを追加します (この場合は BackupPart4)。

{ "id": "FinalizeBackup", "name": "FinalizeBackup", "runsOn": { "ref":"EC2Resource1" }, "command": "wgethttps://raw.githubusercontent.com/awslabs/data-pipeline-samples/master/samples/EFSBackup/efs-backup-end.sh\nchmod a+xefs-backup-end.sh\n./efs-backup-end.sh $1 $2", "scriptArgument": ["#{myInterval}","#{myEfsID}"], "type": "ShellCommandActivity", "dependsOn": [ { "ref": "BackupPart1" },{ "ref": "BackupPart2" }, { "ref": "BackupPart3" }, { "ref": "BackupPart4" } ], "stage":"true"

復元インスタンスをさらに追加するこのチュートリアルで使用する復元テンプレートにノードを追加できます。ノードを追加するには、2-Node-EFSRestorePipeline.json テンプレートの以下のセクションを変更します。

• 作成したい追加のノードごとに、追加の EC2Resource を作成します (この例では、3 番目のEC2Resource3 という EC2 インスタンス)。

{"id": "EC2Resource3","terminateAfter": "70 Minutes","instanceType": "#{myInstanceType}","name": "EC2Resource3","type": "Ec2Resource","securityGroupIds" : [ "#{mySrcSecGroupID}","#{myBackupSecGroupID}" ],"subnetId": "#{mySubnetID}","associatePublicIpAddress": "true"},

• 追加のノード (この場合はアクティビティ RestorePart3) ごとに追加のデータパイプラインアクティビティを作成します。次のセクションを必ず設定してください。• 以前に作成した EC2Resource を指すように runsOn リファレンスを更新します (この例ではEC2Resource3)。

• 最後の 2 つの scriptArgument 値を各ノードが担当するバックアップ部分およびノードの合計数と等しくなるよう増分します。以下の例の "2" および "3" では、係数の論理で、0 から数え始める必要があるため、この例の 4 番目のノードのバックアップ部分は "3" となります。

{"id": "RestorePart3","name": "RestorePart3","runsOn": {"ref": "EC2Resource3"},"command": "wget https://raw.githubusercontent.com/awslabs/data-pipeline-samples/master/samples/EFSBackup/efs-restore-rsync.sh\nchmod a+x efs-restore-rsync.sh\n./efs-backup-rsync.sh $1 $2 $3 $4 $5 $6 $7",

299

Page 308: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドその他のバックアップリソース

"scriptArgument": ["#{myEfsSource}","#{myEfsBackup}", "#{myInterval}", "#{myBackup}","#{myEfsID}", "2", "3"],"type": "ShellCommandActivity","dependsOn": {"ref": "InitBackup"},"stage": "true"},

• ノード数にすべての既存の scriptArgument 値の最後の値を増分します (この例では "3")。

{"id": "RestorePart1",..."scriptArgument": ["#{myEfsSource}","#{myEfsBackup}", "#{myInterval}", "#{myBackup}","#{myEfsID}", "1", "3"],...},{"id": "RestorePart2",..."scriptArgument": ["#{myEfsSource}","#{myEfsBackup}", "#{myInterval}", "#{myBackup}","#{myEfsID}", "0", "3"],...},

Amazon S3 バケットでの rsync スクリプトのホスティングこのバックアップソリューションは、インターネット上の GitHub リポジトリでホストされている rsync スクリプトの実行に依存しています。したがって、このバックアップソリューションでは、GitHub リポジトリが利用可能である必要があります。この要件により、GitHub リポジトリがこれらのスクリプトを削除するか、または、GitHub のウェブサイトがオフラインになると、前に実装されたバックアップソリューションは機能しません。

GitHub の依存関係を排除するには、代わりに、所有している Amazon S3 バケットでスクリプトをホストするという選択ができます。以下に、自分でスクリプトをホストするために必要な手順を示します。

rsync スクリプトを独自の Amazon S3 バケットでホストするには

1. AWS にサインアップする – すでに AWS アカウントをお持ちの場合は次のステップに進みます。それ以外の場合は、「AWS にサインアップ (p. 9)」を参照してください。

2. AWS Identity and Access Management ユーザーを作成する – すでに IAM ユーザーがある場合は、次のステップに進みます。それ以外の場合は、「IAM ユーザーを作成する (p. 9)」を参照してください。

3. Amazon S3; バケットを作成する – rsync スクリプトをホストするバケットがすでにある場合は、次のステップに進みます。それ以外の場合は、『Amazon Simple Storage Service 入門ガイド』の「バケットの作成」を参照してください。

4. rsync スクリプトとテンプレートをダウンロードする – GitHub から EFSBackup フォルダにあるすべての rsync スクリプトとテンプレートをダウンロードします。これらのファイルをダウンロードしたコンピュータの場所をメモしておきます。

5. rsync スクリプトを S3 バケットにアップロードする – S3 バケットにオブジェクトをアップロードする手順については、『Amazon Simple Storage Service 入門ガイド』の「バケットへのオブジェクトの追加」を参照してください。

6. アップロードされた rsync スクリプトのアクセス許可を変更し、[Everyone (誰でも)] それらを [Open/Download (開く/ダウンロード)] 出来るようにします。S3 バケットのオブジェクトのアクセス許可を変更する手順については、『Amazon Simple Storage Service コンソールユーザーガイド』の「オブジェクトに対するアクセス許可を編集する」を参照してください。

300

Page 309: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドEFS マウントヘルパーを使用せずにファイルシステムをマウントする

7. テンプレートを更新する – shellCmd パラメータの wget ステートメントを変更して、起動スクリプトを置いた Amazon S3 バケットを指すようにします。更新されたテンプレートを保存し、ステップ3: バックアップのためのデータパイプラインを作成する (p. 293) の手順を実行するときにそのテンプレートを使用します。

Note

このバックアップソリューションでは、Amazon S3 バケットへのアクセスを制限し、AWSData Pipeline を有効にする IAM アカウントを含めることをお勧めします。詳細については、Amazon Simple Storage Service コンソールユーザーガイドの「バケットアクセス権限の編集」を参照してください。

これで、このバックアップソリューションの rsync スクリプトをホストでき、バックアップは GitHub の可用性に依存しなくなります。

EFS マウントヘルパーを使用せずにファイルシステムをマウントする

Note

このセクションでは、amazon-efs-utils パッケージを使用せずに、Amazon EFS ファイルシステムをマウントする方法について説明します。ファイルシステムを使用して、転送時のデータの暗号化を使用するには、Transport Layer Security (TLS) を使用して、ファイルシステムをマウント

301

Page 310: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドNFS サポート

する必要があります。これを行うには、amazon-efs-utils パッケージを使用することをお勧めします。詳細については、「amazon-efs-utils ツールを使用する (p. 37)」を参照してください。

以下で、Network File System (NFS) クライアントをインストールする方法と、Amazon EC2 インスタンスに Amazon EFS ファイルシステムをマウントする方法を説明します。また、mount コマンドの説明と、mount コマンドでファイルシステムの DNS (ドメインネームシステム) 名を指定するために使用可能なオプションについても説明します。加えて、システムの再起動後に fstab ファイルを使用してファイルシステムを自動的に再マウントする方法を説明します。

Note

ファイルシステムをマウントする前に、関連する AWS リソースを作成、設定、および起動する必要があります。詳細な手順については、「Amazon Elastic File System の使用開始 (p. 12)」を参照してください。

トピック• NFS サポート (p. 302)• NFS クライアントをインストールする (p. 303)• NFS の推奨されるマウントオプション (p. 304)• DNS 名を使用して Amazon EC2 にマウントする (p. 305)• IP アドレスを使用してマウントする (p. 306)

NFS サポートAmazon EFS は、ファイルシステムを Amazon EC2 インスタンスにマウントするときに、Network FileSystem バージョン 4.0 と 4.1 (NFSv4) プロトコルをサポートします。NFSv4.0 はサポートされていますが、NFSv4.1 を使用することをお勧めします。Amazon EFS インスタンスに Amazon EC2 ファイルシステムをマウントするには、選択した NFSv4 プロトコルをサポートする NFS クライアントが必要になります。

最適なパフォーマンスのため、また、既知のさまざまな NFS クライアントのバグを避けるため、最新のLinux カーネルの使用をお勧めします。エンタープライズ Linux ディストリビューションを使用している場合は、以下をお勧めします。

• Amazon Linux 2• Amazon Linux 2015.09 以降• RHEL 7.3 以降• カーネル 2.6.32-696 の RHEL 6.9 以降• Ubuntu 16.04 のすべてのバージョン• カーネル 3.13.0-83 の Ubuntu 14.04 以降• SLES 12 Sp2 以降

別のディストリビューションまたはカスタムカーネルを使用している場合は、カーネルバージョン 4.3 以降をお勧めします。

Note

多くのファイルを並列に開くとパフォーマンスが低下する (p. 183) により、RHEL 6.9 は特定のワークロードには適していない可能性があり ます。

Note

Microsoft Windows に基づいた Amazon EC2 インスタンスでの Amazon EFS の使用はサポートされていません。

302

Page 311: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドNFS クライアントをインストールする

AMI およびカーネルバージョンのトラブルシューティングEC2 インスタンスから Amazon EFS を使用する場合の、特定の AMI またはカーネルバージョンに関連する問題のトラブルシューティングを行うには AMI とカーネルの問題のトラブルシューティング (p. 186)を参照してください。

NFS クライアントをインストールするAmazon EC2 インスタンスに Amazon EFS ファイルシステムをマウントするには、まず NFS クライアントをインストールする必要があります。EC2 インスタンスに接続して NFS クライアントをインストールするには、EC2 インスタンスのパブリック DNS 名とユーザー名でログインする必要があります。インスタンスのユーザー名は通常 ec2-user です。

EC2 インスタンスに接続し、NFS クライアントをインストールするには

1. EC2 インスタンスに接続します。インスタンスに接続する方法については、以下の点に注意してください。

• macOS または Linux を実行しているコンピュータからインスタンスに接続するには、-i オプションとプライベートキーへのパスと共に、Secure Shell (SSH) クライアントに対する .pem ファイルを指定します。

• Windows を実行しているコンピュータから Linux インスタンスに接続する場合は、MindTerm または PuTTY のどちらかを使用できます。PuTTY を使用する予定がある場合は、それをインストールしてから、次のプロシージャを使用して .pem ファイルを .ppk ファイルに変換します。

詳細については、「Linux インスタンス用 Amazon EC2 ユーザーガイド」の次のトピックを参照してください。

• PuTTY を使用した Windows から Linux インスタンスへの接続• SSH を使用した Linux インスタンスへの接続

キーファイルは SSH 用に公開できません。これらの権限を設定するには、chmod400filename.pem コマンドを使用できます。詳細については、「キーペアの作成」を参照してください。

2. (オプション) アップデートを入手して再起動します。

$ sudo yum -y update $ sudo reboot

3. 再起動後、EC2 インスタンスに再接続します。4. NFS クライアントをインストールします。

Amazon Linux AMI または Red Hat Linux AMI を使用している場合は、次のコマンドを使用して NFSクライアントをインストールします。

$ sudo yum -y install nfs-utils

Ubuntu Amazon EC2 AMI を使用している場合は、次のコマンドを使用して NFS クライアントをインストールします。

$ sudo apt-get -y install nfs-common

5. 次のコマンドを使用して NFS サービスを起動します。

303

Page 312: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドNFS の推奨されるマウントオプション

$ sudo service nfs start

6. 次のように、NFS サービスが起動したことを確認します。

$ sudo service nfs statusRedirecting to /bin/systemctl status nfs.service# nfs-server.service - NFS server and services Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; disabled; vendor preset: disabled) Active: active (exited) since Wed 2019-10-30 16:13:44 UTC; 5s ago Process: 29446 ExecStart=/usr/sbin/rpc.nfsd $RPCNFSDARGS (code=exited, status=0/SUCCESS) Process: 29441 ExecStartPre=/bin/sh -c /bin/kill -HUP `cat /run/gssproxy.pid` (code=exited, status=0/SUCCESS) Process: 29439 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS) Main PID: 29446 (code=exited, status=0/SUCCESS) CGroup: /system.slice/nfs-server.service

カスタムカーネル (カスタム AMI を構築する場合) を使用する場合は、少なくとも NFSv4.1 クライアントカーネルモジュールと適切な NFS4 ユーザースペースマウントヘルパーを含める必要があります。

Note

Amazon EC2 インスタンスの起動時に [Amazon Linux AMI 2016.03.0] または[Amazon Linux AMI 2016.09.0] を選択する場合、デフォルトですでに AMI に含まれているため、nfs-utils をインストールする必要はありません。

次の手順: ファイルシステムをマウントする

以下のいずれかの手順を実行し、ファイルシステムをマウントします。

• DNS 名を使用して Amazon EC2 にマウントする (p. 305)• IP アドレスを使用してマウントする (p. 306)• Amazon EFS ファイルシステムを自動的にマウントする (p. 69)

NFS の推奨されるマウントオプションLinux の マウントオプションには次のデフォルトの値をお勧めします。

• rsize=1048576 – 各ネットワーク読み取りリクエストに対して NFS クライアントが受信できるデータの最大バイト数を設定します。この値は、EFS ファイルシステム上のファイルからデータを読み取る際に適用されます。パフォーマンスが低下しないように、可能な限り大きいサイズ (最大 1048576) を使用することをお勧めします。

• wsize=1048576 – 各ネットワーク書き込みリクエストに対して NFS クライアントが送信できるデータの最大バイト数を設定します。この値は、EFS ファイルシステム上のファイルにデータを書き込む際に適用されます。パフォーマンスが低下しないように、可能な限り大きいサイズ (最大 1048576) を使用することをお勧めします。

• hard – NFS リクエストがタイムアウトした後の NFS クライアントのリカバリ動作を設定します。これにより、NFS リクエストは、サーバーが応答するまで無期限に再試行されます。データの整合性を確保できるように、ハードマウントオプション (hard) を使用することをお勧めします。soft マウントを使用している場合は、timeo パラメータを 150 デシ秒 (15 秒) 以上に設定してください。これにより、ソフトマウントに固有のデータ破損が生じるリスクを最小限に抑えることができます。

• timeo=600 – NFS クライアントがレスポンスを待機するのに要するタイムアウト値を設定してから、NFS リクエストを 600 デシ秒 (60 秒) に設定します。タイムアウトパラメータ (timeo) を変更する

304

Page 313: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドDNS 名を使用して Amazon EC2 にマウントする

必要がある場合は、少なくとも 150 の値を使用することをお勧めします。これは 15 秒に相当します。これにより、パフォーマンスの低下を抑えることができます。

• retrans=2 – NFS クライアントでリカバリアクションを試行する前に、そのアクションのリクエスト試行回数を 2 回に設定します。

• noresvport – ネットワーク接続が再確立された時に、新しい Transmission Control Protocol (TCP) 送信元ポートを使用するように、NFS クライアントに指示します。これにより、ネットワーク復旧イベント後、EFS ファイルシステムでの中断のない可用性が保証されます。

• _netdev – /etc/fstab に存在する場合、クライアントは、ネットワークが有効になるまで、EFSファイルシステムをマウントすることはできません。

前述のデフォルト設定を使用しない場合は、以下の点に注意してください。

• 一般に、デフォルトとは異なる他のマウントオプションを設定しないでください。パフォーマンスが低下し、別の問題が生じる可能性があります。たとえば、読み取りまたは書き込みバッファサイズを変更したり、属性のキャッシュを無効にしたりするとパフォーマンスが損なわれる可能性があります。

• Amazon EFS は送信元ポートを無視します。Amazon EFS 送信元ポートを変更した場合、変更は無効になります。

• Amazon EFS では Kerberos セキュリティバリアントをサポートしていません。たとえば、以下のマウントコマンドは失敗します。

$ mount -t nfs4 -o krb5p <DNS_NAME>:/ /efs/

• ファイルシステムは、DNS 名を使用してマウントすることをお勧めします。この名前は、Amazon EC2インスタンスと同じアベイラビリティーゾーンの Amazon EFS マウントターゲットの IP アドレスに解決されます。ご使用の Amazon EC2 インスタンスとは異なるアベイラビリティーゾーンでマウントターゲットを使用すると、アベイラビリティーゾーンから送信されるデータに対して EC2 の標準料金がかかります。また、ファイルシステムオペレーションのレイテンシーが増加することがあります。

• 他のマウントオプションや、デフォルト設定の詳細な説明については、Linux ドキュメントの「manfstab」および「man nfs」ページを参照してください。

Note

マウントされた EFS ファイルシステムのステータスに関係なく EC2 インスタンスを起動する必要がある場合は、/etc/fstab ファイルのファイルシステムのエントリに nofail オプションを追加します。

DNS 名を使用して Amazon EC2 にマウントする• ファイルシステムの DNS 名 – ファイルシステムの DNS 名を使用するのがもっとも簡単なマウントオ

プションです。ファイルシステムの DNS 名は、接続する Amazon EC2 インスタンスのアベイラビリティーゾーン内のマウントターゲットの IP アドレスを自動的に解決します。この DNS 名はコンソールから取得できます。ファイルシステム ID がある場合は、次の規則を使用して作成することができます。

file-system-id.efs.aws-region.amazonaws.com

Note

DNS 解決では、Amazon EFS ファイルシステムに、同じアベイラビリティーゾーンにクライアントインスタンスとしてマウントターゲットがある必要があります。

ファイルシステムの DNS 名を使用して、Amazon EC2 インスタンスにファイルシステムをマウントするには次のコマンドを使用します。

305

Page 314: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドIP アドレスを使用してマウントする

sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport file-system-id.efs.aws-region.amazonaws.com:/ efs-mount-point

• マウントターゲットの DNS 名 – 2016 年 12 月、ファイルシステムの DNS 名を導入しました。各アベイラビリティーゾーンマウントターゲットに DNS 名を引き続き提供し、下位互換性を確保します。一般的な形式のマウントターゲット DNS 名は次のようになります。

availability-zone.file-system-id.efs.aws-region.amazonaws.com

場合によっては、マウントターゲットを削除して同じアベイラビリティーゾーンに新たに作成します。このような場合は、そのアベイラビリティーゾーンの新しいマウントターゲットの DNS 名は、古いマウントターゲットの DNS 名と同じになります。

Amazon EFS をサポートする AWS リージョンのリストについては、『AWS General Reference』の「Amazon Elastic File System」を参照してください。

mount コマンドで DNS 名を使用するには、以下の条件が満たされている必要があります。

• 接続する EC2 インスタンスは VPC 内にあり、Amazon が提供する DNS サーバーを使用するように設定されている必要があります。Amazon DNS サーバーの詳細については、『Amazon VPC ユーザーガイド』の「DHCP オプションセット」を参照してください。

• 接続する EC2 インスタンスの VPC で DNS 解決と DNS ホスト名の利用が有効になっている必要があります。詳細については、『Amazon VPC ユーザーガイド』の「EC2 インスタンスの DNS ホスト名を確認する」を参照してください。

• 接続する EC2 インスタンスは、EFS ファイルシステムと同じ VPC 内にある必要があります。別の場所または別の VPC からの、ファイルシステムへのアクセスおよびマウントの詳細については、ウォークスルー: AWS Direct Connect と VPN を使用してオンプレミスでファイルシステムを作成してマウントする (p. 126) および ウォークスルー: 別の VPC からファイルシステムをマウントする (p. 133) を参照してください。

Note

ファイルシステムをマウントする前に、マウントターゲットを作成してから 90 秒待機することをお勧めします。この待機により、DNS レコードはファイルシステムがある AWS リージョンに完全に伝達されます。

IP アドレスを使用してマウントするDNS 名を使用して Amazon EFS ファイルシステムをマウントする代わりに、Amazon EC2 インスタンスでマウントターゲットの IP アドレスを使用してファイルシステムをマウントできます。IP アドレスによるマウントは、DNS ホスト名を無効にした VPC や ClassicLink を使用してマウントした EC2-Classic インスタンスなど DNS が無効になっている環境でも機能します。ClassicLink に関する詳細は、『Linux インスタンス用 Amazon EC2 ユーザーガイド』の「ClassicLink」を参照してください。

デフォルトで DNS 名を使用してファイルシステムをマウントするように設定されたアプリケーションのフォールバックオプションとして、マウントターゲット IP アドレスを使用してファイルシステムのマウントを設定することもできます。マウントターゲット IP アドレスに接続する場合、EC2 インスタンスは接続先インスタンスと同じアベイラビリティーゾーンのマウントターゲット IP アドレスを使用してマウントする必要があります。

次の手順を使用して、EFS ファイルシステムのマウントターゲット IP アドレスをコンソールから取得できます。

306

Page 315: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイドIP アドレスを使用してマウントする

EFS ファイルシステムのマウントターゲット IP アドレスを取得するには

1. Amazon Elastic File System コンソール (https://console.aws.amazon.com/efs/) を開きます。2. [File systems (ファイルシステム)] で、EFS ファイルシステムの [Name (名前)] 値を選択します。3. [Mount targets (マウントターゲット)] テーブルで、EFS ファイルシステムを EC2 インスタンスにマウ

ントするために使用する [Availability Zone (アベイラビリティーゾーン)] を特定します。4. 選択した [Availability Zone (アベイラビリティーゾーン)] と関連付けられた [IP address (IP アドレス)]

を書き留めておきます。

次に示すように、マウントターゲットの IP アドレスを mount コマンドで指定できます。

$ sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport mount-target-IP:/ ~/efs-mount-point

AWS CloudFormation で IP アドレスを使用してマウントするAWS CloudFormation テンプレートで IP アドレスを使用してファイルシステムをマウントすることもできます。詳細については、GitHub のコミュニティが提供している設定ファイルの awsdocs/elastic-beanstalk-samples の storage-efs-mountfilesystem-ip-addr.config を参照してください。

307

Page 316: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド

ドキュメント履歴• API バージョン: 2015-02-01• ドキュメントの最終更新日: 2020 年 4 月 1 日

次の表は、2018 年 7 月以降の Amazon Elastic File System ユーザーガイド に対する重要な変更点の一覧です。ドキュメントの更新に関する通知については、RSS フィードにサブスクライブできます。

update-history-change update-history-description update-history-date

汎用モードファイルシステムのパフォーマンスが向上しました (p. 308)

Amazon EFS の汎用モードファイルシステムで、1 秒あたり最大 35,000 回の読み取り操作がサポートされるようになりました。以前の制限である 7,000 回から400% 増加したことになります。詳細については、「Amazon EFSファイルシステムのクォータ」を参照してください。

April 1, 2020

その他の AWS リージョンのサポートが追加されました (p. 308)

Amazon EFS が 北京および寧夏AWS リージョンですべてのユーザーに対して利用可能になりました。

January 22, 2020

NFS クライアントの IAM 認証に関するサポートが追加されました (p. 308)

AWS Identity and AccessManagement (IAM) を使用して、Amazon EFS ファイルシステムへの NFS アクセスを管理できるようになりました。詳細については、「AWS IAM を使用したAmazon EFS への NFS アクセスのコントロール」を参照してください。

January 13, 2020

EFS アクセスポイントに関するサポートが追加されました (p. 308)

Amazon EFS アクセスポイントは、Amazon EFS ファイルシステムへのアプリケーション固有のエントリポイントです。これにより、共有データセットへのアプリケーションアクセスが管理しやすくなります。詳細については、「Amazon EFS アクセスポイントの使用」を参照してください。

January 13, 2020

AWS Backup の部分復元に関するサポートが追加されました。 (p. 308)

復旧ポイントの完全復元に加えて、部分復元を使用して特定のファイルやディレクトリを復元できるようになりました。詳細については、「Amazon EFS でのAWS Backup の使用」を参照してください。

January 13, 2020

308

Page 317: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド

IAM サービスにリンクされたロールに関するサポートが追加されました (p. 308)

Amazon EFS では、IAM に基づいてサービスにリンクされたロールが使用されるようになりました。これにより、必要なアクセス許可が自動的に追加されるため、EFS が設定しやすくなります。詳細については、「AmazonEFS のサービスにリンクされたロールの使用」を参照してください。

December 10, 2019

その他の AWS リージョンのサポートが追加されました (p. 308)

Amazon EFS が 欧州 (ストックホルム) AWS リージョンですべてのユーザーに対して利用可能になりました。

November 20, 2019

その他の AWS リージョンのサポートが追加されました (p. 308)

Amazon EFS が アジアパシフィック (香港) AWS リージョンですべてのユーザーに対して利用可能になりました。

November 20, 2019

その他の AWS リージョンのサポートが追加されました (p. 308)

Amazon EFS が 南米 (サンパウロ) AWS リージョンですべてのユーザーに対して利用可能になりました。

November 20, 2019

その他の AWS リージョンのサポートが追加されました (p. 308)

Amazon EFS が 中東 (バーレーン) AWS リージョンですべてのユーザーに対して利用可能になりました。

November 20, 2019

新しい 7 日間のライフサイクル管理ポリシーが追加されました (p. 308)

ライフサイクル管理に、7 日後にコストパフォーマンスに優れた低頻度アクセスストレージクラスにデータを移動するためのポリシーが追加されました。詳細については、「EFS のライフサイクル管理」を参照してください。

November 6, 2019

インターフェイス VPC エンドポイントのサポートが追加されました (p. 308)

仮想プライベートクラウドとAmazon EFS の間にプライベート接続を確立して、EFS API を呼び出すことができます。詳細については、「VPC エンドポイントの使用」を参照してください。

October 22, 2019

新しい EC2 インスタンスの起動時に EFS ファイルシステムをマウントします。 (p. 308)

EC2 インスタンス起動ウィザードで、起動時に EFS ファイルシステムにマウントするよう、新しい Amazon EC2 インスタンスを設定できるようになりました。詳細については、「ステップ 2.EC2 リソースを作成し、EC2 インスタンスを起動する」を参照してください。

October 17, 2019

309

Page 318: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド

サービスクォータのサポートを追加 (p. 308)

Service Quotas コンソールですべての Amazon EFS 制限を表示できるようになりました。詳細については、「Amazon EFS の制限」を参照してください。

September 10, 2019

新しいライフサイクル管理ポリシーが追加されました (p. 308)

ライフサイクル管理を使用するときに、4 つのライフサイクルポリシーのうち 1 つを選択して、コスト効率に優れた低頻度アクセスストレージクラスにファイルをいつ転送するか定義できるようになりました。詳細については、「EFS のライフサイクル管理」を参照してください。

July 9, 2019

EFS ライフサイクル管理は、すべての EFS ファイルシステムで利用できるようになりました。 (p. 308)

EFS ライフサイクル管理機能は、すべての EFS ファイルシステムで利用できるようになりました。以前の、ファイルシステムの作成時点に基づく制限は解除されました。詳細については、「EFSのライフサイクル管理」を参照してください。

July 9, 2019

その他の AWS リージョンのサポートが追加されました (p. 308)

Amazon EFS が 欧州 (パリ) AWSリージョンですべてのユーザーに対して利用可能になりました。

June 12, 2019

その他の AWS リージョンのサポートが追加されました (p. 308)

Amazon EFS が アジアパシフィック (ムンバイ) AWS リージョンですべてのユーザーに対して利用可能になりました。

June 5, 2019

その他の AWS リージョンのサポートが追加されました (p. 308)

Amazon EFS が カナダ (中部)AWS リージョンですべてのユーザーに対して利用可能になりました。

May 1, 2019

API の更新: タグがCreateFileSystem オペレーションペイロードの一部になりました (p. 308)

AWS API および CLI のCreateFileSystem オペレーションを使用して Amazon EFS ファイルシステムを作成するときにタグを追加できるようになりました。詳細については、「CreateFileSystem」と「AWSCLI を使用してファイルシステムを作成する」を参照してください。

February 19, 2019

310

Page 319: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド

新機能: EFS 低頻度アクセスストレージクラスと EFS ライフサイクル管理 (p. 308)

Amazon EFS 低頻度アクセスは、アクセスが頻繁ではないファイル用のコスト最適化ストレージクラスです。EFS ライフサイクル管理は、ファイルを標準から低頻度アクセスストレージに自動的に移行します。詳細については、「EFS ストレージクラス」を参照してください。

February 13, 2019

その他の AWS リージョンのサポートが追加されました (p. 308)

Amazon EFS が 欧州 (ロンドン)AWS リージョンですべてのユーザーに対して利用可能になりました。

January 23, 2019

AWS バックアップサービスとAmazon EFS の統合 (p. 308)

Amazon EFS ファイルシステムは、AWS バックアップを使用してバックアップできます。AWSバックアップは、クラウド上のAWS のサービスとオンプレミスにわたるデータをバックアップするための、フルマネージド型で集中型の自動バックアップサービスです。詳細については、「AWSバックアップと EFS」を参照してください。

January 16, 2019

オンプレミスストレージシステムへの Transit Gateway 接続のサポートが追加されました。 (p. 308)

Amazon EFS ファイルシステムは、オンプレミスストレージシステムへの Transit Gateway 接続を使用してアクセスできるようになりました。詳細については、「別のアカウントまたは VPC からマウントする」および「ウォークスルー: 別の VPC からファイルシステムをマウントする」を参照してください。

December 6, 2018

EFS File Sync は、新しい AWSDataSync サービスの一部になりました。 (p. 308)

AWS DataSync は、オンプレミスのストレージシステムと AWSストレージサービス間での大量のデータの同期を簡素化する、マネージド型のデータ転送サービスです。詳細については、「AWSDataSync を使用してオンプレミスファイルシステムから AmazonEFS にファイルを転送する」を参照してください。

November 26, 2018

VPN とリージョン間 VPC ピアリング接続のサポートが追加されました。 (p. 308)

Amazon EFS が、VPN 接続とリージョン間 VPC ピアリング接続経由でアクセス可能になりました。詳細については、「AWSDataSync を使用してオンプレミスファイルシステムから AmazonEFS にファイルを転送する」を参照してください。

October 23, 2018

311

Page 320: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド

VPN とリージョン間 VPC ピアリング接続のサポートが追加されました (p. 308)

VPN 接続とリージョン間のVPC ピアリング接続を使用して、Amazon EFS ファイルシステムにアクセスできるようになりました。詳細については、「別のアカウントまたはVPC からマウントする」および「Direct Connect および VPN での Amazon EFS の動作」を参照してください。

October 23, 2018

その他の AWS リージョンのサポートが追加されました (p. 308)

Amazon EFS が アジアパシフィック (シンガポール) AWSリージョンですべてのユーザーに対して利用可能になりました。

July 13, 2018

プロビジョニングされたスループットモードの紹介 (p. 308)

新しいプロビジョニングされたスループットモードを使用して、新規または既存のファイルシステムのスループットをプロビジョンできるようになりました。詳細は、「スループットモデル」を参照してください。

July 12, 2018

その他の AWS リージョンのサポートが追加されました (p. 308)

Amazon EFS が アジアパシフィック (東京) AWS リージョンですべてのユーザーに対して利用可能になりました。

July 11, 2018

以下の表は、2018 年 7 月以前の Amazon Elastic File System ユーザーガイド の重要な変更点をまとめたものです。

変更 説明 変更日

その他の AWS リージョンのサポートが追加されました

Amazon EFS が アジアパシフィック (ソウル) AWS リージョンですべてのユーザーに対して利用可能になりました。

2018 年 5 月 30 日

CloudWatch MetricMath のサポートが追加されました

Metric Math により複数の CloudWatch メトリクスをクエリし、数式を使用して、これらのメトリクスに基づく新しい時系列を作成できます。詳細については、「AmazonEFS で Metric Math を使用する (p. 84)」を参照してください。

2018 年 4 月 4 日

amazon-efs-utils の一連のオープンソースツールが追加、および伝送中の暗号化が追加

amazon-efs-utils ツールは、一連のオープンソースの実行可能ファイルで、マウントなどの Amazon EFS の使用の側面を簡略化しています。amazon-efs-utils は追加コストなしで使用でき、GitHub からこれらのツールをダウンロードできます。詳細については、amazon-efs-utils ツールを使用する (p. 37)を参照してください。

また、このリリースでは、Amazon EFS により TransportLayer Security (TLS) トンネリングを使用して、転送時の暗号化がサポートされるようになりました。詳細については、「EFS でのデータの暗号化 (p. 143)」を参照してください。

2018 年 4 月 4 日

312

Page 321: Amazon Elastic File System - ユーザーガイドAmazon Elastic File System ユーザーガイド AWS CloudTrail を使用した Amazon EFS API 呼び出しのログ作成..... 87

Amazon Elastic File System ユーザーガイド

変更 説明 変更日

AWS リージョンあたりのファイルシステムの制限の更新

Amazon EFS では、すべての AWS リージョンで、すべてのアカウントに対して、ファイルシステムの数の制限を引き上げました。詳細については、リソースクォータ (p. 178)を参照してください。

2018 年 3 月 15 日

その他の AWS リージョンのサポートが追加されました

Amazon EFS が 米国西部 (北カリフォルニア) AWS リージョンですべてのユーザーに対して利用可能になりました。

2018 年 3 月 14 日

保管時のデータの暗号化

Amazon EFS で保管時のデータの暗号化がサポートされるようになりました。詳細については、EFS でのデータの暗号化 (p. 143)を参照してください。

2017 年 8 月 14 日

その他のリージョンのサポートが追加されました

Amazon EFS が 欧州 (フランクフルト) リージョンですべてのユーザーに対して利用可能になりました。

2017 年 20 月 7 日

ドメインネームシステム (DNS) を使用したファイルシステム名

Amazon EFS ではファイルシステムの DNS 名をサポートするようになりました。ファイルシステムの DNS 名は、接続する Amazon EC2 インスタンスのアベイラビリティーゾーン内のマウントターゲットの IP アドレスを自動的に解決します。詳細については、「DNS 名を使用して Amazon EC2 にマウントする (p. 305)」を参照してください。

2016 年 12 月 20 日

ファイルシステムのタグサポートの強化

Amazon EFS では、ファイルシステムあたり 50 のタグをサポートするようになりました。Amazon EFS のタグの詳細については、ファイルシステムのタグを管理する (p. 51)を参照してください。

2016 年 8 月 29 日

一般提供 Amazon EFS は、米国東部(バージニア北部)、米国西部(オレゴン)、および 欧州 (アイルランド) リージョンのすべてのユーザーに一般公開されました。

2016 年 6 月 28 日

ファイルシステムの制限の引き上げ

1 つのアカウントに対して作成できる Amazon EFS ファイルシステムの数は各 AWS リージョンあたり 5 から 10 に増加しました。

2015 年 8 月 21 日

「使用開始」の演習が更新されました

「使用開始」の演習は、使用開始のプロセスを簡略化するために更新されました。

2015 年 8 月 17 日

新規ガイド これは『Amazon Elastic File System ユーザーガイド』の最初のリリースです。

2015 年 5 月 26 日

313