メニュー
Amazon ElastiCache
ユーザーガイド (API Version 2015-02-02)

外部で作成されたバックアップによる新しいクラスターのシード (Redis)

新しい Redis クラスターを作成するときに、Redis .rdb バックアップファイルのデータでシードできます。クラスターをシードすることは、現在 ElastiCache の外部で Redis インスタンスを管理していて、Redis クラスターの新しい ElastiCacheに既存の Redis データを入力する場合に役に立ちます。

Amazon ElastiCache 内で作成された Redis バックアップから新しい Redis クラスターを表示する方法については、「クラスターのサイズ変更 (オプション) によるバックアップからの復元」を参照してください。

新しい Redis .rdb ファイルを使用して新しい Redis クラスターをシードするときは、以下を実行できます。

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

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

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

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

注記

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

重要

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

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

    ノードの種類および仕様の一覧については、「Redis のノードタイプ固有のパラメータ」および Amazon ElastiCache 製品の機能と詳細を参照してください。

  • Amazon S3 サーバー側の暗号化 (SSE) を使用した Redis .rdb ファイルの暗号化はサポートされていません。

以下では、Redis クラスターを Redis 用の ElastiCache 外部から Redis 用の ElastiCache に移行する方法について説明します。

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

Redis インスタンス用の ElastiCache のシード元の Redis バックアップを作成するには

  1. 既存の Redis インスタンスに接続します。

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

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

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

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

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

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

Amazon S3 バケットを作成するには

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

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

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

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

    • 名前は、ピリオド(.)区切られた 1 つ以上の一連のラベルに必要があります。各ラベルの条件は次のとおりです。

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

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

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

    • 名前は、IP アドレスとしてフォーマットされていてはいけません(例: 192.0.2.0)。

    Redis クラスター用の新しい ElastiCache と同じリージョンで、Amazon S3 バケットを作成することを強くお勧めします。この手法により、ElastiCache が Amazon S3 から .rdb ファイルを読み取る場合のデータ転送速度が最大限に速くなります。

    セキュリティアドバイザリ

    データをできるだけ安全に保つため、Amazon S3 バケットのアクセス権限はできるだけ制限する一方で、新しい Redis クラスターのシードにバケットとそのコンテンツを使用できるようにします。

フォルダを Amazon S3 バケットに追加するには

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

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

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

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

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

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

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

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

.rdb ファイルを Amazon S3 フォルダにアップロードするには

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

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

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

  4. [Upload] を選択します。

  5. [Add files] を選択します。

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

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

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

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

詳細については、『Amazon Simple Storage Service 開発者ガイド』の「Bucket Restrictions and Limitations」を参照してください。

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

バックアップファイルへの読み込みアクセスを ElastiCache に許可するには

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

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

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

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

    イメージ: S3 コンソールで選択されているファイル

    S3 コンソールで選択されているファイル

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

  6. aws-scs-s3-readonly または次のリストの正規化 ID の 1 つがユーザーとして表示されていない場合は、以下の作業を行います。

    1. [Access for other AWS accounts] の下の [+ Add account] を選択します。

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

      • 中国 (北京) リージョン:

        Copy
        b14d6a125bdf69854ed8ef2e71d8a20b7c490f252229b806e514966e490b8d83

         

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

        Copy
        40fa568277ad703bd160f66ae4f83fc9dfdfd06c2f1b5060ca22442ac3ef8be6

        重要

        お客様がバックアップを AWS GovCloud (US) 内の Redis クラスターにダウンロードするには、そのバックアップが AWS GovCloud (US) 内の S3 バケットにあることが必要です。

      • その他のすべてのリージョン –

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

      1. オブジェクトの読み取り

      2. オブジェクトの読み取りアクセス権限

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

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

  8. [Download] を選択します。

ステップ 5: ElastiCache クラスターと .rdb ファイルデータを提携させる

これで ElastiCache クラスターを作成し、.rdb ファイルのデータと提携する準備が整いました。クラスターを作成するには、「クラスターの作成」または「レプリカを持つ Redis クラスターの最初からの作成」の手順に従います。Redis がクラスターエンジンとして選択されていることを確認してください。

さらに、お客様が ElastiCache に使用するよう指示した方法は、Amazon S3 にアップロードしたバックアップがどこにあるのかを検索するものですが、これはクラスターの作成に使用する方法によって異なります。

  • ElastiCache クラスターと .rdb ファイルデータを提携させます (ElastiCache コンソールを使用して)。

    Redis エンジンを選択したら、[Advanced Redis settings] セクションを展開し、[Import data to cluster] を見つけます。[Seed RDB file S3 location] ボックスに、ファイルの Amazon S3 パスを入力します。複数の .rdb ファイルがある場合は、カンマ区切りのリストで各ファイルのパスを入力します。Amazon S3 パスは次のように表示されます。myBucket/myFolder/myBackupFilename.rdb

     

  • AWS CLI を使用して ElastiCache クラスターを .rdb ファイルのデータでシードする

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

     

  • ElastiCache クラスターと .rdb ファイルデータを提携させます (ElastiCache API を使用して)。

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

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