데이터 키 캐싱 예제 - AWS 암호화 SDK

문서의 영문과 번역 사이에 충돌이 있는 경우에는 영문 버전을 따릅니다. 번역 버전은 기계 번역을 사용하여 제공합니다.

데이터 키 캐싱 예제

이 예제에서는 데이터 키 캐싱local cache를 함께 사용하여 다양한 리전에서 여러 디바이스에 의해 생성되는 데이터가 암호화 및 저장되는 애플리케이션의 속도를 가속화합니다.

이 시나리오에서는 각 리전의 여러 데이터 생산자가 데이터를 생성하고 암호화하며 Kinesis 스트림에 씁니다. AWS Lambda 함수(소비자)는 해당 리전에서 스트림을 해독하여 일반 텍스트 데이터를 DynamoDB 테이블에 씁니다. 데이터 생산자와 소비자는 AWS 암호화 SDK 및 AWS KMS 마스터 키 공급자를 사용합니다. KMS에 대한 호출을 줄이기 위해 각 생산자와 소비자는 자체 local cache.

다음 예제의 소스 코드를 찾을 수 있습니다. 자바비단뱀. 샘플은 또한 AWS CloudFormation 템플릿은 샘플 에 대한 리소스를 정의합니다.


      이 다이어그램은 데이터 생산자와 소비자가 AWS KMS, Amazon Kinesis Data Streams, 및 Amazon DynamoDB.

로컬 캐시 결과

아래 표에서는 local cache가 이 예제의 총 KMS 호출 수(리전별 초당)를 원래 값의 1%로 줄이는 것을 보여줍니다.

클라이언트당 초당 요청 수 지역별 고객 수 지역당 초당 평균 요청 수
데이터 키 생성(미국 서부-2) 데이터 키 암호화(eu-central-1) 합계(지역당)
캐시 없음 1. 1 1 500개 500개
로컬 캐시 1 rps / 100회 사용 1 rps / 100회 사용 1 rps / 100회 사용 500개 5.
클라이언트당 초당 요청 수 지역별 고객 지역당 초당 평균 요청 수
데이터 키 암호 해독 생산자 합계
캐시 없음 생산자당 1 rps 500개 500개 2. 1,000
로컬 캐시 생산자당 1 rps / 100회 사용 500개 5. 2. 10%