CreateMountTarget - Amazon Elastic File System

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

CreateMountTarget

创建文件系统的挂载目标。然后,您可以使用挂载目标将文件系统挂载到 EC2实例上。有关装载目标的更多信息,请参阅管理装载目标

要为 EFS 文件系统创建挂载目标,文件系统的生命周期状态必须为available。有关更多信息,请参阅 DescribeFileSystems

创建挂载目标后,Amazon EFS 会返回一个包含MountTargetId和 IP 地址(IpAddressIpv6Address)的响应。在 EC2 实例中装载文件系统时,您可以使用此 IP 地址。您还可以在挂载文件系统时使用挂载目标的 DNS 名称。使用挂载目标挂载文件系统的 EC2 实例可以将挂载目标的 DNS 名称解析为其 IP 地址。有关更多信息,请参阅 Amazon EFS 的工作原理

请注意,您只能在一个 VPC 中为文件系统创建挂载目标,而且每个可用区只能有一个挂载目标。有关更多信息,请参阅创建挂载目标

如果请求满足要求,则 Amazon EFS 将执行以下操作:

  • 在指定的子网中创建新的挂载目标。

  • 使用以下内容在子网中创建新的网络接口:

    • 描述Mount target fsmt-id for file system fs-id 其中 fsmt-id 是装载目标 ID,而 fs-id FileSystemId

    • 网络接口的requesterManaged属性设置为truerequesterId值设置为EFS

    每个挂载目标都有一个相应的请求者管理的 EC2 网络接口。创建网络接口后,Amazon EFS 将挂载目标描述中的NetworkInterfaceId字段设置为网络接口 ID,将 IP 地址设置为其地址。如果网络接口创建失败,则整个 CreateMountTarget 操作将失败。

注意

CreateMountTarget 调用仅在创建网络接口后返回,但在挂载目标状态仍为 creating 时,可以通过调用 DescribeMountTargets 操作来检查挂载目标创建状态,除此之外,该操作还将返回挂载目标状态。

此操作需要对文件系统执行以下操作的权限:

  • 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", "IpAddressType": "string", "Ipv6Address": "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

如果挂载目标IpAddressType的是 IPv4 (IPV4_ONLYDUAL_STACK),则指定要使用 IPv4 的地址。如果您未指定IpAddress,则 Amazon EFS 会从为指定的子网中选择一个未使用的 IP 地址SubnetId

类型:字符串

长度限制:最小长度为 7。最大长度为 15。

模式:^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$

必需:否

IpAddressType

挂载目标的 IP 地址类型。可能的值是IPV4_ONLY(仅限 IPv4 地址)、IPV6_ONLY(仅限 IPv6 地址)和DUAL_STACK(双栈,均 IPv4 为 IPv6 地址)。如果未指定IpAddressTypeIPV4_ONLY则使用。

注意

IPAddressType必须与子网的 IP 类型相匹配。此外,该IPAddressType参数会覆盖在 VPC 中设置为子网的默认 IP 地址的值。例如,如果 IPAddressType is IPV4_ONLYAssignIpv6AddressOnCreation istrue, IPv4 则用于挂载目标。有关更多信息,请参阅修改子网的 IP 寻址属性

类型:字符串

有效值:IPV4_ONLY | IPV6_ONLY | DUAL_STACK

必需:否

Ipv6Address

如果挂载目标IPAddressType的是 IPv6 (IPV6_ONLYDUAL_STACK),则指定要使用 IPv6 的地址。如果您未指定Ipv6Address,则 Amazon EFS 会从为指定的子网中选择一个未使用的 IP 地址SubnetId

类型:字符串

长度约束:最小长度为 3。最大长度为 39。

必需:否

SecurityGroups

VPC 安全组 IDs,形式为sg-xxxxxxxx。它们必须与指定的子网属于相同的 VPC。安全组的最大数量取决于账户配额。有关更多信息,请参阅 Amazon VPC 用户指南中的 Amazon VPC 配额(参见安全组表)。如果您未指定安全组,则 Amazon EFS 将使用子网的 VPC 的默认安全组。

类型:字符串数组

数组成员:最多 100 项。

长度限制:最小长度为 11。最大长度为 43。

模式:^sg-[0-9a-f]{8,40}

必需:否

SubnetId

要在其中添加挂载目标的子网的 ID。对于单区文件系统,请使用与文件系统的可用区关联的子网。子网类型必须与的类型相同IpAddressType

类型:字符串

长度限制:最小长度为 15。最大长度为 47。

模式:^subnet-[0-9a-f]{8,40}$

必需:是

响应语法

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

响应元素

如果此操作成功,则该服务将会发送回 HTTP 200 响应。

服务以 JSON 格式返回以下数据。

AvailabilityZoneId

挂载目标所在可用区的唯一且一致的标识符。例如,use1-az1是 us-east-1 区域的可用区 ID,并且每个区域的位置都相同。 AWS 账户

类型:字符串

AvailabilityZoneName

挂载目标所在的可用区名称。可用区独立映射到每个可用区的名称 AWS 账户。例如,您的可用区us-east-1a AWS 账户 可能与其他可用区不同 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

挂载目标 IPv4 的地址。

类型:字符串

长度限制:最小长度为 7。最大长度为 15。

模式:^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$

Ipv6Address

挂载目标 IPv6 的地址。

类型:字符串

长度约束:最小长度为 3。最大长度为 39。

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

如果为挂载目标指定的可用区与文件系统的可用区不同,则返回。有关更多信息,请参阅区域和单区存储冗余

HTTP 状态代码:400

BadRequest

如果请求格式错误或包含错误(例如参数值无效或缺少必填参数),则返回此内容。

HTTP 状态代码:400

FileSystemNotFound

如果请求者的指定FileSystemId值不存在,则返回。 AWS 账户

HTTP 状态代码:404

IncorrectFileSystemLifeCycleState

如果文件系统的生命周期状态不是“可用”,则返回此内容。

HTTP 状态代码:409

InternalServerError

如果服务器端发生错误,则返回此内容。

HTTP 状态代码:500

IpAddressInUse

如果请求指定的 IP 地址(IpAddressIpv6Address)已在子网中使用,则返回。

HTTP 状态代码:409

MountTargetConflict

如果挂载目标违反了基于文件系统现有挂载目标的指定限制之一,则返回此内容。

HTTP 状态代码:409

NetworkInterfaceLimitExceeded

调用账户已达到特定 AWS 区域弹性网络接口的限制。要么删除一些网络接口,要么请求提高账户配额。有关更多信息,请参阅《Amazon VPC 用户指南》中的 Amazon VPC 配额(请参阅网络接口表中的每个区域的网络接口)。

HTTP 状态代码:409

NoFreeAddressesInSubnet

未返回IpAddressIpv6Address请求中提供了且指定子网中没有空闲的 IP 地址。

HTTP 状态代码:409

SecurityGroupLimitExceeded

如果请求中SecurityGroups指定的数量大于限制(基于账户配额),则返回。要么删除一些安全组,要么请求提高账户配额。有关更多信息,请参阅 Amazon VPC 用户指南中的 Amazon VPC 配额(参见安全组表)。

HTTP 状态代码:400

SecurityGroupNotFound

如果子网的虚拟私有云(VPC)中不存在指定的安全组,则返回此内容。

HTTP 状态代码:400

SubnetNotFound

如果请求中没有提供 ID 为 SubnetId 的子网,则返回此内容。

HTTP 状态代码:400

UnsupportedAvailabilityZone

如果请求的 Amazon EFS 功能在指定的可用区中不可用,则返回此值。

HTTP 状态代码:400

示例

在子网的可用 IPv4 地址上创建挂载目标

以下请求仅指定挂载目标的文件系统和子网。目标是在指定子网的可用 IPv4 地址创建的,默认安全组与 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 { "OwnerId": "231243201240", "MountTargetId": "fsmt-55a4413c", "FileSystemId": "fs-01234567", "SubnetId": "subnet-01234567", "LifeCycleState": "available", "IpAddress": "172.31.22.183" "NetworkInterfaceId":"eni-1bcb7772" "AvailabilityZoneId": "eus1-az2", "AvailabilityZoneName": "eu-south-1b", "VpcId": "vpc-08d45b31fa009a15e" }

在特定 IPv4 地址创建挂载目标

以下请求指定要用于挂载目标的文件系统、子网、安全组和 IPv4地址。

示例请求

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" "AvailabilityZoneId": "eus1-az2", "AvailabilityZoneName": "eu-south-1b", "VpcId": "vpc-08d45b31fa009a15e" }

在特定 IPv6 地址创建挂载目标

以下请求指定要用于挂载目标的文件系统、子网、安全组和 IPv6地址。

示例请求

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", "Ipv6Address":"2001:0db8:85a3:0000:0000:8a2e:0370:7334", "IpAddressType": "IPV6_ONLY", "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", "Ipv6Address":"2001:0db8:85a3:0000:0000:8a2e:0370:7334", "NetworkInterfaceId":"eni-1bcb7772" "AvailabilityZoneId": "eus1-az2", "AvailabilityZoneName": "eu-south-1b", "VpcId": "vpc-08d45b31fa009a15e" }

在双栈子网的可用 IPv4 地址上创建挂载目标

以下请求为挂载目标指定文件系统、子网和地址类型。目标是在指定双栈子网上的可用 IPv4 地址创建的,默认安全组与 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 { "OwnerId": "251839141158", "MountTargetId": "fsmt-55a4413c", "FileSystemId": "fs-01234567", "SubnetId":"subnet-fd04ff94", "LifeCycleState": "available", "IpAddress": "172.31.22.183" "Ipv6Address": "2a05:d01a:419:8611:3e57:75ab:5719:b238", "NetworkInterfaceId": "eni-01234567", "AvailabilityZoneId": "eus1-az2", "AvailabilityZoneName": "eu-south-1b", "VpcId": "vpc-08d45b31fa009a15e" }

在特定 IPv4 上创建挂载目标,在双栈子 IPv6 网上创建地址

以下请求指定挂载目标的文件系统、子网、安全组、 IPv4 IPv6 地址和地址。目标是在双栈子网上的指定 IPv4 IPv6地址创建的。

示例请求

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", "IpAddressType": "DUAL_STACK", "IpAddress": "10.0.1.25", "Ipv6Address":"2001:0db8:85a3:0000:0000:8a2e:0370:7334", "SecurityGroups":[ "sg-01234567" ] }

示例响应

HTTP/1.1 200 OK x-amzn-RequestId: 01234567-89ab-cdef-0123-456789abcdef Content-Type: application/json Content-Length: 252 { "OwnerId": "231243201240", "MountTargetId": "fsmt-55a4413c", "FileSystemId": "fs-01234567", "SubnetId": "subnet-01234567", "LifeCycleState": "available", "IpAddress": "10.0.1.25", "Ipv6Address":"2001:0db8:85a3:0000:0000:8a2e:0370:7334", "NetworkInterfaceId": "eni-01234567", "AvailabilityZoneId": "eus1-az2", "AvailabilityZoneName": "eu-south-1b", "VpcId": "vpc-08d45b31fa009a15e" }

另请参阅

有关以特定语言之一使用此 API 的更多信息 AWS SDKs,请参阅以下内容: