기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
DynamoDB 태깅 적용 지원
작성자: Mansi Suratwala(AWS)
환경: 프로덕션 | 기술: 데이터베이스; CloudNative; 보안, 자격 증명, 규정 준수 | 워크로드: 기타 모든 워크로드 |
AWS 서비스: Amazon CloudWatch, Amazon DynamoDB , AWS Lambda, Amazon SNS |
요약
이 패턴은 사전 정의된 Amazon DynamoDB 태그가 누락되거나 Amazon Web Services(AWS) 클라우드의 DynamoDB 리소스에서 제거될 때 자동 알림을 설정합니다.
DynamoDB는 확장성과 함께 빠르고 예측 가능한 성능을 제공하는 완전 관리형 데이터베이스 없음SQL 서비스입니다. DynamoDB를 사용하면 분산 데이터베이스를 운영하고 규모를 조정하는 데 따르는 관리 부담을 덜 수 있습니다. DynamoDB 는 하드웨어 프로비저닝, 설정 및 구성, 복제, 소프트웨어 패치 또는 클러스터 규모 조정에 대해 걱정할 필요가 없게 합니다.
패턴은 Amazon CloudWatch Events 이벤트와 AWS Lambda 함수를 생성하는 AWS CloudFormation 템플릿을 사용합니다. 이벤트는 를 사용하여 신규 또는 기존 DynamoDB 태그 지정 정보를 감시합니다AWS CloudTrail. 사전 정의된 태그가 누락되거나 제거되면 가 Lambda 함수를 CloudWatch 트리거하여 위반 사실을 알리는 Amazon Simple Notification Service(AmazonSNS) 알림을 보냅니다.
사전 조건 및 제한 사항
사전 조건
활성 AWS 계정
Lambda 함수를 실행하는 Python 스크립트가 포함된 Lambda .zip 파일용 Amazon Simple Storage Service(S3) 버킷
제한 사항
솔루션은
TagResource
또는UntagResource
CloudTrail 이벤트가 발생할 때만 작동합니다. 다른 이벤트에 대한 알림은 생성되지 않습니다.
아키텍처
대상 기술 스택
Amazon DynamoDB
AWS CloudTrail
Amazon CloudWatch
AWS Lambda
Amazon S3
Amazon SNS
대상 아키텍처
자동화 및 규모 조정
템플릿을 여러 AWS 리전과 계정에 AWS CloudFormation 여러 번 사용할 수 있습니다. 템플릿은 각 리전 또는 계정에서 한 번만 실행하면 됩니다.
도구
도구
Amazon DynamoDB – DynamoDB는 확장성과 함께 빠르고 예측 가능한 성능을 제공하는 완전 관리형 데이터베이스 없음SQL 서비스입니다.
AWS CloudTrail – CloudTrail 는 AWS 계정의 거버넌스, 규정 준수, 운영 및 위험 감사를 지원하는 AWS 서비스입니다. 사용자, 역할 또는 AWS 서비스가 수행한 작업은 에 이벤트로 기록됩니다 CloudTrail.
Amazon CloudWatch Events - Amazon CloudWatch Events는 AWS 리소스의 변경 사항을 설명하는 시스템 이벤트의 거의 실시간 스트림을 제공합니다.
AWS Lambda – Lambda는 서버를 프로비저닝하거나 관리할 필요 없이 코드 실행을 지원하는 컴퓨팅 서비스입니다. Lambda는 필요 시에만 코드를 실행하며, 일일 몇 개의 요청에서 초당 수천 개의 요청까지 자동으로 규모를 조정합니다.
Amazon S3-Amazon Simple Storage Service(S3)는 웹 사이트, 모바일 애플리케이션, 백업, 데이터 레이크 등 다양한 스토리지 솔루션에 사용할 수 있는 확장성이 뛰어난 객체 스토리지 서비스입니다.
Amazon SNS – Amazon Simple Notification Service(Amazon SNS)는 애플리케이션, 최종 사용자 및 디바이스가 클라우드에서 알림을 즉시 보내고 받을 수 있도록 지원하는 웹 서비스입니다.
코드
프로젝트의 .zip 파일은 첨부 파일로 제공됩니다.
에픽
작업 | 설명 | 필요한 기술 |
---|---|---|
S3 버킷을 정의합니다. | Amazon S3 콘솔에서 선행 슬래시를 포함하지 않는 고유한 이름을 가진 S3 버킷을 선택하거나 생성합니다. 이 S3 버킷은 Lambda 코드 .zip 파일을 호스팅합니다. S3 버킷은 모니터링 중인 DynamoDB 리소스와 동일한 AWS 리전에 있어야 합니다. | 클라우드 아키텍트 |
작업 | 설명 | 필요한 기술 |
---|---|---|
Lambda 코드를 S3 버킷에 업로드합니다. | 첨부 파일 섹션에 제공된 Lambda 코드 .zip 파일을 S3 버킷에 업로드합니다. S3 버킷은 모니터링되는 DynamoDB 리소스와 동일한 리전에 있어야 합니다. | 클라우드 아키텍트 |
작업 | 설명 | 필요한 기술 |
---|---|---|
AWS CloudFormation 템플릿을 배포합니다. | AWS CloudFormation 콘솔에서 첨부 파일 섹션에 제공된 AWS CloudFormation 템플릿을 배포합니다. 다음 에픽에서 파라미터에 대한 값을 입력합니다. | 클라우드 아키텍트 |
작업 | 설명 | 필요한 기술 |
---|---|---|
S3 버킷에 이름을 지정합니다. | 첫 번째 에픽에서 생성하거나 선택한 S3 버킷의 이름을 입력합니다. | 클라우드 아키텍트 |
Amazon S3 키를 입력합니다. | S3 버킷의 Lambda 코드 .zip 파일 위치를 선행 슬래시 없이 입력합니다(예: | 클라우드 아키텍트 |
이메일 주소 입력 | Amazon SNS 알림을 수신할 활성 이메일 주소를 제공합니다. | 클라우드 아키텍트 |
로깅 수준을 정의합니다. | Lambda 함수의 로깅 수준 및 빈도를 정의합니다. | 클라우드 아키텍트 |
필요한 DynamoDB 태그 키를 입력합니다. | 태그는 쉼표로 구분하고 태그 사이에 스페이스가 없어야 합니다 (예: | 클라우드 아키텍트 |
작업 | 설명 | 필요한 기술 |
---|---|---|
구독을 확인합니다. | 템플릿이 성공적으로 배포되면 입력한 이메일 주소로 구독 이메일이 전송됩니다. 위반 알림을 받으려면 이 이메일 구독을 확인해야 합니다. | 클라우드 아키텍트 |
관련 리소스
첨부
이 문서와 관련된 추가 콘텐츠에 액세스하려면 attachment.zip 파일의 압축을 풉니다.