重新定位叢集 - Amazon Redshift

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

重新定位叢集

透過在 Amazon Redshift 中使用重新定位功能,您可以讓 Amazon Redshift 將叢集移至另一個可用區域 (AZ),而不會遺失任何資料或導致應用程式發生變更。透過重新定位,您可以在叢集上發生服務中斷時繼續操作,將所受影響降到最低。

開啟叢集重新定位時,Amazon Redshift 可能會在某些情況下選擇將叢集重新定位。特別是,當目前的可用區域中所發生的問題讓您無法達到最佳化的叢集操作,或是為了改善服務可用性,就會發生這種情況。如果指定可用區域中的資源限制會中斷叢集操作,您也可以叫用重新定位功能。其中一個範例是繼續執行叢集或調整叢集大小的能力。Amazon Redshift 提供重新定位功能,無需額外付費。

將 Amazon Redshift 叢集重新定位到新的可用區域時,新叢集的端點會與原始叢集的端點相同。您的應用程式可以重新連線到該端點並繼續操作,而不會修改或遺失資料。但是,由於指定可用區域中的資源可能有限制,因此不一定可以重新定位。

Amazon Redshift 叢集重新定位僅支援RA3執行個體類型,例如拉 3.16 倍大、大型和 ra3.XL。RA3執行個體類型使用 Redshift 受管理儲存 (RMS) 做為持久儲存層。叢集資料的最新副本永遠可在以下位置的其他可用區域中使用 AWS 區域。換句話說,您可以將 Amazon Redshift 叢集重新定位到另一個可用區域,而不會遺失任何資料。

當您開啟叢集的重新定位功能時,Amazon Redshift 會將您的叢集遷移到代理後面。這樣做有助於實作與位置無關的叢集運算資源存取權。遷移會導致叢集重新開機。將叢集重新定位到另一個可用區域時,當新叢集在新的可用區域中重新上線時,會發生中斷情形。不過,您不需要對應用程式進行任何變更,因為即使在叢集重新定位至新的可用區域後,叢集端點仍會維持不變。

依預設,所有叢集都RA3會停用叢集重新定位。在建立佈建叢集時,Amazon Redshift 會指派 5439 作為預設連接埠。您可以變更為 5431 至 5455 或 8191 至 8215 之連接埠範圍內的其他連接埠。(請勿變更為範圍以外的連接埠。這會導致錯誤。) 若要變更已佈建叢集的預設連接埠,請使用 Amazon Redshift 主控台, AWS CLI,或 Amazon Redshift API。若要變更無伺服器工作群組的預設連接埠,請使用 AWS CLI 或 Amazon Redshift 無服務器API。

如果您開啟重新定位功能,而您目前使用領導節點 IP 地址來存取叢集,請務必變更該存取權。請改用與叢集虛擬私有雲端 (VPC) 端點相關聯的 IP 位址。若要尋找此叢集 IP 位址,請在叢集詳細資料頁面的 [網路和安全性] 區段中尋找並使用VPC端點。若要取得有關VPC端點的詳細資訊,請登入 Amazon VPC 主控台。

您也可以使用 AWS Command Line Interface (AWS CLI) 指令describe-vpc-endpoints以取得與端點相關聯的 elastic network interface。您可以使用 describe-network-interfaces 命令來取得相關聯的 IP 地址。有關 Amazon Redshift 的更多信息 AWS CLI 指令,參閱 AWS CLI 指令參考。

限制

使用 Amazon Redshift 重新定位功能時,請注意下列限制:

  • 由於指定可用區域中的資源可能有限制,因此並非所有情況下都能進行叢集重新定位。如果發生這種情況,Amazon Redshift 不會變更原始叢集。

  • 產品的DC2執行個體系列不支援重新定位。

  • 您無法跨越執行重新定位 AWS 區域。

  • Amazon Redshift 重新定位預設使用連接埠號碼 5439。您也可以變更為 5431-5455 或 8191-8215 之連接埠範圍內的其他連接埠。

開啟叢集重新定位

您可以從 Amazon Redshift 主控台開啟和管理叢集重新定位。 AWS CLI和 Amazon Redshift API。

若要開啟叢集重新定位功能,請定義包含多個可用區域的子網路群組。如果 Amazon Redshift 識別出多個可存取的可用區域,Amazon Redshift 會自動從可存取的可用區域清單中進行選擇以重新定位叢集。

重新定位完成後,請使用相同端點來存取叢集。Amazon Redshift 會刪除原始叢集的運算資源,並將其歸還資源集區。

使用主控台管理重新定位

您可以使用 Amazon Redshift 主控台來管理叢集重新定位的設定。

建立新叢集時開啟重新定位

使用下列程序在建立新叢集時開啟重新定位功能。

開啟新叢集的重新定位功能
  1. 登入 AWS Management Console 並在https://console.aws.amazon.com/redshiftv2/打開 Amazon Redshift 控制台。

  2. 在導覽功能表上,選擇叢集

  3. 選擇建立叢集以建立新叢集。如需如何建立叢集的詳細資訊,請參閱 Amazon Redshift 入門指南中的開始使用 Amazon Redshift 佈建的資料倉儲

  4. 備份下,對於叢集重新定位選擇已啟用。預設會關閉重新定位。

  5. 選擇建立叢集

修改現有叢集的重新定位

使用下列程序變更現有叢集的重新定位設定。

修改現有叢集的重新定位設定
  1. 登入 AWS Management Console 並在https://console.aws.amazon.com/redshiftv2/打開 Amazon Redshift 控制台。

  2. 在導覽選單上,選擇叢集。目前帳戶的叢集 AWS 會列出區域。每個叢集的屬性子集會在清單中分欄顯示。

  3. 從清單中選擇您要修改之叢集的名稱。隨即會出現叢集詳細資訊頁面。

  4. 選擇維護索引標籤,然後在備份詳細資訊區段中選擇編輯

  5. 備份下,選擇已啟用。預設會關閉重新定位。

  6. 選擇修改叢集

重新定位叢集

使用下列程序將叢集手動重新定位到其他可用區域。當您要測試次要可用區域中的網路設定,或當您在目前的可用區域中即將遇到資源限制時,此功能特別有用。

將叢集重新定位到其他可用區域
  1. 登入 AWS Management Console 並在https://console.aws.amazon.com/redshiftv2/打開 Amazon Redshift 控制台。

  2. 在導覽選單上,選擇叢集。目前帳戶的叢集 AWS 會列出區域。每個叢集的屬性子集會在清單中分欄顯示。

  3. 從清單中選擇您要移動之叢集的名稱。隨即會出現叢集詳細資訊頁面。

  4. 針對動作,選擇重新定位重新定位叢集頁面隨即出現。

  5. (選擇性) 選擇可用區域。如果您未選擇可用區域,Amazon Redshift 會為您選擇。

Amazon Redshift 會啟動重新定位功能,並將叢集顯示為正在重新定位。重新定位完成後,叢集狀態會變更為「可用」。

使用 Amazon Redshift 管理搬遷 CLI

您可以使用 AWS 命令行界面(CLI)。

隨著 AWS CLI時,下列範例命令會建立名為已開啟重新定位mycluster的 Amazon Redshift 叢集。

aws redshift create-cluster --cluster-identifier mycluster --number-of-nodes 2 --master-username enter a username --master-user-password enter a password --node-type ra3.4xlarge --port 5439 --availability-zone-relocation

如果您目前的叢集使用不同的連接埠,您必須先將其修改為使用 5431-5455 或 8191-8215 的連接埠範圍,然後再將其修改為開啟重新定位。預設值為 5439。下列範例命令會修改連接埠,以防您的叢集未使用指定範圍中的連接埠。

aws redshift modify-cluster --cluster-identifier mycluster --port 5439

下列範例命令包含 Amazon Redshift 叢集上的 availability-zone-relocation 參數。

aws redshift modify-cluster --cluster-identifier mycluster --availability-zone-relocation

下列範例命令會關閉 Amazon Redshift 叢集上的 availability-zone-relocation 參數。

aws redshift modify-cluster --cluster-identifier mycluster --no-availability-zone-relocation

下列範例命令會叫用 Amazon Redshift 叢集上的重新定位。

aws redshift modify-cluster --cluster-identifier mycluster --availability-zone us-east-1b