Amazon ElastiCache for Redis のバックアップを Amazon Simple Storage Service (Amazon S3) にエクスポートしたいと考えています。
解決策
ElastiCache クラスターと同じ AWS リージョンにある Amazon S3 バケットを作成または使用する
ElastiCache スナップショット (rdb ファイル) を S3 バケットにコピーするには、ElastiCache クラスターと同じ AWS リージョンで既存のバケットを使用するか、バケットを作成します。
ElastiCache に Amazon S3 バケットへのアクセス許可を付与する
次の手順を実行します。
- Amazon S3 コンソールを開きます。
- バックアップをコピーする先の S3 バケット名を選択します。
- [アクセス許可] を選択します。
- [アクセスコントロールリスト (ACL)] で [編集] を選択します。
- [被付与者を追加] を選択し、次の正規 ID を入力します。 540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353。
- 次のいずれかを実行します。
[オブジェクト] で [リスト] および [書き込み] を選択します。
[バケット ACL] で [読み取り] および [書き込み] を選択します。
- 次に、[保存] を選択します。
注: AWS GovCloud (US) リージョンは次の ID を使用します。 40fa568277ad703bd160f66ae4f83fc9dfdfd06c2f1b5060ca22442ac3ef8be6
Amazon S3 バケットを操作するために必要なアクセス許可を付与します
バックアップをエクスポートするには、AWS Identity and Access Management ユーザーには必須のアクセス許可が必要です。
S3 バケットへのアクセスと .rdb ファイルのコピーに必要なアクセス許可を含む IAM ポリシー例を次に示します。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetBucketLocation",
"s3:ListAllMyBuckets",
"s3:PutObject",
"s3:GetObject",
"s3:DeleteObject",
"s3:ListBucket"
],
"Resource": "arn:aws:s3:::*"
}
]
}
注: 上記の例では、IAM ポリシーにより、すべての S3 バケットへのアクセスが付与されます。アクセス許可を特定のバケットに対してのみに制限することもできます。
IAM ポリシーがないか、ポリシーで必要なアクセス許可を拒否している場合、エクスポートは次のエラーを返します。 認証されたユーザーには、目的のアクティビティを実行するための十分なアクセス許可がありません。
ElastiCache for Redis のバックアップを Amazon S3 バケットにエクスポートする
次の手順を実行します。
- ElastiCache コンソールを開きます。
- ナビゲーションペインで、[リソース] には [バックアップ] を選択します。
- バックアップのリストからエクスポートするバックアップを選択し、[エクスポート] を選択します。
- [新しいバックアップ名] にバックアップの名前を入力します。Amazon ElastiCache は、入力した値にインスタンス識別子および、ファイル名拡張子 .rdb を追加します。たとえば、my-exported-backup と入力した場合は、ElastiCache は my-exported-backup-0001.rdb を作成します。
- [ターゲットの S3 ロケーション] ドロップダウンリストから、バックアップをエクスポートする S3 バケットの名前を選択します。
- [エクスポート] を選択します。
関連情報
バックアップをエクスポートする
Seeding a new self-designed cluster with an externally created backup