本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將 auto 擴展政策新增至 Amazon Aurora 資料庫叢集
您可以使用 AWS Management Console、或應用程式自動調整規模來新增擴展政策API。 AWS CLI
注意
如需使用新增擴展政策的範例 AWS CloudFormation,請參閱《使用指南》中的〈宣告 Aurora 資料庫叢集的AWS CloudFormation 擴展政策〉。
您可以使用將擴展政策新增至 Aurora 資料庫叢集 AWS Management Console。
將自動規模調整政策新增至 Aurora 資料庫叢集
登錄 AWS Management Console 並在打開 Amazon RDS 控制台https://console.aws.amazon.com/rds/
。 -
在導覽窗格中,選擇 Databases (資料庫)。
-
選擇您要新增政策的 Aurora 資料庫叢集。
-
選擇 Logs & events (日誌與事件) 標籤。
-
在 Auto scaling policies (自動調整規模政策) 區段中,選擇 Add (新增)。
Add Auto Scaling policy (新增自動調整規模政策) 對話方塊隨即顯示。
-
針對 Policy Name (政策名稱),請輸入政策名稱。
-
目標指標請選擇下列其中一個:
-
Aurora 複本的平均CPU使用率根據平均CPU使用率建立原則。
-
Average connections of Aurora Replicas (&AUR; 複本的平均連線數),可根據連線至 Aurora 複本的平均連線數目建立政策。
-
-
目標值請輸入下列其中一個:
-
如果您在上一個步驟中選擇 Aurora 複本的平均CPUCPU使用率,請輸入要在 Aurora 複本上維護的使用率百分比。
-
如果在前一步驟選擇 Average connections of Aurora Replicas (&AUR; 複本的平均連線數),輸入您想維持的連線數目。
系統會新增或移除 Aurora 複本,讓指標接近指定的值。
-
-
(選用) 展開 Additional Configuration (其他組態) 以建立縮減或橫向擴展冷卻時間。
-
在 Minimum capacity (容量下限) 輸入 Aurora Auto Scaling 政策需要維持的 Aurora 複本數量下限。
-
在 Maximum capacity (容量上限) 輸入 Aurora Auto Scaling 政策需要維持的 Aurora 複本數量上限。
-
選擇 Add Policy (新增政策)。
下列對話方塊會建立以 40% 的平均CPU使用率為基礎的 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 複本。
對於LinuxmacOS、或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 資料庫叢集,請使用具有下列參數的「Ap RegisterScalableTarget
plication 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 命名myscalablecluster
的 Aurora 資料庫叢集API。此註冊中表明應該動態縮放資料庫叢集,使其具有 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時,您可以使用該文字檔案。如需有關原則組態語法的詳細資訊,請參閱 Ap plication Auto Scaling API 參考TargetTrackingScalingPolicyConfiguration
中的。
您可使用下列的選項,來定義目標追蹤規模調整政策的組態設定。
使用預先定義的指標
使用預先定義的指標,您可以為搭配 Aurora Auto Scaling 中的目標追踪和動態擴展都運作良好的 Aurora 資料庫叢集,快速定義目標追踪規模調整政策。
目前 Aurora 在 Aurora Auto Scaling 中支援下列預先定義的指標:
-
RDSReaderAverageCPUUtilization— Aurora 資料庫叢集中 CloudWatch 所有 Aurora 複本的
CPUUtilization
度量平均值。 -
RDSReaderAverageDatabaseConnections— Aurora 資料庫叢集中 CloudWatch 所有 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 複本數量來說,這種按比例增加或減少是必要的。
範例
下列的範例描述規模調整政策的目標追蹤組態設定。在此組態中,自訂指標會根據名my-db-cluster
為 Aurora 資料庫叢集中所有 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
,請參閱 Ap plication 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
,請參閱 Ap plication 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 或應用程式自動調整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
檔案中的政策組態設定。
對於LinuxmacOS、或Unix:
aws application-autoscaling put-scaling-policy \ --policy-name
myscalablepolicy
\ --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-name
myscalablepolicy
^ --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 Scaling 將擴展原則套用至 Aurora 資料庫叢集API,請搭配下列參數使用「Ap PutScalingPolicy
plication 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" } } }