教學課程:使用外部建立的備份來尋找新的自我設計叢集 - Amazon ElastiCache

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

教學課程:使用外部建立的備份來尋找新的自我設計叢集

當您建立新的 Valkey 或 Redis OSS自行設計的叢集時,您可以使用 Valkey 或 Redis OSS .rdb 備份檔案的資料來植入叢集。如果您目前在 外部管理 Valkey 或 Redis OSS執行個體, ElastiCache 並想要使用現有的 Valkey 或 Redis OSS資料填入新的 ElastiCache (RedisOSS) 自我設計叢集,則查看叢集非常有用。

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

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

  • 從非分割叢集升級至執行 Redis 3.2.4 OSS版的 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 伺服器端加密 OSS (SSE-S3) 來加密 Valkey 或 Redis .rdb 檔案。如需詳細資訊,請參閱使用伺服器端加密保護資料

接下來,您可以找到主題,引導您將叢集從外部遷移OSS至 ElastiCache Valkey 或 Redis ElastiCache (Redis OSS)。

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

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

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

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

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

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

步驟 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。否則, ElastiCache 無法存取您的備份檔案。DNS 合規規則包括:

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

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

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

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

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

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

    您必須在與新 ElastiCache (RedisOSS) 叢集相同的 AWS 區域中建立 Amazon S3 儲存貯體。此方法可確保從 Amazon S3 ElastiCache 讀取 .rdb 檔案時的最高資料傳輸速度。

    注意

    為了讓您的資料盡可能保持安全,請盡可能限制您 Amazon S3 儲存貯體的許可。同時, 許可仍然需要允許儲存貯體及其內容用於植入新的 Valkey 或 Redis OSS叢集。

在 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:建立 Valkey 或 Redis OSS 備份中建立的 .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. 確認 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 區域所說明。

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

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

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

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

  5. 選擇許可

  6. 如果IDs下列清單中的 aws-scs-s3 個唯讀或其中一個標準未列為使用者,請執行下列動作:

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

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

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

        40fa568277ad703bd160f66ae4f83fc9dfdfd06c2f1b5060ca22442ac3ef8be6
        重要

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

      • AWS 預設啟用的區域:

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

      • 列出/寫入物件

      • 讀取/寫入物件ACL許可

    4. 選擇 Save (儲存)。

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

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

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

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

授予備份檔案的 ElastiCache 讀取存取權
  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. 更新政策以授予執行操作 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:::example-bucket", "arn:aws:s3:::example-bucket/backup1.rdb", "arn:aws:s3:::example-bucket/backup2.rdb" ] } ] }
  8. 選擇 Save changes (儲存變更)。

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

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

您用來判斷上傳到 Amazon S3 的備份 ElastiCache 位置的方法,取決於您用來建立叢集的方法:

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

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

  • 使用 AWS CLI

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

  • 使用 ElastiCache API

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

重要

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

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