使用 boto3 Autoscaling 的 AWS Create EMR 无法正常工作

AWS Create EMR using boto3 Autoscaling not working properly

我正在使用 boto3 自动缩放 emr,然后使用 EMR_AutoScaling_DefaultRole 自动缩放它。自动缩放无法正常工作:

最初它会发出警告

The policy is pending attachment.

最后失败了,因为

The Auto Scaling policy for instance group ig-XXXXXXXXXXXX in Amazon EMR cluster j-XXXXXXXXXXXX (test_emr...) could not attach and failed at 2018-12-19 10:03 UTC.

如何分配自动缩放角色?

您需要将 AmazonElasticMapReduceforAutoScalingRole 策略添加到 EMR_AutoScaling_DefaultRole。

转到 "IAM > Roles > EMR_AutoScaling_DefaultRole" 并在权限选项卡中单击附加并添加 AmazonElasticMapReduceforAutoScalingRole。

此外,要解决这些故障,您可以从 CLI 使用 describe-cluster 命令。响应将包括 Auto Scaling 策略状态,如果策略未能附加,它会给出失败原因的错误消息。

除了@Harsh Bafna 的回答。您还需要为 EMR_AutoScaling_DefaultRole 角色设置信任关系策略。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "application-autoscaling.amazonaws.com",
          "elasticmapreduce.amazonaws.com"
        ]
      },
      "Action": "sts:AssumeRole"
    }
  ]
}