ことの発端
ElasticbeanstalkのNode.jsプラットフォームを使ってデプロイする時に.ebextensions
にnginx.config
の設定を変更する処理を作成していたのですが、思ったようにnginxが起動しませんでした
デプロイ後のnginx.config
を確認したところ、Elasticbeanstalkのスクリプトが設定ファイルを書き換えていたのが原因でnginxが起動していないことがわかったので、その時の回避方法をメモしておきます。
原因
Elasticbeanstalkの起動処理で、/etc/nginx/nginx.conf
にEB_INCLUDE
という文字列が含まれていない場合、Elasticbeanstalk用の設定をファイルに追記する処理が発生します。これが原因です。(/opt/elasticbeanstalk/containerfiles/ebnode.py
)
回避方法
事前に/etc/nginx/nginx.conf
にEB_INCLUDE
という文字列を追加することで、この追記処理を回避できます。
.ebextentions/00.nginx.config
files:
"/etc/nginx/nginx.conf" :
...
content: |
# ebnode.pyの追記を避けるために、適当なところにEB_INCLUDEの文字を追加
...
本来ならこんな設定を書きたく無いので、暫定対応としてご活用ください