S3 Express One Zone에서 배치 작업 사용 - Amazon Simple Storage Service

S3 Express One Zone에서 배치 작업 사용

Amazon S3 배치 작업을 사용하여 S3 버킷에 저장된 객체에 대해 작업을 수행할 수 있습니다. S3 배치 작업에 대한 자세한 내용은 Amazon S3 객체에 대한 대규모 배치 작업 수행을 참조하세요.

다음 항목에서는 디렉터리 버킷의 S3 Express One Zone 스토리지 클래스에 대한 배치 작업 수행에 관해 설명합니다.

디렉터리 버킷에 배치 작업 사용

디렉터리 버킷에 저장된 객체에 대해 복사 작업과 AWS Lambda 함수 호출 작업을 수행할 수 있습니다. 복사를 사용하면 같은 유형의 버킷 간에 객체를 복사할 수 있습니다(예: 디렉터리 버킷에서 디렉터리 버킷으로). 디렉터리 버킷과 범용 버킷 간에 객체를 복사할 수도 있습니다. AWS Lambda 함수 호출을 사용하면 Lambda 함수를 사용하여 직접 정의한 코드로 디렉터리 버킷의 객체에 대한 작업을 수행할 수 있습니다.

객체 복사

동일한 버킷 유형 간에 또는 디렉터리 버킷과 범용 버킷 간에 객체를 복사할 수 있습니다. 디렉터리 버킷으로 복사할 때는 이 버킷 유형에 맞는 Amazon 리소스 이름(ARN) 형식을 사용해야 합니다. 디렉터리 버킷의 ARN 형식은 arn:aws:s3express:region:account-id:bucket/bucket-base-name--x-s3입니다.

S3 콘솔에서 가져오기 작업을 사용하여 디렉터리 버킷에 데이터를 채울 수도 있습니다. 가져오기는 범용 버킷에서 디렉터리 버킷으로 객체를 복사하는 배치 작업 건을 생성하는 간소화된 방법입니다. 범용 버킷에서 디렉터리 버킷으로의 가져오기 복사 작업의 경우 S3는 매니페스트를 자동으로 생성합니다. 자세한 내용은 디렉터리 버킷으로 객체 가져오기매니페스트 지정을 참조하세요.

Lambda 함수 호출(LambdaInvoke)

배치 작업를 사용하여 디렉터리 버킷에서 작동하는 Lambda 함수를 호출하려면 특별한 요구 사항이 있습니다. 예를 들어, v2 JSON 호출 체계를 사용하여 Lambda 요청을 구조화하고 작업 생성 시 InvocationSchemaVersion 2.0을 지정해야 합니다. 자세한 내용은 AWS Lambda 함수 호출을 참조하세요.

주요 차이점

다음은 대량 작업을 사용하여 디렉터리 버킷에 저장된 오브젝트에 대한 대량 작업을 수행할 때 S3 Express One Zone 스토리지 클래스가 있는 경우의 주요 차이점 목록입니다.

  • 디렉터리 버킷의 경우 SSE-S3 및 AWS Key Management Service(AWS KMS) 키(SSE-KMS)를 사용한 서버 측 암호화가 지원됩니다. 디렉터리 버킷(소스 또는 대상)에서 고객 제공 키(SSE-C)를 사용한 서버 측 암호화를 사용하도록 지정하는 CopyObject 요청을 하면 응답에 HTTP 400 (Bad Request) 오류가 반환됩니다.

    버킷의 기본 암호화는 원하는 암호화 구성을 사용하고 CreateSession 요청 또는 PUT 객체 요청에서 버킷 기본 암호화를 재정의하지 않는 것이 좋습니다. 그러면 새 객체가 원하는 암호화 설정으로 자동 암호화됩니다. 디렉터리 버킷의 암호화 재정의 동작 및 SSE-KMS를 사용하여 디렉터리 버킷의 새 객체 사본을 암호화하는 방법에 대한 자세한 내용은 Specifying server-side encryption with AWS KMS for new object uploads를 참조하세요.

    배치 운영의 Copy 작업을 통해 SSE-KMS로 암호화된 객체를 범용 버킷에서 디렉터리 버킷으로, 디렉터리 버킷에서 범용 버킷으로 또는 디렉터리 버킷 간에 복사하는 경우 S3 버킷 키는 지원되지 않습니다. 이 경우 Amazon S3는 KMS 암호화 개체에 대한 사본 요청이 있을 때마다 AWS KMS를 직접적으로 호출합니다. 디렉터리 버킷에서 SSE-KMS를 사용하는 방법에 대한 자세한 내용은 디렉터리 버킷의 기본 암호화 설정 및 모니터링디렉터리 버킷에서 AWS KMS 키(SSE-KMS)를 사용한 서버 측 암호화 사용 섹션을 참조하세요.

  • 디렉터리 버킷의 객체에는 태그를 지정할 수 없습니다. 빈 태그 세트만 지정할 수 있습니다. 기본적으로 배치 작업은 태그를 복사합니다. 태그가 있는 객체를 범용 버킷과 디렉터리 버킷 간에 복사하면 501 (Not Implemented) 응답이 표시됩니다.

  • S3 Express One Zone은 업로드 또는 다운로드 중에 데이터를 검증하는 데 사용하는 체크섬 알고리즘을 선택할 수 있는 옵션을 제공합니다. SHA(보안 해시 알고리즘) 또는 CRC(순환 중복 검사) 데이터 무결성 확인 알고리즘(CRC32, SHA-1, SHA-256) 중 하나를 선택할 수 있습니다. MD5 기반 체크섬은 S3 Express One Zone 스토리지 클래스에서 지원되지 않습니다.

  • 기본적으로 모든 Amazon S3 버킷은 객체 소유권 설정을 S3 버킷 소유자 적용으로 설정하며 액세스 제어 목록(ACL)이 비활성화되어 있습니다. 디렉터리 버킷의 경우 이 설정을 수정할 수 없습니다. 범용 버킷의 객체를 디렉터리 버킷으로 복사할 수 있습니다. 하지만 디렉터리 버킷으로 복사하거나 디렉터리 버킷에서 복사할 때는 기본 ACL을 덮어쓸 수 없습니다.

  • 매니페스트를 지정하는 방법과 관계없이 목록 자체는 범용 버킷에 저장해야 합니다. 배치 작업은 디렉터리 버킷에서 기존 매니페스트를 가져오거나 생성된 매니페스트를 디렉터리 버킷에 저장할 수 없습니다. 하지만 매니페스트에 설명된 객체는 디렉터리 버킷에 저장할 수 있습니다.

  • 배치 작업은 S3 인벤토리 보고서에서 디렉터리 버킷을 위치로 지정할 수 없습니다. 인벤토리 보고서는 디렉터리 버킷을 지원하지 않습니다. ListObjectsV2 API 작업을 사용하여 객체를 나열하여 디렉터리 버킷 내의 객체에 대한 매니페스트 파일을 만들 수 있습니다. 그런 다음 CSV 파일로 목록을 삽입할 수 있습니다.

액세스 권한 부여

복사 작업을 수행하려면 다음 권한이 있어야 합니다.

  • 한 디렉터리 버킷에서 다른 디렉터리 버킷으로 객체를 복사하려면 s3express:CreateSession 권한이 있어야 합니다.

  • 디렉터리 버킷에서 범용 버킷으로 객체를 복사하려면 대상 버킷에 객체 사본을 쓸 수 있도록 s3express:CreateSession 권한과 s3:PutObject 권한이 있어야 합니다.

  • 범용 버킷에서 디렉터리 버킷으로 객체를 복사하려면 복사되는 소스 객체를 읽을 수 있도록 s3express:CreateSession 권한과 s3:GetObject 권한이 있어야 합니다.

    자세한 내용은 Amazon Simple Storage Service API 참조에서 CopyObject를 참조하십시오.

  • Lambda 함수를 호출하려면 Lambda 함수를 기반으로 리소스에 권한을 부여해야 합니다. 필요한 권한을 확인하려면 해당 API 권한을 확인하세요.