CreateMountTarget - Amazon Elastic File System
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

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 属性设置为 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_ONLYDUAL_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 地址的值。例如,如果 IPAddressTypeIPV4_ONLYAssignIpv6AddressOnCreationtrue,则使用 IPv4 作为挂载目标。有关更多信息,请参阅修改子网的 IP 寻址属性

类型:字符串

有效值:IPV4_ONLY | IPV6_ONLY | DUAL_STACK

必需:否

Ipv6Address

如果挂载目标的 IPAddressType 是 IPv6(IPV6_ONLYDUAL_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 地址(IpAddressIpv6Address),将返回此错误。

ErrorCode

错误代码是用于唯一标识错误条件的字符串。这意味着按类型检测和处理错误的程序将读取和理解错误代码。

Message

错误消息包含错误条件的常规描述(英语)。它主要面向用户受众。如果用户遇到不知如何处理或不愿处理的错误条件,简单的程序将直接向最终用户显示消息。支持更详尽的错误处理和适当国际化的复杂程序更容易忽略错误消息。

HTTP 状态代码:409

MountTargetConflict

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

ErrorCode

错误代码是用于唯一标识错误条件的字符串。这意味着按类型检测和处理错误的程序将读取和理解错误代码。

Message

错误消息包含错误条件的常规描述(英语)。它主要面向用户受众。如果用户遇到不知如何处理或不愿处理的错误条件,简单的程序将直接向最终用户显示消息。支持更详尽的错误处理和适当国际化的复杂程序更容易忽略错误消息。

HTTP 状态代码:409

NetworkInterfaceLimitExceeded

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

ErrorCode

错误代码是用于唯一标识错误条件的字符串。这意味着按类型检测和处理错误的程序将读取和理解错误代码。

Message

错误消息包含错误条件的常规描述(英语)。它主要面向用户受众。如果用户遇到不知如何处理或不愿处理的错误条件,简单的程序将直接向最终用户显示消息。支持更详尽的错误处理和适当国际化的复杂程序更容易忽略错误消息。

HTTP 状态代码:409

NoFreeAddressesInSubnet

如果请求中未指定 IpAddressIpv6Address 且指定的子网中没有空闲的 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 的更多信息,请参阅以下内容: