CreateMountTarget - Amazon Elastic File System

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

CreateMountTarget

ファイルシステムのマウントターゲットを作成します。その後、マウントターゲットを使用してファイルシステムを EC2 インスタンスにマウントできます。

VPC の各アベイラビリティーゾーンにマウントターゲットを 1 つ作成できます。特定のアベイラビリティーゾーン内の VPC にあるすべての EC2 インスタンスは、特定のファイルシステムの単一マウントターゲットを共有します。アベイラビリティーゾーンに複数のサブネットがある場合、サブネットの 1 つにマウントターゲットを作成します。EC2 インスタンスは、それらのファイルシステムにアクセスするためにマウントターゲットと同じサブネットにある必要はありません。

1 ゾーンファイルシステムに対して作成できるマウントターゲットは 1 つだけです。このマウントターゲットは、ファイルシステムがあるのと同じアベイラビリティーゾーンで作成する必要があります。この情報を得るには、DescribeFileSystems レスポンスオブジェクトの AvailabilityZoneNameAvailabiltyZoneId のプロパティを使用します。マウントターゲットの作成時に、ファイルシステムのアベイラビリティーゾーンに関連付けられた subnetId を使用します。

詳細については、「Amazon EFS の仕組み」を参照してください。

ファイルシステムのマウントターゲットを作成するには、ファイルシステムのライフサイクル状態が available である必要があります。詳細については、「DescribeFileSystems」を参照してください。

リクエストで、以下を指定します。

  • マウントターゲットを作成するファイルシステムの ID。

  • 以下を決定するサブネットIDです。

    • Amazon EFS がマウントターゲットを作成する VPC

    • Amazon EFS がマウントターゲットを作成するアベイラビリティーゾーン

    • Amazon EFS がマウントターゲットの IP アドレスを選択する IP アドレスの範囲 (リクエストで IP アドレスを指定しない場合)

マウントターゲットを作成した後、Amazon EFS は MountTargetIdIpAddress を含むレスポンスを返します。この IP アドレスは、ファイルシステムを EC2 インスタンスにマウントするときに使用します。ファイルシステムをマウントするときにマウントターゲットの DNS 名を使用することもできます。マウントターゲットを使用してファイルシステムをマウントする EC2 インスタンスは、マウントターゲットの DNS 名をその IP アドレスに解決できます。詳細については、「仕組み: 実装の概要」を参照してください。

ファイルシステムのマウントターゲットは 1 つの VPC でのみ作成でき、アベイラビリティーゾーンごとにマウントターゲットは 1 つだけ存在できます。つまり、ファイルシステムにすでに 1 つ以上のマウントターゲットが作成されている場合、別のマウントターゲットを追加するリクエストで指定されたサブネットは、次の要件を満たす必要があります。

  • 既存のマウントターゲットのサブネットと同じ VPC に属している必要があります

  • 既存のマウントターゲットのどのサブネットとも同じアベイラビリティーゾーンに属してはいけません

リクエストが要件を満たす場合、Amazon EFS は次のことを行います。

  • 指定したサブネットに新しいマウントターゲットを作成します。

  • 次のように、サブネットに新しいネットワークインターフェイスも作成します。

    • リクエストが IpAddress を提供する場合、Amazon EFS はその IP アドレスをネットワークインターフェイスに割り当てます。それ以外の場合、Amazon EFS はサブネットの空きアドレスを割り当てます (リクエストにプライマリプライベート IP アドレスが指定されていない場合に Amazon EC2 の CreateNetworkInterface コールが行うのと同じ方法で)。

    • リクエストが SecurityGroups を提供している場合、このネットワークインターフェイスはそれらのセキュリティグループに関連付けられています。それ以外の場合は、サブネットの VPC のデフォルト セキュリティグループに属します。

    • Mount target fsmt-id for file system fs-id が、マウントターゲット ID である場合、 fsmt-id FileSystemId であるという説明 fs-id を割り当てます。

    • ネットワークインターフェイスの requesterManaged プロパティを true に、requesterId の値を EFS に設定します。

    各 Amazon EFS マウントターゲットには、対応するリクエスタ マネージド型の EC2 ネットワーク インターフェイスが 1 つあります。ネットワークインターフェイスが作成されると、Amazon EFS はマウントターゲットの説明の NetworkInterfaceId フィールドをネットワークインターフェイス ID に設定し、IpAddress フィールドをそのアドレスに設定します。ネットワークインターフェイスの作成に失敗すると、CreateMountTarget オペレーション全体が失敗します。

注記

CreateMountTarget コールは、ネットワークインターフェイスを作成した後で、マウントターゲットの状態が creating のままの場合にのみ返されます。DescribeMountTargets オペレーションをコールすることでマウントターゲットの作成ステータスをチェックできます。これにより、マウントターゲットの状態が返されます。

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

このオペレーションには、ファイルシステムに対する次のアクションに対するアクセス許可が必要です。

  • elasticfilesystem:CreateMountTarget

このオペレーションには、次の Amazon EC2 アクションに対するアクセス許可も必要です。

  • ec2:DescribeSubnets

  • ec2:DescribeNetworkInterfaces

  • ec2:CreateNetworkInterface

リクエストの構文

POST /2015-02-01/mount-targets HTTP/1.1 Content-type: application/json { "FileSystemId": "string", "IpAddress": "string", "SecurityGroups": [ "string" ], "SubnetId": "string" }

URI リクエストパラメータ

リクエストでは URI パラメータを使用しません。

リクエストボディ

リクエストは以下の JSON 形式のデータを受け入れます。

FileSystemId

マウントターゲットを作成するファイルシステムの ID。

型: 文字列

長さの制限:最大長は 128 です。

パターン: ^(arn:aws[-a-z]*:elasticfilesystem:[0-9a-z-:]+:file-system/fs-[0-9a-f]{8,40}|fs-[0-9a-f]{8,40})$

必須:はい

IpAddress

指定されたサブネットのアドレス範囲内の有効な IPv4 アドレス。

型: 文字列

長さの制限: 最小長は 7 です。最大長は 15 です。

パターン: ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$

必須: いいえ

SecurityGroups

sg-xxxxxxxx の形式の最大 5 つの VPC セキュリティグループ ID。これらは指定されたサブネットと同じ VPC 用である必要があります。

型: 文字列の配列

配列メンバー: 最大数は 100 項目です。

長さの制限: 最小長は 11 です。最大長は 43 です。

パターン: ^sg-[0-9a-f]{8,40}

必須: いいえ

SubnetId

マウントターゲットを追加するサブネットの ID。1 ゾーンファイルシステムの場合は、ファイルシステムのアベイラビリティーゾーンに関連付けられたサブネットを使用します。

型: 文字列

長さの制限: 最小長は 15 です。最大長は 47 です。

パターン: ^subnet-[0-9a-f]{8,40}$

必須:はい

レスポンスの構文

HTTP/1.1 200 Content-type: application/json { "AvailabilityZoneId": "string", "AvailabilityZoneName": "string", "FileSystemId": "string", "IpAddress": "string", "LifeCycleState": "string", "MountTargetId": "string", "NetworkInterfaceId": "string", "OwnerId": "string", "SubnetId": "string", "VpcId": "string" }

レスポンス要素

アクションが成功すると、サービスは HTTP 200 レスポンスを返します。

サービスから以下のデータが JSON 形式で返されます。

AvailabilityZoneId

マウントターゲットが存在するアベイラビリティーゾーンの一意で一貫性のある識別子。例えば、use1-az1 は、us-east-1 リージョンの AZ ID で、すべての AWS アカウント アカウントで同じ場所になります。

型: 文字列

AvailabilityZoneName

マウントターゲットが配置されているアベイラビリティーゾーンの名前。アベイラビリティーゾーンは、それぞれ AWS アカウント の名前に個別にマッピングされます。例えば、AWS アカウント のアベイラビリティーゾーン us-east-1a の場所は、別の AWS アカウント の us-east-1a と同じ場所ではないかもしれません。

型: 文字列

長さの制限: 最小長は 1 です。最大長は 64 文字です。

パターン: .+

FileSystemId

マウントターゲットが意図されているファイルシステムの ID。

型: 文字列

長さの制限:最大長は 128 です。

パターン: ^(arn:aws[-a-z]*:elasticfilesystem:[0-9a-z-:]+:file-system/fs-[0-9a-f]{8,40}|fs-[0-9a-f]{8,40})$

IpAddress

マウントターゲットを使用してファイルシステムのマウントが可能なアドレス。

型: 文字列

長さの制限: 最小長は 7 です。最大長は 15 です。

パターン: ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$

LifeCycleState

マウントターゲットのライフサイクル状態。

型: 文字列

有効な値: creating | available | updating | deleting | deleted | error

MountTargetId

システム割り当てマウントターゲット ID。

型: 文字列

長さの制限: 最小長は 13 です。最大長は 45 です。

パターン: ^fsmt-[0-9a-f]{8,40}$

NetworkInterfaceId

マウントターゲットを作成したときに Amazon EFS が作成したネットワークインターフェイスの ID。

型: 文字列

OwnerId

リソースを所有する AWS アカウント ID。

型: 文字列

長さの制限: 最大長は 14 です。

パターン: ^(\d{12})|(\d{4}-\d{4}-\d{4})$

SubnetId

マウントターゲットのサブネットの ID。

型: 文字列

長さの制限: 最小長は 15 です。最大長は 47 です。

パターン: ^subnet-[0-9a-f]{8,40}$

VpcId

マウントターゲットが設定されている 仮想プライベートクラウド (VPC) ID。

型: 文字列

エラー

AvailabilityZonesMismatch

マウントターゲットに指定されたアベイラビリティーゾーンが、1 ゾーン ストレージに指定されたアベイラビリティーゾーンと異なる場合に返されます。詳細については、「リージョナルと 1 ゾーンのストレージの冗長性」を参照してください。

HTTP ステータスコード:400

BadRequest

リクエストの形式が正しくない場合や、無効なパラメータ値や必須パラメータがないなどのエラーが含まれている場合に返されます。

HTTP ステータスコード:400

FileSystemNotFound

指定された FileSystemId の値がリクエスタの AWS アカウント に存在しない場合に返されます。

HTTP ステータスコード: 404

IncorrectFileSystemLifeCycleState

ファイルシステムのライフサイクル状態が「使用可能」でない場合に返されます。

HTTP ステータスコード: 409

InternalServerError

サーバー側でエラーが発生した場合に返されます。

HTTP ステータスコード:500

IpAddressInUse

サブネット内で既に使用されている IpAddress をリクエストで指定した場合に返されます。

HTTP ステータスコード: 409

MountTargetConflict

ファイルシステムの既存のマウントターゲットに基づいて、マウントターゲットが指定された制限のいずれかに違反した場合に返されます。

HTTP ステータスコード: 409

NetworkInterfaceLimitExceeded

通話アカウントが、特定の AWS リージョン の Elastic Network Interface の制限に達しました。一部のネットワークインターフェースを削除するか、アカウントクォータの引き上げをリクエストしてください。詳細については、「Amazon VPC クォータ」の「Amazon VPC ユーザーガイド」を参照してください (ネットワークインターフェースの表にある「VPC ごとのネットワーク インターフェイス」エントリを参照)。

HTTP ステータスコード: 409

NoFreeAddressesInSubnet

リクエストに IpAddress が指定されておらず、サブネット内に空きIPアドレスがない場合に返されます。

HTTP ステータスコード: 409

SecurityGroupLimitExceeded

リクエストで指定された SecurityGroups のサイズが 5 より大きい場合に返されます。

HTTP ステータスコード:400

SecurityGroupNotFound

指定したセキュリティグループの 1 つがサブネットの仮想プライベートクラウド (VPC) に存在しない場合に返されます。

HTTP ステータスコード:400

SubnetNotFound

リクエストで提供された ID SubnetId のサブネットが存在しない場合に返されます。

HTTP ステータスコード:400

UnsupportedAvailabilityZone

リクエストされた Amazon EFS 機能が指定されたアベイラビリティーゾーンで利用できない場合に返されます。

HTTP ステータスコード:400

ファイルシステムへのマウントターゲットの追加

次のリクエストは、ファイルシステムのマウントターゲットを作成します。リクエストでは、必要な FileSystemIdSubnetId のパラメーターのみの値を指定します。このリクエストでは、オプションの IpAddressSecurityGroups のパラメータが提供されていません。IpAddress の場合、オペレーションは、指定されたサブネットで使用可能な IP アドレスの 1 つを使用します。また、オペレーションでは、SecurityGroups の VPC に関連付けられたデフォルトのセキュリティグループを使用します。

リクエスト例

POST /2015-02-01/mount-targets HTTP/1.1 Host: elasticfilesystem.us-west-2.amazonaws.com x-amz-date: 20140620T221118Z Authorization: <...> Content-Type: application/json Content-Length: 160 {"SubnetId": "subnet-748c5d03", "FileSystemId": "fs-01234567"}

レスポンス例

HTTP/1.1 200 OK x-amzn-RequestId: 01234567-89ab-cdef-0123-456789abcdef Content-Type: application/json Content-Length: 252 { "MountTargetId": "fsmt-55a4413c", "NetworkInterfaceId": "eni-01234567", "FileSystemId": "fs-01234567", "LifeCycleState": "available", "SubnetId": "subnet-01234567", "OwnerId": "231243201240", "IpAddress": "172.31.22.183" }

ファイルシステムへのマウントターゲットの追加

次のリクエストは、マウントターゲットを作成するためのすべてのリクエストパラメータを指定します。

リクエスト例

POST /2015-02-01/mount-targets HTTP/1.1 Host: elasticfilesystem.us-west-2.amazonaws.com x-amz-date: 20140620T221118Z Authorization: <...> Content-Type: application/json Content-Length: 160 { "FileSystemId":"fs-01234567", "SubnetId":"subnet-01234567", "IpAddress":"10.0.2.42", "SecurityGroups":[ "sg-01234567" ] }

レスポンス例

HTTP/1.1 200 OK x-amzn-RequestId: 01234567-89ab-cdef-0123-456789abcdef Content-Type: application/json Content-Length: 252 { "OwnerId":"251839141158", "MountTargetId":"fsmt-9a13661e", "FileSystemId":"fs-01234567", "SubnetId":"subnet-fd04ff94", "LifeCycleState":"available", "IpAddress":"10.0.2.42", "NetworkInterfaceId":"eni-1bcb7772" }

以下の資料も参照してください。

言語固有の AWS SDK のいずれかでこの API を使用する方法の詳細については、以下を参照してください。