Elastic Beanstalk で Node なデモ動かすのに手間取った

AWS ElasticBeanstalk を使ったデモ環境を作ろうと Node なでもアプリをデプロイしたところ中々動かなかったのでメモ。

サンプルアプリじゃなく、イメージをアップロードできるギャラリーサイトを作ってたのです。

SAWA_edamamezarunose_TP_V.jpg

[課題] ElasticBeanstalk 環境で Sharp をインストールする場合、root/sudo でインストールされるので --unsafe-perm をつけてインストールしなさいよ。と怒られる。

Sharp は画像関連ライブラリ。サイトにも注意事項で書いてある。

対策

.npmrc ファイルを作りフラグをセットする。

unsafe-perm=true

[課題] ElasticBeanstalk + NodeJS 環境で 80 や 8080 は動かない

そういやそうだった。

対策

構成として以下のようになっているので、PORT は 8081 を使いましょう

iptable (80) -> nginx (8080) -> app (8081)