Today I Learned_220307

3 분 소요

AWS Certified Developer Associate

AWS Skill builder에서 강의 수강 : Exam Readiness: AWS Certified Developer – Associate (Digital) (Korean)

Amazon S3

버킷

사용자가 생성하는 글로벌 네임스페이스의 일부

특정 리전에서 버킷 이름을 생성하는 경우 해당 이름은 전체 리전에서 고유하며 개별 리전에만 국한되지 않는다.

객체

버킷 내부에 저장하는 파일 또는 객체 데이터

객체는 특정 리전으로 설정되고 key와 version ID로 구성되며, 객체를 래핑할 수 있는 수명 주기 관리 정책과 크기가 있다.

REST API를 사용하여 개별 객체에 대한 작업 수행 가능 → 객체를 저장하고, 가져오고 삭제할 수 있다.

미리 서명된 URL을 사용하여 객체 액세스를 허용하고 제한할 수도 있다.

IAM 역할

자격 증명에 따라 AWS에서 할 수 있는 작업과 할 수 없는 작업이 결정되는 권한 정책을 사용하는 AWS 자격 증명

장기 표준 자격증명을 사용하지 않으며, 사용자가 역할을 맡으면 임시 보안 자격이 동적으로 생성되어 해당 사용자에 제공된다.

역할을 사용하여 일반적으로 AWS 리소스에 대한 액세스 권한이 없는 사용자, 애플리케이션 또는 서비스에 액세스 권한을 위임할 수 있다.

Amazon S3 ACL

객체 또는 버킷 수준에서 임대 권한을 부여할 수 있다.

버킷 로깅을 활성화하거나 전 세계에서 읽을 수 있는 정적 웹 사이트 역할을 할 버킷에 대한 액세스를 제한하는데 유용하다.

IAM이 존재하기 전에부터 있던 기능이며 지금도 사용되고 있다. 상호 보완적으로 사용하자.

버킷 정책은 리소스 기반 AWS IAM 정책으로 버킷에 버킷 정책을 추가하여 다른 AWS 계정이나 IAM 사용자에게 버킷 및 버킷에 있는 객체에 대한 액세스 권한을 부여한다.

객체 권한은 버킷 소유자가 생성한 객체에만 적용이 된다.

버킷 정책 ≠ S3 버킷 ACL, 하지만 함께 사용할 수 있다 -> 이 둘의 사용 방법 및 시기를 이해하고 아는 것이 중요하다.

Amazon DynamoDB

원활한 크기 조정으로 빠르고 예측 가능한 성능을 제공하는 완전 관리형 NoSQL 데이터베이스 서비스

높은 가용성과 데이터 내구성을 위해 각 테이블의 복제본 3개를 지역적으로 분산 저장한다.

DynamoDB에서 데이터를 읽을 때 사용자는 최종적 일관된 읽기를 수행할지 또는 강력한 일관된 읽기를 수행할지 지정할 수 있다.

빠른 속도의 내부 업데이트를 지원하며 SSD에서만 실행된다.

기본 키 및 보조 인덱스 설정이 가능하다.

글로벌 보조 인덱스 : 파티션 키 및 정렬 키가 테이블의 키와 다를 수 있는 인덱스

DynamoDB 처리량

읽기 용량 단위 및 쓰기 용량 단위로 측정된다.

1RCU = 4KB의 1초당 강력히 일관된 읽기 1단위 = 4KB의 1초당 최종적 일관된 읽기 2단위

1WCU = 1KB 의 초당 쓰기 1단위(1024바이트)

Amazon DynamoDB 스트림

DynamoDB 테이블 변경 사항에 대한 순서가 지정된 정보 흐름

  • 항목 추가 : 스트림은 모든 속성을 포함하여 전체 항목의 이미지를 캡처
  • 항목 수정 : 항목에서 수정된 모든 속성의 이전 이미지와 새 이미지를 캡쳐
  • 항목 삭제 : 항목 삭제 되기 전의 전체 항목의 이미지를 캡처

변경 사항이 발생할 때 스트림에 기록되는 정보를 선택한다 - 키, 새 이미지, 이전 이미지 또는 이전 이미지와 새 이미지 둘 다만 선택할 수 있다.

Amazon DynamoDB 기능

  • 조건부 쓰기 작업
  • 버전 번호를 이용한 optimistic한 잠금
  • 배치 작업

Amazon DynamoDB Accelerator(Amazon DAX)

마이크로초 단위의 응답 시간이 필요할 때 사용

DynamoDB와 호환되는 캐싱 서비스로 DAX를 통해 까다로운 애플리케이션을 위한 빠른 인메모리 성능을 이용할 수 있다.

연속 읽기/쓰기 캐시

읽기 실행 -> 해당 항목이 캐시에 있는지 확인

캐시에 있으면 -> DAX는 마이크로초 단위의 응답 시간으로 값을 반환

캐시에 없으면 -> DAX는 DynamoDB에서 항목을 자동으로 가져온 후 후속 읽기를 위해 결과를 캐싱하고 애플리케이션에 값을 반환한다.

쓰기의 경우 DAX는 먼저 Amazon DynamoDB에 값을 쓴 후 DAX에 값을 캐싱하고 애플리케이션에 성공을 반환한다.

DAX 활용 시나리오

  1. 인메모리 캐시 수행. DAX는 최종적 일관된 읽기 워크로드의 응답 시간을 대폭 줄인다. 10밀리초 미만에서 마이크로초 단위로 줄어든다.
  2. DAX는 Amazon DynamoDB와 호환되는 API인 관리형 서비스를 제공하여 운영 및 애플리케이션 복잡성을 줄인다 → 최소한의 기능 변경만으로 기존 애플리케이션 내에서 사용할 수 있다.
  3. DAX는 읽기 작업이 많거나 급증하는 워크로드를 위해 향상된 처리량을 제공하고 읽기 용량 단위를 초과 프로비저닝할 필요성을 줄여 잠재적 운영 비용을 절감한다 → 개별 키에 대한 반복 읽기가 필요한 애플리케이션에 유용하다.

글로벌 테이블

글로벌 테이블 : DynamoDB 테이블의 데이터 복제를 허용한다.

제본 테이블의 항목에 대한 변경 사항은 동일한 글로벌 테이블 내의 다른 모든 복제본에 복제된다.

새로 작성된 항목은 일반적으로 수 초 이내에 모든 테이블로 전파된다.

DynamoDB는 현재 일부 항목만 포함하는 부분 복제를 지원하지 않는다.

카테고리:

업데이트: