Bucket
- Object type의 데이터를 담는 저장소
버킷은 특정 리전에 존재하며 동일 리전의 사용자들이 데이터에 접근하는 경우는 이슈가 없다.
하지만 사용자가 해당 버킷과 멀어질수록 latency가 증가한다.
S3에 데이터를 업로드하는 방법
1. AWS Managemen Console
2. AWS CLI
Command를 이용
- cp (Copy), mv (Move), sync (Synchronize)
3. AWS SDKs
- code를 작성해서 직접 S3 API를 호출
- 지원 언어 : Python(Boto3), C++, Go, Java, Javascript, .NET, Node.js, PHP, Ruby
global user가 S3 데이터를 사용해야 하는 경우? (download)
CloudFront를 사용한다.
- 사용자 근처의 Cache Node를 이용하여 빠르게 데이터에 접근할 수 있도록 해줌
- cache node는 optimized path(최적화경로)를 이용하여 서로 연결되어 있기 때문에 데이터 전송이 빠르다.
"bucket -> CloudFront -> (optimized path) -> cache node -> 사용자"로 데이터가 전송된다.
- 사용자가 요청한 object가 cache node에 없더라도 optimized path를 사용하므로 더 빠르게 데이터에 접근할 수 있다.
global user가 S3에 데이터를 보내야 하는 경우? (upload)
Transfer Acceleration 사용한다.
- Bucket 단위로 Transfer Acceleration 기능 적용(enable)
- 기능 적용 시, 전용 endpoint가 생성된다.
ex) bucketname.s3-acceleration.amazonaws.com (for IPv4)
bucketname.s3-acceleration.dualstack.amazonaws.com (for IPv6)
- CloudFront의 Edge Location과 optimized path를 이용하여 빠르게 데이터를 S3로 보내준다.
댓글