使用外部建立的備份植入新的自行設計叢集 - Amazon ElastiCache (雷迪斯 OSS)

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

使用外部建立的備份植入新的自行設計叢集

當您建立新的 Redis OSS 自行設計叢集時,您可以使用 Redis OSS .rdb 備份檔案中的資料植入該叢集。如果您目前在以外管理 Redis OSS 執行個體, ElastiCache 並且想要使用現有的 Redis OSS 資料填入新的 ElastiCache (Redis OSS) 自行設計叢集,則植入叢集就很有用。

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

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

  • 從非資料分割叢集升級至執行 Redis OSS (已啟用叢集模式) 自行設計的叢集 (執行 Redis OSS 3.2.4 版)。

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

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

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

注意

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

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

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

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

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

接下來,您可以找到引導您完成從外部服務遷移 Redis OSS 叢集到 ElastiCache (Redis OSS) 的主題。

步驟 1:建立 Redis 的作業系統備份

若要建立 Redis 的 OSS 備份以植入您的 ElastiCache (Redis OSS) 執行個體
  1. Connect 至您現有的 Redis OSS 執行個體。

  2. 執行 Redis 的作業系統BGSAVESAVE作業來建立備份。記下您的 .rdb 檔案位置。

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

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

如需有關建立備份的其他資訊,請參閱 Redis OSS 持續性網站上的 Redis OSS 持續性

步驟 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 (Redis OSS) 叢集所在的相同 AWS 區域中建立 Amazon S3 儲存貯體。這種方法可確保從 Amazon S3 ElastiCache 讀取 .rdb 檔案時的最高資料傳輸速度。

    注意

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

在 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:建立 Redis 的作業系統備份中建立的 .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 讀取權限。您可以以不同的方式授予對備份檔案的 ElastiCache 存取權,具體取決於儲存貯體是在預設 AWS 區域還是選擇加入 AWS 區域。

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. 如果aws-scs-s下列清單中的其中一個標準 ID 未列為使用者,請執行下列動作:

    1. 其他 AWS 帳戶的存取權下,選擇新增受權者

    2. 在框中,添加 AWS 區域的規範 ID,如下所示:

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

        40fa568277ad703bd160f66ae4f83fc9dfdfd06c2f1b5060ca22442ac3ef8be6
        重要

        備份必須位於中的 S3 儲存貯體,您才能將其下載到中 AWS GovCloud (US) 的 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 並開啟 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. 選擇儲存變更

步驟 5:使用 .rdb 檔案資料植入 ElastiCache 叢集

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

您用來判斷 ElastiCache 哪裡可以找到您上傳到 Amazon S3 的 Redis OSS 備份的方法取決於您用來建立叢集的方法:

使用 .rdb 檔案資料植入 ElastiCache (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 程式介面

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

重要

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

在建立叢集的過程中,Redis OSS 備份中的資料會寫入叢集。您可以透過檢視 ElastiCache 事件訊息來監視進度。要做到這一點,請參閱 ElastiCache 控制台,然後選擇緩存事件。您也可以使用命 AWS ElastiCache 令列介面或 ElastiCache API 來取得事件訊息。如需更多詳細資訊,請參閱 檢視 ElastiCache 事件