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

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

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

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

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

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

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

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

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

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

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

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

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

MemoryDB クラスターにシードするスナップショットを作成するには
  1. 既存の Valkey または Redis OSSインスタンスに接続します。

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

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

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

スナップショットの作成の詳細については、「永続性」を参照してください。

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

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

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

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

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

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

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

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

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

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

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

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

    注記

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

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

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

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

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

  5. 保存 を選択します。

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

ステップ 3: スナップショットを Amazon S3 にアップロードする

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

.rdb ファイルを Amazon S3 フォルダにアップロードするには
  1. にサインイン AWS Management Console し、 で Amazon S3 コンソールを開きますhttps://console.aws.amazon.com/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 し、 で Amazon S3 コンソールを開きますhttps://console.aws.amazon.com/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 にアップロードしたスナップショットの場所を MemoryDB に伝えるために使用する方法は、クラスターの作成に使用する方法によって異なります。

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

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

  • の使用 AWS CLI

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

  • MemoryDB の使用 API

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

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