OpsWorks でインスタンスを再起動した際に booting 状態でスタックする理由を教えてください
困っていた内容
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 の設定を変更します。