本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
您可以將現有 RDS Custom for SQL Server 資料庫執行個體從單一可用區部署修改為多可用區部署。當您修改資料庫執行個體時,Amazon RDS 會執行多個動作:
-
拍攝主要資料庫執行個體的快照。
-
從快照為待命複本建立新磁碟區。這些磁碟區會在背景中初始化,並在資料完全初始化之後達到最大磁碟區效能。
-
開啟主要和次要資料庫執行個體之間的同步區塊層級複本。
重要
建議您避免在尖峰活動期間,將 RDS Custom for SQL Server 資料庫執行個體從單一可用區修改為生產資料庫執行個體上的多可用區部署。
AWS 當您從單一可用區轉換為多可用區時, 會使用快照來建立待命執行個體,以避免停機時間,但在轉換為多可用區期間和之後,效能可能會受到影響。對於對寫入延遲敏感的工作負載而言,這個影響可能很重大。雖然此功能可以從快照中快速還原大量磁碟區,但由於是同步複寫,可能會導致 I/O 作業延遲。此延遲可能會影響您的資料庫效能。
注意
如果您在 2024 年 8 月 29 日之前建立 RDS Custom for SQL Server 資料庫執行個體,請在修改之前修補至最新的次要版本。
-
針對 SQL Server 2019 執行個體,將資料庫引擎版本升級至
15.00.4410.1.v1
或更高版本。 -
針對 SQL Server 2022 執行個體,將資料庫引擎版本升級至
16.00.4150.1.v1
或更高版本。
主題
設定先決條件,以使用 CloudFormation 將單一可用區修改為多可用區部署
若要使用多可用區部署,請確保您已套用具有先決條件的最新 CloudFormation 範本,或手動設定最新的先決條件。若您已套用最新的 CloudFormation 先決條件範本,可以略過這些步驟。
使用 CloudFormation 設定 RDS Custom for SQL Server 多可用區部署先決條件
-
在 https://https://console.aws.amazon.com/cloudformation
開啟 CloudFormation 主控台。 -
若要啟動「建立堆疊」精靈,請選取您用來建立單一可用區部署的現有堆疊,然後選擇更新。
建立堆疊頁面隨即出現。
-
對於先決條件 - 準備範本,請選擇取代現有範本。
-
針對 Specify template 執行下列操作:
下載最新的 AWS CloudFormation 範本檔案。開啟連結 custom-sqlserver-onboard.zip 的內容 (滑鼠右鍵) 功能表,然後選擇 Save Link As (另存連結為)。
-
將
custom-sqlserver-onboard.json
檔案儲存並擷取到您的電腦。 -
針對 Template source (範本來源),選擇 Upload a template file (上傳範本檔案)。
-
針對 Choose file (選擇檔案),導覽至
custom-sqlserver-onboard.json
並加以選擇。
-
選擇 Next (下一步)。
Specify stack details (指定堆疊詳細資訊) 頁面隨即出現。
-
若要保留預設選項,請選擇 Next (下一步)。
進階選項頁面旋即出現。
-
若要保留預設選項,請選擇 Next (下一步)。
-
若要保留預設選項,請選擇 Next (下一步)。
-
在檢閱變更頁面上,執行下列動作:
-
針對 Capabilities (功能),選取 I acknowledge that AWS CloudFormation might create IAM resources with custom names (確認可能使用自訂名稱建立 IAM 資源) 核取方塊。
-
選擇提交。
-
-
確認更新是否成功。成功作業的狀態會顯示
UPDATE_COMPLETE
。
如果更新失敗,更新過程指定的任何新組態都會復原。現有的資源仍然可以使用。例如,如果您新增編號為 18 和 19 的網路 ACL 規則,但現有規則的編號相同,則更新會傳回下列錯誤:Resource handler
returned message: "The network acl entry identified by 18 already exists.
在此情況中,您可以將現有 ACL 規則修改為使用小於 18 的數字,然後重試更新。
設定先決條件,以手動將單一可用區修改為多可用區部署
重要
為了簡化設定,我們建議您使用網路設定說明中提供的最新 AWS CloudFormation 範本檔案。如需詳細資訊,請參閱設定先決條件,以使用 CloudFormation 將單一可用區修改為多可用區部署。
如果您選擇手動設定先決條件,請執行以下任務。
-
在 https://console.aws.amazon.com/vpc/
開啟 Amazon VPC 主控台。 -
選擇端點。Create Endpoint (建立端點) 頁面隨即出現。
-
在服務類別中,選擇 AWS 服務。
-
在服務中,搜尋
SQS
-
在 VPC 中,選擇部署 RDS Custom for SQL Server 資料庫執行個體的 VPC。
-
在子網路中,選擇部署 RDS Custom for SQL Server 資料庫執行個體的子網路。
-
在安全群組中,選擇
-vpc-endpoint-sg
群組。 -
針對政策,選擇自訂
-
在您的自訂政策中,以您自己的值取代
AWS 分割區
、區域
、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}" } } ] }
-
以 Amazon SQS 存取權限更新執行個體設定檔。以您自己的值取代
AWS 分割區
、區域
和accountId
。{ "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" } } } >
-
更新 Amazon RDS 安全群組輸入和輸出規則,以允許連接埠 1120。
在安全群組中,選擇
-rds-custom-instance-sg
群組。針對輸入規則,請建立自訂 TCP 規則,以允許來自來源
-rds-custom-instance-sg
群組的連接埠1120
。針對輸出規則,請建立自訂 TCP 規則,以允許到目的地
-rds-custom-instance-sg
群組的連接埠1120
。
-
在您的私人網路存取控制清單 (ACL) 中新增規則,以允許資料庫執行個體的來源子網路使用 TCP 連接埠
0-65535
。注意
建立輸入規則和輸出規則時,請記下現有最高的規則編號。您建立的新規則必須具有小於 100 的規則編號,且不重複任何現有的規則編號。
在網路 ACL 中,選擇
-private-network-acl
群組。針對輸入規則,請建立所有 TCP 規則,以允許來自來源
privatesubnet1
和privatesubnet2
的 TCP 連接埠0-65535
。針對輸出規則,請建立所有 TCP 規則,以允許到目的地
privatesubnet1
和privatesubnet2
的 TCP 連接埠0-65535
。
使用 RDS 主控台、 AWS CLI 或 RDS API 進行修改。
完成先決條件後,您可以使用 RDS 主控台、 AWS CLI 或 RDS API,將 RDS Custom for SQL Server 資料庫執行個體從單一可用區修改為多可用區部署。
將現有 RDS Custom for SQL Server 單一可用區修改為多可用區部署
登入 AWS Management Console ,並在 https://console.aws.amazon.com/rds/
:// 開啟 Amazon RDS 主控台。 -
在 Amazon RDS 主控台,選擇 Databases (資料庫)。
Databases (資料庫) 窗格隨即出現。
-
選擇您想要修改的 RDS Custom for SQL Server 資料庫執行個體。
-
從動作中,選擇轉換為多可用區部署。
-
在確認頁面上,選擇立即套用,來立即套用變更。選擇此選項並不會產生停機時間,但可能會對效能產生影響。或者,您也可以選擇在下個維護時段套用更新。如需詳細資訊,請參閱使用排程修改設定。
-
在確認頁面上,選擇轉換為多可用區。
若要使用 轉換為多可用區域資料庫執行個體部署 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
若要使用 RDS API 轉換為多個可用區資料庫執行個體部署,請呼叫 ModifyDBInstance 操作,並將 MultiAZ
參數設為 true。