本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
CreateMountTarget
创建文件系统的挂载目标。然后,您可通过使用挂载目标在 EC2 实例上挂载文件系统。有关挂载目标的更多信息,请参阅管理挂载目标。
要为 EFS 文件系统创建挂载目标,文件系统的生命周期状态必须为 available。有关更多信息,请参阅 DescribeFileSystems。
创建挂载目标后,Amazon EFS 将返回一个响应,其中包括 MountTargetId 和一个 IP 地址(IpAddress 或 Ipv6Address)。在 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属性设置为true,并将requesterId值设置为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_ONLY或DUAL_STACK),则指定要使用的 IPv4 地址。如果没有指定IpAddress,则 Amazon EFS 会从为SubnetId指定的子网中选择未使用的 IP 地址。类型:字符串
长度限制:最小长度为 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 地址)。如果未指定IpAddressType,则使用IPV4_ONLY。注意
IPAddressType必须与子网的 IP 类型相匹配。此外,IPAddressType参数会覆盖 VPC 中设置为子网默认 IP 地址的值。例如,如果IPAddressType为IPV4_ONLY且AssignIpv6AddressOnCreation为true,则使用 IPv4 作为挂载目标。有关更多信息,请参阅修改子网的 IP 寻址属性。类型:字符串
有效值:
IPV4_ONLY | IPV6_ONLY | DUAL_STACK必需:否
- Ipv6Address
-
如果挂载目标的
IPAddressType是 IPv6(IPV6_ONLY或DUAL_STACK),则指定要使用的 IPv6 地址。如果没有指定Ipv6Address,则 Amazon EFS 会从为SubnetId指定的子网中选择未使用的 IP 地址。类型:字符串
长度约束:最小长度为 3。长度上限为 39。
必需:否
- SecurityGroups
-
sg-xxxxxxxx形式的 VPC 安全组 ID。它们必须用于与指定子网相同的 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 区域的 AZ ID,它在每个 Amazon Web Services 账户中的位置均相同。类型:字符串
- AvailabilityZoneName
-
挂载目标所在的可用区名称。可用区独立映射到每个 Amazon Web Services 账户名称。例如,您 Amazon Web Services 账户的可用区
us-east-1a可能与另一 Amazon Web Services 账户的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
-
拥有资源的 Amazon Web Services 账户 ID。
类型:字符串
长度限制:最大长度为 14。
模式:
^(\d{12})|(\d{4}-\d{4}-\d{4})$ - SubnetId
-
挂载目标子网的 ID。
类型:字符串
长度限制:最小长度为 15。最大长度为 47。
模式:
^subnet-[0-9a-f]{8,40}$ - VpcId
-
在其中配置挂载目标的虚拟私有云(VPC)ID。
类型:字符串
错误
- AvailabilityZonesMismatch
-
如果为挂载目标指定的可用区与文件系统的可用区不同,将返回此错误。有关更多信息,请参阅区域和单区存储冗余。
- ErrorCode
-
错误代码是用于唯一标识错误条件的字符串。这意味着按类型检测和处理错误的程序将读取和理解错误代码。
- Message
-
错误消息包含错误条件的常规描述(英语)。它主要面向用户受众。如果用户遇到不知如何处理或不愿处理的错误条件,简单的程序将直接向最终用户显示消息。支持更详尽的错误处理和适当国际化的复杂程序更容易忽略错误消息。
HTTP 状态代码:400
- BadRequest
-
如果请求格式错误或包含错误(例如参数值无效或缺少必填参数),则返回此内容。
- ErrorCode
-
错误代码是用于唯一标识错误条件的字符串。这意味着按类型检测和处理错误的程序将读取和理解错误代码。
- Message
-
错误消息包含错误条件的常规描述(英语)。它主要面向用户受众。如果用户遇到不知如何处理或不愿处理的错误条件,简单的程序将直接向最终用户显示消息。支持更详尽的错误处理和适当国际化的复杂程序更容易忽略错误消息。
HTTP 状态代码:400
- FileSystemNotFound
-
如果请求者的 Amazon Web Services 账户中不存在指定的
FileSystemId值,则返回此内容。- ErrorCode
-
错误代码是用于唯一标识错误条件的字符串。这意味着按类型检测和处理错误的程序将读取和理解错误代码。
- Message
-
错误消息包含错误条件的常规描述(英语)。它主要面向用户受众。如果用户遇到不知如何处理或不愿处理的错误条件,简单的程序将直接向最终用户显示消息。支持更详尽的错误处理和适当国际化的复杂程序更容易忽略错误消息。
HTTP 状态代码:404
- IncorrectFileSystemLifeCycleState
-
如果文件系统的生命周期状态不是“可用”,则返回此内容。
- ErrorCode
-
错误代码是用于唯一标识错误条件的字符串。这意味着按类型检测和处理错误的程序将读取和理解错误代码。
- Message
-
错误消息包含错误条件的常规描述(英语)。它主要面向用户受众。如果用户遇到不知如何处理或不愿处理的错误条件,简单的程序将直接向最终用户显示消息。支持更详尽的错误处理和适当国际化的复杂程序更容易忽略错误消息。
HTTP 状态代码:409
- InternalServerError
-
如果服务器端发生错误,则返回此内容。
- ErrorCode
-
错误代码是用于唯一标识错误条件的字符串。这意味着按类型检测和处理错误的程序将读取和理解错误代码。
- Message
-
错误消息包含错误条件的常规描述(英语)。它主要面向用户受众。如果用户遇到不知如何处理或不愿处理的错误条件,简单的程序将直接向最终用户显示消息。支持更详尽的错误处理和适当国际化的复杂程序更容易忽略错误消息。
HTTP 状态代码:500
- IpAddressInUse
-
如果请求指定了子网中已在使用的 IP 地址(
IpAddress或Ipv6Address),将返回此错误。- ErrorCode
-
错误代码是用于唯一标识错误条件的字符串。这意味着按类型检测和处理错误的程序将读取和理解错误代码。
- Message
-
错误消息包含错误条件的常规描述(英语)。它主要面向用户受众。如果用户遇到不知如何处理或不愿处理的错误条件,简单的程序将直接向最终用户显示消息。支持更详尽的错误处理和适当国际化的复杂程序更容易忽略错误消息。
HTTP 状态代码:409
- MountTargetConflict
-
如果挂载目标违反了基于文件系统现有挂载目标的指定限制之一,则返回此内容。
- ErrorCode
-
错误代码是用于唯一标识错误条件的字符串。这意味着按类型检测和处理错误的程序将读取和理解错误代码。
- Message
-
错误消息包含错误条件的常规描述(英语)。它主要面向用户受众。如果用户遇到不知如何处理或不愿处理的错误条件,简单的程序将直接向最终用户显示消息。支持更详尽的错误处理和适当国际化的复杂程序更容易忽略错误消息。
HTTP 状态代码:409
- NetworkInterfaceLimitExceeded
-
调用账户已达到特定 Amazon Web Services 区域弹性网络接口的限制。要么删除一些网络接口,要么请求提高账户配额。有关更多信息,请参阅《Amazon VPC 用户指南》中的 Amazon VPC 配额(请参阅“网络接口”表中的“每个区域的网络接口”)。
- ErrorCode
-
错误代码是用于唯一标识错误条件的字符串。这意味着按类型检测和处理错误的程序将读取和理解错误代码。
- Message
-
错误消息包含错误条件的常规描述(英语)。它主要面向用户受众。如果用户遇到不知如何处理或不愿处理的错误条件,简单的程序将直接向最终用户显示消息。支持更详尽的错误处理和适当国际化的复杂程序更容易忽略错误消息。
HTTP 状态代码:409
- NoFreeAddressesInSubnet
-
如果请求中未指定
IpAddress或Ipv6Address且指定的子网中没有空闲的 IP 地址,则返回此错误。- ErrorCode
-
错误代码是用于唯一标识错误条件的字符串。这意味着按类型检测和处理错误的程序将读取和理解错误代码。
- Message
-
错误消息包含错误条件的常规描述(英语)。它主要面向用户受众。如果用户遇到不知如何处理或不愿处理的错误条件,简单的程序将直接向最终用户显示消息。支持更详尽的错误处理和适当国际化的复杂程序更容易忽略错误消息。
HTTP 状态代码:409
- SecurityGroupLimitExceeded
-
当请求中指定的
SecurityGroups数量超过基于账户配额设定的限制时,将返回此错误。要么删除一些安全组,要么请求提高账户配额。有关更多信息,请参阅《Amazon VPC 用户指南》中的 Amazon VPC 配额(参阅安全组表)。- ErrorCode
-
错误代码是用于唯一标识错误条件的字符串。这意味着按类型检测和处理错误的程序将读取和理解错误代码。
- Message
-
错误消息包含错误条件的常规描述(英语)。它主要面向用户受众。如果用户遇到不知如何处理或不愿处理的错误条件,简单的程序将直接向最终用户显示消息。支持更详尽的错误处理和适当国际化的复杂程序更容易忽略错误消息。
HTTP 状态代码:400
- SecurityGroupNotFound
-
如果子网的虚拟私有云(VPC)中不存在指定的安全组,则返回此内容。
- ErrorCode
-
错误代码是用于唯一标识错误条件的字符串。这意味着按类型检测和处理错误的程序将读取和理解错误代码。
- Message
-
错误消息包含错误条件的常规描述(英语)。它主要面向用户受众。如果用户遇到不知如何处理或不愿处理的错误条件,简单的程序将直接向最终用户显示消息。支持更详尽的错误处理和适当国际化的复杂程序更容易忽略错误消息。
HTTP 状态代码:400
- SubnetNotFound
-
如果请求中没有提供 ID 为
SubnetId的子网,则返回此内容。- ErrorCode
-
错误代码是用于唯一标识错误条件的字符串。这意味着按类型检测和处理错误的程序将读取和理解错误代码。
- Message
-
错误消息包含错误条件的常规描述(英语)。它主要面向用户受众。如果用户遇到不知如何处理或不愿处理的错误条件,简单的程序将直接向最终用户显示消息。支持更详尽的错误处理和适当国际化的复杂程序更容易忽略错误消息。
HTTP 状态代码:400
- UnsupportedAvailabilityZone
-
如果请求的 Amazon EFS 功能在指定的可用区中不可用,则返回此值。
- ErrorCode
-
错误代码是用于唯一标识错误条件的字符串。这意味着按类型检测和处理错误的程序将读取和理解错误代码。
- Message
-
错误消息包含错误条件的常规描述(英语)。它主要面向用户受众。如果用户遇到不知如何处理或不愿处理的错误条件,简单的程序将直接向最终用户显示消息。支持更详尽的错误处理和适当国际化的复杂程序更容易忽略错误消息。
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"
}
另请参阅
有关在特定语言的 Amazon SDK 中使用此 API 的更多信息,请参阅以下内容: