教學課程:使用外部建立的備份植入新的自行設計叢集 - Amazon ElastiCache

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

教學課程:使用外部建立的備份植入新的自行設計叢集

當您建立新的 Valkey 或 Redis OSS 自行設計叢集時,您可以將來自 Valkey 或 Redis OSS .rdb 備份檔案的資料植入叢集。如果您目前在 ElastiCache 之外管理 Valkey 或 Redis OSS 執行個體,並想要將現有的 Valkey 或 Redis OSS 資料填入新的 ElastiCache for Redis OSS 自行設計叢集,則粒子化叢集非常有用。

若要從 Amazon ElastiCache 中建立的 Valkey 或 Redis OSS 備份植入新的 Valkey 或 Redis OSS 自行設計叢集,請參閱 從備份還原到新的快取

當您使用 Valkey 或 Redis OSS .rdb 檔案植入新的自行設計叢集時,您可以執行下列動作:

  • 從未分割叢集升級至執行 Redis OSS 3.2.4 版的 Valkey 或 Redis OSS (啟用叢集模式) 自行設計的叢集。

  • 在新的自行設計叢集中指定碎片數 (在 API 和 CLI 中稱為節點群組)。這個數字可以與用來建立備份檔案之自行設計叢集中的碎片數不同。

  • 為新的自行設計叢集指定不同的節點類型 - 大於或小於叢集中用來建立備份的節點。如果您擴展到較小的節點類型,請確定新的節點類型有足夠的記憶體可供您的資料和 Valkey 或 Redis OSS 額外負荷使用。如需詳細資訊,請參閱確保您有足夠的記憶體來製作 Valkey 或 Redis OSS 快照

  • 將您的金鑰分佈在新 Valkey 或 Redis OSS (啟用叢集模式) 叢集的插槽,與用來建立備份檔案的叢集不同。

注意

您無法從從 Valkey 或 Redis OSS (啟用叢集模式) 叢集建立的 .rdb 檔案植入 Valkey 或 Redis OSS (停用叢集模式) 叢集。

重要
  • 您必須確保您的 Valkey 或 Redis OSS 備份資料不超過節點的資源。例如,您無法將具有 5 GB Valkey 或 Redis OSS 資料的 .rdb 檔案上傳至具有 2.9 GB 記憶體的 cache.m3.medium 節點。

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

    如需完整的節點類型和規格清單,請參閱「Redis OSS 節點類型特定參數」和 Amazon ElastiCache 產品功能和詳細資訊

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

您可以在下面找到主題,引導您從 ElastiCache for Valkey 或 Redis OSS 外部遷移叢集至 ElastiCache for Redis OSS。

步驟 1:建立 Valkey 或 Redis OSS 備份

建立 Valkey 或 Redis OSS 備份以植入 ElastiCache for Redis OSS 執行個體
  1. 連線到您現有的 Valkey 或 Redis OSS 執行個體。

  2. 執行 BGSAVESAVE操作以建立備份。記下您的 .rdb 檔案位置。

    BGSAVE 是非同步的,不會封鎖其他用戶端的處理。如需詳細資訊,請參閱 Valkey 網站上的 BGSAVE

    SAVE 是同步的,並會封鎖其他處理序直到完成為止。如需詳細資訊,請參閱 Valkey 網站上的儲存

如需建立備份的詳細資訊,請參閱 Valkey 網站上的持續性

步驟 2:建立 Amazon S3 儲存貯體和資料夾

建立備份檔案之後,您需要將它上傳到 Amazon S3 儲存貯體中的資料夾。若要執行此操作,您必須先擁有 Amazon S3 儲存貯體,且該儲存貯體中有資料夾。如果您已有具備適當許可的 Amazon S3 儲存貯體和資料夾,您可以跳到「步驟 3:將備份上傳到 Amazon S3」。

建立 Amazon S3 儲存貯體
  1. 登入 AWS Management Console ,並在 https://https://console.aws.amazon.com/s3/ 開啟 Amazon S3 主控台。

  2. 依照 Amazon Simple Storage Service 使用者指南中的建立儲存貯體提供的指引操作,建立 Amazon S3 儲存貯體。

    Amazon S3 儲存貯體的名稱必須具 DNS 合規性。否則,ElastiCache 無法存取您的備份檔案。DNS 合規的規則如下:

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

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

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

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

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

    • 不得使用 IP 地址格式 (例如 192.0.2.0)。

    您必須在與新 ElastiCache for Redis OSS 叢集相同的 AWS 區域中建立 Amazon S3 儲存貯體。此方法將會確保 ElastiCache 從 Amazon S3 讀取您的 .rdb 檔案時,資料傳輸速度達到最快。

    注意

    為了讓您的資料盡可能保持安全,請盡可能限制您 Amazon S3 儲存貯體的許可。同時, 許可仍然需要允許儲存貯體及其內容用於植入新的 Valkey 或 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:建立 Valkey 或 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. 選擇 Add files (新增檔案)

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

  7. 選擇 Open (開啟)。

  8. 確認 Upload (上傳) 對話方塊中所列的一或多個檔案正確,然後選擇 Upload (上傳)

記下 .rdb 檔案的路徑。例如,如果您的儲存貯體名稱為 myBucket 且路徑為 myFolder/redis.rdb,請輸入 myBucket/myFolder/redis.rdb。您需要此路徑,才能將此備份資料植入新叢集。

如需詳細資訊,請參閱 Amazon Simple Storage Service 使用者指南中的儲存貯體限制與局限

步驟 4:授予 .rdb 檔案的讀取存取權給 ElastiCache

現在,授予 .rdb 備份檔案的讀取存取權給 ElastiCache。您可以根據儲存貯體位於預設 AWS 區域或選擇加入 AWS 區域,以不同的方式授予 ElastiCache 對備份檔案的存取權。

AWS 2019 年 3 月 20 日之前引進的區域預設為啟用。您可以立即開始在這些 AWS 區域中工作。2019 年 3 月 20 日之後推出的區域 (例如亞太區域 (香港) 和 中東 (巴林)) 預設為停用。您必須先啟用或選擇加入這些區域才能使用它們,如 AWS 一般參考 中的管理 AWS 區域所說明。

根據您的 AWS 區域選擇您的方法:

授予預設區域中 .rdb 檔案的讀取存取權給 ElastiCache

AWS 2019 年 3 月 20 日之前引進的區域預設為啟用。您可以立即開始在這些 AWS 區域中工作。2019 年 3 月 20 日之後推出的區域 (例如亞太區域 (香港) 和 中東 (巴林)) 預設為停用。您必須先啟用或選擇加入這些區域才能使用它們,如 AWS 一般參考 中的管理 AWS 區域所說明。

授予 ElastiCache 預設啟用 AWS 之 區域中備份檔案的讀取存取權
  1. 登入 AWS Management Console ,並在 https://console.aws.amazon.com/s3/:// 開啟 Amazon S3 主控台。

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

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

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

  5. 選擇許可

  6. 如果 aws-scs-s3-readonly 或下列清單中的其中一個正式 ID 不會列為使用者,請執行下列動作:

    1. 存取其他 AWS 帳戶下,選擇新增承授者

    2. 在方塊中,新增 AWS 區域的正式 ID,如下所示:

      • AWS GovCloud (美國西部) 區域:

        40fa568277ad703bd160f66ae4f83fc9dfdfd06c2f1b5060ca22442ac3ef8be6
        重要

        備份必須位於 中的 S3 儲存貯體中, AWS GovCloud (US) 才能下載到 中的 Valkey 或 Redis OSS 叢集 AWS GovCloud (US)。

      • AWS 預設啟用的區域:

        540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353
    3. 針對下列項目選擇 Yes (是) 以設定儲存貯體的許可:

      • 列出/寫入物件

      • 讀取/寫入物件 ACL 許可

    4. 選擇儲存

  7. 選擇 Overview (概觀),然後選擇 Download (下載)

授予 選擇加入區域中 .rdb 檔案的讀取存取權給 ElastiCache

AWS 2019 年 3 月 20 日之前引進的區域預設為啟用。您可以立即開始在這些 AWS 區域中工作。2019 年 3 月 20 日之後推出的區域 (例如亞太區域 (香港) 和 中東 (巴林)) 預設為停用。您必須先啟用或選擇加入這些區域才能使用它們,如 AWS 一般參考 中的管理 AWS 區域所說明。

現在,授予 .rdb 備份檔案的讀取存取權給 ElastiCache。

授予 ElastiCache 對備份檔案的讀取存取
  1. 登入 AWS Management Console 並開啟位於 https://https://console.aws.amazon.com/s3/ 的 Amazon S3 主控台。

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

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

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

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

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

  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:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/backup1.rdb", "arn:aws:s3:::amzn-s3-demo-bucket/backup2.rdb" ] } ] }
  8. 選擇儲存變更

使用 .rdb 檔案資料種子 ElastiCache 叢集

現在,您已準備好建立 ElastiCache 叢集,並將 .rdb 檔案資料植入其中。若要建立叢集,請依照為 Valkey 或 Redis OSS 建立叢集從頭開始建立 Valkey 或 Redis OSS 複寫群組中的指示進行。請務必選擇 Valkey 或 Redis OSS 做為叢集引擎。

您用來告訴 ElastiCache 在何處尋找您上傳到 Amazon S3 的備份的方法,取決於您用來建立叢集的方法:

使用 .rdb 檔案資料種子 ElastiCache for Redis OSS 叢集或複寫群組
  • 使用 ElastiCache 主控台

    選取 Cluster settings (叢集設定) 時,請選擇 Restore from backups (從備份還原) 做為叢集建立方法,然後在 Backup source (備份來源) 區段中,選擇 Other backups (其他備份) 做為您的 Source (來源)。在 Seed RDB file S3 location (植入 RDB 檔案 S3 位置) 方塊中,輸入檔案的 Amazon S3 路徑。如果您有多個 .rdb 檔案,請以逗號分隔清單輸入每個檔案的路徑。Amazon S3 路徑看起來像 myBucket/myFolder/myBackupFilename.rdb

  • 使用 AWS CLI

    如果您使用 create-cache-clustercreate-replication-group 操作,請使用參數 --snapshot-arns 來指定每個 .rdb 檔案的完整 ARN。例如 arn:aws:s3:::myBucket/myFolder/myBackupFilename.rdb。此 ARN 必須解析為您存放在 Amazon S3 中的備份檔案。

  • 使用 ElastiCache API

    如果您使用 CreateCacheClusterCreateReplicationGroup ElastiCache API 作業,請使用參數 SnapshotArns 來指定每個 .rdb 檔案的完整 ARN。例如 arn:aws:s3:::myBucket/myFolder/myBackupFilename.rdb。此 ARN 必須解析為您存放在 Amazon S3 中的備份檔案。

重要

植入 Valkey 或 Redis OSS (啟用叢集模式) 叢集時,您必須在新的叢集或複寫群組中設定每個節點群組 (碎片)。請使用參數 --node-group-configuration (API:NodeGroupConfiguration) 來執行此操作。如需詳細資訊,請參閱下列內容:

在建立叢集的過程中,Valkey 或 Redis OSS 備份中的資料會寫入叢集。您可以檢視 ElastiCache 事件訊息以監控進度。若要執行此操作,請查看 ElastiCache 主控台,並選擇 Cache Events (快取事件)。您也可以使用 AWS ElastiCache 命令列界面或 ElastiCache API 來取得事件訊息。如需詳細資訊,請參閱檢視 ElastiCache 事件