AWS S3 버킷 간 복제를 수행하는 경우 단순한 aws s3 cp 명령어로 충분한 경우가 많습니다.
하지만, 수천~수백만 개의 객체를 복제하거나, 교차 계정/리전 간 복제가 필요할 경우엔
s3 cp 명령어 보단 S3 Batch Operations 사용이 더 적합한 경우가 많습니다.
NDS에서는 CLI vs S3 Batch 선택 기준을 다음과 같이 권장 드립니다.
| 항목 | AWS CLI | S3 Batch Operations |
|---|---|---|
| 적합한 상황 | 단일 파일, 소량 복제, 일회성 | 수천~수백만 개, 대규모 복제 |
| 실행 위치 | 사용자 로컬/EC2 등 | AWS 내부에서 수행 |
| 자동화 방법 | 스크립트 + cron | Batch Job으로 정의 |
| 병렬 처리 | 직접 병렬화 구현 필요 | 자동 병렬 처리 |
| 작업 추적/로깅 | 수동 구현 필요 | CloudWatch + 리포트 지원 |
| 권한 설정 | 단순 (GetObject, PutObject) | 복잡한 IAM Role + Bucket 정책 |
| 비용 | S3 API 요금만 발생 | 추가 Batch 비용 발생 |
| 보존정책/태그 포함 | 불가 | 가능 (ReplicateTags 등 포함) |
사용 시나리오별 추천
| 사용 예시 | 추천 도구 | 이유 |
|---|---|---|
| 특정 파일 몇 개 복사 | aws s3 cp | 빠르고 간편 |
| 하루 1회 특정 Prefix 백업 | aws s3 sync + cron | 간단한 자동화 |
| 수백만 개 객체 교차 계정/리전 복제 | S3 Batch Operations | 병렬 처리 + 태그/소유권 전환 포함 |
| 객체 목록(csv/json) 기준 복제 | S3 Batch Operations | 매니페스트 기반 대규모 작업에 적합 |
| 실시간 이벤트 기반 복제 | ❌ (추천 안됨) | Replication Rule이나 EventBridge 사용 고려 |
S3 Batch Operations 비용 구조
(2025/05 기준이며, 정확한 계산은 – https://calculator.aws/#/ 참고 바랍니다.)

1. 작업 요청 요금 (Job 단위)
| 항목 | 요금 |
|---|---|
| Batch 작업 1건 생성 | $0.25 USD |
- 작업 요청이 생성되기만 해도 요금이 청구됩니다.
2. 객체 작업 요금(Per Object)
| 항목 | 요금 |
|---|---|
| 객체 1,000개 복제 | $0.01 USD |
| 객체 1개당 | $0.00001 USD |
예시 계산
| 항목 | 수치 | 계산 | 비용 |
|---|---|---|---|
| Job 1건 | 1 | 1 × $0.25 | $0.25 |
| 객체 복제 10,000개 | 10,000 / 1,000 = 10 | 10 × $0.01 | $0.10 |
| 총합 | – | – | $0.35 |
유의사항
- 리전 간 복제시 Data Transfer 요금 별도 부과
- S3 API 호출 (
GetObject,PutObject) 비용도 추가로 발생 합니다. - 실패한 객체도 작업 수에 포함되므로 비용에 반영됩니다.
- S3 Batch 작업은 CloudWatch + 리포트 버킷으로 추적 가능 합니다.
복제 대상 수나 작업 방식에 따라 효율성과 비용이 크게 달라질 수 있습니다.
일회성 vs 대규모, 수동 vs 자동화, 단순 복사 vs 정책 포함 복제 여부등을 고려해 적절한 방식을 선택하여야 하며,
관련하여 고민이 있으신 경우, NDS 클라우드 기술팀으로 문의 부탁드립니다.
SA 오승우