ElasticBeanstalk でeb createができない。

AWSって便利だよね。
特にElasticBeanstalkさいこ〜。
というのもちょっとしたWebAPIを作ろうと思って、
Railsをパタパタしてました。

よし完成!
もうすぐリリースじゃい!!とは思ったものの、
デプロイ作業、nginx設定,loadbalancer,セキュリティグループ.etc...
フザケルナ∠( ゚д゚)/!!

そこまで本格的なものでもないのに、
そんなことまで楽しくやってる暇はありません。

そうなると「ElasticBeanstalk」だよね。
使い方とかは今度解説するね。



そうそう!!
今回はエラーにはまった話ですよ!!

広告

生じたエラー

eb create ができなくなった!!!

え?
さっきまで出来てたのに!?!?
二分前は元気よくeb createしてくれたのになんで??

原因と対応

もうやだよね。
ググったのに全然役立つ回答はなく、
絶望にかられました。笑

一応いくつか候補は有りました。
自分には当てはまらなかったので参考のみ。
https://serverfault.com/questions/829776/aws-elb-all-application-versions-have-not-reached-a-processed-state-unable

.elasticbeanstalk内は一切いじってなかったし、
コンソール側から特殊な操作をしたわけではない。
やったことといえば、
Beanstalkの環境を
作ったり削除したりを10数回繰り返してたぐらいです<-
そこで、ふと思い出したことがありました。
AWSのリソースってコンソール上からは削除されていても
その実質的なリソースは削除されていない
じゃね??

というのもOpsWorksを使って
60ほどEC2インスタンスを作って消して作って消して
ってやってたら、EC2コンソール上ではTerminatedになってるし
むしろ画面から消えているのに、EC2の作成上限に達した過去があります。

翌日は問題なく作ることが出来たので、
AWS内部の実質リソースはまだ残っていた可能性が大です。

ということで、AWSの内部で実はBeanstalkの同名のアプリケーションが作られすぎて
対応できないエラーが起きちゃってるのかなぁ。と勝手に判断しました。
違ったら教えてください....

ちゃんと紹介ページにも書いてありますしね。
https://aws.amazon.com/jp/elasticbeanstalk/details/

実行する環境の数が10を超える、アップロードするアプリケーションバージョンの数が500を超える、あるいは起動する Amazon EC2 インスタンスの数が20を超えるという場合は、AWS Elastic Beanstalk 上限リクエストフォームをお送りください。

これであることを信じ
また後日実行してみることにします。


後日実行とまさかのちょんぼ

はい。2日経ってeb createを実行してみました。
残念なことに、エラーが起き続けていました。

制限ではなかったことが、わかりましたね(血涙)

ということでコンソール上から
S3バケットを直接指定してやる作戦をとりました。
失敗しても残るzipデータがS3に残っているので、これで何か分かるかもと試してみたところ.........

でた!!でたでた!!!

shot

これかぁぁぁぁっぁぁぁっぁぁぁl!!!!!!
理由は、yml設定ファイル内に’や があったからでした。
いや完全にちょんぼ...(´°̥̥̥̥̥̥̥̥ω°̥̥̥̥̥̥̥̥`)
特にいじった記憶はなかったのになぁ....

でも新しい発見が有りましたよね!!
eb createからElasticBeansTalkを叩く時
.ebextension内に文字コードや表現のエラーがある場合
ログに残りません。

ログに残らないし、
「Waiting for Application Versions to be pre-processed」
で先に進まないエラーにあった方は、設定ファイルにダメな文字入ってないか確認してみてくださいね。



またね〜。