將 RDS Custom for SQL Server 單一可用區部署修改為多可用區部署 - Amazon Relational Database Service

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

將 RDS Custom for SQL Server 單一可用區部署修改為多可用區部署

您可以將現有的 RDS Custom for SQL Server 資料庫執行個體從單一可用區部署修改為多可用區部署。當您修改資料庫執行個體時,Amazon 會RDS執行數個動作:

  • 拍攝主要資料庫執行個體的快照。

  • 從快照為待命複本建立新磁碟區。這些磁碟區會在背景中初始化,並在資料完全初始化之後達到最大磁碟區效能。

  • 開啟主要和次要資料庫執行個體之間的同步區塊層級複本。

重要

建議您避免在尖峰活動期間,將 RDS Custom for SQL Server 資料庫執行個體從單一可用區修改為生產資料庫執行個體上的多可用區部署。

AWS 當您從單一可用區轉換為多可用區時, 會使用快照來建立待命執行個體,以避免停機時間,但在轉換為多可用區期間和之後,效能可能會受到影響。對於對寫入延遲敏感的工作負載而言,這個影響可能很重大。雖然此功能可以從快照中快速還原大量磁碟區,但由於是同步複寫,可能會導致 I/O 作業延遲。此延遲可能會影響您的資料庫效能。

設定先決條件,使用 將單一可用區修改為多可用區部署 CloudFormation

若要使用多可用區域部署,您必須確定已套用最新的 CloudFormation 範本與先決條件,或手動設定最新的先決條件。如果您已套用最新的 CloudFormation 先決條件範本,可以略過這些步驟。

使用 設定 RDS Custom for SQL Server Multi-AZ 部署先決條件 CloudFormation

  1. https://console.aws.amazon.com/cloudformation 開啟 CloudFormation 主控台。

  2. 若要啟動「建立堆疊」精靈,請選取您用來建立單一可用區部署的現有堆疊,然後選擇更新

    建立堆疊頁面隨即出現。

  3. 對於先決條件 - 準備範本,請選擇取代現有範本

  4. 針對 Specify template 執行下列操作:

    1. 下載最新的 AWS CloudFormation 範本檔案。開啟連結 custom-sqlserver-onboard.zip 的內容 (按一下滑鼠右鍵) 選單,然後選擇另存連結為

    2. custom-sqlserver-onboard.json 檔案儲存並擷取到您的電腦。

    3. 針對 Template source (範本來源),選擇 Upload a template file (上傳範本檔案)。

    4. 針對 Choose file (選擇檔案),導覽至 custom-sqlserver-onboard.json 並加以選擇。

  5. 選擇 Next (下一步)

    Specify stack details (指定堆疊詳細資訊) 頁面隨即出現。

  6. 若要保留預設選項,請選擇 Next (下一步)。

    進階選項頁面旋即出現。

  7. 若要保留預設選項,請選擇 Next (下一步)。

  8. 若要保留預設選項,請選擇 Next (下一步)。

  9. 檢閱變更頁面上,執行下列動作:

    1. 針對功能 ,選取我確認 AWS CloudFormation 可能建立具有自訂名稱IAM的資源核取方塊。

    2. 選擇提交

  10. 確認更新是否成功。成功作業的狀態會顯示 UPDATE_COMPLETE

如果更新失敗,更新過程指定的任何新組態都會復原。現有的資源仍然可以使用。例如,如果您新增編號為 18 和 19 的網路ACL規則,但現有規則具有相同的數字,則更新會傳回下列錯誤:Resource handler returned message: "The network acl entry identified by 18 already exists.在此情況下,您可以修改現有ACL規則以使用小於 18 的數字,然後重試更新。

設定先決條件,以手動將單一可用區修改為多可用區部署

重要

為了簡化設定,我們建議您使用網路設定指示中提供的最新 AWS CloudFormation 範本檔案。如需詳細資訊,請參閱設定先決條件,使用 將單一可用區修改為多可用區部署 CloudFormation

如果您選擇手動設定先決條件,請執行以下任務。

  1. 在 開啟 Amazon VPC主控台https://console.aws.amazon.com/vpc/

  2. 選擇端點Create Endpoint (建立端點) 頁面隨即出現。

  3. 服務類別中,選擇​ AWS 服務

  4. 服務 中,搜尋 SQS

  5. 在 中VPC,選擇部署 RDS Custom for SQL Server 資料庫執行個體VPC的 。

  6. 子網路 中,選擇部署 RDS Custom for SQL Server 資料庫執行個體的子網路。

  7. 安全群組 中,選擇 -vpc-endpoint-sg 群組。

  8. 針對政策,選擇自訂

  9. 在自訂政策中,取代 AWS partition, Region, accountId,以及 IAM-Instance-role 使用您自己的值。

    { "Version": "2012-10-17", "Statement": [ { "Condition": { "StringLike": { "aws:ResourceTag/AWSRDSCustom": "custom-sqlserver" } }, "Action": [ "SQS:SendMessage", "SQS:ReceiveMessage", "SQS:DeleteMessage", "SQS:GetQueueUrl" ], "Resource": "arn:${AWS::Partition}:sqs:${AWS::Region}:${AWS::AccountId}:do-not-delete-rds-custom-*", "Effect": "Allow", "Principal": { "AWS": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/{IAM-Instance-role}" } } ] }
  10. 使用存取 Amazon 的許可更新執行個體設定檔SQS。取代 AWS partition, RegionaccountId 使用您自己的值。

    { "Sid": "SendMessageToSQSQueue", "Effect": "Allow", "Action": [ "SQS:SendMessage", "SQS:ReceiveMessage", "SQS:DeleteMessage", "SQS:GetQueueUrl" ], "Resource": [ { "Fn::Sub": "arn:${AWS::Partition}:sqs:${AWS::Region}:${AWS::AccountId}:do-not-delete-rds-custom-*" } ], "Condition": { "StringLike": { "aws:ResourceTag/AWSRDSCustom": "custom-sqlserver" } } } >
  11. 更新 Amazon RDS安全群組傳入和傳出規則,以允許連接埠 1120。

    1. 安全群組 中,選擇 -rds-custom-instance-sg 群組。

    2. 針對傳入規則 ,建立自訂TCP規則以允許連接埠 1120 從來源 -rds-custom-instance-sg 群組。

    3. 針對傳出規則 ,建立自訂TCP規則以允許連接埠 1120 目的地 -rds-custom-instance-sg 群組。

  12. 在私有網路存取控制清單 (ACL) 中新增規則,允許資料庫執行個體0-65535來源子網路的TCP連接埠。

    注意

    建立輸入規則輸出規則時,請記下現有最高的規則編號。您建立的新規則必須具有小於 100 的規則編號,且不重複任何現有的規則編號

    1. 網路 ACLs中,選擇 -private-network-acl 群組。

    2. 針對傳入規則 ,建立所有規則以允許來源為 0-65535的TCP連接埠 TCP privatesubnet1 以及 privatesubnet2.

    3. 針對傳出規則 ,建立所有TCP規則以允許TCP連接埠0-65535到達目的地 privatesubnet1 以及 privatesubnet2.

使用RDS主控台 AWS CLI或 RDS 修改 API。

完成先決條件之後,您可以使用RDS主控台,將 RDS Custom for SQL Server 資料庫執行個體從單一可用區修改為多可用區部署 AWS CLI,或 RDS API。

將現有的 RDS Custom for SQL Server Single-AZ 修改為 Multi-AZ 部署
  1. 登入 AWS Management Console 並在 開啟 Amazon RDS主控台https://console.aws.amazon.com/rds/

  2. 在 Amazon RDS主控台中,選擇資料庫

    Databases (資料庫) 窗格隨即出現。

  3. 選擇您要修改的 RDS Custom for SQL Server 資料庫執行個體。

  4. 動作中,選擇轉換為多可用區部署

  5. 確認頁面上,選擇立即套用,來立即套用變更。選擇此選項並不會產生停機時間,但可能會對效能產生影響。或者,您也可以選擇在下個維護時段套用更新。如需詳細資訊,請參閱使用排程修改設定

  6. 確認頁面上,選擇轉換為多可用區

若要使用 轉換為多可用區域資料庫執行個體部署 AWS CLI,請呼叫 modify-db-instance命令並設定 --multi-az選項。指定資料庫執行個體識別符,以及您要修改的其他選項值。如需每個選項的詳細資訊,請參閱資料庫執行個體的設定

範例

下列代碼包含 --multi-az 選項,以修改 mycustomdbinstance。使用 --no-apply-immediately,會在下一次維護時段期間由系統套用變更。使用 --apply-immediately 可立即套用變更。如需詳細資訊,請參閱使用排程修改設定

用於 Linux, macOS,或 Unix:

aws rds modify-db-instance \ --db-instance-identifier mycustomdbinstance \ --multi-az \ --no-apply-immediately

用於 Windows:

aws rds modify-db-instance ^ --db-instance-identifier mycustomdbinstance ^ --multi-az \ ^ --no-apply-immediately

若要使用 轉換為多可用區域資料庫執行個體部署API,請呼叫 ModifyDBInstance RDS 操作並將 MultiAZ 參數設為 true。