AWS Elastic Beanstalk起動時にエラー

Elastic Beanstalk

作成したアプリをささっとデプロイできるサービス
Elastic Beanstalkを利用すると自動でサーバ(EC2)構築、ネットワーク設定もしてくれる

チュートリアルをやってみる

Amazon Elastic Beanstalk を使用したアプリケーションの起動
数分でアプリの実行環境ができるらしいけど、10分以上待っても状態が「Pending」だ…

The EC2 instances failed to communicate with AWS Elastic Beanstalk, either because of configuration problems with the VPC or a failed EC2 instance. Check your VPC configuration and try launching the environment again.  

なんかエラー出た。。チュートリアル通り進んだはずなのに

インターネット接続が原因ぽい

エラーメッセージで検索をするとAWS公式ドキュメントに対処法があった
Amazon EC2 インスタンスが Elastic Beanstalk との通信に失敗したときに表示されるエラーを解決する方法を教えてください。

作成したElastic Beanstalkインスタンスがインターネット接続できてないのがエラーの原因かな

解決方法

  1. Elastic Beanstalkに紐づくネットワークACLにアウトバウンド接続が許可されているか? OK
  2. Elastic Beanstalkを作成したVPCにはサブネットが紐づいているか? OK
  3. EC2がパブリックの場合は、ルートテーブルにインターネットへのルートがあるか? NG

ルーティングの設定し忘れでした
InternetGateway(IGW)を作って満足していたのですが、IGWに向かってね~の設定がないので
データ送受信ができず、Elastic Beanstalkの起動時にエラーになっていた
(そういえば、No data っていうメッセージも出ていたな)

IGWへ向かうルートを追加してあげて解決

  1. VPCコンソールから[ルートテーブル]をクリック
  2. Elastic BeanstalkがあるVPCに紐づくルートテーブルを選択
  3. 送信先「0.0.0.0/0」ターゲット「対象のIGW」のルートを追加
  4. Elastic Beanstalkメニューで[環境再構築]
  5. 環境が作成された!!