CreateMountTarget
파일 시스템의 탑재 대상을 생성합니다. 그런 다음 탑재 대상을 사용하여 EC2 인스턴스에 파일 시스템을 탑재할 수 있습니다.
VPC의 각 가용 영역에 탑재 대상을 하나씩 만들 수 있습니다. 특정 가용 영역 내 VPC의 모든 EC2 인스턴스는 지정된 파일 시스템에 대한 단일 탑재 대상을 공유합니다. 가용 영역에 서브넷이 여러 개 있는 경우 여러 서브넷 중 하나에만 탑재 대상을 만듭니다. EC2 인스턴스는 탑재 대상과 동일한 서브넷에 있지 않아도 파일 시스템에 액세스할 수 있습니다.
One Zone 파일 시스템에 대해 탑재 대상을 하나만 생성할 수 있습니다. 파일 시스템이 위치한 동일한 가용 영역에 탑재 대상을 생성해야 합니다. 이 정보를 가져오려면 DescribeFileSystems 응답 개체의 AvailabilityZoneName
및 AvailabiltyZoneId
속성을 사용하세요. 탑재 대상을 만들 때 파일 시스템의 가용 영역과 관련된 subnetId
를 사용하세요.
자세한 내용은 Amazon EFS: 작동 방식을 참조하세요.
파일 시스템에 대해 탑재 대상을 생성하려면 파일 시스템의 수명 주기 상태가 available
이어야 합니다. 자세한 내용은 DescribeFileSystems 단원을 참조하십시오.
요청 시 다음 정보를 제공합니다.
-
탑재 대상을 생성하려는 파일 시스템 ID입니다.
-
서브넷 ID는 다음을 결정합니다.
-
Amazon EFS가 탑재 대상을 생성하는 VPC
-
Amazon EFS가 탑재 대상을 생성하는 가용 영역
-
Amazon EFS가 탑재 대상의 IP 주소를 선택하는 IP 주소 범위(요청에서 IP 주소를 지정하지 않은 경우)
-
탑재 대상을 생성한 후 Amazon EFS는, MountTargetId
및 IpAddress
가 포함된 응답을 반환합니다. EC2 인스턴스에 파일 시스템을 탑재할 때 이 IP 주소를 사용합니다. 파일 시스템을 탑재할 때 탑재 대상의 DNS 이름을 사용할 수도 있습니다. 탑재 대상을 사용하여 파일 시스템을 탑재한 EC2 인스턴스에서는 탑재 대상의 IP 주소에 대해 탑재 대상의 DNS 이름을 확인합니다. 자세한 내용은 작동 방식: 구현 개요를 참조하세요.
파일 시스템의 탑재 대상은 하나의 VPC에서만 만들 수 있으며, 가용 영역당 탑재 대상은 하나씩만 있을 수 있습니다. 즉, 파일 시스템에 이미 탑재 대상이 하나 이상 생성되어 있는 경우, 다른 탑재 대상을 추가하기 위한 요청에 지정된 서브넷은 다음 요구 사항을 충족해야 합니다.
-
기존 탑재 대상의 서브넷과 동일한 VPC에 속해야 합니다.
-
기존 탑재 대상의 서브넷과 동일한 가용 영역에 속하지 않아야 합니다.
요청이 요구 사항을 충족하는 경우 Amazon EFS는 다음을 수행합니다.
-
지정된 서브넷에 새 탑재 대상을 생성합니다.
-
또한 다음과 같이 서브넷에 새 네트워크 인터페이스가 생성됩니다.
-
요청 시
IpAddress
가 제공되면 Amazon EFS는 네트워크 인터페이스에 IP 주소를 할당합니다. 그렇지 않으면 Amazon EFS가 서브넷에 무료 주소를 할당합니다(요청에서 기본 사설 IP 주소를 지정하지 않을 때 AmazonCreateNetworkInterface
EC2 직접 호출이 수행하는 것과 동일한 방식). -
요청이
SecurityGroups
를 제공하는 경우 이 네트워크 인터페이스는 해당 보안 그룹과 연결됩니다. 그렇지 않으면 이것은 서브넷의 VPC의 기본 보안 그룹에 속합니다. -
Mount target fsmt-id for file system fs-id
설명을 할당합니다. 여기서fsmt-id
는 탑재 대상 ID이고fs-id
는FileSystemId
입니다. -
네트워크 인터페이스의
requesterManaged
속성을true
로 설정하고requesterId
값을EFS
로 설정합니다.
각 Amazon EFS 탑재 대상에는 해당하는 요청자 관리형 EC2 네트워크 인터페이스가 하나씩 있습니다. 네트워크 인터페이스가 생성되면 Amazon EFS는 탑재 대상 설명의
NetworkInterfaceId
필드를 네트워크 인터페이스 ID로 설정하고IpAddress
필드를 해당 주소로 설정합니다. 네트워크 인터페이스 생성에 실패하면 전체CreateMountTarget
작업이 실패합니다. -
참고
네트워크 인터페이스를 생성한 후에만 CreateMountTarget
직접 호출이 반환되지만 탑재 대상 상태가 여전히 creating
인 동안에는 DescribeMountTargets 작업을 직접 호출하여 탑재 대상 생성 상태를 확인할 수 있습니다. 이 경우 무엇보다도 탑재 대상 상태가 반환됩니다.
각 가용 영역에서는 탑재 대상 한 개를 만드는 것이 좋습니다. 다른 가용 영역에서 만든 탑재 대상을 통해 가용 영역에서 파일 시스템을 사용하기 위해서는 비용과 관련된 고려 사항이 있습니다. 자세한 내용은 Amazon EFS
이 작업에는 파일 시스템에서 다음 작업에 대한 권한이 필요합니다.
-
elasticfilesystem:CreateMountTarget
이 작업을 수행하려면 다음과 같은 Amazon EC2 작업에 대한 권한도 필요합니다.
-
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
",
"SecurityGroups": [ "string
" ],
"SubnetId": "string
"
}
URI 요청 파라미터
요청은 URI 파라미터를 사용하지 않습니다.
요청 본문
요청은 JSON 형식으로 다음 데이터를 받습니다.
- FileSystemId
-
탑재 대상을 생성할 파일 시스템의 ID입니다.
유형: 문자열
길이 제약: 최대 길이는 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
-
지정된 서브넷의 주소 범위 내의 유효한 IPv4 주소입니다.
유형: 문자열
길이 제약: 최소 길이는 7입니다. 최대 길이는 15입니다.
패턴:
^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$
Required: No
- SecurityGroups
-
VPC 보안 그룹 ID 최대 5개(
sg-xxxxxxxx
형식). 보안 그룹은 해당 서브넷과 VPC가 동일해야 합니다.유형: 문자열 어레이
배열 멤버: 최대 항목 수는 100개입니다.
길이 제약: 최소 길이는 11입니다. 최대 길이는 43입니다.
패턴:
^sg-[0-9a-f]{8,40}
Required: No
- SubnetId
-
탑재 대상을 추가할 서브넷의 ID입니다. One Zone 파일 시스템의 경우 파일 시스템의 가용 영역에 연결된 서브넷을 사용합니다.
유형: 문자열
길이 제약: 최소 길이는 15입니다. 최대 길이는 47입니다.
Pattern:
^subnet-[0-9a-f]{8,40}$
필수 여부: 예
응답 구문
HTTP/1.1 200
Content-type: application/json
{
"AvailabilityZoneId": "string",
"AvailabilityZoneName": "string",
"FileSystemId": "string",
"IpAddress": "string",
"LifeCycleState": "string",
"MountTargetId": "string",
"NetworkInterfaceId": "string",
"OwnerId": "string",
"SubnetId": "string",
"VpcId": "string"
}
응답 요소
작업이 성공하면 서비스가 HTTP 200 응답을 반송합니다.
다음 데이터는 서비스에 의해 JSON 형식으로 반환됩니다.
- AvailabilityZoneId
-
탑재 대상이 위치한 가용 영역의 고유하고 일관된 식별자입니다. 예를 들어,
use1-az1
는 us-east-1 리전의 AZ ID이고, 모든 AWS 계정에서 위치가 동일합니다.유형: 문자열
- AvailabilityZoneName
-
탑재 대상이 위치한 가용 영역의 이름입니다. AWS 계정별로 이름에 가용 영역을 독립적으로 매핑합니다. 예를 들어 AWS 계정의
us-east-1a
가용 영역은 다른 AWS 계정에 대한us-east-1a
와 위치가 동일하지 않을 수 있습니다.유형: 문자열
길이 제한: 최소 길이는 1. 최대 길이는 64.
패턴:
.+
- FileSystemId
-
탑재 대상으로 의도된 파일 시스템의 ID입니다.
유형: 문자열
길이 제약: 최대 길이는 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
-
탑재 대상을 사용하여 파일 시스템을 탑재할 수 있는 주소입니다.
유형: 문자열
길이 제약: 최소 길이는 7입니다. 최대 길이는 15입니다.
패턴:
^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$
- 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
-
탑재 대상이 구성된 Virtual Private Cloud(VPC) ID입니다.
유형: 문자열
Errors
- AvailabilityZonesMismatch
-
탑재 대상으로 지정된 가용 영역이 One Zone 스토리지용으로 지정된 가용 영역과 다른 경우 반환됩니다. 자세한 내용은 리전 및 One Zone 스토리지 중복성을 참조하세요.
HTTP 상태 코드: 400
- BadRequest
-
요청이 잘못되었거나 잘못된 파라미터 값 또는 필수 파라미터 누락 등의 오류가 있는 경우 반환됩니다.
HTTP 상태 코드: 400
- FileSystemNotFound
-
지정된
FileSystemId
값이 요청자의 AWS 계정에 존재하지 않는 경우 반환됩니다.HTTP 상태 코드: 404
- IncorrectFileSystemLifeCycleState
-
파일 시스템의 수명 주기 상태가 “사용 가능”이 아닌 경우 반환됩니다.
HTTP 상태 코드: 409
- InternalServerError
-
서버 측에서 오류가 발생한 경우 반환됩니다.
HTTP 상태 코드: 500
- IpAddressInUse
-
요청이 서브넷에서 이미 사용 중인
IpAddress
를 지정한 경우 반환됩니다.HTTP 상태 코드: 409
- MountTargetConflict
-
탑재 대상이 파일 시스템의 기존 탑재 대상을 기준으로 지정된 제한 사항 중 하나를 위반할 경우 반환됩니다.
HTTP 상태 코드: 409
- NetworkInterfaceLimitExceeded
-
직접 호출 계정이 해당 AWS 리전의 탄력적 네트워크 인터페이스 한도에 도달했습니다. 일부 네트워크 인터페이스를 삭제하거나 계정 할당량 상향을 요청하세요. 자세한 내용은 Amazon VPC 사용 설명서의 Amazon VPC 할당량을 참조하세요(네트워크 인터페이스 표의 리전별 네트워크 인터페이스 항목 참조).
HTTP 상태 코드: 409
- NoFreeAddressesInSubnet
-
요청에
IpAddress
가 지정되지 않았고 서브넷에 사용 가능한 IP 주소가 없는 경우 반환됩니다.HTTP 상태 코드: 409
- SecurityGroupLimitExceeded
-
요청에 지정된
SecurityGroups
의 크기가 5보다 큰 경우 반환됩니다.HTTP 상태 코드: 400
- SecurityGroupNotFound
-
지정된 보안 그룹 중 하나가 서브넷의 Virtual Private Cloud(VPC)에 존재하지 않는 경우 반환됩니다.
HTTP 상태 코드: 400
- SubnetNotFound
-
요청에 ID
SubnetId
가 제공된 서브넷이 없는 경우 반환됩니다.HTTP 상태 코드: 400
- UnsupportedAvailabilityZone
-
요청된 Amazon EFS 기능을 지정된 가용 영역에서 사용할 수 없는 경우 반환됩니다.
HTTP 상태 코드: 400
예
탑재 대상을 파일 시스템에 추가
다음 요청은 파일 시스템에 대해 탑재 대상을 생성합니다. 요청은 필수 FileSystemId
및 SubnetId
파라미터의 값만 지정합니다. 요청은 선택적 IpAddress
및 SecurityGroups
파라미터를 제공하지 않습니다. IpAddress
의 경우 작업에는 지정된 서브넷의 사용 가능한 IP 주소 중 하나가 사용됩니다. 또한 작업에는 SecurityGroups
용 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
{
"MountTargetId": "fsmt-55a4413c",
"NetworkInterfaceId": "eni-01234567",
"FileSystemId": "fs-01234567",
"LifeCycleState": "available",
"SubnetId": "subnet-01234567",
"OwnerId": "231243201240",
"IpAddress": "172.31.22.183"
}
탑재 대상을 파일 시스템에 추가
다음 요청은 탑재 대상을 만들기 위한 모든 요청 파라미터를 지정합니다.
샘플 요청
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"
}
참고
언어별 AWS SDK 중 하나에서 이 API를 사용하는 방법에 대한 자세한 내용은 다음을 참조하십시오.