Node.js on ElasticBeanstalkインスタンス上にキャッシュ用のRedisを設置する

前回に続きBeanstalkネタですがBeanstalkでは構成管理ツールのような起動時に環境の初期化を行う機能が備わっています。
EC2 インスタンス上のソフトウェアのカスタマイズ - AWS Elastic Beanstalk

Node.jsのアプリケーションをホスティングするだけでなくRedisをインストールしてみました。

サンプルアプリケーションの入手

こちらからダウンロードします。展開すると以下の様な構成になっているので、

nodejs-sample/
 ├─ app.js
 ├─ index.html
 ├─ package.json
 └─ .ebextensions/
       └─ logging.config

configファイルを作成

「.ebextensions」配下にRedisインストール用の「redis.config」を配置します。

Install Redis on Elastic Beanstalk

設定はインスタンスタイプなど合わせて変更します。

アプリケーションの配備

コマンドラインツールもありますがそのままzip圧縮して配備することも出来ます。
Windowsの場合はフォルダを選択して圧縮するとapp.jsが見つからずに起動に失敗が
してしまうのでapp.jsと同じ階層のファイルを全選択して圧縮します。

f:id:yustam:20140219144509p:plain

失敗した場合は「Logs」から「Snapshot Logs」を確認します。