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

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

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

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

バックアップをエクスポートすると、別の AWS リージョンでクラスターを起動する必要がある場合に役立ちます。データを 1 つの AWS リージョンにエクスポートし、.rdb ファイルを新しい AWS リージョンにコピーしてから、その .rdb ファイルを使用して新しいキャッシュをシードできます。新しいクラスターが使用中に入力されるのを待つ必要はありません。新しいクラスターのシードについては、「チュートリアル: 外部で作成されたバックアップを使用して、新しい独自設計クラスターをシードする」を参照してください。キャッシュのデータをエクスポートするもう 1 つの理由は、オフライン処理に .rdb ファイルを使用することです。

重要
  • ElastiCache バックアップとコピー先の Amazon S3 バケットは、同じ AWS リージョンにある必要があります。

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

  • データ階層化を使用するクラスターでは、Amazon S3 へのバックアップのエクスポートはサポートされていません。詳細については、「のデータ階層化 ElastiCache」を参照してください。

  • バックアップのエクスポートは、Valkey と Redis OSSの独自設計クラスター、Serverless Valkey と Redis OSS、および Serverless Memcached で使用できます。バックアップのエクスポートは、独自設計の Memcached クラスターでは使用できません。

Amazon S3 バケットにバックアップをエクスポートする前に、バックアップと同じ AWS リージョンに Amazon S3 バケットが必要です。バケット ElastiCache へのアクセスを許可します。最初の 2 つのステップで、これを行う方法を示します。

Amazon S3 バケットを作成する

次の手順では、Amazon S3 コンソールを使用して、 ElastiCache バックアップをエクスポートして保存する Amazon S3 バケットを作成します。

Amazon S3 バケットを作成するには
  1. にサインイン AWS Management Console し、 で Amazon S3 コンソールを開きますhttps://console.aws.amazon.com/s3/

  2. バケットの作成 を選択します。

  3. バケットを作成する - バケット名と地域を選択する で、以下の操作を実行します。

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

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

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

      • 名前は、ピリオド (.) で区切られた 1 つのラベルまたは一連の複数のラベルとして指定します。

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

        • 終了の文字には小文字の英文字または数字を使用します。

        • 小文字の英文字、数字、およびダッシュのみを含めます。

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

    2. リージョンリストから、Amazon S3 バケットの AWS リージョンを選択します。この AWS リージョンは、エクスポートする ElastiCache バックアップと同じ AWS リージョンである必要があります。

    3. [Create] (作成) を選択します。

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

Amazon S3 バケット ElastiCache へのアクセスを許可する

ElastiCache がスナップショットを Amazon S3 バケットにコピーできるようにするには、バケットポリシーを更新してバケット ElastiCache へのアクセスを許可する必要があります。

警告

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

Amazon S3 バケットで適切なアクセス許可を作成するには、以下の手順を実行します。

S3 バケット ElastiCache へのアクセスを許可するには
  1. にサインイン AWS Management Console し、 で Amazon S3 コンソールを開きますhttps://console.aws.amazon.com/s3/

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

  3. アクセス許可タブ と アクセス許可 を選択し、アクセスコントロールリスト (ACL) を選択し、編集 を選択します。

  4. 次のオプションを使用して、被付与者の正規 ID 540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353 を追加します。

    • [Objects] (オブジェクト): [List] (リスト)、[Write] (書き込み)

    • バケット ACL: 読み取り、書き込み

      注記
      • PDT GovCloud リージョンの場合、正規 ID は です40fa568277ad703bd160f66ae4f83fc9dfdfd06c2f1b5060ca22442ac3ef8be6

      • OSU GovCloud リージョンの場合、正規 ID は ですc54286759d2a83da9c480405349819c993557275cf37d820d514b42da6893f5c

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

ElastiCache バックアップをエクスポートする

これで、S3 バケットを作成し、それにアクセスする ElastiCache アクセス許可を付与しました。次に、 ElastiCache コンソール、 AWS CLI、または ElastiCache API を使用してスナップショットをエクスポートできます。次の例では、発信者の IAM ID に次の追加の 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:::*" }] }

オプトインリージョンの場合、S3 バケットの更新されたポリシーの例を以下に示します。(この例では、アジアパシフィック (香港) リージョンを使用しています。)

{ "Version": "2012-10-17", "Id": "Policy15397346", "Statement": [ { "Sid": "Stmt15399483", "Effect": "Allow", "Principal": { "Service": "elasticache.amazonaws.com" }, "Action": "s3:*", "Resource": [ "arn:aws:s3:::hkg-elasticache-backup", "arn:aws:s3:::hkg-elasticache-backup/*" ] }, { "Sid": "Stmt15399484", "Effect": "Allow", "Principal": { "Service": "ap-east-1.elasticache-snapshot.amazonaws.com" }, "Action": "s3:*", "Resource": [ "arn:aws:s3:::hkg-elasticache-backup", "arn:aws:s3:::hkg-elasticache-backup/*" ] } ] }

次の手順では、 ElastiCache コンソールを使用して Amazon S3 バケットにバックアップをエクスポートし、 の外部からバックアップにアクセスできます ElastiCache。Amazon S3 バケットは、 ElastiCache バックアップと同じ AWS リージョンにある必要があります。

Amazon S3 バケットに ElastiCache バックアップをエクスポートするには
  1. にサインイン AWS Management Console し、 https://console.aws.amazon.com/elasticache/で ElastiCache コンソールを開きます。

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

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

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

  5. バックアップのコピーを作成しますかダイアログボックスで、以下の設定を指定します。

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

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

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

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

      エクスポートプロセスを成功させるには、ターゲット S3 ロケーションがバックアップの AWS リージョンにある Amazon S3 バケットで、次のアクセス許可が必要です。

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

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

      詳細については、「Amazon S3 バケット ElastiCache へのアクセスを許可する」を参照してください。

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

注記

S3 バケットにバックアップをエクスポート ElastiCache するために必要なアクセス許可がない場合、次のいずれかのエラーメッセージが表示されます。「Amazon S3 バケット ElastiCache へのアクセスを許可する」に戻り、示されたアクセス権限を追加して、バックアップのエクスポートを再試行してください。

  • ElastiCache は S3 バケットに対するREADアクセス許可 %s を付与されていません。

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

  • ElastiCache は S3 バケットに対するWRITEアクセス許可 %s を付与されていません。

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

  • ElastiCache は S3 バケットで READ_ACP アクセス許可 %s を付与されていません。

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

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

サーバーレスキャッシュのバックアップのエクスポート

次のパラメータを持つ export-serverless-cache-snapshotCLIオペレーションを使用して、バックアップを Amazon S3 バケットにエクスポートします。

パラメータ
  • --serverless-cache-snapshot-name – コピーするバックアップの名前。

  • --s3-bucket-name – バックアップをエクスポートする Amazon S3 バケットの名前。バックアップのコピーは、指定したバケットで作成されます。

    エクスポートプロセスを成功させるには、 がバックアップの AWS リージョンにある Amazon S3 バケットで、次のアクセス許可を持っている--s3-bucket-name必要があります。

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

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

以下のオペレーションは、my-s3-bucket にバックアップをコピーします。

Linux、macOS、Unix の場合:

aws elasticache export-serverless-cache-snapshot \ --serverless-cache-snapshot-name automatic.my-redis-2023-11-27 \ --s3-bucket-name my-s3-bucket

Windows の場合:

aws elasticache export-serverless-cache-snapshot ^ --serverless-cache-snapshot-name automatic.my-redis-2023-11-27 ^ --s3-bucket-name my-s3-bucket

独自設計型クラスターバックアップのエクスポート

以下のパラメータを持つ copy-snapshotCLIオペレーションを使用して、バックアップを Amazon S3 バケットにエクスポートします。

パラメータ
  • --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 バケットの名前。バックアップのコピーは、指定したバケットで作成されます。

    エクスポートプロセスを成功させるには、 がバックアップの AWS リージョンにある Amazon S3 バケットで、次のアクセス許可を持っている--target-bucket必要があります。

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

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

    詳細については、「Amazon S3 バケット ElastiCache へのアクセスを許可する」を参照してください。

以下のオペレーションは、my-s3-bucket にバックアップをコピーします。

Linux、macOS、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