CreateFileSystem
空のファイルシステムを新しく作成します。このオペレーションでは、Amazon EFS がべき等の作成を保証するために使用するリクエストに作成トークンが必要です (同じ作成トークンを使用してオペレーションを呼び出しても効果はありません)。指定された作成 トークンを持つ発信者の AWS アカウント が所有するファイルシステムが現在存在しない場合、このオペレーションは次のことを行います。
-
空のファイルシステムを新しく作成します。ファイルシステムには、Amazon EFS に割り当てられた ID と、初期ライフサイクル状態
creating
があります。 -
作成したファイルシステムの説明を返します。
それ以外の場合、このオペレーションは既存のファイルシステムの ID とともに FileSystemAlreadyExists
エラーを返します。
注記
基本的なユースケースでは、作成トークンにランダムに生成された UUID を使用できます。
べき等のオペレーションを使用すると、余分なファイルシステムを作成するリスクなしに CreateFileSystem
コールを再試行できます。これは、ファイルシステムが実際に作成されたかどうかが不明確なまま、最初のコールが失敗したときに発生する可能性があります。例としては、トランスポートレベルのタイムアウトが発生したか、接続がリセットされたことが挙げられます。同じ作成 トークンを使用している限り、最初のコールでファイルシステムの作成に成功した場合、クライアントは FileSystemAlreadyExists
エラーからその存在を知ることができます。
詳細については、Amazon EFS ユーザーガイドの「ファイルシステムの作成」を参照してください。
注記
CreateFileSystem
コールは、ファイルシステムのライフサイクル状態がまだ creating
である間に戻ります。DescribeFileSystems オペレーションをコールすることでファイルシステムの作成ステータスをチェックできます。これにより、ファイルシステムの状態が返されます。
このオペレーションでは、ファイルシステム用に選択したオプションの PerformanceMode
パラメータを受け入れます。すべてのファイルシステムに generalPurpose
PerformanceMode
をお勧めします。maxIO
モードは前世代のパフォーマンスタイプであり、generalPurpose
モードよりも高いレイテンシーを許容できる高度に並列化されたワークロード向けに設計されています。MaxIO
モードは、1 ゾーンファイルシステムやエラスティックスループットを使用するファイルシステムではサポートされません。
PerformanceMode
は、ファイルシステムの作成後は変更できません。詳細については、「Amazon EFS パフォーマンスモード」を参照してください。
ファイルシステムのスループットモードは、ThroughputMode
パラメータで設定できます。
ファイルシステムが完全に作成されると、Amazon EFS はそのライフサイクル状態を available
に設定します。この時点で、VPC でファイルシステムの 1 つ以上のマウントターゲットを作成できます。詳細については、「CreateMountTarget」を参照してください。マウントターゲットを使用して、Amazon EFS ファイルシステムを VPC 内の EC2 インスタンスにマウントします。詳細については、「Amazon EFS の仕組み」を参照してください。
このオペレーションには、elasticfilesystem:CreateFileSystem
アクションに対するアクセス許可が必要です。
ファイルシステムは作成時にタグ付けできます。作成アクションでタグが指定されている場合、IAM は elasticfilesystem:TagResource
アクションに対して追加の認可を実行して、ユーザーがタグを作成する認可を持っているかどうかを確認します。したがって、elasticfilesystem:TagResource
アクションを使用するための明示的なアクセス許可を付与する必要があります。詳細については、「リソース作成時にタグ付けするアクセス許可の付与」を参照してください。
リクエストの構文
POST /2015-02-01/file-systems HTTP/1.1
Content-type: application/json
{
"AvailabilityZoneName": "string
",
"Backup": boolean
,
"CreationToken": "string
",
"Encrypted": boolean
,
"KmsKeyId": "string
",
"PerformanceMode": "string
",
"ProvisionedThroughputInMibps": number
,
"Tags": [
{
"Key": "string
",
"Value": "string
"
}
],
"ThroughputMode": "string
"
}
URI リクエストパラメータ
リクエストでは URI パラメータを使用しません。
リクエストボディ
リクエストは以下の JSON 形式のデータを受け入れます。
- AvailabilityZoneName
-
1 ゾーンファイルシステムの場合は、ファイルシステムを作成する AWS アベイラビリティーゾーンを指定します。形式
us-east-1a
を使用して、アベイラビリティーゾーンを指定します。1 ゾーンファイルシステムの詳細については、「Amazon EFS ユーザーガイド」の「EFS ファイルシステムのタイプ」を参照してください。注記
1 ゾーンストレージクラスは、Amazon EFS が利用できる AWS リージョンのすべてのアベイラビリティーゾーンで利用できるわけではありません。
型: 文字列
長さの制限:最小長は 1 です。最大長は 64 文字です。
パターン:
.+
必須: いいえ
- Backup
-
作成するファイルシステム上で自動バックアップを有効にするかどうかを指定します。自動バックアップを有効にするには、値を
true
に設定します。1 ゾーンファイルシステムを作成している場合、デフォルトで自動バックアップが有効になります。詳細については、Amazon EFS ユーザーガイドの 「自動バックアップ」を参照してください。デフォルトは
false
です。ただし、AvailabilityZoneName
を指定した場合、デフォルトはtrue
です。注記
AWS Backup は、Amazon EFS が利用できる AWS リージョン のすべて場所で利用できるわけではありません。
型: ブール
必須:いいえ
- CreationToken
-
最大 64 バイトの ASCII 文字の文字列。Amazon EFS では、べき等の作成を保証するためにこれを使用します。
型: 文字列
長さの制限:最小長は 1 です。最大長は 64 文字です。
Pattern:
.+
必須: はい
- Encrypted
-
このブール値が true の場合、暗号化されたファイルシステムが作成されます。暗号化されたファイルシステムを作成するときに既存の AWS Key Management Service キー (KMS キー) を指定できます。KMS キーを指定しない場合、Amazon EFS のデフォルトの KMS キー (
/aws/elasticfilesystem
) が暗号化されたファイルシステムの保護に使用されます。型: ブール値
必須:いいえ
- KmsKeyId
-
暗号化されたファイルシステムの保護に使用される KMS キーの ID。このパラメータは、デフォルト以外の KMS キーを使用する場合にのみ必要です。このパラメータが指定されない場合、Amazon EFS のデフォルトの KMS キーが使用されます。以下の形式を使用して、KMS キー ID を指定できます。
-
キー ID - キーの一意の識別子 (例:
1234abcd-12ab-34cd-56ef-1234567890ab
)。 -
ARN - キーの Amazon リソースネーム (ARN) (例:
arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
)。 -
キーのエイリアス - 以前に作成したキーの表示名 (例:
alias/projectKey1
)。 -
キー エイリアス ARN - キー エイリアスの ARN (例:
arn:aws:kms:us-west-2:444455556666:alias/projectKey1
)。
KmsKeyId
を使用した場合、CreateFileSystem:Encrypted パラメータを true に設定する必要があります。重要
EFS は、対称 KMS キーのみを受け入れます。Amazon EFS ファイルシステムでは非対称 KMS キーを使用することはできません。
型: 文字列
長さの制限: 最大長は 2048 です。
パターン:
^([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}|mrk-[0-9a-f]{32}|alias/[a-zA-Z0-9/_-]+|(arn:aws[-a-z]*:kms:[a-z0-9-]+:\d{12}:((key/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})|(key/mrk-[0-9a-f]{32})|(alias/[a-zA-Z0-9/_-]+))))$
必須: いいえ
-
- PerformanceMode
-
ファイル システムのパフォーマンス モード。すべてのファイルシステムに
generalPurpose
パフォーマンスモードをお勧めします。maxIO
パフォーマンスモードを使用しているファイルシステムでは、ほとんどのファイルオペレーションのレイテンシーがわずかに大きくなる代わりに、より高いレベルの集計スループットと 1 秒あたりのオペレーションにスケールできます。パフォーマンスモードは、ファイルシステムの作成後は変更できません。maxIO
モードは、1 ゾーンファイルシステムではサポートされません。重要
最大 I/O ではオペレーションごとのレイテンシーが高くなるため、すべてのファイルシステムに汎用パフォーマンスモードを使用することをお勧めします。
デフォルトは
generalPurpose
です。型: 文字列
有効な値:
generalPurpose | maxIO
必須:いいえ
- ProvisionedThroughputInMibps
-
作成しているファイルシステムにプロビジョニングするスループットを、毎秒メビバイト (MiBps) で計測します。
ThroughputMode
がprovisioned
に設定されている場合は必須です。有効な値は 1~3414 MiBps で、上限はリージョンによって異なります。この上限数を引き上げるには、サポート にお問い合わせください。詳細については、Amazon EFS ユーザーガイドの「引き上げ可能な Amazon EFS クォータ」を参照してください。型: 倍精度浮動小数点数
値の範囲: 最小値 は 1.0 です。
必須:いいえ
- Tags
-
ファイルシステムに関連付けられている 1 つ以上のタグを作成するために使用します。各タグはユーザー定義のキーバリューのペアです。
"Key":"Name","Value":"{value}"
キーバリューのペアを含めることで、作成時にファイルシステムに名前を付けます。各キーは一意である必要があります。詳細については、 AWS全般リファレンスガイドの「AWS リソースのタグ付け」を参照してください。型: Tag オブジェクトの配列
必須:いいえ
- ThroughputMode
-
ファイルシステムのスループットモードを指定します。モードには、
bursting
、provisioned
、elastic
などがあります。ThroughputMode
をprovisioned
に設定した場合、ProvisionedThroughputInMibps
の値も設定する必要があります。ファイルシステムを作成した後は、一定の時間制限付きで、ファイルシステムのプロビジョニングされたスループットを下げたり、スループットモードを変更したりすることができます。詳細については、Amazon EFS ユーザーガイド の「プロビジョニングモードでのスループットの指定」を参照してください。デフォルトは
bursting
です。型: 文字列
有効な値:
bursting | provisioned | elastic
必須:いいえ
レスポンスの構文
HTTP/1.1 201
Content-type: application/json
{
"AvailabilityZoneId": "string",
"AvailabilityZoneName": "string",
"CreationTime": number,
"CreationToken": "string",
"Encrypted": boolean,
"FileSystemArn": "string",
"FileSystemId": "string",
"FileSystemProtection": {
"ReplicationOverwriteProtection": "string"
},
"KmsKeyId": "string",
"LifeCycleState": "string",
"Name": "string",
"NumberOfMountTargets": number,
"OwnerId": "string",
"PerformanceMode": "string",
"ProvisionedThroughputInMibps": number,
"SizeInBytes": {
"Timestamp": number,
"Value": number,
"ValueInArchive": number,
"ValueInIA": number,
"ValueInStandard": number
},
"Tags": [
{
"Key": "string",
"Value": "string"
}
],
"ThroughputMode": "string"
}
レスポンス要素
アクションが成功すると、HTTP 201 レスポンスが返されます。
サービスから以下のデータが JSON 形式で返されます。
- AvailabilityZoneId
-
ファイルシステムが配置されているアベイラビリティーゾーンの一意で一貫性のある識別子。これは、1 ゾーンファイルシステムでのみ有効です。例えば、
use1-az1
は us-east-1 AWS リージョンのアベイラビリティーゾーン ID であり、すべての AWS アカウントで同じ場所を示します。型: 文字列
- AvailabilityZoneName
-
ファイルシステムが配置されている AWS アベイラビリティーゾーンについて説明します。これは、1ゾーンファイルシステムでのみ有効です。詳細については、「Amazon EFS ユーザーガイド」の「EFS ストレージクラスの使用」を参照してください。
型: 文字列
長さの制限:最小長は 1 です。最大長は 64 文字です。
パターン:
.+
- CreationTime
-
ファイルシステムが作成された時間 (秒単位) (1970-01-01T00:00:00Z から)。
型: タイムスタンプ
- CreationToken
-
リクエストで指定された不透明な文字列。
型: 文字列
長さの制限:最小長は 1 です。最大長は 64 文字です。
パターン:
.+
- Encrypted
-
true の場合はファイルシステムの暗号化を示すブール値。
型: ブール値
- FileSystemArn
-
EFS ファイルシステムの Amazon リソースネーム (ARN) で、形式は
arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id
です。サンプルデータの例:arn:aws:elasticfilesystem:us-west-2:1111333322228888:file-system/fs-01234567
型: 文字列
- FileSystemId
-
Amazon EFS によって割り当てられるファイルシステムの ID。
型: 文字列
長さの制限:最大長は 128 です。
Pattern:
^(arn:aws[-a-z]*:elasticfilesystem:[0-9a-z-:]+:file-system/fs-[0-9a-f]{8,40}|fs-[0-9a-f]{8,40})$
- FileSystemProtection
-
ファイルシステムの保護について説明します。
型: FileSystemProtectionDescription オブジェクト
- KmsKeyId
-
暗号化されたファイルシステムの保護に使用する AWS KMS key の ID。
型: 文字列
長さの制限: 最大長は 2048 です。
パターン:
^([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}|mrk-[0-9a-f]{32}|alias/[a-zA-Z0-9/_-]+|(arn:aws[-a-z]*:kms:[a-z0-9-]+:\d{12}:((key/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})|(key/mrk-[0-9a-f]{32})|(alias/[a-zA-Z0-9/_-]+))))$
- LifeCycleState
-
ファイルシステムのライフサイクルフェーズ。
型: 文字列
有効な値:
creating | available | updating | deleting | deleted | error
- Name
-
ファイルシステムには、
Name
タグをはじめとするタグを追加することができます。詳細については、「CreateFileSystem」を参照してください。ファイルシステムにName
タグがある場合、Amazon EFS はこのフィールドの値を返します。型: 文字列
長さの制限:最大長は 256 です。
パターン:
^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$
- NumberOfMountTargets
-
ファイルシステムが持つ現在のマウントターゲットの数。詳細については、「CreateMountTarget」を参照してください。
型: 整数
有効な範囲: 最小値 は 0 です。
- OwnerId
-
ファイルシステムを作成する AWS アカウント。
型: 文字列
長さの制限: 最大長は 14 です。
パターン:
^(\d{12})|(\d{4}-\d{4}-\d{4})$
- PerformanceMode
-
ファイル システムのパフォーマンス モード。
型: 文字列
有効な値:
generalPurpose | maxIO
- ProvisionedThroughputInMibps
-
ファイルシステムのプロビジョニングされたスループットの量を MiBps で表したもの。
ThroughputMode
をprovisioned
に設定したファイルシステムに有効です。型: 倍精度浮動小数点数
有効な範囲: 最小値 は 1.0 です。
- SizeInBytes
-
ファイルシステムに保存されているデータの最新の測定サイズ(バイト)を
Value
のフィールドに、そのサイズが決定された時間をTimestamp
のフィールドに入力しています。Timestamp
値は、1970-01-01T00:00:00Z 以降の整数秒数です。SizeInBytes
値は、ファイルシステムの一貫したスナップショットのサイズを表すものではありませんが、ファイルシステムへの書き込みがない場合に結果整合性があります。つまり、SizeInBytes
は、ファイルシステムが 2 時間以上変更されていない場合のみ、実際のサイズを表します。それ以外の場合、値はファイルシステムの特定の時点での正確なサイズではありません。型: FileSystemSize オブジェクト
- Tags
-
ファイルシステムに関連するタグで、
Tag
のオブジェクトの配列として表示されます。型: Tag オブジェクトの配列
- ThroughputMode
-
ファイルシステムのスループットモードを表示。詳細については、「Amazon EFS ユーザーガイド」の「スループットモード」を参照してください。
型: 文字列
有効な値:
bursting | provisioned | elastic
エラー
- BadRequest
-
リクエストの形式が正しくない場合や、無効なパラメータ値や必須パラメータの欠落などのエラーが含まれている場合に返されます。
HTTP ステータスコード: 400
- FileSystemAlreadyExists
-
作成しようとしているファイルシステムがすでに存在し、指定した作成トークンを使用して返されます。
HTTP ステータスコード: 409
- FileSystemLimitExceeded
-
AWS アカウント がアカウントごとに許可されるファイルシステムの最大数をすでに作成している場合に返されます。
HTTP ステータスコード: 403
- InsufficientThroughputCapacity
-
追加のスループットをプロビジョニングするのに十分な容量がない場合に返されます。この値は、プロビジョニングされたスループットモードでファイルシステムを作成しようとしたとき、既存のファイルシステムのプロビジョニングされたスループットを上げようとしたとき、または既存のファイルシステムをバーストからプロビジョニングされたスループットモードに変更しようとしたときに返されることがあります。後でもう一度お試しください。
HTTP ステータスコード: 503
- InternalServerError
-
サーバー側でエラーが発生した場合に返されます。
HTTP ステータスコード: 500
- ThroughputLimitExceeded
-
スループット制限の 1024 MiB/s に達したため、スループットモードまたはプロビジョニングされたスループットの量を変更できない場合に返されます。
HTTP ステータスコード: 400
- UnsupportedAvailabilityZone
-
リクエストされた Amazon EFS 機能が指定されたアベイラビリティーゾーンで利用できない場合に返されます。
HTTP ステータスコード: 400
例
暗号化された EFS ファイルシステムの作成
次の例では、POST リクエストを送信して、自動バックアップが有効になっている us-west-2
リージョンにファイルシステムを作成します。このリクエストでは、べき等の作成トークンとして myFileSystem1
を指定します。
リクエスト例
POST /2015-02-01/file-systems HTTP/1.1
Host: elasticfilesystem.us-west-2.amazonaws.com
x-amz-date: 20140620T215117Z
Authorization: <...>
Content-Type: application/json
Content-Length: 42
{
"CreationToken" : "myFileSystem1",
"PerformanceMode" : "generalPurpose",
"Backup": true,
"Encrypted": true,
"Tags":[
{
"Key": "Name",
"Value": "Test Group1"
}
]
}
レスポンス例
HTTP/1.1 201 Created
x-amzn-RequestId: 01234567-89ab-cdef-0123-456789abcdef
Content-Type: application/json
Content-Length: 319
{
"ownerId":"251839141158",
"CreationToken":"myFileSystem1",
"Encrypted": true,
"PerformanceMode" : "generalPurpose",
"fileSystemId":"fs-01234567",
"CreationTime":"1403301078",
"LifeCycleState":"creating",
"numberOfMountTargets":0,
"SizeInBytes":{
"Timestamp": 1403301078,
"Value": 29313618372,
"ValueInArchive": 201156,
"ValueInIA": 675432,
"ValueInStandard": 29312741784
},
"Tags":[
{
"Key": "Name",
"Value": "Test Group1"
}
],
"ThroughputMode": "elastic"
}
1 ゾーンの可用性を備えた暗号化 EFS ファイルシステムを作成する
次の例では、POST リクエストを送信して、自動バックアップが有効になっている us-west-2
リージョンにファイルシステムを作成します。ファイルシステムには、us-west-2b
アベイラビリティーゾーンに 1 ゾーンストレージがあります。
リクエスト例
POST /2015-02-01/file-systems HTTP/1.1
Host: elasticfilesystem.us-west-2.amazonaws.com
x-amz-date: 20140620T215117Z
Authorization: <...>
Content-Type: application/json
Content-Length: 42
{
"CreationToken" : "myFileSystem2",
"PerformanceMode" : "generalPurpose",
"Backup": true,
"AvailabilityZoneName": "us-west-2b",
"Encrypted": true,
"ThroughputMode": "elastic",
"Tags":[
{
"Key": "Name",
"Value": "Test Group1"
}
]
}
レスポンス例
HTTP/1.1 201 Created
x-amzn-RequestId: 01234567-89ab-cdef-0123-456789abcdef
Content-Type: application/json
Content-Length: 319
{
"ownerId":"251839141158",
"CreationToken":"myFileSystem1",
"Encrypted": true,
"AvailabilityZoneId": "usew2-az2",
"AvailabilityZoneName": "us-west-2b",
"PerformanceMode" : "generalPurpose",
"fileSystemId":"fs-01234567",
"CreationTime":"1403301078",
"LifeCycleState":"creating",
"numberOfMountTargets":0,
"SizeInBytes":{
"Timestamp": 1403301078,
"Value": 29313618372,
"ValueInArchive": 201156,
"ValueInIA": 675432,
"ValueInStandard": 29312741784
},
"Tags":[
{
"Key": "Name",
"Value": "Test Group1"
}
],
"ThroughputMode": "elastic"
}
以下の資料も参照してください。
言語固有の AWS SDK のいずれかでこの API を使用する方法の詳細については、以下を参照してください。