外部で作成されたバックアップによる新しい独自設計型クラスターのシード - Amazon ElastiCache (Redis OSS)

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

外部で作成されたバックアップによる新しい独自設計型クラスターのシード

新しい Redis OSS 独自設計型クラスターを作成するときは、Redis OSS .rdb バックアップファイルからのデータでシードできます。クラスターのシードは、現在 の外部で Redis OSS インスタンスを管理 ElastiCache していて、新しい ElastiCache (Redis OSS) 独自設計型クラスターに既存の Redis OSS データを入力する場合に便利です。

Amazon 内で作成された Redis OSS バックアップから新しい Redis OSS 独自設計型クラスターをシードするには ElastiCache、「」を参照してくださいバックアップから新しいキャッシュへの復元

Redis OSS .rdb ファイルを使用して新しい Redis OSS 独自設計型クラスターをシードする場合、次の操作を実行できます。

  • パーティション分割されていないクラスターから、Redis OSS バージョン 3.2.4 を実行する Redis OSS (クラスターモードが有効) 独自設計型クラスターにアップグレードします。

  • 新しい独自設計型クラスターのシャード (API および CLI ではノードグループと呼ばれる) の数を指定する。この数は、バックアップファイルの作成に使用された独自設計型クラスター内のシャードの数とは異なる場合があります。

  • 新しい独自設計型クラスターに異なるノードタイプを指定する。つまり、バックアップを作成したクラスターで使用されているノードタイプよりも大きいか小さいかを指定します。より小さなノードタイプにスケールする場合は、新しいノードタイプにデータおよび Redis OSS オーバーヘッドに十分なメモリがあることを確認してください。詳細については、「Redis OSS スナップショットを作成するのに十分なメモリがあることを確認する」を参照してください。

  • 新しい Redis OSS (クラスターモードが有効) クラスターのスロットに、バックアップファイルの作成に使用されたクラスターとは異なる方法でキーを分散します。

注記

Redis OSS (クラスターモードが有効) クラスターから作成された .rdb ファイルから Redis OSS (クラスターモードが無効) クラスターをシードすることはできません。

重要
  • Redis OSS バックアップデータがノードのリソースを超えないようにする必要があります。例えば、5 GB の Redis OSS データを含む .rdb ファイルを、2.9 GB のメモリを持つ cache.m3.medium ノードにアップロードすることはできません。

    バックアップが大きすぎる場合、クラスターのステータスは restore-failed になります。その場合は、クラスターを削除してやり直す必要があります。

    ノードタイプと仕様の完全なリストについては、Redis OSS ノードタイプ固有のパラメータ「」および「Amazon ElastiCache 製品の機能と詳細」を参照してください。

  • Redis OSS .rdb ファイルは、Amazon S3 サーバー側の暗号化 (SSE-S3) でのみ暗号化できます。詳細については、「サーバー側の暗号化を使用したデータの保護」を参照してください。

以下は、Redis OSS クラスターを外部サービスから ElastiCache (Redis OSS) に移行する手順を説明するトピックです。

ステップ 1: Redis OSS バックアップを作成する

Redis OSS バックアップを作成して ElastiCache (Redis OSS) インスタンスをシードするには
  1. 既存の Redis OSS インスタンスに接続します。

  2. Redis OSS BGSAVEまたは SAVEオペレーションのいずれかを実行してバックアップを作成します。.rdb ファイルの場所を書き留めておきます。

    BGSAVE は非同期処理であり、処理中も他のクライアントをブロックしません。詳細については、Redis OSS ウェブサイトの「BGSAVE」を参照してください。

    SAVE が同期され、完了するまで他のプロセスがブロックされます。詳細については、Redis OSS ウェブサイトの「SAVE」を参照してください。

バックアップの作成の詳細については、Redis OSS ウェブサイトの「Redis OSS 永続化」を参照してください。

ステップ 2: Amazon S3 バケットとフォルダを作成する

バックアップファイルを作成したら、Amazon S3 バケット内のフォルダにアップロードする必要があります。これを行うには、最初にそのバケット内に Amazon S3 バケットとフォルダが必要です。既に適切なアクセス許可を持つ Amazon S3 バケットフォルダがある場合は、「ステップ 3: バックアップを Amazon S3 にアップロードする」に進むことができます。

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

  2. Amazon S3 バケットを作成するには、Amazon Simple Storage Service ユーザーガイドの「バケットの作成」の手順に従います。

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

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

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

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

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

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

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

    Amazon S3 バケットは、新しい ElastiCache (Redis OSS) クラスターと同じ AWS リージョンに作成する必要があります。このアプローチにより、 が Amazon S3 から .rdb ファイル ElastiCache を読み取るときのデータ転送速度が最高になります。

    注記

    データを可能な限り安全に保つには、Amazon S3 バケットに対するアクセス許可をできるだけ制限します。同時に、新しい Redis OSS クラスターのシードにバケットとそのコンテンツを使用できるようにするアクセス許可も必要です。

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

  2. .rdb ファイルのアップロード先となるバケットの名前を選択します。

  3. Create folder (フォルダの作成) を選択します。

  4. 新しいフォルダの名前を入力します。

  5. 保存 を選択します。

    バケット名とフォルダ名の両方の名前を書き留めます。

ステップ 3: バックアップを Amazon S3 にアップロードする

次に、「ステップ 1: Redis OSS バックアップを作成する」で作成した .rdb ファイルをアップロードします。アップロード先は、「ステップ 2: Amazon S3 バケットとフォルダを作成する」で作成した Amazon S3 バケットとフォルダです。このタスクの詳細については、「バケットへのオブジェクトの追加」を参照してください。ステップ 2 と 3 の間に、作成したフォルダ名を選択します。

.rdb ファイルを Amazon S3 フォルダにアップロードするには
  1. にサインイン AWS Management Console し、https://console.aws.amazon.com/s3/ で Amazon S3 コンソールを開きます。

  2. ステップ 2 で作成した Amazon S3 バケットの名前を選択します。

  3. ステップ 2 で作成したフォルダの名前を選択します。

  4. アップロードを選択します。

  5. ファイルの追加を選択します。

  6. アップロードする 1 つまたは複数のファイルを参照して見つけ、そのファイルを選択します。複数のファイルを選択するには、Ctrl キーを押しながら各ファイル名を選択します。

  7. 開く をクリックします。

  8. 正しいファイルが [アップロード] ダイアログボックスに表示されることを確認してから、[アップロード] を選択します。

.rdb ファイルへのパスを記録します。たとえば、バケット名が myBucket で、パスが myFolder/redis.rdb の場合は、「myBucket/myFolder/redis.rdb」と入力します。新しいクラスターにこのバックアップのデータをシードする際にこのパスが必要です。

詳細については、Amazon Simple Storage Service ユーザーガイドBucket restrictions and limitations を参照してください。

ステップ 4: .rdb ファイルへの ElastiCache 読み取りアクセスを許可する

次に、.rdb バックアップファイルへの ElastiCache 読み取りアクセスを許可します。バックアップファイル ElastiCache へのアクセスは、バケットがデフォルト AWS リージョンにあるかオプトイン AWS リージョンにあるかに応じて、別の方法で許可します。

AWS 2019 年 3 月 20 日より前に導入されたリージョンは、デフォルトで有効になっています。これらの AWS リージョンですぐに作業を開始できます。2019 年 3 月 20 日以降に導入されたアジアパシフィック (香港) および中東 (バーレーン) などのリージョンは、デフォルトで無効になっています。AWS 全般のリファレンス の「AWS リージョンの管理」で説明されているように、これらのリージョンを使用する前に、それらを有効にするか、オプトインする必要があります。

AWS リージョンに応じてアプローチを選択します。

デフォルトリージョンの .rdb ファイルへの ElastiCache 読み取りアクセスを許可する

AWS 2019 年 3 月 20 日より前に導入されたリージョンは、デフォルトで有効になっています。これらの AWS リージョンですぐに作業を開始できます。2019 年 3 月 20 日以降に導入されたアジアパシフィック (香港) および中東 (バーレーン) などのリージョンは、デフォルトで無効になっています。AWS 全般のリファレンス の「AWS リージョンの管理」で説明されているように、これらのリージョンを使用する前に、それらを有効にするか、オプトインする必要があります。

デフォルトで有効になっている AWS リージョンのバックアップファイルへの ElastiCache 読み取りアクセスを許可するには
  1. にサインイン AWS Management Console し、https://console.aws.amazon.com/s3/ で Amazon S3 コンソールを開きます。

  2. .rdb ファイルを含む S3 バケットの名前を選択します。

  3. .rdb ファイルを含むフォルダの名前を選択します。

  4. .rdb バックアップファイルの名前を選択します。選択したファイルの名前は、ページ先頭のタブの上に表示されます。

  5. [アクセス許可] を選択します。

  6. aws-scs-s3 読み取り専用または次のリストの正規 IDsの 1 つがユーザーとしてリストされていない場合は、次の操作を行います。

    1. 他の AWS アカウントのアクセス で、被付与者の追加 を選択します。

    2. ボックスに、次に示すように AWS リージョンの正規 ID を追加します。

      • AWS GovCloud (米国西部) リージョン:

        40fa568277ad703bd160f66ae4f83fc9dfdfd06c2f1b5060ca22442ac3ef8be6
        重要

        バックアップを の Redis OSS クラスターにダウンロード AWS GovCloud (US) するには、バックアップを の S3 バケットに配置する必要があります AWS GovCloud (US)。

      • AWS デフォルトで有効になっているリージョン:

        540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353
    3. 以下について、[はい] を選択してバケットのアクセス許可を設定します。

      • [List/write object] (オブジェクトのリスト化/書き込み)

      • [Read/write object ACL permissions] (オブジェクト ACL の読み取り/書き込みアクセス許可)

    4. [保存] を選択します。

  7. [概要] を選択し、[ダウンロード] を選択します。

オプトインリージョンの .rdb ファイルへの ElastiCache 読み取りアクセスを許可する

AWS 2019 年 3 月 20 日より前に導入されたリージョンは、デフォルトで有効になっています。これらの AWS リージョンですぐに作業を開始できます。2019 年 3 月 20 日以降に導入されたアジアパシフィック (香港) および中東 (バーレーン) などのリージョンは、デフォルトで無効になっています。AWS 全般のリファレンス の「AWS リージョンの管理」で説明されているように、これらのリージョンを使用する前に、それらを有効にするか、オプトインする必要があります。

次に、.rdb バックアップファイルへの ElastiCache 読み取りアクセスを許可します。

バックアップファイルへの ElastiCache 読み取りアクセス権を付与するには
  1. にサインイン AWS Management Console し、https://console.aws.amazon.com/s3/ で Amazon S3 コンソールを開きます。

  2. .rdb ファイルを含む S3 バケットの名前を選択します。

  3. .rdb ファイルを含むフォルダの名前を選択します。

  4. .rdb バックアップファイルの名前を選択します。選択したファイルの名前は、ページ先頭のタブの上に表示されます。

  5. アクセス許可 タブを選択します。

  6. 許可 で、バケットポリシーを選択し、編集を選択します。

  7. ポリシーを更新して、 オペレーションを実行する ElastiCache ために必要なアクセス許可を付与します。

    • [ "Service" : "region-full-name.elasticache-snapshot.amazonaws.com" ]Principal に追加します。

    • スナップショットを Amazon S3 バケットにエクスポートするために必要な、以下のアクセス許可を追加します。

      • "s3:GetObject"

      • "s3:ListBucket"

      • "s3:GetBucketAcl"

    次に、更新されたポリシーの例を示します。

    { "Version": "2012-10-17", "Id": "Policy15397346", "Statement": [ { "Sid": "Stmt15399483", "Effect": "Allow", "Principal": { "Service": "ap-east-1.elasticache-snapshot.amazonaws.com" }, "Action": [ "s3:GetObject", "s3:ListBucket", "s3:GetBucketAcl" ], "Resource": [ "arn:aws:s3:::example-bucket", "arn:aws:s3:::example-bucket/backup1.rdb", "arn:aws:s3:::example-bucket/backup2.rdb" ] } ] }
  8. [変更の保存] をクリックします。

ステップ 5: .rdb ファイルデータを使用して ElastiCache クラスターをシードする

これで、 ElastiCache クラスターを作成し、.rdb ファイルからのデータでシードする準備が整いました。クラスターを作成するには、「クラスターの作成」または「Redis OSS レプリケーショングループを最初から作成する」の手順に従います。クラスターエンジンとして Redis OSS を必ず選択してください。

Amazon S3 にアップロードした Redis OSS バックアップ ElastiCache の場所を示す方法は、クラスターの作成に使用する方法によって異なります。

( ElastiCache Redis OSS) クラスターまたはレプリケーショングループを .rdb ファイルデータでシードした
  • ElastiCache コンソールの使用

    [Cluster settings] (クラスター設定) を選択するときは、クラスターの作成方法として [Restore from backups] (バックアップから復元) を選択し、次に [Backup source] (バックアップソース) セクションで [Source] (ソース) として [Other backups] (その他のバックアップ) を選択します。[シード RDB ファイルの S3 ロケーション] ボックスに、ファイルの Amazon S3 パスを入力します。複数の .rdb ファイルがある場合は、カンマ区切りのリストで各ファイルのパスを入力します。Amazon S3 パスは myBucket/myFolder/myBackupFilename.rdb のようになります。

  • の使用 AWS CLI

    create-cache-cluster または create-replication-group オペレーションを使用する場合、パラメータ --snapshot-arns を使用して、各 .rdb ファイルの完全修飾 ARN を指定します 例えば、arn:aws:s3:::myBucket/myFolder/myBackupFilename.rdb 。ARN は、Amazon S3 に保存したバックアップファイルに解決される必要があります。

  • ElastiCache API の使用

    CreateCacheCluster または CreateReplicationGroup ElastiCache API オペレーションを使用する場合は、 パラメータを使用してSnapshotArns、各 .rdb ファイルに対して完全修飾 ARN を指定します。例えば、arn:aws:s3:::myBucket/myFolder/myBackupFilename.rdb 。ARN は、Amazon S3 に保存したバックアップファイルに解決される必要があります。

重要

Redis OSS (クラスターモードが有効) クラスターをシードするときは、新しいクラスターまたはレプリケーショングループで各ノードグループ (シャード) を設定する必要があります。これを行うには、パラメータ --node-group-configuration (API: NodeGroupConfiguration) を使用します。詳細については、次を参照してください。

クラスターの作成プロセス中に、Redis OSS バックアップ内のデータがクラスターに書き込まれます。 ElastiCache イベントメッセージを表示することで、進行状況をモニタリングできます。これを行うには、 ElastiCache コンソールを参照し、キャッシュイベント を選択します。 AWS ElastiCache コマンドラインインターフェイスまたは ElastiCache API を使用してイベントメッセージを取得することもできます。詳細については、「ElastiCache イベントの表示」を参照してください。