本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
透過結合 Amazon EC2、Amazon CloudWatch 和 Application Auto Scaling API 可實現 Spot Fleet 的自動擴展。Spot Fleet 請求是使用 Amazon EC2 建立的,警示是使用 CloudWatch 建立的,而擴展政策是使用 Application Auto Scaling 建立的。除了 Spot 機群和 Amazon EC2 所需的 IAM 許可之外,存取機群擴展設定的使用者還必須擁有支援自動擴展服務的適當許可。
若要針對 Spot 機群使用自動擴展,使用者必須具備許可,才能使用下列範例政策中所顯示的各項動作。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "application-autoscaling:*", "ec2:DescribeSpotFleetRequests", "ec2:ModifySpotFleetRequest", "cloudwatch:DeleteAlarms", "cloudwatch:DescribeAlarmHistory", "cloudwatch:DescribeAlarms", "cloudwatch:DescribeAlarmsForMetric", "cloudwatch:GetMetricStatistics", "cloudwatch:ListMetrics", "cloudwatch:PutMetricAlarm", "cloudwatch:DisableAlarmActions", "cloudwatch:EnableAlarmActions", "iam:CreateServiceLinkedRole", "sns:CreateTopic", "sns:Subscribe", "sns:Get*", "sns:List*" ], "Resource": "*" } ] }
您也可以建立自己的 IAM 政策,以便具有更精細的 Application Auto Scaling API 呼叫許可。如需詳細資訊,請參閱「Application Auto Scaling 使用者指南」https://docs.aws.amazon.com/autoscaling/application/userguide/auth-and-access-control.html中適用於 Application Auto Scaling 的 Identity and Access Management。
Application Auto Scaling 服務也需要描述 Spot Fleet 和 CloudWatch 警示的許可,以及代表您修改 Spot Fleet 目標容量的許可。如果您為 Spot Fleet 啟用自動擴展,則會建立名為 AWSServiceRoleForApplicationAutoScaling_EC2SpotFleetRequest
的服務連結角色。此服務連結角色會授與 Application Auto Scaling 許可以描述政策的警示、監控機群目前的容量,以及修改機群的容量。Application Auto Scaling 的原始受管 Spot Fleet 角色為 aws-ec2-spot-fleet-autoscale-role
,但已不再需要。服務連結的角色預設為 Application Auto Scaling。如需詳細資訊,請參閱「Application Auto Scaling 使用者指南」中的適用於 Application Auto Scaling 的服務連結角色。