Amazon Elastic Beanstalk の Node.js コンテナのデプロイの仕組みを見てみます。 node.js 起動設定は下記のようになっています。
/etc/init/nodejs.conf
# nodejs - Nodejs server # description "Nodejs server" stop on runlevel [!2345] respawn respawn limit 30 60 exec su -s /bin/sh -c 'PATH=$PATH:$NODE_HOME/bin $EB_NODE_COMMAND 2>&1' nodejs >> /var/log/nodejs/nodejs.log post-stop script if /usr/bin/pgrep -u nodejs; then /usr/bin/pgrep -u nodejs | /usr/bin/xargs kill -9 fi end script chdir /var/app/current # Environment Variables env HOME="/tmp" env EB_NODE_COMMAND="node app.js" env PORT="8081" env NODE_HOME="/opt/elasticbeanstalk/node-install/node-v0.12.2-linux-x64"
まず、デプロイが行われると、/var/app/current にアプリケーションが配置されます。 接続先ポートは環境変数の PORT で取得すればよいことがわかります。 また、起動コマンドは node app.js となっているため、アプリ側で起動コマンドを変更している場合は注意が必要です。