本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將自動擴展政策新增至 Amazon Aurora 資料庫叢集
您可以使用 AWS 管理主控台、AWS CLI 或 Application Auto Scaling API 來新增擴展政策。
注意
如需使用 CloudFormation 新增擴展政策的範例,請參閱在 AWS CloudFormation 使用者指南中的宣告 Aurora 資料庫叢集的擴展政策。
您可以使用 AWS 管理主控台 為 Aurora 資料庫叢集新增擴展政策。
將自動規模調整政策新增至 Aurora 資料庫叢集
登入 AWS 管理主控台,開啟位於 https://console.aws.amazon.com/rds/
的 Amazon RDS 主控台。 -
在導覽窗格中,選擇 Databases (資料庫)。
-
選擇您要新增政策的 Aurora 資料庫叢集。
-
選擇 Logs & events (日誌與事件) 標籤。
-
在 Auto scaling policies (自動調整規模政策) 區段中,選擇 Add (新增)。
Add Auto Scaling policy (新增自動調整規模政策) 對話方塊隨即顯示。
-
針對 Policy Name (政策名稱),請輸入政策名稱。
-
目標指標請選擇下列其中一個:
-
Average CPU utilization of Aurora Replicas (&AUR; 複本的平均 CPU 使用率),可根據平均 CPU 使用率建立政策。
-
Average connections of Aurora Replicas (&AUR; 複本的平均連線數),可根據連線至 Aurora 複本的平均連線數目建立政策。
-
-
目標值請輸入下列其中一個:
-
如果在前一步驟選擇 Average CPU utilization of Aurora Replicas (&AUR; 複本的平均 CPU 使用率),輸入您想在 Aurora 複本上維持的 CPU 使用率百分比。
-
如果在前一步驟選擇 Average connections of Aurora Replicas (&AUR; 複本的平均連線數),輸入您想維持的連線數目。
系統會新增或移除 Aurora 複本,讓指標接近指定的值。
-
-
(選用) 展開 Additional Configuration (其他組態) 以建立縮減或橫向擴展冷卻時間。
-
在 Minimum capacity (容量下限) 輸入 Aurora Auto Scaling 政策需要維持的 Aurora 複本數量下限。
-
在 Maximum capacity (容量上限) 輸入 Aurora Auto Scaling 政策需要維持的 Aurora 複本數量上限。
-
選擇 Add Policy (新增政策)。
以下對話方塊會根據平均 CPU 使用率百分之 40 來建立 Auto Scaling 政策。此政策會指定最少 5 個 Aurora 複本以及最多 15 個 Aurora 複本。
以下對話方塊會根據平均連線數 100 使用率來建立自動規模調整政策。此政策會指定最少 2 個 Aurora 複本及最多 8 個 Aurora 複本。
您可以根據預先定義的指標或自訂指標,套用規模調整政策。您可以使用 AWS CLI 或 Application Auto Scaling API 這樣做。第一步是將您的 Aurora 資料庫叢集註冊到 Application Auto Scaling。
註冊 Aurora 資料庫叢集
在使用 Aurora Auto Scaling 擴展 Aurora 資料庫叢集前,您應先將您的 Aurora 資料庫叢集註冊到 Application Auto Scaling。這是為了定義要套用到叢集的擴展維度和限制。Application Auto Scaling 會隨 rds:cluster:ReadReplicaCount 代表 Aurora 複本數目的可擴展維度,動態擴展 Aurora 資料庫叢集。
若要註冊您的 Aurora 資料庫叢集,您可以使用 AWS CLI 或 Application Auto Scaling API。
AWS CLI
若要註冊 Aurora 資料庫叢集,請使用 register-scalable-target AWS CLI 命令搭配下列參數:
-
--service-namespace– 將此值設定為rds。 -
--resource-id– Aurora 資料庫叢集的資源識別符。這項參數的資源類型為cluster,且唯一識別符是 Aurora 資料庫叢集的名稱,例如cluster:myscalablecluster。 -
--scalable-dimension– 將此值設定為rds:cluster:ReadReplicaCount。 -
--min-capacity– Application Auto Scaling 要管理的讀取者資料庫執行個體數量下限。如需了解有關--min-capacity、--max-capacity以及叢集中資料庫執行個體數目之間的關係資訊,請參閱 容量下限和上限。 -
--max-capacity– Application Auto Scaling 要管理的讀取者資料庫執行個體數量上限。如需了解有關--min-capacity、--max-capacity以及叢集中資料庫執行個體數目之間的關係資訊,請參閱 容量下限和上限。
在下列範例中,您會註冊名為 myscalablecluster 的 Aurora 資料庫叢集。註冊中表明應該動態縮放資料庫叢集,使其具有 1 到 8 個 Aurora 複本。
對於 Linux、macOS 或 Unix:
aws application-autoscaling register-scalable-target \ --service-namespace rds \ --resource-id cluster:myscalablecluster\ --scalable-dimension rds:cluster:ReadReplicaCount \ --min-capacity1\ --max-capacity8\
在 Windows 中:
aws application-autoscaling register-scalable-target ^ --service-namespace rds ^ --resource-id cluster:myscalablecluster^ --scalable-dimension rds:cluster:ReadReplicaCount ^ --min-capacity1^ --max-capacity8^
Application Auto Scaling API
若要向 Application Auto Scaling 註冊您的 Aurora 資料庫叢集,請使用 RegisterScalableTarget Application Auto Scaling API 操作搭配下列參數:
-
ServiceNamespace– 將此值設定為rds。 -
ResourceID– Aurora 資料庫叢集的資源識別符。這項參數的資源類型為cluster,且唯一識別符是 Aurora 資料庫叢集的名稱,例如cluster:myscalablecluster。 -
ScalableDimension– 將此值設定為rds:cluster:ReadReplicaCount。 -
MinCapacity– Application Auto Scaling 要管理的讀取者資料庫執行個體數量下限。如需了解有關MinCapacity、MaxCapacity以及叢集中資料庫執行個體數目之間的關係資訊,請參閱 容量下限和上限。 -
MaxCapacity– Application Auto Scaling 要管理的讀取者資料庫執行個體數量上限。如需了解有關MinCapacity、MaxCapacity以及叢集中資料庫執行個體數目之間的關係資訊,請參閱 容量下限和上限。
在下列範例中,您會使用 Application Auto Scaling API 註冊名為 myscalablecluster 的 Aurora 資料庫叢集。此註冊中表明應該動態縮放資料庫叢集,使其具有 1 到 8 個 Aurora 複本。
POST / HTTP/1.1 Host: autoscaling.us-east-2.amazonaws.com Accept-Encoding: identity Content-Length: 219 X-Amz-Target: AnyScaleFrontendService.RegisterScalableTarget X-Amz-Date: 20160506T182145Z User-Agent: aws-cli/1.10.23 Python/2.7.11 Darwin/15.4.0 botocore/1.4.8 Content-Type: application/x-amz-json-1.1 Authorization: AUTHPARAMS { "ServiceNamespace": "rds", "ResourceId": "cluster:myscalablecluster", "ScalableDimension": "rds:cluster:ReadReplicaCount", "MinCapacity":1, "MaxCapacity":8}
定義 Aurora 資料庫叢集的擴展原則
目標追踪規模調整政策組態由 JSON 區塊表示,其中定義了指標和目標值。您可以將規模調整政策的組態設定,儲存為文字檔案中的 JSON 區塊。您可以使用該文字檔案來呼叫 AWS CLI 或 Application Auto Scaling API。如需政策組態語法的詳細資訊,請參閱 Application Auto Scaling API 參考中的 TargetTrackingScalingPolicyConfiguration。
您可使用下列的選項,來定義目標追蹤規模調整政策的組態設定。
使用預先定義的指標
使用預先定義的指標,您可以為搭配 Aurora Auto Scaling 中的目標追踪和動態擴展都運作良好的 Aurora 資料庫叢集,快速定義目標追踪規模調整政策。
目前 Aurora 在 Aurora Auto Scaling 中支援下列預先定義的指標:
-
RDSReaderAverageCPUUtilization – 在 CloudWatch 中,Aurora 資料庫叢集中所有 Aurora 複本的
CPUUtilization指標平均值。 -
RDSReaderAverageDatabaseConnections – 在 CloudWatch 中,Aurora 資料庫叢集中所有 Aurora 複本的
DatabaseConnections指標平均值。
如需 CPUUtilization 和 DatabaseConnections 指標的詳細資訊,請參閱 Amazon Aurora 的 Amazon CloudWatch 指標。
若要在您的規模調整政策中使用預先定義的指標,請為規模調整政策建立目標追蹤組態設定。此組態設定必須加入用於預先定義指標的 PredefinedMetricSpecification,以及用於該指標目標值的 TargetValue。
範例
下列的範例描述 Aurora 資料庫叢集目標追蹤規模調整的典型政策組態設定。在此組態中,會使用 RDSReaderAverageCPUUtilization 這個預先定義的指標,根據所有 Aurora 複本平均 CPU 使用率百分之 40,來調整 Aurora 資料庫叢集。
{ "TargetValue": 40.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "RDSReaderAverageCPUUtilization" } }
使用自訂的指標
使用自訂的指標,您可以定義目標追蹤規模調整政策來滿足您的自訂需求。您可以根據與規模調整成比例變動的任何 Aurora 指標,來定義自訂的指標。
並非所有的 Aurora 指標都適用於目標追蹤。指標必須是有效的使用率指標,而且能夠表示執行個體的忙碌程度。指標的值必須與 Aurora 資料庫叢集中 Aurora 複本的數量,按比例增加或減少。對於使用指標資料按比例規模擴展或縮減 Aurora 複本數量來說,這種按比例增加或減少是必要的。
範例
下列的範例描述規模調整政策的目標追蹤組態設定。在此組態中,自訂指標會根據 Aurora 資料庫叢集 my-db-cluster 中所有 Aurora 複本平均 CPU 使用率百分之 50,來調整 Aurora 資料庫叢集。
{ "TargetValue": 50, "CustomizedMetricSpecification": { "MetricName": "CPUUtilization", "Namespace": "AWS/RDS", "Dimensions": [ {"Name": "DBClusterIdentifier","Value": "my-db-cluster"}, {"Name": "Role","Value": "READER"} ], "Statistic": "Average", "Unit": "Percent" } }
使用冷卻時間
您可以指定一個值 (單位為秒),讓 ScaleOutCooldown 為您的 Aurora 資料庫叢集規模擴展新增冷卻時間。同樣的,您可以指定一個值 (單位為秒),讓 ScaleInCooldown 為您的 Aurora 資料庫叢集規模縮減新增冷卻時間。如需 ScaleInCooldown 和 ScaleOutCooldown 的詳細資訊,請參閱《Application Auto Scaling API 參考》中的 TargetTrackingScalingPolicyConfiguration。
下列的範例描述規模調整政策的目標追蹤組態設定。在此組態中,會使用 RDSReaderAverageCPUUtilization 這個預先定義的指標,根據 Aurora 資料庫叢集中所有 Aurora 複本平均 CPU 使用率百分之 40,來調整 Aurora 資料庫叢集。這個組態設定分別提供了 10 分鐘的規模縮減冷卻時間,和 5 分鐘的規模擴展冷卻時間。
{ "TargetValue": 40.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "RDSReaderAverageCPUUtilization" }, "ScaleInCooldown": 600, "ScaleOutCooldown": 300 }
停用規模縮減活動
藉由停用規模縮減動作,您可以防止目標追蹤規模調整政策的組態設定,對您的 Aurora 資料庫叢集進行規模調整。停用規模縮減的動作,可防止規模調整政策刪除 Aurora 複本,同時讓規模調整政策仍然能夠視需要來建立 &AUR; 複本。
您可以為 DisableScaleIn 指定布林值,來啟用或停用 Aurora 資料庫叢集的規模縮減活動。如需 DisableScaleIn 的詳細資訊,請參閱《Application Auto Scaling API 參考》中的 TargetTrackingScalingPolicyConfiguration。
下列的範例描述規模調整政策的目標追蹤組態設定。在此組態中,RDSReaderAverageCPUUtilization 這個預先定義的指標會根據 Aurora 資料庫叢集中所有 Aurora 複本平均 CPU 使用率百分之 40,來調整 Aurora 資料庫叢集。此組態設定停用了規模調整政策的規模縮減動作。
{ "TargetValue": 40.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "RDSReaderAverageCPUUtilization" }, "DisableScaleIn": true }
將擴展原則套用至 Aurora 資料庫叢集
向 Application Auto Scaling 註冊您的 Aurora 資料庫叢集,並定義擴展政策之後,請將擴展政策套用到已註冊的 Aurora 資料庫叢集。若要將擴展政策套用到 Aurora 資料庫叢集,您可以使用 AWS CLI 或 Application Auto Scaling API。
若要將擴展政策套用到 Aurora 資料庫叢集,請使用 put-scaling-policy AWS CLI 命令搭配下列參數:
-
--policy-name– 擴展政策的名稱。 -
--policy-type– 將此值設定為TargetTrackingScaling。 -
--resource-id– Aurora 資料庫叢集的資源識別符。這項參數的資源類型為cluster,且唯一識別符是 Aurora 資料庫叢集的名稱,例如cluster:myscalablecluster。 -
--service-namespace– 將此值設定為rds。 -
--scalable-dimension– 將此值設定為rds:cluster:ReadReplicaCount。 -
--target-tracking-scaling-policy-configuration– 要用於 Aurora 資料庫叢集的目標追蹤擴展政策組態。
在下列範例中,您會使用 Application Auto Scaling 將名為 myscalablepolicy 的目標追蹤擴展政策,套用到名為 myscalablecluster 的 Aurora 資料庫叢集。做法是使用儲存於 config.json 檔案中的政策組態設定。
對於 Linux、macOS 或 Unix:
aws application-autoscaling put-scaling-policy \ --policy-namemyscalablepolicy\ --policy-type TargetTrackingScaling \ --resource-id cluster:myscalablecluster\ --service-namespace rds \ --scalable-dimension rds:cluster:ReadReplicaCount \ --target-tracking-scaling-policy-configurationfile://config.json
在 Windows 中:
aws application-autoscaling put-scaling-policy ^ --policy-namemyscalablepolicy^ --policy-type TargetTrackingScaling ^ --resource-id cluster:myscalablecluster^ --service-namespace rds ^ --scalable-dimension rds:cluster:ReadReplicaCount ^ --target-tracking-scaling-policy-configurationfile://config.json
若要使用 Application Auto Scaling API 將擴展政策套用到您的 Aurora 資料庫叢集,請使用 PutScalingPolicy Application Auto Scaling API 操作搭配下列參數:
-
PolicyName– 擴展政策的名稱。 -
ServiceNamespace– 將此值設定為rds。 -
ResourceID– Aurora 資料庫叢集的資源識別符。這項參數的資源類型為cluster,且唯一識別符是 Aurora 資料庫叢集的名稱,例如cluster:myscalablecluster。 -
ScalableDimension– 將此值設定為rds:cluster:ReadReplicaCount。 -
PolicyType– 將此值設定為TargetTrackingScaling。 -
TargetTrackingScalingPolicyConfiguration– 要用於 Aurora 資料庫叢集的目標追蹤擴展政策組態。
在下列範例中,您會使用 Application Auto Scaling 將名為 myscalablepolicy 的目標追蹤擴展政策,套用到名為 myscalablecluster 的 Aurora 資料庫叢集。您使用的政策組態設定,是以 RDSReaderAverageCPUUtilization 這個預先定義的指標為根據。
POST / HTTP/1.1 Host: autoscaling.us-east-2.amazonaws.com Accept-Encoding: identity Content-Length: 219 X-Amz-Target: AnyScaleFrontendService.PutScalingPolicy X-Amz-Date: 20160506T182145Z User-Agent: aws-cli/1.10.23 Python/2.7.11 Darwin/15.4.0 botocore/1.4.8 Content-Type: application/x-amz-json-1.1 Authorization: AUTHPARAMS { "PolicyName": "myscalablepolicy", "ServiceNamespace": "rds", "ResourceId": "cluster:myscalablecluster", "ScalableDimension": "rds:cluster:ReadReplicaCount", "PolicyType": "TargetTrackingScaling", "TargetTrackingScalingPolicyConfiguration": { "TargetValue":40.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "RDSReaderAverageCPUUtilization" } } }