CreateFileSystem - Amazon Elastic File System

CreateFileSystem

빈 파일 시스템을 새로 생성합니다. 이 작업에는 Amazon EFS가 멱등성 생성을 보장하기 위해 사용하는 요청에 생성 토큰이 필요합니다(동일한 생성 토큰으로 작업을 직접 호출해도 효과가 없음). 지정된 생성 토큰을 가진 호출자 AWS 계정 소유의 파일 시스템이 현재 존재하지 않는 경우 이 작업은 다음을 수행합니다.

  • 빈 파일 시스템을 새로 생성합니다. 파일 시스템에는 Amazon EFS 할당 ID와 초기 수명 주기 상태 creating이 있습니다.

  • 생성된 파일 시스템의 설명과 함께 반환됩니다.

그렇지 않으면 이 작업을 수행하면 기존 파일 시스템의 ID와 함께 FileSystemAlreadyExists 오류가 반환됩니다.

참고

기본 사용 사례의 경우 무작위로 생성된 UUID를 생성 토큰으로 사용할 수 있습니다.

멱등성 작업을 사용하면 추가 파일 시스템을 만들 위험 없이 CreateFileSystem 직접 호출을 재시도할 수 있습니다. 이는 초기 직접 호출이 실패하여 파일 시스템이 실제로 생성되었는지 여부가 불확실할 때 발생할 수 있습니다. 전송 수준 제한 시간이 초과되었거나 연결이 재설정되는 경우를 예로 들 수 있습니다. 동일한 생성 토큰을 사용하는 한, 초기 직접 호출에서 파일 시스템 생성에 성공한 경우 클라이언트는 FileSystemAlreadyExists 오류를 통해 파일 시스템의 존재를 알 수 있습니다.

자세한 내용은 Amazon EFS 사용 설명서에서 파일 시스템 만들기를 참조하세요.

참고

파일 시스템의 수명 주기 상태가 creating으로 유지되는 동안 CreateFileSystem 직접 호출이 반환됩니다. DescribeFileSystems 작업을 호출하여 파일 시스템 생성 상태를 확인할 수 있습니다. 이 작업을 직접 호출하면 무엇보다도 파일 시스템 상태가 반환됩니다.

이 작업은 파일 시스템에 대해 선택한 선택적 PerformanceMode 파라미터를 받아들입니다. 모든 파일 시스템에 generalPurpose PerformanceMode를 사용하는 것이 좋습니다. 이 maxIO 모드는 generalPurpose 모드보다 긴 지연 시간을 견딜 수 있는 고도로 병렬화된 워크로드용으로 설계된 이전 세대 성능 유형입니다. 탄력적 처리량을 사용하는 파일 시스템 또는 One Zone 파일 시스템에는 MaxIO 모드가 지원되지 않습니다.

파일 시스템을 만든 후에는 PerformanceMode를 변경할 수 없습니다. 자세한 내용은 Amazon EFS 성능 모드 섹션을 참조하세요.

ThroughputMode 파라미터를 사용하여 파일 시스템에 대한 처리량 모드를 설정할 수 있습니다.

파일 시스템이 완전히 생성되면 Amazon EFS는 수명 주기 상태를 available로 설정합니다. 이 시점에서 VPC의 파일 시스템에 대한 탑재 대상을 하나 이상 생성할 수 있습니다. 자세한 내용은 CreateMountTarget 단원을 참조하십시오. 탑재 대상을 사용해 VPC의 EC2 인스턴스에서 Amazon EFS 파일 시스템을 탑재합니다. 자세한 내용은 Amazon EFS: 작동 방식을 참조하세요.

이 작업에는 elasticfilesystem:CreateFileSystem 액션에 대한 권한이 필요합니다.

파일 시스템은 생성 시 태그를 지정할 수 있습니다. 생성 작업에서 태그가 지정되면 IAM은 elasticfilesystem:TagResource 작업에서 추가 권한 부여를 수행해 사용자에게 태그를 생성할 권한이 있는지 확인합니다. 따라서 사용자는 elasticfilesystem:TagResource 작업을 사용할 명시적 권한도 가지고 있어야 합니다. 자세한 내용은 생성 시 리소스 태그 지정에 대한 권한 부여를 참조하세요.

Request Syntax

POST /2015-02-01/file-systems HTTP/1.1 Content-type: application/json { "AvailabilityZoneName": "string", "Backup": boolean, "CreationToken": "string", "Encrypted": boolean, "KmsKeyId": "string", "PerformanceMode": "string", "ProvisionedThroughputInMibps": number, "Tags": [ { "Key": "string", "Value": "string" } ], "ThroughputMode": "string" }

URI 요청 파라미터

요청은 URI 파라미터를 사용하지 않습니다.

요청 본문

요청은 JSON 형식으로 다음 데이터를 받습니다.

AvailabilityZoneName

One Zone 파일 시스템의 경우 파일 시스템을 생성할 AWS 가용 영역을 지정합니다. us-east-1a 형식을 사용하여 가용 영역을 지정합니다. One Zone 파일 시스템에 대한 자세한 내용은 Amazon EFS 사용 설명서EFS 파일 시스템 유형 섹션을 참조하십시오.

참고

Amazon EFS를 사용할 수 있는 AWS 리전의 일부 가용 영역에서는 One Zone 파일 시스템을 사용할 수 없습니다.

유형: 문자열

길이 제한: 최소 길이는 1. 최대 길이는 64.

패턴: .+

Required: No

Backup

생성 중인 파일 시스템에서 자동 백업을 활성화할지 여부를 지정합니다. 값을 true로 설정하여 자동 백업을 활성화합니다. One Zone 파일 시스템을 생성하는 경우 자동 백업이 기본적으로 활성화됩니다. 자세한 내용은 Amazon EFS 사용 설명서자동 백업 섹션을 참조하세요.

기본값은 false입니다. 그러나 AvailabilityZoneName을 지정하는 경우 기본값은 true입니다.

참고

Amazon EFS를 사용할 수 모든 AWS 리전에서는 AWS Backup를 사용할 수 없습니다.

타입: 부울

필수 항목 여부: 아니요

CreationToken

최대 64자의 ASCII 문자로 구성된 문자열입니다. Amazon EFS는 이를 사용하여 멱등성 생성을 보장합니다.

유형: 문자열

길이 제한: 최소 길이는 1. 최대 길이는 64.

Pattern: .+

필수 여부: 예

Encrypted

true인 경우 암호화된 파일 시스템을 생성하는 부울 값입니다. 암호화된 파일 시스템을 생성할 때 기존 AWS Key Management Service 키(KMS 키)를 지정하는 옵션이 있습니다. KMS 키를 지정하지 않으면 암호화된 파일 시스템을 보호하는 데 Amazon EFS의 기본 KMS 키(/aws/elasticfilesystem)가 사용됩니다.

타입: 부울

필수 항목 여부: 아니요

KmsKeyId

암호화된 파일 시스템을 보호하는 데 사용할 KMS 키의 ID입니다. 기본값이 아닌 KMS 키를 사용할 경우에만 이 파라미터가 필수입니다. 이 파라미터가 지정되지 않으면 Amazon EFS의 기본 KMS 키가 사용됩니다. 다음 형식을 사용하여 KMS 키를 지정할 수 있습니다.

  • 키 ID - 키의 고유 식별자(예: 1234abcd-12ab-34cd-56ef-1234567890ab)입니다.

  • ARN - 키의 Amazon 리소스 이름(ARN)입니다(예: arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab).

  • 키 별칭 - 키에 대해 이전에 생성된 표시 이름입니다(예: alias/projectKey1).

  • 키 별칭 ARN - 키 별칭의 ARN입니다(예: arn:aws:kms:us-west-2:444455556666:alias/projectKey1).

KmsKeyId를 사용하는 경우 CreateFileSystem:Encrypted 파라미터를 true로 설정해야 합니다.

중요

EFS는 대칭 KMS 키만 허용합니다. Amazon EFS 파일 시스템에서는 비대칭 KMS 키를 사용할 수 없습니다.

유형: 문자열

길이 제약: 최대 길이 2048.

패턴: ^([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}|mrk-[0-9a-f]{32}|alias/[a-zA-Z0-9/_-]+|(arn:aws[-a-z]*:kms:[a-z0-9-]+:\d{12}:((key/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})|(key/mrk-[0-9a-f]{32})|(alias/[a-zA-Z0-9/_-]+))))$

Required: No

PerformanceMode

파일 시스템의 성능 모드입니다. 모든 파일 시스템에 generalPurpose 성능 모드를 사용하는 것이 좋습니다. maxIO 성능 모드를 사용하는 파일 시스템은 대부분의 파일 작업에 대해 지연 시간이 약간 더 길어지는 대가로 더 높은 수준의 집계 처리량 및 초당 작업 수로 확장할 수 있습니다. 파일 시스템을 만든 후에는 성능 모드를 변경할 수 없습니다. One Zone 파일 시스템에서는 maxIO 모드가 지원되지 않습니다.

중요

최대 I/O에서는 작업당 지연 시간이 길어지기 때문에 모든 파일 시스템에 범용 성능 모드를 사용하는 것이 좋습니다.

기본값은 generalPurpose입니다.

타입: 문자열

유효 값: generalPurpose | maxIO

필수 항목 여부: 아니요

ProvisionedThroughputInMibps

생성 중인 파일 시스템에 대해 프로비저닝하고자 하는 처리량입니다. 초당 메비바이트(MiB/s)로 측정됩니다. ThroughputModeprovisioned로 설정된 경우 필수입니다. 유효한 값은 1~3414MiBps이며 상한은 리전에 따라 다릅니다. 이 한도를 늘리려면 지원에 문의하세요. 자세한 내용을 알아보려면 Amazon Elastic File System 사용 설명서증가할 수 있는 Amazon EFS 할당량을 참조하세요.

유형: Double

유효한 범위: 최소값은 1.0입니다.

필수 항목 여부: 아니요

Tags

파일 시스템과 연결된 하나 이상의 태그를 생성하는 데 사용합니다. 각 태그는 사용자가 정의하는 키-값 페어입니다. 생성 시 "Key":"Name","Value":"{value}" 키-값 페어를 포함시켜 파일 시스템 이름을 지정합니다. 각 키는 고유해야 합니다. 자세한 내용을 알아보려면 AWS 일반 참조 안내서AWS 리소스 태그 지정을 참조하세요.

유형: Tag 객체 배열

필수 항목 여부: 아니요

ThroughputMode

파일 시스템의 처리량 모드를 지정합니다. 모드는 bursting, provisioned 또는 elastic일 수 있습니다. ThroughputModeprovisioned로 설정하면 ProvisionedThroughputInMibps의 값도 설정해야 합니다. 파일 시스템을 생성한 후 파일 시스템의 프로비저닝 처리량을 줄이거나 특정 시간 제한이 있는 처리량 모드 간에 변경할 수 있습니다. 자세한 내용을 알아보려면 Amazon Elastic File System 사용 설명서프로비저닝 모드를 사용하여 처리량 지정을 참조하세요.

기본값은 bursting입니다.

타입: 문자열

유효 값: bursting | provisioned | elastic

필수 항목 여부: 아니요

응답 구문

HTTP/1.1 201 Content-type: application/json { "AvailabilityZoneId": "string", "AvailabilityZoneName": "string", "CreationTime": number, "CreationToken": "string", "Encrypted": boolean, "FileSystemArn": "string", "FileSystemId": "string", "FileSystemProtection": { "ReplicationOverwriteProtection": "string" }, "KmsKeyId": "string", "LifeCycleState": "string", "Name": "string", "NumberOfMountTargets": number, "OwnerId": "string", "PerformanceMode": "string", "ProvisionedThroughputInMibps": number, "SizeInBytes": { "Timestamp": number, "Value": number, "ValueInArchive": number, "ValueInIA": number, "ValueInStandard": number }, "Tags": [ { "Key": "string", "Value": "string" } ], "ThroughputMode": "string" }

응답 요소

작업이 성공하면 서비스가 HTTP 201 응답을 다시 전송합니다.

다음 데이터는 서비스에 의해 JSON 형식으로 반환됩니다.

AvailabilityZoneId

파일 시스템이 위치한 가용 영역의 고유하고 일관된 식별자로, One Zone 파일 시스템에만 유효합니다. 예를 들어, use1-az1은 us-east-1 AWS 리전의 가용 영역 ID이고 모든 AWS 계정 계정에서 동일한 위치입니다.

유형: 문자열

AvailabilityZoneName

파일 시스템이 위치한 AWS 가용 영역을 설명하며, One Zone 파일 시스템에만 유효합니다. 자세한 내용을 알아보려면 Amazon EFS 사용 설명서EFS 스토리지 클래스 사용을 참조하세요.

유형: 문자열

길이 제한: 최소 길이는 1. 최대 길이는 64.

패턴: .+

CreationTime

파일 시스템이 생성된 시간(초)입니다(1970-01-01T00:00:00Z 이후).

유형: 타임스탬프

CreationToken

요청에 지정된 불투명한 문자열입니다.

유형: 문자열

길이 제한: 최소 길이는 1. 최대 길이는 64.

패턴: .+

Encrypted

true인 경우 파일 시스템이 암호화되었음을 나타내는 부울 값입니다.

타입: 부울

FileSystemArn

EFS 파일 시스템의 Amazon 리소스 이름(ARN)으로서 arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id 형식입니다. 샘플 데이터를 사용한 예: arn:aws:elasticfilesystem:us-west-2:1111333322228888:file-system/fs-01234567

유형: 문자열

FileSystemId

Amazon EFS에서 할당한 파일 시스템의 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})$

FileSystemProtection

파일 시스템의 보호를 설명합니다.

유형: FileSystemProtectionDescription 객체

KmsKeyId

암호화된 파일 시스템을 보호하는 데 사용할 AWS KMS key의 ID입니다.

유형: 문자열

길이 제약: 최대 길이 2048.

패턴: ^([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}|mrk-[0-9a-f]{32}|alias/[a-zA-Z0-9/_-]+|(arn:aws[-a-z]*:kms:[a-z0-9-]+:\d{12}:((key/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})|(key/mrk-[0-9a-f]{32})|(alias/[a-zA-Z0-9/_-]+))))$

LifeCycleState

파일 시스템의 수명 주기 단계입니다.

타입: 문자열

유효 값: creating | available | updating | deleting | deleted | error

Name

태그를 포함하여 파일 시스템에 Name 태그를 추가할 수 있습니다. 자세한 내용은 CreateFileSystem 단원을 참조하십시오. 파일 시스템에 Name 태그가 있는 경우 Amazon EFS는 이 필드에 값을 반환합니다.

유형: 문자열

길이 제약: 최대 길이 256.

패턴: ^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$

NumberOfMountTargets

파일 시스템에 있는 탑재 대상의 현재 수. 자세한 내용은 CreateMountTarget 단원을 참조하십시오.

유형: 정수

유효 범위: 최소값 0.

OwnerId

파일 시스템을 생성한 AWS 계정입니다.

유형: 문자열

길이 제약 조건: 최대 길이는 14입니다.

패턴: ^(\d{12})|(\d{4}-\d{4}-\d{4})$

PerformanceMode

파일 시스템의 성능 모드입니다.

타입: 문자열

유효 값: generalPurpose | maxIO

ProvisionedThroughputInMibps

MiBps로 측정되는 프로비저닝된 파일 시스템 처리량을 정의합니다. provisioned로 설정된 ThroughputMode을 사용하는 파일 시스템에 유효합니다.

유형: Double

유효한 범위: 최소값은 1.0입니다.

SizeInBytes

파일 시스템에서 해당 Value 필드에 저장된 데이터의 가장 최근 알려진 측정 크기(바이트) 및 해당 Timestamp 필드에서 해당 크기가 결정된 시간입니다. Timestamp 값은 1970-01-01T00:00:00Z 이후의 정수 시간(초)입니다. 이 SizeInBytes 값은 파일 시스템의 일관된 스냅샷 크기를 나타내지는 않지만 파일 시스템에 쓰기가 없는 경우 최종적으로 일관성을 유지합니다. 즉, 몇 시간 이상 파일 시스템을 수정하지 않은 경우에만 SizeInBytes가 실제 크기를 나타냅니다. 그렇지 않으면 값이 특정 시점의 파일 시스템 크기와 정확히 일치하지 않습니다.

유형: FileSystemSize 객체

Tags

파일 시스템과 연결된 태그로, Tag 객체 배열로 표시됩니다.

유형: Tag객체 어레이

ThroughputMode

파일 시스템의 처리량 모드를 표시합니다. 자세한 내용을 알아보려면 Amazon Elastic File System 사용 설명서처리량 모드를 참조하세요.

타입: 문자열

유효 값: bursting | provisioned | elastic

Errors

BadRequest

요청이 잘못되었거나 잘못된 파라미터 값 또는 필수 파라미터 누락 등의 오류가 있는 경우 반환됩니다.

HTTP 상태 코드: 400

FileSystemAlreadyExists

생성하려는 파일 시스템이 사용자가 제공한 생성 토큰과 함께 이미 존재하는 경우 반환됩니다.

HTTP 상태 코드: 409

FileSystemLimitExceeded

계정당 허용되는 최대 파일 시스템 수를 이미 생성한 경우 AWS 계정이 반환됩니다.

HTTP 상태 코드: 403

InsufficientThroughputCapacity

추가 처리량을 프로비저닝할 용량이 충분하지 않은 경우 반환됩니다. 프로비저닝된 처리량 모드에서 파일 시스템을 생성하려고 할 때, 기존 파일 시스템의 프로비저닝된 처리량을 늘리려고 할 때 또는 기존 파일 시스템을 버스팅 처리량에서 프로비저닝된 처리량 모드로 변경하려고 할 때 이 값이 반환될 수 있습니다. 나중에 다시 시도해 주십시오.

HTTP 상태 코드: 503

InternalServerError

서버 측에서 오류가 발생한 경우 반환됩니다.

HTTP 상태 코드: 500

ThroughputLimitExceeded

처리량 한도인 1024MiB/s에 도달하여 처리량 모드 또는 프로비저닝된 처리량을 변경할 수 없는 경우 반환됩니다.

HTTP 상태 코드: 400

UnsupportedAvailabilityZone

요청된 Amazon EFS 기능을 지정된 가용 영역에서 사용할 수 없는 경우 반환됩니다.

HTTP 상태 코드: 400

암호화된 EFS 파일 시스템 생성

다음 예제는 자동 백업이 활성화된 상태로 us-west-2 리전에 파일 시스템을 생성하라는 POST 요청을 보냅니다. 요청은 myFileSystem1을 멱등성을 위한 생성 토큰으로 지정합니다.

샘플 요청

POST /2015-02-01/file-systems HTTP/1.1 Host: elasticfilesystem.us-west-2.amazonaws.com x-amz-date: 20140620T215117Z Authorization: <...> Content-Type: application/json Content-Length: 42 { "CreationToken" : "myFileSystem1", "PerformanceMode" : "generalPurpose", "Backup": true, "Encrypted": true, "Tags":[ { "Key": "Name", "Value": "Test Group1" } ] }

샘플 응답

HTTP/1.1 201 Created x-amzn-RequestId: 01234567-89ab-cdef-0123-456789abcdef Content-Type: application/json Content-Length: 319 { "ownerId":"251839141158", "CreationToken":"myFileSystem1", "Encrypted": true, "PerformanceMode" : "generalPurpose", "fileSystemId":"fs-01234567", "CreationTime":"1403301078", "LifeCycleState":"creating", "numberOfMountTargets":0, "SizeInBytes":{ "Timestamp": 1403301078, "Value": 29313618372, "ValueInArchive": 201156, "ValueInIA": 675432, "ValueInStandard": 29312741784 }, "Tags":[ { "Key": "Name", "Value": "Test Group1" } ], "ThroughputMode": "elastic" }

One Zone 가용성을 갖춘 암호화된 EFS 파일 시스템 생성

다음 예제는 자동 백업이 활성화된 상태로 us-west-2 리전에 파일 시스템을 생성하라는 POST 요청을 보냅니다. 파일 시스템은 us-west-2b 가용 영역에 One Zone 스토리지를 갖게 됩니다.

샘플 요청

POST /2015-02-01/file-systems HTTP/1.1 Host: elasticfilesystem.us-west-2.amazonaws.com x-amz-date: 20140620T215117Z Authorization: <...> Content-Type: application/json Content-Length: 42 { "CreationToken" : "myFileSystem2", "PerformanceMode" : "generalPurpose", "Backup": true, "AvailabilityZoneName": "us-west-2b", "Encrypted": true, "ThroughputMode": "elastic", "Tags":[ { "Key": "Name", "Value": "Test Group1" } ] }

샘플 응답

HTTP/1.1 201 Created x-amzn-RequestId: 01234567-89ab-cdef-0123-456789abcdef Content-Type: application/json Content-Length: 319 { "ownerId":"251839141158", "CreationToken":"myFileSystem1", "Encrypted": true, "AvailabilityZoneId": "usew2-az2", "AvailabilityZoneName": "us-west-2b", "PerformanceMode" : "generalPurpose", "fileSystemId":"fs-01234567", "CreationTime":"1403301078", "LifeCycleState":"creating", "numberOfMountTargets":0, "SizeInBytes":{ "Timestamp": 1403301078, "Value": 29313618372, "ValueInArchive": 201156, "ValueInIA": 675432, "ValueInStandard": 29312741784 }, "Tags":[ { "Key": "Name", "Value": "Test Group1" } ], "ThroughputMode": "elastic" }

참고

언어별 AWS SDK 중 하나에서 이 API를 사용하는 방법에 대한 자세한 내용은 다음을 참조하십시오.