DynamoDB テーブルの 1 つのバックアップを作成すると仮定します。 毎日。また、バックアップを指定した期間保持したいと考えています。 これを達成する簡単な方法は、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 関数には、 それに付与された権限。これは 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":"*" } ]}
このステートメントは 2 セットの権限を付与します。まず、次のことを許可します。 CloudWatch Logs にログを記録する機能。この権限があれば、あらゆる Python print() ステートメントは CloudWatch Logs に表示されます。次に、権限を付与します。 Lambda 関数が DynamoDB バックアップを作成、一覧表示、削除するための すべてのテーブル。
ポリシーが作成されたので、このポリシーがアタッチされるロールを作成する必要があります。
Lambda 関数を作成しましょう!
貼り付け次のソースコードを 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 中国語 Web サイトの他の関連記事を参照してください。