Batch-Operation
1 S3 Batch Operation
- S3 Batch Operation은 Amazon S3에서 대규모의 객체에 대해 동일한 작업을 반복적으로 수행할 수 있는 강력한 기능입니다.
- 이 기능을 통해 수백만 개 또는 심지어 수십억 개의 객체에 대해 간단한 작업부터 복잡한 데이터 처리 작업까지 자동화할 수 있습니다.
- S3 Batch Operation은 대규모 데이터 관리, 보안 설정 변경, 데이터 분석 등 다양한 시나리오에서 유용하게 활용될 수 있습니다.
2 S3 Batch Operation의 주요 기능
2.1 지원되는 작업 유형
- S3 Batch Operation은 다양한 유형의 작업을 지원하여 다양한 사용 사례에 대응할 수 있습니다.
- Copy 작업
- 대량의 S3 객체를 다른 버킷으로 복사할 수 있습니다.
- 이는 데이터 마이그레이션, 백업 생성, 또는 데이터 복제에 유용합니다.
- PUT 객체 태그 지정 작업
- 객체에 메타데이터 태그를 일괄적으로 추가, 수정 또는 삭제할 수 있습니다.
- 이를 통해 대규모 데이터셋을 효과적으로 분류하고 관리할 수 있습 니다.
- PUT 객체 ACL 작업
- 객체의 접근 제어 목록(ACL)을 일괄적으로 변경할 수 있습니다.
- 보안 정책 변경이나 규정 준수를 위해 유용합니다.
- PUT 객체 복사 작업
- 기존 객체의 메타데이터를 변경하거나 객체를 다른 스토리지 클래스로 이동할 수 있습니다.
- S3 Glacier에서 객체 복원 시작 작업
- Glacier에 저장된 객체를 복원할 수 있습니다.
- 아카이브된 데이터에 대한 대규모 액세스가 필요한 경우 유용합니다.
- AWS Lambda 함수 호출
- 각 객체에 대해 AWS Lambda 함수를 호출하여 사용자 정의 작업을 수행할 수 있습니다.
- 이를 통해 복잡한 데이터 처리 작업을 자동화할 수 있습니다.
2.2 작업 실행 프로세스
- S3 Batch Operation의 작업 실행은 여러 단계로 이루어집니다.
- 작업 정의
- 작업 유형, 대상 객체 목록, 작업 설정 등을 정의합니다.
- AWS Management Console, AWS CLI, 또는 AWS SDK를 사용하여 작업을 정의할 수 있습니다.
- 작업 생성
- 정의된 작업을 S3 Batch Operation 작업으로 생성합니다.
- 이 단계에서 작업에 대한 고유 ID가 생성됩니다.
- 작업 시작
- 생성된 작업을 시작합니다.
- 작업 시작 시 S3 Batch Operation이 자동으로 작업을 관리하고 실행합니다.
- 작업 모니터링
- AWS Management Console이나 Amazon CloudWatch를 통해 작업의 진행 상황을 실시간으로 모니터링할 수 있습니다.
- 작업 완료율, 성공/실패한 작업 수 등의 정보를 확인할 수 있습니다.
- 작업 완료 및 보고서 생성
- 작업이 완료되면 S3 Batch Operation은 자동으로 완료 보고서를 생성합니다.
- 이 보고서에는 작업 결과, 오류 정보 등이 포함됩니다.
2.3 작업 대상 지정 방법
- S3 Batch Operation은 작업 대상을 지정하는 두 가지 주요 방법을 제공합니다.
매니페스트 파일 사용
bucket,key
example-bucket,object1.jpg
example-bucket,path/to/object2.png
- CSV 형식의 매니페스트 파일을 사용하여 작업할 객체 목록을 명시적으로 지정할 수 있습니다.
- 매니페스트 파일에는 각 객체의 버킷 이름, 객체 키, 버전 ID(선택 사항) 등이 포함됩니다.
S3 인벤토리 보고서 기반 쿼리
SELECT * FROM inventory
WHERE size > 1048576 AND last_modified_date > '2023-01-01'