AutoScalingでEC2を起動しようとしたら起動しなくなった
ちょっと前まで普通に起動していたのに、急に起動しなくなりました。
Status Reason: Instance became unhealthy while waiting for instance to be in InService state.
Termination Reason: Client.InternalError: Client error on launch
・・・なんでやねん
他の設定と比べてみる
AutoScalingの設定を見ていると新しい設定が追加されてました。
サービスにリンクされたロール
(´-`).oO(権限が足りないのかなぁ・・・よくあるパターンだと暗号化(KMS)とか?)
中身を見てみた
問題児はAutoScalingServiceRolePolicy
の模様
なお、こやつはManagedロールなので、一切いじれないようです。
で、肝心の中身は、、、
AutoScalingServiceRolePolicy
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "EC2InstanceManagement",
"Effect": "Allow",
"Action": [
"ec2:AttachClassicLinkVpc",
"ec2:CancelSpotInstanceRequests",
"ec2:CreateTags",
"ec2:DeleteTags",
"ec2:Describe*",
"ec2:DetachClassicLinkVpc",
"ec2:ModifyInstanceAttribute",
"ec2:RequestSpotInstances",
"ec2:RunInstances",
"ec2:TerminateInstances"
],
"Resource": "*"
},
{
"Sid": "EC2InstanceProfileManagement",
"Effect": "Allow",
"Action": [
"iam:PassRole"
],
"Resource": "*",
"Condition": {
"StringLike": {
"iam:PassedToService": "ec2.amazonaws.com*"
}
}
},
{
"Sid": "EC2SpotManagement",
"Effect": "Allow",
"Action": [
"iam:CreateServiceLinkedRole"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"iam:AWSServiceName": "spot.amazonaws.com"
}
}
},
{
"Sid": "ELBManagement",
"Effect": "Allow",
"Action": [
"elasticloadbalancing:Register*",
"elasticloadbalancing:Deregister*",
"elasticloadbalancing:Describe*"
],
"Resource": "*"
},
{
"Sid": "CWManagement",
"Effect": "Allow",
"Action": [
"cloudwatch:DeleteAlarms",
"cloudwatch:DescribeAlarms",
"cloudwatch:PutMetricAlarm"
],
"Resource": "*"
},
{
"Sid": "SNSManagement",
"Effect": "Allow",
"Action": [
"sns:Publish"
],
"Resource": "*"
}
]
なるほど、、、足りとらん。
鍵側にアクセス設定をする
EBSを暗号化してる鍵にこのポリシーからアクセス出来るよう設定しました。
結果、無事解決。めでたしめでたし