使用外部建立的快照尋找新叢集 - Amazon MemoryDB

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用外部建立的快照尋找新叢集

當您建立新的 MemoryDB 叢集時,您可以使用 Valkey 或 Redis .rdb OSS 快照檔案的資料將其植入。

若要從 MemoryDB 快照或 ElastiCache (Redis OSS) 快照植入新的 MemoryDB 叢集,請參閱 從快照還原

當您使用 .rdb 檔案植入新的 MemoryDB 叢集時,您可以執行下列動作:

  • 在新叢集中指定一些碎片。此數字可能與用於建立快照檔案的叢集中的碎片數量不同。

  • 為新叢集指定不同的節點類型,其大小等於或小於製作快照的叢集中使用的節點類型。如果您擴展到較小的節點類型,請確定新的節點類型有足夠的記憶體來容納資料和引擎額外負荷。

重要
  • 您必須確保快照資料不超過節點的資源。

    如果快照太大,產生的叢集狀態為 restore-failed。如果發生此情況,您必須刪除叢集並重新開始。

    如需節點類型和規格的完整清單,請參閱 MemoryDB 節點類型特定參數

  • 您只能使用 Amazon S3 伺服器端加密 (SSE-S3) 加密 .rdb 檔案。如需詳細資訊,請參閱使用伺服器端加密保護資料

步驟 1:在外部叢集上建立快照

建立快照以植入 MemoryDB 叢集
  1. 連線至現有的 Valkey 或 Redis OSS執行個體。

  2. 執行 BGSAVESAVE操作以建立快照。記下您的 .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 Simple Storage Service 使用者指南中的建立儲存貯體提供的指引操作,建立 Amazon S3 儲存貯體。

    Amazon S3 儲存貯體的名稱必須符合 DNS。否則,MemoryDB 無法存取您的備份檔案。DNS 合規規則包括:

    • 名稱長度須為 3 到 63 個字元。

    • 名稱必須是一連串一或多個標籤,並以句號 (.) 分隔,其中每個標籤:

      • 以小寫字母或數字開頭。

      • 以小寫字母或數字結尾。

      • 僅包含小寫字母、數字和破折號。

    • 不得使用 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. 選擇 Save (儲存)。

    記下儲存貯體名稱和資料夾名稱。

步驟 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. 選擇 Add files (新增檔案)

  6. 瀏覽至您要上傳的一或多個檔案,然後選擇一或多個檔案。若要選擇多個檔案,請按住 Ctrl 鍵並選擇每個檔案名稱。

  7. 選擇 Open (開啟)。

  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 日之後引入的區域預設為停用。您必須啟用或選擇加入這些區域,才能使用它們,如管理 AWS 區域 中所述。

授予 MemoryDB 對 .rdb 檔案的讀取存取權

授予對快照檔案的 MemoryDB 讀取存取權
  1. 登入 AWS Management Console 並在 開啟 Amazon S3 主控台https://console.aws.amazon.com/s3/

  2. 選擇包含您 .rdb 檔案的 S3 儲存貯體名稱。

  3. 選擇包含您 .rdb 檔案的資料夾名稱。

  4. 選擇 .rdb 快照檔案的名稱。所選檔案的名稱將會顯示在頁面頂端的標籤上方。

  5. 選擇許可索引標籤標籤。

  6. Permissions (許可) 中,選擇 Bucket policy (儲存貯體政策),然後選擇 Edit (編輯)。

  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. 選擇 Save (儲存)。

步驟 5:使用 .rdb 檔案資料種子 MemoryDB 叢集

現在,您已準備好建立 MemoryDB 叢集,並使用來自 .rdb 檔案的資料將其植入。若要建立叢集,請遵循 的指示建立 MemoryDB 叢集

您用來告訴 MemoryDB 在何處尋找您上傳到 Amazon S3 的快照的方法取決於您用來建立叢集的方法:

使用 .rdb 檔案資料種子 MemoryDB 叢集
  • 使用 MemoryDB 主控台

    選擇引擎後,請展開進階設定區段,然後尋找將資料匯入叢集 。在種子RDB檔案 S3 位置方塊中,輸入檔案的 Amazon S3 路徑 (Amazon S3)。如果您有多個 .rdb 檔案,請以逗號分隔清單輸入每個檔案的路徑。Amazon S3 路徑看起來像 myBucket/myFolder/myBackupFilename.rdb

  • 使用 AWS CLI

    如果您使用 create-clustercreate-cluster操作,請使用 參數--snapshot-arns來指定ARN每個 .rdb 檔案的完整資格。例如:arn:aws:s3:::myBucket/myFolder/myBackupFilename.rdb。必須ARN解析為您儲存在 Amazon S3 中的快照檔案。

  • 使用 MemoryDB API

    如果您使用 CreateClusterCreateCluster MemoryDB API操作,請使用 參數SnapshotArns來指定ARN每個 .rdb 檔案的完整資格。例如:arn:aws:s3:::myBucket/myFolder/myBackupFilename.rdb。必須ARN解析為您儲存在 Amazon S3 中的快照檔案。

在建立叢集的過程中,快照中的資料會寫入叢集。您可以檢視 MemoryDB 事件訊息來監控進度。若要執行此操作,請參閱 MemoryDB 主控台,然後選擇事件 。您也可以使用 AWS MemoryDB 命令列介面或 MemoryDB API 來取得事件訊息。