DynamoDB 테이블 중 하나를 백업한다고 가정해 보겠습니다. 매일. 또한 지정된 기간 동안 백업을 보관하려고 합니다. 시간. 이를 달성하는 간단한 방법은 Amazon CloudWatch Events를 사용하는 것입니다. 매일 AWS Lambda 함수를 트리거하는 규칙입니다. 이 실습 AWS 랩에서는 Boto3를 사용하여 Python으로 Lambda 함수를 작성합니다. 라이브러리.이를 설정하려면 IAM 역할을 구성하고 CloudWatch 규칙 및 Lambda 함수 생성
계정에 있는 모든 DynamoDB 테이블을 사용할 수 있습니다. 이 연습에서는 AWS CLI를 사용하여 생성하려는 경우 다음 명령을 사용할 수 있습니다.
aws dynamodb create-table --table-name Person --attribute-definitions AttributeName=id,AttributeType=N --key-schema AttributeName=id,KeyType=HASH --billing-mode=PAY_PER_REQUEST
이렇게 하면 기본 키 ID가 있는 Person이라는 DynamoDB 테이블이 생성됩니다.
모든 Lambda 함수에는 다음을 정의하는 IAM 역할이 필요합니다. 부여된 권한입니다. 이를 Lambda 함수의 실행 역할이라고 합니다. 먼저, Lambda에 대한 IAM 역할을 작성하는 과정을 살펴보겠습니다. 함수를 만들고 Lambda 함수 자체를 생성합니다. 우리는 AWS를 사용할 것입니다. 이 작업에 대한 관리 콘솔:
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource":"arn:aws:logs:*:*:*" }, { "Action":[ "dynamodb:CreateBackup", "dynamodb:DeleteBackup", "dynamodb:ListBackups" ], "Effect":"Allow", "Resource":"*" } ]}
이 문은 두 가지 권한 집합을 부여합니다. 첫째, 다음을 부여합니다. CloudWatch Logs에 로깅하는 기능. 이 권한이 있으면 모든 Python print() 문이 CloudWatch Logs에 표시됩니다.둘째, 권한을 부여합니다. Lambda 함수가 DynamoDB 백업을 생성, 나열 및 삭제하려면 모든 테이블.
이제 정책이 생성되었으므로 이 정책이 연결된 역할을 생성해야 합니다.
람다 함수를 만들어 봅시다!
다음 소스 코드를 Lambda에 붙여넣습니다. 함수 코드 편집기:화면 오른쪽 상단에서 저장을 클릭합니다.
다음으로 Lambda 예약을 위한 CloudWatch 규칙을 생성하겠습니다. 일정한 간격으로 실행되는 기능입니다. 이렇게 하면 다음 항목의 백업이 수행됩니다. DynamoDB 테이블을 만들고 오래된 백업을 제거합니다.
aws dynamodb create-table --table-name Person --attribute-definitions AttributeName=id,AttributeType=N --key-schema AttributeName=id,KeyType=HASH --billing-mode=PAY_PER_REQUEST
위 내용은 Lambda, Python 및 Boto3를 사용하여 Amazon DynamoDB 백업 예약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!