한 회사가 여러 대륙에 걸쳐 있는 도시의 온도, 습도 및 기압에 대한 데이터를 수집합니다. 각 사이트에서 매일 수집하는 데이터의 평균 용량은 500GB입니다. 각 사이트는 초고속 인터넷 연결이 되어 있습니다.
이 회사는 이 모든 글로벌 사이트의 데이터를 단일 Amazon S3 버킷에 최대한 빨리 집계하기를 원합니다. 이 솔루션은 운영 복잡성을 최소화해야 합니다.
다음 중 이러한 요구사항을 충족하는 솔루션은 무엇입니까?
A. 대상 S3 버킷에서 S3 전송 가속을 설정합니다. 멀티파트 업로드를 사용하여 대상 S3 버킷에 사이트 데이터를 직접 업로드합니다.
B. 각 사이트의 데이터를 가장 가까운 Region에 있는 S3 버킷에 업로드하고 S3 Cross-Region Replication을 사용하여 개체를 대상 S3 버킷에 복사한 다음 오리진 S3 버킷에서 데이터를 제거합니다.
C. AWS Snowball Edge Storage Optimized 장치 작업 스케줄을 매일 지정하여 각 사이트에서 가장 가까운 Region으로 데이터를 전송합니다. S3 Cross-Region Replication을 사용하여 개체를 대상 S3 버킷에 복사합니다.
D. 각 사이트의 데이터를 가장 가까운 Region에 있는 Amazon EC2 인스턴스에 업로드하고 Amazon Elastic Block Store(Amazon EBS) 볼륨에 데이터를 저장합니다. 일정한 간격으로 EBS 스냅샷을 만들어 대상 S3 버킷이 포함된 Region에 복사하고 해당 Region에서 EBS 볼륨을 복원합니다.
S3 Transfer Acceleration 사용 설정 및 사용 — Amazon Simple Storage Service
Amazon S3 Transfer Acceleration을 사용하여 클라이언트와 S3 버킷 간의 장거리 파일 전송을 빠르고 안전하게 수행할 수 있다고 친절히 설명되어있다.
멀티파트 업로드를 사용한 객체 업로드 및 복사 — Amazon Simple Storage Service
멀티파트 업로드를 사용하면 단일 객체를 여러 부분의 집합으로 업로드할 수 있다고 한다. 일반적으로 100mb가 넘는 단일 객체라면 멀티파트 업로드가 권장된다. 하나의 큰 용량의 객체를 여러 부분으로 나눠 부분 번호를 매기고 각 부분을 따로 업로드한다. 당연히 나누어 처리하니 속도나 안정성 면에서 향상된다. 좀더 자세한 설명은 아래와 같다.
개선된 처리량 개선 — 부분을 병렬적으로 업로드하여 처리량을 개선할 수 있습니다.
네트워크 문제로부터 빠른 복구 — 더 작아진 부분 크기는 네트워크 오류로 인해 실패한 업로드 재시작의 영향을 최소화합니다.
객체 업로드 일시 중지 및 재개 — 객체 부분을 장시간에 걸쳐 업로드할 수 있습니다. 일단 멀티파트 업로드가 시작되면 제한 시간이 없습니다. 멀티파트 업로드를 명시적으로 완료하거나 중단해야 합니다.
최종 객체 크기를 알기 전에 업로드를 시작 — 객체를 생성하는 동안 업로드할 수 있습니다.
B가 답이라고 생각하는 사람들도 소수 있었다. 확실한건 운영 복잡성이 A가 훨씬 간단하며 확실한 답안이라는 생각이 든다.
Amazon S3의 다중 리전 액세스 포인트 — Amazon Simple Storage Service
Amazon S3 다중 리전 액세스 포인트는 애플리케이션이 여러 AWS 리전에 있는 S3 버킷의 요청을 이행하는 데 사용할 수 있는 글로벌 엔드포인트를 제공합니다. 다중 리전 액세스 포인트를 사용하여 단일 리전에서 사용되는 것과 동일한 아키텍처로 다중 리전 애플리케이션을 구축하면 전 세계 어디에서나 해당 애플리케이션을 실행할 수 있습니다. 다중 리전 액세스 포인트는 혼잡한 퍼블릭 인터넷을 통해 요청을 보내는 대신 Amazon S3에 대한 인터넷 기반 요청의 가속화를 통해 기본 제공 네트워크 복원력을 제공합니다.
우선 해당 서비스가 네트워크 복원력을 제공하는 것에 최종 목표를 두고 있는 것을 확인했다. 굳이 최종 목표가 처리 속도 증가인 서비스를 납두고 이것을 답으로 선택할 필요는 없는 것이다.