「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」
バックアップのエクスポート
Amazon ElastiCache では、ElastiCache バックアップの Amazon Simple Storage Service (Amazon S3) バケットへのエクスポートがサポートされています。これにより、ElastiCache 外部からバックアップにアクセスできます。ElastiCache コンソール、AWS CLI、または ElastiCache API を使用してバックアップをエクスポートできます。
バックアップのエクスポートは、他の AWS リージョンのクラスターを起動する必要がある場合に便利です。1 つの AWS リージョンでデータをエクスポートし、.rdb ファイルを新しい AWS リージョンにコピーして、その .rdb ファイルを使用することにより、新しいクラスターの入力を待つのではなく、新しいクラスターをシードできます。新しいクラスターのシードについては、「外部で作成されたバックアップによる新しいクラスターのシード」を参照してください。クラスターのデータをエクスポートする別の理由は、オフライン処理のために .rdb ファイルを使用するためです。
ElastiCache バックアップと、そのコピー先の Amazon S3 バケットは、同じ AWS リージョンにあることが必要です。
Amazon S3 バケットにコピーされたバックアップは暗号化されますが、バックアップを保存する Amazon S3 バケットへのアクセス権を他の人に付与しないことを強くお勧めします。
バックアップを Amazon S3 バケットにエクスポートする前に、バックアップと同じ AWS リージョンに Amazon S3 バケットが必要です。バケットへのアクセスを ElastiCache に許可します。最初の 2 つのステップで、これを行う方法を示します。
以下のシナリオでは、望まない方法でデータが公開される可能性があります。
-
他のユーザーがバックアップのエクスポート先の Amazon S3 バケットにアクセスできる。
バックアップへのアクセスを制御するために、データにアクセスする必要があるユーザーにのみ Amazon S3 バケットへのアクセスを許可します。バケットへのアクセスの管理については、Amazon S3 開発者ガイドの「アクセスの管理」を参照してください。Amazon S3
-
他のユーザーが CopySnapshot API オペレーションを使用するアクセス許可を持っている。
CopySnapshot
API オペレーションを使用するためのアクセス許可のあるユーザーまたはグループは、独自の Amazon S3 バケットを作成し、このバケットにバックアップをコピーできます。バックアップへのアクセスを制御するには、AWS Identity and Access Management (IAM) ポリシーにより、だれがCopySnapshot
API を使用できるかを管理します。IAM を使用して ElastiCache API オペレーションの使用を制御する方法の詳細については、Amazon ElastiCache の Identity and Access Management ユーザーガイドElastiCacheの「」を参照してください。
トピック
ステップ 1: Amazon S3 バケットの作成
以下の手順では、Amazon S3 コンソールを使用して、ElastiCache バックアップをエクスポートおよび保存する Amazon S3 バケットを作成します。
Amazon S3 バケットを作成するには
-
AWS マネジメントコンソールにサインインし、Amazon S3 コンソール (https://console.aws.amazon.com/s3/
) を開きます。 -
[Create Bucket] を選択します。
-
[Create a Bucket - Select a Bucket Name and Region] で、以下の操作を実行します。
-
[Bucket Name] に Amazon S3 バケットの名前を入力します。
Amazon S3 バケットの名前は DNS に準拠している必要があります。それ以外の場合、ElastiCache はバックアップファイルにアクセスできません。DNS 準拠のルールでは、次のようになります:
-
名前は、3 ~ 63 文字以内にする必要があります。
-
また、名前は、1 つのラベルか、または複数のラベルをピリオド (.) でつなげて構成します。各ラベルには次の規則が適用されます。
-
先頭の文字には小文字の英文字または数字を使います。
-
末尾の文字には小文字の英文字または数字を使います。
-
小文字、数字、ダッシュのみを含める必要があります。
-
-
名前を IP アドレスの形式にすることはできません (例: 192.0.2.0)。
-
-
[リージョン] リストから、Amazon S3 バケットの AWS リージョンを選択します。この AWS リージョンは、エクスポートする ElastiCache バックアップと同じ AWS リージョンであることが必要です。
-
[作成] を選択します。
-
バケットの作成の詳細については、Amazon S3 の「バケットの作成」を参照してください。Amazon Simple Storage Service コンソールユーザーガイド
ステップ 2: バケットへのアクセス権を ElastiCache に付与するAmazon S3
ElastiCache がスナップショットを Amazon S3 バケットにコピーできるようにするには、バケットへのアクセス権を付与します。Amazon S3 バケットへのアクセス権は、バケットがデフォルトの AWS リージョンにあるか、オプトイン AWS リージョンにあるかによって、異なる方法で ElastiCache に付与します。
2019 年 3 月 20 日より前に導入された AWS リージョンはデフォルトで有効になっています。これらの AWS リージョンでは、すぐに使用を開始できます。2019 年 3 月 20 日以降に導入された アジアパシフィック (香港) や 中東 (バーレーン) などのリージョンはデフォルトでは無効になっています。『』の「AWS リージョンの管理」で説明されているように、これらのリージョンを使用するには、事前に有効化またはオプトインする必要があります。AWS General Reference
AWS リージョンに応じてアプローチを選択します。
-
デフォルトリージョンの場合は、「デフォルトリージョンの S3 バケットへのアクセス権を ElastiCache に付与する」の手順を使用します。
-
オプトインリージョンの場合は、「オプトインリージョンの S3 バケットへのアクセス権を ElastiCache に付与する」の手順を使用します。
デフォルトリージョンの S3 バケットへのアクセス権を ElastiCache に付与する
2019 年 3 月 20 日より前に導入された AWS リージョンはデフォルトで有効になっています。これらの AWS リージョンでは、すぐに使用を開始できます。2019 年 3 月 20 日以降に導入された アジアパシフィック (香港) や 中東 (バーレーン) などのリージョンはデフォルトでは無効になっています。『』の「AWS リージョンの管理」で説明されているように、これらのリージョンを使用するには、事前に有効化またはオプトインする必要があります。AWS General Reference
デフォルトで有効になっている AWS リージョンの Amazon S3 バケットで適切なアクセス許可を作成するには、以下の手順を実行します。
Amazon S3 バケットにコピーされるバックアップは暗号化されますが、Amazon S3 バケットへのアクセス権を持つユーザーなら、誰でもデータにアクセスできます。したがって、この Amazon S3 バケットへの不正アクセスを防ぐよう IAM ポリシーを設定することを強くお勧めします。詳細については、https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html 開発者ガイドの「Amazon S3アクセスの管理」を参照してください。
デフォルトの AWS リージョンの S3 バケットへのアクセス権を ElastiCache に付与するには
-
AWS マネジメントコンソールにサインインし、Amazon S3 コンソール (https://console.aws.amazon.com/s3/
) を開きます。 -
バックアップのコピー先となる Amazon S3 バケットの名前を選択します。これは、「ステップ 1: Amazon S3 バケットの作成」で作成した S3 バケットとなります。
-
バケットの AWS リージョンが ElastiCache バックアップの AWS リージョンと同じであることを確認します。同じでない場合は、「ステップ 1: Amazon S3 バケットの作成」に戻り、バックアップするクラスターと同じ AWS リージョンに新しいバケットを作成します。
-
[Permissions] タブを選択し、[アクセスコントロールリスト] を選択します。次に、[他の AWS アカウントへのアクセス] で [アカウントの追加] を選択します。
-
ボックスに、次に示すように AWS リージョンの正規 ID を追加します。
-
AWS GovCloud (US-West) リージョン:
40fa568277ad703bd160f66ae4f83fc9dfdfd06c2f1b5060ca22442ac3ef8be6
重要 バックアップは AWS GovCloud (US) 内の S3 バケットにエクスポートする必要があります。
-
その他すべての AWS リージョンは、デフォルトで有効になっています。
540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353
-
-
次のオプションで [はい] を選択して、バケットのアクセス許可を設定します。
-
オブジェクトのリスト化
-
オブジェクトの書き込み
-
バケットの読み取りアクセス権限
-
-
[Save] を選択します。
これにより、Amazon S3 バケットでは、ElastiCache コンソール、AWS CLI、または ElastiCache API を使用して ElastiCache バックアップをエクスポートできるようになりました。
オプトインリージョンの S3 バケットへのアクセス権を ElastiCache に付与する
2019 年 3 月 20 日より前に導入された AWS リージョンはデフォルトで有効になっています。これらの AWS リージョンでは、すぐに使用を開始できます。2019 年 3 月 20 日以降に導入された アジアパシフィック (香港) や 中東 (バーレーン) などのリージョンはデフォルトでは無効になっています。『』の「AWS リージョンの管理」で説明されているように、これらのリージョンを使用するには、事前に有効化またはオプトインする必要があります。AWS General Reference
オプトイン AWS リージョンの Amazon S3 バケットで適切なアクセス許可を作成するには、以下の手順を実行します。
オプトイン AWS リージョンの S3 バケットへのアクセス権を ElastiCache に付与するには
-
AWS マネジメントコンソールにサインインし、Amazon S3 コンソール (https://console.aws.amazon.com/s3/
) を開きます。 -
バックアップのコピー先となる Amazon S3 バケットの名前を選択します。これは、「ステップ 1: Amazon S3 バケットの作成」で作成した S3 バケットとなります。
-
[Permissions] タブを選択し、[Permissions] で [Bucket policy] を選択します。
-
ポリシーを更新して、オペレーションの実行に必要なアクセス許可を ElastiCache に付与します。
-
を
[ "Service" : "
に追加します。region-full-name
.elasticache-snapshot.amazonaws.com" ]Principal
-
スナップショットを Amazon S3 バケットにエクスポートするために必要な、以下のアクセス許可を追加します。
-
"s3:PutObject"
-
"s3:GetObject"
-
"s3:ListBucket"
-
"s3:GetBucketAcl"
-
"s3:ListMultipartUploadParts"
-
"s3:ListBucketMultipartUploads"
-
次に、更新されたポリシーの例を示します。
{ "Version": "2012-10-17", "Id": "Policy15397346", "Statement": [ { "Sid": "Stmt15399483", "Effect": "Allow", "Principal": { "Service": "
aws-opt-in-region
.elasticache-snapshot.amazonaws.com" }, "Action": [ "s3:PutObject", "s3:GetObject", "s3:ListBucket", "s3:GetBucketAcl", "s3:ListMultipartUploadParts", "s3:ListBucketMultipartUploads" ], "Resource": [ "arn:aws:s3:::example-bucket", "arn:aws:s3:::example-bucket/*" ] } ] } -
ステップ 3: バックアップ ElastiCache をエクスポートする
これで、S3 バケットを作成し、そのバケットにアクセスするためのアクセス許可を ElastiCache に付与しました。次は、ElastiCache コンソール、AWS CLI、または ElastiCache API を使用して、スナップショットをそのバケットにエクスポートできます。以下では、次の S3 固有の 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:::*" }] }
ElastiCache バックアップ (コンソール) のエクスポート
以下のプロセスでは、ElastiCache コンソールを使用してバックアップを Amazon S3 バケットにエクスポートし、ElastiCache 外部からアクセスできるようにします。Amazon S3 バケットは ElastiCache バックアップと同じ AWS リージョンにあることが必要です。
ElastiCache バックアップを Amazon S3 バケットにエクスポートするには
-
AWS マネジメントコンソール にサインインし、https://console.aws.amazon.com/elasticache/
にある ElastiCache コンソールを開きます。 -
バックアップのリストを表示するには、左のナビゲーションペインから [Backups] を選択します。
-
バックアップのリストから、エクスポートするバックアップの名前の左にあるチェックボックスをオンにします。
-
[Copy] を選択します。
-
[Create Copy of the Backup? (バックアップのコピーを作成しますか)] ダイアログボックスで、以下の設定を指定します。
-
[New backup name] ボックスに、新しいバックアップの名前を入力します。
この名前は 1 ~ 1,000 文字で、UTF-8 エンコードが可能である必要があります。
ElastiCache は、ここで入力した値に、インスタンス識別子と
.rdb
を追加します。たとえば、「my-exported-backup
」と入力した場合、ElastiCache によってmy-exported-backup-0001.rdb
が作成されます。 -
[Target S3 Location] リストから、バックアップをコピーする Amazon S3 バケット (「ステップ 1: Amazon S3 バケットの作成」で作成したバケット) の名前を選択します。
エクスポートプロセスが成功するためには、[Target S3 Location (S3 ターゲット場所)] は、バックアップの AWS リージョン内で以下のアクセス許可のある Amazon S3 バケットであることが必要です。
-
オブジェクトアクセス – [読み取り] および [書き込み]。
-
アクセス – 読み取りのアクセス許可
詳細については、「ステップ 2: バケットへのアクセス権を ElastiCache に付与するAmazon S3」を参照してください。
-
-
[Copy] を選択します。
-
S3 バケットにバックアップをエクスポートするためのアクセス許可が ElastiCache にない場合、以下のいずれかのエラーメッセージを受け取ります。「ステップ 2: バケットへのアクセス権を ElastiCache に付与するAmazon S3」に戻り、示されたアクセス権限を追加して、バックアップのエクスポートを再試行してください。
-
ElastiCache には S3 バケットの READ アクセス許可 %s が付与されていません。
解決策: バケットに読み取りアクセス許可を追加します。
-
ElastiCache に S3 バケットの WRITE アクセス許可 % が付与されていません。
解決策: バケットに書き込み許可を追加します。
-
ElastiCache には、S3 バケットに対する READ_ACP アクセス許可 %s が付与されていません。
解決策: バケットでアクセス許可の [読み取り] アクセスを追加します。
別の AWS リージョンにバックアップをコピーする場合は、Amazon S3 を使用してコピーします。詳細については、https://docs.aws.amazon.com/AmazonS3/latest/user-guide/MakingaCopyofanObject.html の「オブジェクトのコピーAmazon Simple Storage Service コンソールユーザーガイド」を参照してください。
ElastiCache バックアップ (AWS CLI) のエクスポート
以下のパラメーターを指定して copy-snapshot
CLI オペレーションを使用することで、Amazon S3 バケットにバックアップをエクスポートします。
Parameters
-
--source-snapshot-name
– コピーするバックアップの名前。 -
--target-snapshot-name
– バックアップのコピーの名前。この名前は 1 ~ 1,000 文字で、UTF-8 エンコードが可能である必要があります。
ElastiCache は、ここで入力した値に、インスタンス識別子と
.rdb
を追加します。たとえば、「my-exported-backup
」と入力した場合、ElastiCache によってmy-exported-backup-0001.rdb
が作成されます。 -
--target-bucket
– バックアップをエクスポートする Amazon S3 バケットの名前。バックアップのコピーは、指定したバケットで作成されます。エクスポートプロセスが成功するためには、
--target-bucket
は、バックアップの AWS リージョン内で以下のアクセス許可のある Amazon S3 バケットであることが必要です。-
オブジェクトアクセス – [読み取り] および [書き込み]。
-
アクセス – 読み取りのアクセス許可
詳細については、「ステップ 2: バケットへのアクセス権を ElastiCache に付与するAmazon S3」を参照してください。
-
以下のオペレーションは、my-s3-bucket にバックアップをコピーします。
Linux, macOS, or Unix 用:
aws elasticache copy-snapshot \ --source-snapshot-name
automatic.my-redis-primary-2016-06-27-03-15
\ --target-snapshot-namemy-exported-backup
\ --target-bucketmy-s3-bucket
Windows の場合:
aws elasticache copy-snapshot ^ --source-snapshot-name
automatic.my-redis-primary-2016-06-27-03-15
^ --target-snapshot-namemy-exported-backup
^ --target-bucketmy-s3-bucket
S3 バケットにバックアップをエクスポートするためのアクセス許可が ElastiCache にない場合、以下のいずれかのエラーメッセージを受け取ります。「ステップ 2: バケットへのアクセス権を ElastiCache に付与するAmazon S3」に戻り、示されたアクセス権限を追加して、バックアップのエクスポートを再試行してください。
-
ElastiCache には S3 バケットの READ アクセス許可 %s が付与されていません。
解決策: バケットに読み取りアクセス許可を追加します。
-
ElastiCache には S3 バケットの WRITE アクセス許可 %s が与えられていません。
解決策: バケットに書き込み許可を追加します。
-
ElastiCache には、S3 バケットに対する READ_ACP アクセス許可 %s が付与されていません。
解決策: バケットのアクセス権限に Read を追加します。
詳細については、https://docs.aws.amazon.com/cli/latest/reference/elasticache/copy-snapshot.html の「copy-snapshotAWS CLI Command Reference」を参照してください。
別の AWS リージョンにバックアップをコピーする場合は、Amazon S3 コピーを使用します。詳細については、https://docs.aws.amazon.com/AmazonS3/latest/user-guide/MakingaCopyofanObject.html の「オブジェクトのコピーAmazon Simple Storage Service コンソールユーザーガイド」を参照してください。
ElastiCache バックアップ (ElastiCache API) のエクスポート
以下のパラメーターを指定して CopySnapshot
API オペレーションを使用し、バックアップを Amazon S3 バケットにエクスポートします。
Parameters
-
SourceSnapshotName
– コピーするバックアップの名前。 -
TargetSnapshotName
– バックアップのコピーの名前。この名前は 1 ~ 1,000 文字で、UTF-8 エンコードが可能である必要があります。
ElastiCache は、ここで入力した値に、インスタンス識別子と
.rdb
を追加します。たとえば、「my-exported-backup
」と入力した場合、my-exported-backup-0001.rdb
が返されます。 -
TargetBucket
– バックアップをエクスポートする Amazon S3 バケットの名前。バックアップのコピーは、指定したバケットで作成されます。エクスポートプロセスが成功するためには、
TargetBucket
は、バックアップの AWS リージョン内で以下のアクセス許可のある Amazon S3 バケットであることが必要です。-
オブジェクトアクセス – [読み取り] および [書き込み]。
-
アクセス – 読み取りのアクセス許可
詳細については、「ステップ 2: バケットへのアクセス権を ElastiCache に付与するAmazon S3」を参照してください。
-
以下の例では、Amazon S3 バケット my-s3-bucket
に自動バックアップのコピーを作成します。
https://elasticache.us-west-2.amazonaws.com/ ?Action=CopySnapshot &SourceSnapshotName=automatic.my-redis-primary-2016-06-27-03-15 &TargetBucket=my-s3-bucket &TargetSnapshotName=my-backup-copy &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20141201T220302Z &Version=2016-01-01 &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Date=20141201T220302Z &X-Amz-SignedHeaders=Host &X-Amz-Expires=20141201T220302Z &X-Amz-Credential=<credential> &X-Amz-Signature=<signature>
S3 バケットにバックアップをエクスポートするためのアクセス許可が ElastiCache にない場合、以下のいずれかのエラーメッセージを受け取ります。「ステップ 2: バケットへのアクセス権を ElastiCache に付与するAmazon S3」に戻り、示されたアクセス権限を追加して、バックアップのエクスポートを再試行してください。
-
ElastiCache には S3 バケットの READ アクセス許可 %s が付与されていません。
解決策: バケットに読み取りアクセス許可を追加します。
-
ElastiCache に S3 バケットの WRITE アクセス許可 % が付与されていません。
解決策: バケットに書き込み許可を追加します。
-
ElastiCache には、S3 バケットに対する READ_ACP アクセス許可 %s が付与されていません。
解決策: バケットのアクセス権限に Read を追加します。
詳細については、「Amazon ElastiCache API Reference」の「CopySnapshot」を参照してください。
別の AWS リージョンにバックアップをコピーする場合は、Amazon S3 コピーを使用して、エクスポートされたバックアップを別の AWS リージョン内の Amazon S3 バケットにコピーします。詳細については、https://docs.aws.amazon.com/AmazonS3/latest/user-guide/MakingaCopyofanObject.html の「オブジェクトのコピーAmazon Simple Storage Service コンソールユーザーガイド」を参照してください。