バックアップのエクスポート - Amazon ElastiCache for Redis

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

バックアップのエクスポート

Amazon ElastiCache では、ElastiCache バックアップの Amazon Simple Storage Service (Amazon S3) バケットへのエクスポートがサポートされています。これにより、ElastiCache 外部からバックアップにアクセスできます。ElastiCache コンソール、AWS CLI、または ElastiCache API を使用してバックアップをエクスポートできます。

バックアップのエクスポートは、他のAWSリージョン。データをエクスポートするには、AWSリージョンで、.rdb ファイルを新しいAWSリージョンを作成し、その .rdb ファイルを使用することにより、新しいクラスターの入力を待つのではなく、新しいクラスターをシードします。新しいクラスターのシードについては、「外部で作成されたバックアップで新しいクラスタのシード」を参照してください。クラスターのデータをエクスポートする別の理由は、オフライン処理のために .rdb ファイルを使用するためです。

重要

-ElastiCacheバックアップとAmazon S3バケットをコピー先のバケットは、同じAWSリージョン。

Amazon S3 バケットにコピーされたバックアップは暗号化されますが、バックアップを保存する Amazon S3 バケットへのアクセス権を他の人に付与しないことを強くお勧めします。

バックアップをAmazon S3バケットを使用するには、Amazon S3バケットを同じAWSバックアップとしてのリージョン。バケットへのアクセスを 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 バケットを作成するには

  1. AWS Management Consoleにサインインし、Amazon S3 コンソール (https://console.aws.amazon.com/s3/) を開きます。

  2. [Create Bucket] を選択します。

  3. [Create a Bucket - Select a Bucket Name and Region] で、以下の操作を実行します。

    1. [Bucket Name] に Amazon S3 バケットの名前を入力します。

      Amazon S3 バケットの名前は DNS に準拠している必要があります。それ以外の場合、ElastiCache はバックアップファイルにアクセスできません。DNS 準拠のルールでは、次のようになります:

      • 名前は、3 ~ 63 文字以内にする必要があります。

      • また、名前は、1 つのラベルか、または複数のラベルをピリオド (.) でつなげて構成します。各ラベルには次の規則が適用されます。

        • 先頭の文字には小文字の英文字または数字を使います。

        • 末尾の文字には小文字の英文字または数字を使います。

        • 小文字、数字、ダッシュのみを含める必要があります。

      • 名前を IP アドレスの形式にすることはできません (例: 192.0.2.0)。

    2. [] からリージョンリストから [] を選択します。AWSのリージョンAmazon S3バケット。このAWSリージョンは同じでなければなりませんAWSリージョンをElastiCacheエクスポートするバックアップを選択します。

    3. [Create] を選択します。

作成の詳細については、Amazon S3バケットの詳細については、を参照してください。バケットの作成()Amazon Simple Storage Service コンソールユーザーガイド

ステップ 2: 許可ElastiCacheへのアクセスを管理します。Amazon S3bucket

ElastiCache がスナップショットを Amazon S3 バケットにコピーできるようにするには、バケットへのアクセス権を付与します。許可するElastiCacheへのアクセスを管理します。Amazon S3バケットは、バケットがデフォルトのAWSリージョンまたはオプトインインオプションAWSリージョン。

AWS2019 年 3 月 20 日より前に導入されたリージョンはデフォルトで有効になっています。これらの作業を開始できますAWSただちにリージョン。2019 年 3 月 20 日以降に導入された アジアパシフィック (香港) や 中東 (バーレーン) などのリージョンはデフォルトでは無効になっています。これらのリージョンを使用するには、有効にする必要があります。詳細については、管理AWSのリージョン()AWS-GEN-REF;

あなたのアプローチは、AWSサービス対象:

許可ElastiCacheデフォルトのリージョンの S3 バケットへのアクセス権をに付与するには

AWS2019 年 3 月 20 日より前に導入されたリージョンはデフォルトで有効になっています。これらの作業を開始できますAWSただちにリージョン。2019 年 3 月 20 日以降に導入された アジアパシフィック (香港) や 中東 (バーレーン) などのリージョンはデフォルトでは無効になっています。これらのリージョンを使用するには、有効にする必要があります。詳細については、管理AWSリージョン()AWS-GEN-REF;

適切なアクセス許可を作成するには、Amazon S3バケットをAWSリージョンはデフォルトで有効になっている。以下の手順を実行します。

警告

Amazon S3 バケットにコピーされるバックアップは暗号化されますが、Amazon S3 バケットへのアクセス権を持つユーザーなら、誰でもデータにアクセスできます。したがって、この Amazon S3 バケットへの不正アクセスを防ぐよう IAM ポリシーを設定することを強くお勧めします。詳細については、「」を参照してください。アクセスの管理()Amazon S3開発者ガイド

許可するにはElastiCacheデフォルトの S3 バケットへのアクセス権をに付与するにはAWSリージョン

  1. AWS Management Consoleにサインインし、Amazon S3 コンソール (https://console.aws.amazon.com/s3/) を開きます。

  2. バックアップのコピー先となる Amazon S3 バケットの名前を選択します。これは、「ステップ 1: Amazon S3 バケットを作成する」で作成した S3 バケットとなります。

  3. バケットのAWSリージョンは、ElastiCacheバックアップのAWSリージョン。そうでない場合は、ステップ 1: Amazon S3 バケットを作成する新しいバケットを作成するにはAWSバックアップするクラスターとしてのリージョン。

  4. [アクセス許可タブで、[] メニューからアクセスコントロールリスト、[] の下にある他のアクセスAWSアカウント] で、被付与者の追加

  5. ボックスに、AWS次に示すように、リージョンの正規 ID:

    • AWS GovCloud (US-West)リージョン:

      40fa568277ad703bd160f66ae4f83fc9dfdfd06c2f1b5060ca22442ac3ef8be6
      重要

      バックアップは AWS GovCloud (US) 内の S3 バケットにエクスポートする必要があります。

    • その他すべてAWSリージョンはデフォルトで有効になっています。

      540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353
  6. 次のオプションで [はい] を選択して、バケットのアクセス許可を設定します。

    • オブジェクトのリスト化

    • オブジェクトの書き込み

    • バケットの読み取りアクセス権限

  7. [Save] を選択します。

これにより、Amazon S3 バケットでは、ElastiCache コンソール、AWS CLI、または ElastiCache API を使用して ElastiCache バックアップをエクスポートできるようになりました。

オプトインリージョンの S3 バケットへの ElastiCache アクセス権を付与する

AWS2019 年 3 月 20 日より前に導入されたリージョンはデフォルトで有効になっています。これらの作業を開始できますAWSただちにリージョン。2019 年 3 月 20 日以降に導入された アジアパシフィック (香港) や 中東 (バーレーン) などのリージョンはデフォルトでは無効になっています。これらのリージョンを使用するには、有効にする必要があります。詳細については、管理AWSリージョン()AWS-GEN-REF;

適切なアクセス許可を作成するには、Amazon S3オプトインのバケットAWSリージョンでは、次のステップを実行します。

許可するにはElastiCacheオプトインの S3 バケットへのアクセス権をに付与するにはAWSリージョン

  1. AWS Management Consoleにサインインし、Amazon S3 コンソール (https://console.aws.amazon.com/s3/) を開きます。

  2. バックアップのコピー先となる Amazon S3 バケットの名前を選択します。これは、「ステップ 1: Amazon S3 バケットを作成する」で作成した S3 バケットとなります。

  3. [Permissions] タブを選択し、[Permissions] で [Bucket policy] を選択します。

  4. ポリシーを更新して、オペレーションの実行に必要なアクセス許可を 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: をエクスポートするElastiCachebackup

これで、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 コンソールを使用してバックアップを Amazon S3 バケットにエクスポートし、ElastiCache 外部からアクセスできるようにします。-Amazon S3バケットは、同じAWSリージョンをElastiCacheバックアップ。

ElastiCache バックアップを Amazon S3 バケットにエクスポートするには

  1. AWS Management Console にサインインし、https://console.aws.amazon.com/elasticache/ にある ElastiCache コンソールを開きます。

  2. バックアップのリストを表示するには、左のナビゲーションペインから [Backups] を選択します。

  3. バックアップのリストから、エクスポートするバックアップの名前の左にあるチェックボックスをオンにします。

  4. [コピー] を選択します。

  5. [Create Copy of the Backup? (バックアップのコピーを作成しますか)] ダイアログボックスで、以下の設定を指定します。

    1. [New backup name] ボックスに、新しいバックアップの名前を入力します。

      この名前は 1 ~ 1,000 文字で、UTF-8 エンコードが可能である必要があります。

      ElastiCache は、ここで入力した値に、インスタンス識別子と .rdb を追加します。たとえば、「my-exported-backup」と入力した場合、ElastiCache によって my-exported-backup-0001.rdb が作成されます。

    2. [Target S3 Location] リストから、バックアップをコピーする Amazon S3 バケット (「ステップ 1: Amazon S3 バケットを作成する」で作成したバケット) の名前を選択します。

      -ターゲット S3 の場所には以下が含まれている必要があります。Amazon S3バケットをバックアップのAWSエクスポートプロセスが成功するためには、以下のアクセス許可を持つリージョン。

      • オブジェクトアクセス – [読み取り] および [書き込み]。

      • アクセス – 読み取りのアクセス許可

      詳細については、「ステップ 2: 許可ElastiCacheへのアクセスを管理します。Amazon S3bucket」を参照してください。

    3. [コピー] を選択します。

注記

S3 バケットにバックアップをエクスポートするためのアクセス許可が ElastiCache にない場合、以下のいずれかのエラーメッセージを受け取ります。「ステップ 2: 許可ElastiCacheへのアクセスを管理します。Amazon S3bucket」に戻り、示されたアクセス権限を追加して、バックアップのエクスポートを再試行してください。

  • ElastiCache has not been granted READ permissions %s on the S3 Bucket.

    解決策: バケットで読み取りのアクセス権限を追加します。

  • ElastiCache has not been granted WRITE permissions %s on the S3 Bucket.

    解決策: バケットで書き込みのアクセス権限を追加します。

  • ElastiCache has not been granted READ_ACP permissions %s on the S3 Bucket.

    解決策: を追加します。Readバケットでアクセス権限を付与します。

別のにバックアップをコピーする場合はAWSリージョン、使用Amazon S3をクリックしてコピーします。詳細については、「」を参照してください。オブジェクトのコピー()Amazon Simple Storage Service コンソールユーザーガイド

以下のパラメーターを指定して 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には以下が含まれている必要があります。Amazon S3バケットをバックアップのAWSエクスポートプロセスが成功するためには、以下のアクセス許可を持つリージョン。

    • オブジェクトアクセス – [読み取り] および [書き込み]。

    • アクセス – 読み取りのアクセス許可

    詳細については、「ステップ 2: 許可ElastiCacheへのアクセスを管理します。Amazon S3bucket」を参照してください。

以下のオペレーションは、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-name my-exported-backup \ --target-bucket my-s3-bucket

Windows の場合:

aws elasticache copy-snapshot ^ --source-snapshot-name automatic.my-redis-primary-2016-06-27-03-15 ^ --target-snapshot-name my-exported-backup ^ --target-bucket my-s3-bucket
注記

S3 バケットにバックアップをエクスポートするためのアクセス許可が ElastiCache にない場合、以下のいずれかのエラーメッセージを受け取ります。「ステップ 2: 許可ElastiCacheへのアクセスを管理します。Amazon S3bucket」に戻り、示されたアクセス権限を追加して、バックアップのエクスポートを再試行してください。

  • ElastiCache has not been granted READ permissions %s on the S3 Bucket.

    解決策: バケットで読み取りのアクセス権限を追加します。

  • ElastiCache has not been granted WRITE permissions %s on the S3 Bucket.

    解決策: バケットで書き込みのアクセス権限を追加します。

  • ElastiCache has not been granted READ_ACP permissions %s on the S3 Bucket.

    解決策: を追加します。Readバケットでアクセス権限を付与します。

詳細については、「」を参照してください。コピー/スナップショットのコピー()AWS CLI Command Reference

別のにバックアップをコピーする場合はAWSリージョン、使用Amazon S3copy: 詳細については、「」を参照してください。オブジェクトのコピー()Amazon Simple Storage Service コンソールユーザーガイド

以下のパラメーターを指定して 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には以下が含まれている必要があります。Amazon S3バケットをバックアップのAWSエクスポートプロセスが成功するためには、以下のアクセス許可を持つリージョン。

    • オブジェクトアクセス – [読み取り] および [書き込み]。

    • アクセス – 読み取りのアクセス許可

    詳細については、「ステップ 2: 許可ElastiCacheへのアクセスを管理します。Amazon S3bucket」を参照してください。

以下の例では、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=&AWS;4-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 S3bucket」に戻り、示されたアクセス権限を追加して、バックアップのエクスポートを再試行してください。

  • ElastiCache has not been granted READ permissions %s on the S3 Bucket.

    解決策: バケットで読み取りのアクセス権限を追加します。

  • ElastiCache has not been granted WRITE permissions %s on the S3 Bucket.

    解決策: バケットで書き込みのアクセス権限を追加します。

  • ElastiCache has not been granted READ_ACP permissions %s on the S3 Bucket.

    解決策: を追加します。Readバケットでアクセス権限を付与します。

詳細については、「」を参照してください。CopySnapshot()Amazon ElastiCache API Reference

別のにバックアップをコピーする場合はAWSリージョン、使用Amazon S3コピーして、エクスポートされたバックアップをAmazon S3別のバケットAWSリージョン。詳細については、「」を参照してください。オブジェクトのコピー()Amazon Simple Storage Service コンソールユーザーガイド