Home S3 Batch operation 주의사항
Post
Cancel

S3 Batch operation 주의사항

S3 Batch operation 주의사항

여러 나라에 서비스를 제공할 때, 여러 region의 DB를 주기적으로 sync해야하는 것처럼 S3 bucket의 객체들을 정기적으로 복제해서 A bucket과 B bucket의 내용을 주기적으로 동일하게 맞춰야 하는 경우가 있습니다. 이 경우, s3 sync command를 schedule job으로 걸어주는 것보다 s3 batch operation을 활용하는 것이 더 효과적입니다. batch operation을 사용할 경우 다음과 같은 장점이 있습니다.

  1. 비용이 절약됩니다.
  2. 동기화 속도가 더 빠릅니다.
  3. 객체의 내용을 그대로 복제합니다. (s3 sync의 경우 metadata가 변경됩니다.)
batch operation(job) 사용 시, 주의할 점은 다음과 같습니다.
  1. batch job에 쓰이는 role은 source bucket에 대한 get 권한, destination bucket에 대한 put 권한이 필요합니다. 치소 권한으로 적용하고 싶으신 경우 아래 참고를 참조할 수 있습니다.
  2. report를 쓰고 싶은 경우 마찬가지로 batch job role에 report bucket에 대한 put 권한이 필요합니다.
  3. kms key를 사용하여 암호화된 객체를 복제할 경우, destination bucket으로 복제할 때 kms key로 재암호화해야 합니다.
  4. 반대로 기본 sse-s3 암호화로 객체를 복제할 경우, destination bucket으로 복제할 때 sse-s3로 재암호화해야 합니다. 즉, kms key로 암호화한 객체를 sse-s3로 복제하거나 그 반대는 불가능합니다.
  5. kms key를 사용하여 암호화된 객체를 복제할 경우, 경우 destination의 kms key policy에도 source bucket이 접근할 수 있는 권한을 부여해야 합니다.





참고

This post is licensed under CC BY 4.0 by the author.