CreateMountTarget
Creates a mount target for a file system. You can then mount the file system on EC2 instances by using the mount target. For more information about mount targets, see Managing mount targets.
To create a mount target for an EFS file system, the file system's
lifecycle state must be available. For more information, see DescribeFileSystems.
After creating the mount target, Amazon EFS returns a response that includes a
MountTargetId and an IP address (IpAddress or
Ipv6Address). You use this IP address when mounting the file system in an
EC2 instance. You can also use the mount target's DNS name when mounting the file
system. The EC2 instance on which you mount the file system by using the mount target
can resolve the mount target's DNS name to its IP address. For more information, see
How Amazon EFS
works.
Note that you can create mount targets for a file system in only one VPC, and there can be only one mount target per Availability Zone. For more information, see Creating mount targets.
If the request satisfies the requirements, Amazon EFS does the following:
-
Creates a new mount target in the specified subnet.
-
Creates a new network interface in the subnet with the folowing:
-
The description
Mount target fsmt-id for file system fs-idwherefsmt-idis the mount target ID, andfs-idis theFileSystemId. -
The
requesterManagedproperty of the network interface set totrue, and therequesterIdvalue set toEFS.
Each mount target has one corresponding requester-managed EC2 network interface. After the network interface is created, Amazon EFS sets the
NetworkInterfaceIdfield in the mount target's description to the network interface ID, and the IP address to its address. If network interface creation fails, the entireCreateMountTargetoperation fails. -
Note
The CreateMountTarget call returns only after creating the network
interface, but while the mount target state is still creating, you can check
the mount target creation status by calling the DescribeMountTargets operation, which among other things returns the mount
target state.
This operation requires permissions for the following action on the file system:
-
elasticfilesystem:CreateMountTarget
This operation also requires permissions for the following Amazon EC2 actions:
-
ec2:DescribeSubnets -
ec2:DescribeNetworkInterfaces -
ec2:CreateNetworkInterface
Request Syntax
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 Request Parameters
The request does not use any URI parameters.
Request Body
The request accepts the following data in JSON format.
- FileSystemId
-
The ID of the file system for which to create the mount target.
Type: String
Length Constraints: Maximum length of 128.
Pattern:
^(arn:aws[-a-z]*:elasticfilesystem:[0-9a-z-:]+:file-system/fs-[0-9a-f]{8,40}|fs-[0-9a-f]{8,40})$Required: Yes
- IpAddress
-
If the
IpAddressTypefor the mount target is IPv4 (IPV4_ONLYorDUAL_STACK), then specify the IPv4 address to use. If you do not specify anIpAddress, then Amazon EFS selects an unused IP address from the subnet specified forSubnetId.Type: String
Length Constraints: Minimum length of 7. Maximum length of 15.
Pattern:
^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$Required: No
- IpAddressType
-
The IP address type for the mount target. The possible values are
IPV4_ONLY(only IPv4 addresses),IPV6_ONLY(only IPv6 addresses), andDUAL_STACK(dual-stack, both IPv4 and IPv6 addresses). If you don’t specify anIpAddressType, thenIPV4_ONLYis used.Note
The
IPAddressTypemust match the IP type of the subnet. Additionally, theIPAddressTypeparameter overrides the value set as the default IP address for the subnet in the VPC. For example, if theIPAddressTypeisIPV4_ONLYandAssignIpv6AddressOnCreationistrue, then IPv4 is used for the mount target. For more information, see Modify the IP addressing attributes of your subnet.Type: String
Valid Values:
IPV4_ONLY | IPV6_ONLY | DUAL_STACKRequired: No
- Ipv6Address
-
If the
IPAddressTypefor the mount target is IPv6 (IPV6_ONLYorDUAL_STACK), then specify the IPv6 address to use. If you do not specify anIpv6Address, then Amazon EFS selects an unused IP address from the subnet specified forSubnetId.Type: String
Length Constraints: Minimum length of 3. Maximum length of 39.
Required: No
- SecurityGroups
-
VPC security group IDs, of the form
sg-xxxxxxxx. These must be for the same VPC as the subnet specified. The maximum number of security groups depends on account quota. For more information, see Amazon VPC Quotas in the Amazon VPC User Guide (see the Security Groups table). If you don't specify a security group, then Amazon EFS uses the default security group for the subnet's VPC.Type: Array of strings
Array Members: Maximum number of 100 items.
Length Constraints: Minimum length of 11. Maximum length of 43.
Pattern:
^sg-[0-9a-f]{8,40}Required: No
- SubnetId
-
The ID of the subnet to add the mount target in. For One Zone file systems, use the subnet that is associated with the file system's Availability Zone. The subnet type must be the same type as the
IpAddressType.Type: String
Length Constraints: Minimum length of 15. Maximum length of 47.
Pattern:
^subnet-[0-9a-f]{8,40}$Required: Yes
Response Syntax
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"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- AvailabilityZoneId
-
The unique and consistent identifier of the Availability Zone that the mount target resides in. For example,
use1-az1is an AZ ID for the us-east-1 Region and it has the same location in every AWS account.Type: String
- AvailabilityZoneName
-
The name of the Availability Zone in which the mount target is located. Availability Zones are independently mapped to names for each AWS account. For example, the Availability Zone
us-east-1afor your AWS account might not be the same location asus-east-1afor another AWS account.Type: String
Length Constraints: Minimum length of 1. Maximum length of 64.
Pattern:
.+ - FileSystemId
-
The ID of the file system for which the mount target is intended.
Type: String
Length Constraints: Maximum length of 128.
Pattern:
^(arn:aws[-a-z]*:elasticfilesystem:[0-9a-z-:]+:file-system/fs-[0-9a-f]{8,40}|fs-[0-9a-f]{8,40})$ - IpAddress
-
The IPv4 address for the mount target.
Type: String
Length Constraints: Minimum length of 7. Maximum length of 15.
Pattern:
^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ - Ipv6Address
-
The IPv6 address for the mount target.
Type: String
Length Constraints: Minimum length of 3. Maximum length of 39.
- LifeCycleState
-
Lifecycle state of the mount target.
Type: String
Valid Values:
creating | available | updating | deleting | deleted | error - MountTargetId
-
System-assigned mount target ID.
Type: String
Length Constraints: Minimum length of 13. Maximum length of 45.
Pattern:
^fsmt-[0-9a-f]{8,40}$ - NetworkInterfaceId
-
The ID of the network interface that Amazon EFS created when it created the mount target.
Type: String
- OwnerId
-
AWS account ID that owns the resource.
Type: String
Length Constraints: Maximum length of 14.
Pattern:
^(\d{12})|(\d{4}-\d{4}-\d{4})$ - SubnetId
-
The ID of the mount target's subnet.
Type: String
Length Constraints: Minimum length of 15. Maximum length of 47.
Pattern:
^subnet-[0-9a-f]{8,40}$ - VpcId
-
The virtual private cloud (VPC) ID that the mount target is configured in.
Type: String
Errors
For information about the errors that are common to all actions, see Common Error Types.