Auto ScalingによるEC2の起動が「Client.InternalError: Client error on launch」エラーで失敗する

2020.04.09

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

困っていた内容

Auto Scalingグループを設定して、EC2インスタンスを起動しようとしていますが、失敗しています。
Auto Scalingのログを確認したところ、下記のエラーが出力されていました。

Launching a new EC2 instance: i-xxxxxxxxxxxxxxxxx. Status Reason: Instance became unhealthy while waiting for instance to be in InService state. Termination Reason: Client.InternalError: Client error on launch

エラーを原因と解消する方法を教えてください。

どう対応すればいいの?

Auto Scalingグループが暗号化されたEBSボリュームがあるインスタンスを起動できない場合に発生するエラーです。
Auto Scalingにリンクされたロールが、暗号化に利用されたカスタマー管理のCMKへアクセスできるよう、CMKのキーポリシーを更新する必要があります。
カスタマー管理のCMKのキーユーザーに、Auto Scalingへアクセスするために利用しているロールを追加してください。
念のため、キーユーザーの追加後はAuto Scalingグループの更新を行ってください。

参考情報

Amazon EC2 Auto Scaling のトラブルシューティング: EC2 インスタンスの起動失敗 - Amazon EC2 Auto Scaling (日本語)