重新定位叢集 - Amazon Redshift

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

重新定位叢集

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

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

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

Amazon Redshift 叢集重新定位功能僅支援 RA3 執行個體類型,例如 ra3.16xlarge、ra3.4xlarge 和 ra3.xlplus。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 命令參考中的可用命令

注意

提醒您,叢集重新定位不是設定其他 Redshift 網路功能的先決條件。例如,您可以使用跨區域快照複製來補充,以便為您的環境提供更高的彈性,但這並非必要。您也不需要將其開啟才能啟用下列功能:

  • 從跨帳戶或跨區域 VPC 連線至 Redshift — 您可以從一個 AWS 虛擬私有雲 (VPC) 連線到包含 Redshift 資料庫的另一個虛擬私有雲端。這樣可以更輕鬆地管理,例如:從不同的帳戶或 VPC 進行用戶端存取,而不必提供本機 VPC 存取權限來連線至資料庫的身分識別。如需詳細資訊,請參閱從其他帳戶或區域中的 Redshift VPC 端點連線至 Amazon Redshift Serverless

  • 設定自訂網域名稱 — 您可以為 Amazon Redshift 叢集或 Amazon Redshift Serverless 工作群組建立自訂網域名稱 (也稱為自訂 URL),以使端點名稱更加簡單易記。如需詳細資訊,請參閱使用自訂網域名稱來進行用戶端連線

限制

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

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

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

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

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

開啟叢集重新定位

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

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

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

使用主控台管理重新定位

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

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

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

開啟新叢集的重新定位功能
  1. 登入 AWS Management Console 並開啟 Amazon Redshift 主控台,網址為 https://console.aws.amazon.com/redshiftv2/

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

  3. 選擇建立叢集以建立新叢集。如需有關如何建立叢集的詳細資訊,請參閱 Amazon Redshift 佈建的叢集 (英 Amazon Redshift)。

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

  5. 選擇建立叢集

修改現有叢集的重新定位

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

修改現有叢集的重新定位設定
  1. 登入 AWS Management Console 並開啟 Amazon Redshift 主控台,網址為 https://console.aws.amazon.com/redshiftv2/

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

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

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

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

  6. 選擇修改叢集

重新定位叢集

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

將叢集重新定位到其他可用區域
  1. 登入 AWS Management Console 並開啟 Amazon Redshift 主控台,網址為 https://console.aws.amazon.com/redshiftv2/

  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