View a markdown version of this page

CreateMountTarget - Amazon Elastic File System

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

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 is IPV4_ONLY 和 AssignIpv6AddressOnCreation istrue, IPv4 则用于挂载目标。有关更多信息,请参阅修改子网的 IP 寻址属性。

类型:字符串

有效值:IPV4_ONLY | IPV6_ONLY | DUAL_STACK

必需:否

Ipv6Address

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

类型:字符串

长度限制:最小长度为 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

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

ErrorCode

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

Message

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

HTTP 状态代码:400

BadRequest

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

ErrorCode

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

Message

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

HTTP 状态代码:400

FileSystemNotFound

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

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

调用账户已达到特定 AWS 区域弹性网络接口的限制。要么删除一些网络接口,要么请求提高账户配额。有关更多信息,请参阅《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" }

另请参阅

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