BeanstalkもVPCに対応しているので、VPCのよくある構成、Public SubnetとPrivate Subnet構成にサンプルアプリを配置してみました。
VPCのドキュメントにある「シナリオ 2: パブリックサブネットとプライベートサブネットを持つ VPC」ですね。
BeanstalkのテストさえできればよいのでNATインスタンスは省略です。
しばらく待つと・・・はい、失敗しました。インスタンスは起動したのですが、なぜか失敗しています。
EIPを付けて、IGWを設定してログを見てみると、「eb-」から始まるBeanstalkのログeb-cfn-init.logしかがありません。。。
[root@ip-172-16-1-203 ~]# ls /var/log/ audit btmp cron dracut.log lastlog maillog ntpstats spooler wtmp boot.log cloud-init.log dmesg eb-cfn-init.log mail messages secure tallylog yum.log
eb-cfn-init.logをのぞいてみると、
curl https://s3-ap-northeast-1.amazonaws.com/elasticbeanstalk-env-resources-ap-northeast-1/stalks/eb_hooks_base_2.0/lib/UserDataScript.shとか
Failed connect to s3-ap-northeast-1.amazonaws.com:443; Connection timed outといった文字が。
うん、忘れていました。Beanstalkの仕組みを。
User-Dataに仕込まれていたシェルスクリプトから諸々ダウンロードしていたのでした。
そんなわけでNATインスタンスを用意して再作成することで問題なく作成完了。
Beanstalkで起動時に失敗する場合は、まずインスタンスのインターネットへの疎通を確認しましょう。。。
EIPやPublic IPをつけれないので、VPC内では必ずNATインスタンスを用意しないといけなそうです。
(デフォルトVPCの場合はNATインスタンスはいらないかもしれないです)
ところで、Beanstalkではインスタンスのログを集めることができますが、NATインスタンス経由では、AWS側からログを集めることはできません。
インスタンス側から定期的Beanstalkへロングポーリング等しているのですかね?
0 コメント:
コメントを投稿