#AWS Certified Solutions Architect Associate
AWS-DVA 과정에서 나오지 않았거나, 기억이 안나는 부분 메모
생명주기 규칙을 이용해 각 스토리지간 이동을 자동화 할 수 있다고 함
https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/object-lifecycle-mgmt.html
Amazon S3에서 **요청자 지불 버킷(Requester Pays Bucket)**을 설정할 수 있습니다. 이 기능은 데이터를 다운로드하거나 요청하는 사용자가 데이터 전송 및 요청 비용을 부담하도록 합니다. 요청자 지불 버킷을 사용하면 데이터를 공유하면서도 데이터 액세스에 대한 요금을 원하지 않을 때 유용합니다.
요청자 지불 버킷을 구성하면 다음과 같은 특징이 있습니다:
- 요청자 지불: 요청자가 데이터를 다운로드하거나 요청할 때 요금을 지불합니다. 이는 버킷 소유자 대신 요청자가 비용을 부담하는 방식입니다.
- 데이터 저장 비용: 데이터 저장 비용은 여전히 버킷 소유자가 지불합니다. 요청자 지불 버킷은 데이터 저장 요금에 영향을 주지 않습니다.
- 인증: 요청자 지불 버킷을 사용하려면 요청자가 요청에 앞서 인증되어야 합니다. Amazon S3는 요청 인증을 통해 요청자를 식별하고 요금을 부과합니다.
- 요청자 지불 헤더: 요청자는 요청의 헤더에 x-amz-request-payer를 포함하여 요청과 데이터 다운로드에 대한 요금 부과를 인지했음을 표시해야 합니다.
요청자 지불 버킷은 익명 요청, SOAP 요청을 지원하지 않으며 최종 사용자 로깅에 사용할 수 있습니다. 요청자 지불 요금은 요청자가 데이터 전송 및 요청에 대한 요금을 지불하고, 버킷 소유자는 데이터 저장 요금을 지불하는 방식으로 청구됩니다12.
자세한 내용은 Amazon S3 사용 설명서를 참조하세요.
Amazon S3 (Simple Storage Service)은 **Amazon Web Services (AWS)**에서 제공하는 널리 사용되는 클라우드 저장소 서비스입니다. S3 기준 성능을 공부하면서 "버킷 내의 접두사 수에는 제한이 없다"는 문장을 보셨습니다. 이것이 무엇을 의미하는지 자세히 살펴보겠습니다:
- S3 버킷 내의 접두사:
- S3에서 접두사는 객체 키의 객체 이름 앞에 오는 부분을 의미합니다. 예를 들어 photos/summer/beach.jpg와 photos/summer/mountain.jpg와 같은 객체 키가 있다면 접두사는 photos/summer/입니다.
- 접두사는 객체를 버킷 내에서 구성하고 분류하는 데 사용됩니다. 이는 가상 디렉터리 또는 폴더 역할을 합니다.
- 하나의 S3 버킷 내에서 필요한 만큼 많은 접두사를 생성할 수 있습니다.
- 접두사 수에 제한 없음:
- "버킷 내의 접두사 수에는 제한이 없다"는 문장은 하나의 S3 버킷 내에서 원하는 만큼 많은 접두사를 생성할 수 있다는 뜻입니다.
- 각 접두사는 일정한 수준의 요청 트래픽을 처리할 수 있습니다. 구체적으로 S3 접두사는 데이터 추가 작업 (예: PUT, COPY, POST, DELETE)에 대해 초당 최소 3,500개의 요청을 처리하고 데이터 검색 작업 (예: GET, HEAD)에 대해 초당 최소 5,500개의 요청을 처리할 수 있습니다.
- 여러 접두사를 생성하여 읽기 및 쓰기 작업을 병렬화하면 응용 프로그램의 성능을 확장할 수 있습니다.
- 병렬화와 성능:
- 병렬화는 요청을 여러 접두사에 분산하여 높은 처리량을 달성하는 것을 의미합니다.
- 예를 들어 읽기를 병렬화하기 위해 S3 버킷 내에 10개의 접두사를 생성하면 읽기 성능을 초당 최대 55,000개의 요청으로 확장할 수 있습니다.
- 마찬가지로 여러 접두사에 쓰기를 수행하여 쓰기 성능을 향상시킬 수 있습니다.
- 스케일링은 점진적으로 진행되며 이 과정에서 가끔 503 (Slow Down) 오류가 발생할 수 있습니다. 스케일링이 완료되면 이러한 오류는 사라집니다.
요약하면, S3 버킷 내의 접두사 수에 제한이 없으므로 데이터를 효율적으로 구성하고 다중 접두사를 통해 높은 성능을 달성할 수 있습니다 .
Amazon S3 Transfer Acceleration은 클라이언트와 S3 버킷 간의 장거리 파일 전송을 빠르고 안전하게 수행할 수 있는 버킷 수준 기능입니다. 이 기능은 전 세계에서 S3 버킷으로 전송 속도를 최적화하도록 설계되었습니다. Transfer Acceleration은 Amazon CloudFront에서 전 세계에 분산된 엣지 로케이션을 활용합니다. 엣지 로케이션에 도착한 데이터는 최적화된 네트워크 경로를 통해 Amazon S3로 라우팅됩니다.
Transfer Acceleration을 사용하면 다음과 같은 이점이 있습니다:
- 빠른 파일 전송: 큰 파일의 장거리 전송 속도를 최대 50-500%까지 높일 수 있습니다.
- 안전한 전송: 데이터는 안전한 경로를 통해 전송되며, Amazon S3의 기본 보안 기능을 그대로 유지합니다.
Transfer Acceleration을 사용하기 위해 다음 요구 사항을 확인해야 합니다:
- Transfer Acceleration은 가상 호스팅 방식 요청에서만 지원됩니다.
- 사용되는 버킷의 이름은 DNS를 따라야 하며 마침표 (“.”)를 포함할 수 없습니다.
- 버킷에서 Transfer Acceleration을 사용 설정해야 합니다. 이 설정은 최대 20분이 걸릴 수 있습니다.
- Transfer Acceleration이 지원되는 리전에 위치한 버킷을 사용해야 합니다. 현재 지원되는 리전 목록은 문서를 참조하세요1.
Transfer Acceleration을 사용하려면 버킷 소유자여야 하며, 필요한 권한을 설정해야 합니다. 자세한 내용은 Amazon S3 문서를 참조하세요2.
Amazon S3 Select는 Amazon Simple Storage Service (S3)의 기능 중 하나로, S3에 저장된 객체에서 특정 콘텐츠를 선택하는 데 사용됩니다1. 이 기능은 Amazon S3 콘솔, REST API, 그리고 AWS SDK와 함께 사용할 수 있습니다1.
S3 Select를 사용하면, SQL 쿼리를 이용하여 객체에서 원하는 데이터를 추출할 수 있습니다1. 이는 대용량 데이터를 처리해야 하는 경우에 특히 유용하며, 전체 데이터를 다운로드하고 처리하는 것보다 훨씬 빠르고 효율적입니다1.
- AWS Management Console에 로그인한 후, Amazon S3 콘솔을 엽니다.
- 왼쪽 탐색 창에서 버킷을 선택합니다.
- 콘텐츠를 선택하려는 객체를 포함하는 버킷을 선택한 다음 객체의 이름을 선택합니다.
- 객체 작업을 선택하고 S3 Select에서 쿼리를 선택합니다.
- 입력 데이터의 형식에 따라 입력 설정을 구성합니다.
- 수신하려는 출력 형식에 따라 출력 설정을 구성합니다.
- 선택한 객체에서 레코드를 추출하려면 SQL 쿼리에서 SELECT SQL 명령을 입력합니다.
- SQL 쿼리를 입력한 후 SQL 쿼리 실행을 선택합니다.
- 그런 다음 쿼리 결과에서 SQL 쿼리 결과를 확인할 수 있습니다.
또한, S3 Select는 SELECT SQL 명령만 지원하며, 지원되는 ANSI 표준 절은 SELECT, FROM, WHERE, LIMIT 등이 있습니다2. 현재 S3 Select 쿼리는 하위 쿼리 또는 조인을 지원하지 않습니다2.
'AWS > AWS Certified SAA' 카테고리의 다른 글
[Udemy][AWS-SAA][Section-15] CloudFront & AWS Global Accelerator (0) | 2023.11.28 |
---|---|
[Udemy][AWS-SAA][Section-14] Amazon S3 Security (0) | 2023.11.26 |
[Udemy][AWS-SAA][Section-12] Amazon S3 Introduction (0) | 2023.11.23 |
[Udemy][AWS-SAA][Section-11] Classic Solution Architecture Discussions (0) | 2023.11.22 |
[Udemy][AWS-SAA][Section-10] Route 53 (0) | 2023.10.31 |