CreateMountTarget - Amazon Elastic File System

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

CreateMountTarget

파일 시스템의 탑재 대상을 생성합니다. 그런 다음 탑재 대상을 사용하여 EC2 인스턴스에 파일 시스템을 탑재할 수 있습니다.

VPC의 각 가용 영역에 탑재 대상을 하나씩 만들 수 있습니다. 특정 가용 영역 내 VPC의 모든 EC2 인스턴스는 지정된 파일 시스템에 대한 단일 탑재 대상을 공유합니다. 가용 영역에 서브넷이 여러 개 있는 경우 여러 서브넷 중 하나에만 탑재 대상을 만듭니다. EC2 인스턴스는 탑재 대상과 동일한 서브넷에 있지 않아도 파일 시스템에 액세스할 수 있습니다.

One Zone 파일 시스템에 대해 탑재 대상을 하나만 생성할 수 있습니다. 파일 시스템이 위치한 동일한 가용 영역에 탑재 대상을 생성해야 합니다. 이 정보를 가져오려면 DescribeFileSystems 응답 개체의 AvailabilityZoneNameAvailabiltyZoneId 속성을 사용하세요. 탑재 대상을 만들 때 파일 시스템의 가용 영역과 관련된 subnetId를 사용하세요.

자세한 내용은 Amazon EFS: 작동 방식을 참조하세요.

파일 시스템에 대해 탑재 대상을 생성하려면 파일 시스템의 수명 주기 상태가 available이어야 합니다. 자세한 정보는 DescribeFileSystems을 참조하세요.

요청 시 다음 정보를 제공합니다.

  • 탑재 대상을 생성하려는 파일 시스템 ID입니다.

  • 서브넷 ID는 다음을 결정합니다.

    • Amazon EFS가 탑재 대상을 생성하는 VPC

    • Amazon EFS가 탑재 대상을 생성하는 가용 영역

    • Amazon EFS가 탑재 대상의 IP 주소를 선택하는 IP 주소 범위(요청에서 IP 주소를 지정하지 않은 경우)

탑재 대상을 생성한 후 Amazon EFS는, MountTargetIdIpAddress가 포함된 응답을 반환합니다. EC2 인스턴스에 파일 시스템을 탑재할 때 이 IP 주소를 사용합니다. 파일 시스템을 탑재할 때 탑재 대상의 DNS 이름을 사용할 수도 있습니다. 탑재 대상을 사용하여 파일 시스템을 탑재한 EC2 인스턴스에서는 탑재 대상의 IP 주소에 대해 탑재 대상의 DNS 이름을 확인합니다. 자세한 내용은 작동 방식: 구현 개요를 참조하세요.

파일 시스템의 탑재 대상은 하나의 VPC에서만 만들 수 있으며, 가용 영역당 탑재 대상은 하나씩만 있을 수 있습니다. 즉, 파일 시스템에 이미 탑재 대상이 하나 이상 생성되어 있는 경우, 다른 탑재 대상을 추가하기 위한 요청에 지정된 서브넷은 다음 요구 사항을 충족해야 합니다.

  • 기존 탑재 대상의 서브넷과 동일한 VPC에 속해야 합니다.

  • 기존 탑재 대상의 서브넷과 동일한 가용 영역에 속하지 않아야 합니다.

요청이 요구 사항을 충족하는 경우 Amazon EFS는 다음을 수행합니다.

  • 지정된 서브넷에 새 탑재 대상을 생성합니다.

  • 또한 다음과 같이 서브넷에 새 네트워크 인터페이스가 생성됩니다.

    • 요청 시 IpAddress가 제공되면 Amazon EFS는 네트워크 인터페이스에 IP 주소를 할당합니다. 그렇지 않으면 Amazon EFS가 서브넷에 무료 주소를 할당합니다(요청에서 기본 사설 IP 주소를 지정하지 않을 때 Amazon CreateNetworkInterface 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입니다.

패턴: ^(arn:aws[-a-z]*:elasticfilesystem:[0-9a-z-:]+:file-system/fs-[0-9a-f]{8,40}|fs-[0-9a-f]{8,40})$

필수 사항 여부: Yes

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입니다.

패턴: ^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 계정예를 들어 사용자의 us-east-1a 가용 영역이 다른 AWS 계정위치와 us-east-1a 동일하지 AWS 계정 않을 수 있습니다.

유형: 문자열

길이 제한: 최소 길이는 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

탑재 대상을 사용하여 파일 시스템을 탑재할 수 있는 주소입니다.

타입: 문자열

길이 제약: 최소 길이는 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

예제

탑재 대상을 파일 시스템에 추가

다음 요청은 파일 시스템에 대해 탑재 대상을 생성합니다. 요청은 필수 FileSystemIdSubnetId 파라미터의 값만 지정합니다. 요청은 선택적 IpAddressSecurityGroups 파라미터를 제공하지 않습니다. 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를 사용하는 방법에 대한 자세한 내용은 다음을 참조하십시오.