外部で作成されたスナップショットによる新しいクラスターのシード - Amazon MemoryDB

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

外部で作成されたスナップショットによる新しいクラスターのシード

新しい MemoryDB クラスターを作成するときに、Redis OSS .rdb スナップショットファイルからのデータでシードできます。

MemoryDB スナップショットまたは ElastiCache (Redis OSS) スナップショットから新しい MemoryDB クラスターをシードするには、「」を参照してくださいスナップショットからの復元

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

  • 新しいクラスターのシャード数を指定します。新しいクラスター内のシャードの数を指定します。この数は、スナップショットファイルの作成に使用されたクラスター内のシャードの数とは異なる場合があります。

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

重要
  • スナップショットデータがノードのリソースを超えていないことを確認する必要があります。

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

    ノードタイプおよび仕様の完全なリストについては、「‭MemoryDB ノードタイプ固有のパラメータ」を参照してください。

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

ステップ 1: 外部クラスターで Redis OSS スナップショットを作成する

MemoryDB クラスターにシードするスナップショットを作成するには
  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 に準拠している必要があります。それ以外の場合、MemoryDB はバックアップファイルにアクセスできません。DNS コンプライアンスのルールは次のとおりです。

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

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

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

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

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

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

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

    注記

    データを可能な限り安全に保つには、Amazon S3 バケットに対するアクセス許可をできるだけ制限します。同時に、バケットとその内容を使用して新しい MemoryDB クラスターをシードするためのアクセス許可を付与する必要があります。

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 ユーザーガイド‭‬」の「‭‬バケットの命名規則‭‬」を参照してください。‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬

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

AWS 2019 年 3 月 20 日より前に導入されたリージョンは、デフォルトで有効になっています。これらの AWS リージョンですぐに作業を開始できます。2019 年 3 月 20 日以降に導入されたリージョンはデフォルトでは無効になっています。Managing AWS regions で説明されているように、これらのリージョンを使用する前に、それらを有効にするか、オプトインする必要があります。

MemoryDBに.rdb ファイルへの読み込みアクセスを許可する

スナップショットファイルへの読み込みアクセスを MemoryDB に許可するには
  1. にサインイン AWS Management Console し、https://console.aws.amazon.com/s3/ で Amazon S3 コンソールを開きます。

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

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

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

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

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

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

    • [ "Service" : "region-full-name.memorydb-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": "us-east-1.memorydb-snapshot.amazonaws.com" }, "Action": [ "s3:GetObject", "s3:ListBucket", "s3:GetBucketAcl" ], "Resource": [ "arn:aws:s3:::example-bucket", "arn:aws:s3:::example-bucket/snapshot1.rdb", "arn:aws:s3:::example-bucket/snapshot2.rdb" ] } ] }
  8. 保存を選択します。

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

これで MemoryDB クラスターを作成し、.rdb ファイルのデータと提携する準備が整いました。クラスターを作成するには、MemoryDB クラスターの作成 の指示に従います。

Amazon S3 にアップロードした Redis OSS スナップショットの場所を MemoryDB に伝える方法は、クラスターの作成に使用する方法によって異なります。

MemoryDB クラスターと .rdb ファイルデータを提携させる
  • MemoryDB コンソールの使用

    Redis OSS エンジンを選択したら、高度な Redis OSS 設定セクションを展開し、クラスター にデータをインポートする を見つけます。[シード RDB ファイルの S3 ロケーション] ボックスに、ファイルの Amazon S3 パスを入力します。複数の .rdb ファイルがある場合は、カンマ区切りのリストで各ファイルのパスを入力します。Amazon S3 パスは myBucket/myFolder/myBackupFilename.rdb のようになります。

  • の使用 AWS CLI

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

  • MemoryDB API の使用

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

クラスターの作成処理中、スナップショットのデータがクラスターに書き込まれます。MemoryDB イベントメッセージを表示して、進行状況をモニタリングできます。これを行うには、MemoryDB コンソールを参照し、[イベント] を選択します。 AWS MemoryDB コマンドラインインターフェイスまたは MemoryDB API を使用して、イベントメッセージを取得することもできます。