OpsWorks でインスタンスを再起動した際に booting 状態でスタックする理由を教えてください

2023.06.20

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

困っていた内容

OpsWorks でインスタンスを再起動した際に booting 状態でスタックしてしまいました。
booting 状態でスタックする理由と解決策を教えてください。

どう対応すればいいの?

インスタンスがインターネットと通信できるように設定してください。
AWS 公式ドキュメントにも記載されている通り、インスタンスは、常に AWS OpsWorks スタックサービス、Amazon S3、およびパッケージ、クックブック、アプリケーションのリポジトリと通信できる必要があります。
そのため、パブリック IP アドレスの割り当てや NAT ゲートウェイを使用するなどの方法でインターネットと通信できるような設定を行ってください。

原因: この問題の 1 つの原因として考えられるのは、デフォルト VPC を含む VPC 設定です。インスタンスは、常に AWS OpsWorks スタックサービス、Amazon S3、およびパッケージ、クックブック、アプリケーションのリポジトリと通信できる必要があります。たとえば、デフォルト VPC からデフォルトゲートウェイを削除した場合、インスタンスの AWS OpsWorks スタックサービスへの接続は失われます。AWS OpsWorks スタックはインスタンスのエージェントと通信できなくなるため、インスタンスが失敗したものと見なし、インスタンスを自動ヒーリングします。ただし、接続されていない場合、AWS OpsWorks スタックは修復されたインスタンスにインスタンスエージェントをインストールできません。エージェントがない場合、AWS OpsWorks スタックはインスタンスで Setup レシピを実行できないため、起動オペレーションを「booting」ステータスから先に進めることができません。

解決策: インスタンスが必要な接続を利用できるように、VPC の設定を変更します。

AWS 公式ドキュメントより

参考資料