JavaScriptでWebアプリを開発できる「Node.js」活用入門 7ページ

Cloud9 IDE上でデバッグする

 Cloud9 IDEにはデバッグ機能も用意されており、Cloud9 IDE上で作成したNode.jsアプリケーションをデバッグ実行することができる。デバッグはメニューバーの「debug」をクリックするだけだ。画面下部の「Output」タブにテスト用のURLなどの情報が表示され、アプリケーションが実行される(図30)。

図30 メニューバーの「debug」をクリックするとデバッグ実行が開始され、画面下部のOutputタブにメッセージが表示される
図30 メニューバーの「debug」をクリックするとデバッグ実行が開始され、画面下部のOutputタブにメッセージが表示される

 作成したアプリケーションが正常に稼働していれば、Outputタブに表示されるURLにアクセスすることでアプリケーションにアクセスできるはずだ(図31)。

図31 Outputタブに表示されるURLにアクセスすることでアプリケーションにアクセスできる
図31 Outputタブに表示されるURLにアクセスすることでアプリケーションにアクセスできる

 なお、デバッグを終了するには「stop」ボタンをクリックすれば良い。

Cloud9 IDEからWindows Azureにデプロイする

 Cloud9 IDEからWindows Azureにデプロイするには、サイドバーの「デプロイ」ボタンをクリックして表示される「Deploy」ペインの「+」ボタンをクリックする(図32)。

図32 サイドバーの「Deploy」ボタンをクリックし、続いて「Deploy」ペインの「+」ボタンをクリックする
図32 サイドバーの「Deploy」ボタンをクリックし、続いて「Deploy」ペインの「+」ボタンをクリックする

 デプロイ先を選択する画面が表示されるので、「Choose type」で「Windows Azure」を選択する(図33)。

図33 デプロイ先として「Windows Azure」を選択する
図33 デプロイ先として「Windows Azure」を選択する

 次に、Windows Azureのアカウント情報を登録する。「DOWNLOAD WINDOWS AZURE SETTINGS」ボタンをクリックするとWindows Azureの「発行プロファイル」がダウンロードされるので、そのファイルを「Step 2.」で指定し、「UPLOAD」をクリックする(図34)。なお、Internet Explorer以外のWebブラウザでは発行プロファイルのダウンロードに失敗することがあるので注意したい。

図34 「DOWNLOAD WINDOWS AZURE SETTINGS」ボタンをクリックして発行プロファイルをダウンロードし、そのファイルをアップロードする
図34 「DOWNLOAD WINDOWS AZURE SETTINGS」ボタンをクリックして発行プロファイルをダウンロードし、そのファイルをアップロードする

 これでWindows Azureへのデプロイが可能となる。すでにデプロイされている環境を置き換える場合は「Choose existing deployment」画面から置き換えるデプロイを選択する。また、「Create new」をクリックして新たなデプロイ環境を作成することも可能だ(図35)。

図35 既存のデプロイ済みの環境が表示される。新たに環境を作成する場合は「Create new」をクリックする
図35 既存のデプロイ済みの環境が表示される。新たに環境を作成する場合は「Create new」をクリックする

 「Create new」をクリックすると、インスタンス数やOS、データセンターの地域、リモートデスクトップ接続の有効/無効、リモートデスクトップ接続のアカウント名とパスワードを指定する画面が表示される。ここでこれらの設定と名称を入力して「CREATE」ボタンをクリックする(図36)。

図36 名称や各種設定を入力して「CREATE」ボタンをクリックする
図36 名称や各種設定を入力して「CREATE」ボタンをクリックする

 以上の操作が完了すると、「Deploy」ペインにデプロイ先が追加される。作成されたデプロイ先をクリックし、「DEPLOY」をクリックするとデプロイが実行される(図37)。

図37 「DEPLOY」をクリックするとデプロイが実行される
図37 「DEPLOY」をクリックするとデプロイが実行される

 なお、デプロイの初回実行時にはWindows Azureへのデプロイに向けた設定ファイルである「web.config」や「csdef」ファイルが不足しているため、これらを作成するかどうかを尋ねるメッセージが表示される(図38)。

図38 web.configやcsdefファイルが不足している旨が表示される
図38 web.configやcsdefファイルが不足している旨が表示される

 ここでは「Yes」をクリックすれば、自動的にこれらのファイルが作成される。csdefファイルの作成時にはインスタンスサイズを選択するよう求められるので、適切なものを選択しよう(図39)。

図39 csdefファイルの作成時にはインスタンスサイズの選択が求められる
図39 csdefファイルの作成時にはインスタンスサイズの選択が求められる

 以上を実行するとデプロイが実行され、その進捗がConsoleタブに表示される(図40)。

図40 デプロイの進捗はConsoleタブに表示される
図40 デプロイの進捗はConsoleタブに表示される

 デプロイの完了後、表示されるURLにアクセスすれば稼働しているWebアプリケーションにアクセスできるはずだ(図41)。

図41 Windows Azure上で稼働しているNode.jsアプリケーション
図41 Windows Azure上で稼働しているNode.jsアプリケーション

Windows Azure上で環境変数を設定する

 先に述べたとおり、azureモジュールではWindows Azureのストレージアカウントを環境変数から取得するようになっている。Windows Azureで環境変数を設定するには、Web.cloud.configファイルにそれらの情報を記述する。Cloud9 IDE上では初回デプロイの際に自動的にこのファイルが作成されるが、このファイルを開き、「<configuration>」要素の直下に次のようなコードを挿入すれば良い。

  <appSettings>
    <add key="AZURE_STORAGE_ACCOUNT" value="<ストレージアカウント名>"/>
    <add key="AZURE_STORAGE_ACCESS_KEY" value="<アクセスキー>"/>
  </appSettings>

 ファイルの保存後、再デプロイを実行すれば環境変数が反映される。

Node.jsの実運用環境として期待できるWindows Azure

 このように、Cloud9 IDEを利用することで容易にNode.jsアプリケーションをWindows Azure環境にデプロイして運用させることが可能だ。さらにWindows Azure環境で動作しているNode.jsアプリケーションにおいても、ASP.NETなどで構築したWindows Azureアプリケーションと同様、複数インスタンスで同時稼働させることによるスケーリングや冗長化が可能であり、Windows Azureのメリットを享受できる。

 Node.jsアプリケーションをホスティングできるサービスとしてはJoyent NodeやHerokuが知られており、Windows AzureはWindowsベースという点から敬遠するユーザーも多いだろう。しかし、Cloud9 IDE経由でデプロイすることで、Windowsの存在を意識せずにWindows Azureを利用できる。Windows AzureはNode.jsアプリケーションの運用環境として、十分検討できるレベルといえるだろう。