【AWS】Auto ScalingのインスタンスがInServiceにならない


■発生した事象

AWSにてシステムを構築しており、EC2のオートスケール設定をしてあったのですが、突然オートスケールで立ち上がったインスタンスのライフサイクルが『InService』にならずに『Pending:Wait』から変わらない事象が発生しました。

今まではオートスケールで正常にインスタンスが立ち上がっていたのですが、ある日突然発生しました。

■原因

原因はAutoscalingとCodeDeployの不一致でした。

システムはCodeDeployでGitHubのソースを持ってきてEC2にデプロイする構成で、Autoscalingでインスタンスを生成した際にはデプロイグループが紐づいているCodeDeployが実行されます。
AWS ユーザーガイド

事象発生時は「デプロイグループが紐づいているCodeDeploy」が存在しておらず、Autoscalingのライフサイクルフックが完了することができずにライフサイクルが『Pending:Wait』で止まっていたようでした。

基本的には自動的にAutoscalingグループとデプロイグループは紐づいているはずですが、何かしら障害や不具合があるとズレることがあります。
ライフサイクルが『InService』にならない時は、デプロイグループに設定されている「環境設定: Amazon EC2 Auto Scaling グループ」がAutoscalingグループと一致しているか確認した方が良さそうです。