基礎から学ぶNode.js

第7回 Node.jsアプリケーションをWindow Azureで動かす

この記事を読むのに必要な時間:およそ 3 分

はじめに

今回は,前回紹介したCloud9 IDEを使って,Windows Azure上で動作するNode.jsアプリケーションを開発してみたいと思います。前回,Cloud9 IDE上に作成したワークスペースをそのまま使います。初めて読まれる方は,連載第3回で作成したExpress.jsを利用したWebアプリケーションのソースコードをCloud9 IDEのワークスペースに上げた状態を想定していただけると良いと思います。

また,これまでデータベースはMongoDBを利用してきましたが, Windows Azureストレージのテーブルに代替して,こちらもクラウドサービスを直接利用するように変更します。

Windows Azureにサインイン

Window Azureのサイトから,無料で試すことができます。Microsoftアカウント(旧Windows Live ID)でサインインすることで無料評価版が利用可能です。

今回は「Webサイト」というプレビューサービス上にNode.jsをデプロイして,そこから「ストレージ」サービスのテーブルにアクセスする流れになります。

Windows Azureストレージアカウントを作る

Windows Azureポータルにサインインして,左側のストレージをクリックします。さらに下部表示されるバーの [+新規] をクリックします。バーの内容が切り替わるので,新たに表示された [簡易作成] をクリックします。

図1 Azureストレージ アカウントの作成

図1 Azureストレージ アカウントの作成

図1が表示されるので,任意の値を入力後(ジオレプリケーションはサンプル利用なので無効にしています)⁠[ストレージアカウントの作成] をクリックします。画面のリストが更新されて,状態が「オンライン」になったら,追加された項目を選択すると,下部に [キーの管理] が有効になるのでクリックします。⁠アクセスキーの管理」ダイアログで [プライマリ アクセス キー] をコピーしてメモしておきます。

Webサイトを作る

ポータルトップの左側の [WEBサイト] をクリックします。さらに下部表示されるバーの [+新規] をクリックします。バーの内容が切り替わるので,新たに表示された [簡易作成] をクリックします。

図2 Webサイトの作成

図2 Webサイトの作成

URLのプリフィックスに任意の値を入力して [WEBサイトの作成]をクリックします図2)⁠

画面のリストが更新されて,状態が「実行中」になったら,名前の部分をクリックして詳細画面に遷移します。画面右側にある概要図3の [Git 発行の設定] をクリックします。しばらくすると画面が切り替わって,⁠Git リポジトリの準備ができました」と表示されます。その下の「リポジトリ」セクションに「GITのURL」がありますのでこれを後程使用します。

図3 WEBサイトのダッシュボードの概要

図3 WEBサイトのダッシュボードの概要

さらにこのGitリポジトリへのアクセスするためのアカウントにパスワードセットします。上部の [ダッシュボード] をクリックして戻り,概要(図3)の [デプロイ資格情報のリセット] をクリックします。

「新しいユーザー名とパスワード」ダイアログでパスワードをセットします。先ほどのGit URLの「<ユーザー名>@」「<ユーザー名>:<パスワード>@」に置き換えたものをCloud9 IDEのGitにリモートリポジトリとして後で登録します。

表1 ストレージアカウント認証の環境変数

AZURE_STORAGE_ACCOUNT<ストレージアカウント名>
AZURE_STORAGE_ACCESS_KEY<プライマリアクセスキー>

上部の [構成] をクリックして,⁠アプリの設定」部分に,表1のように先ほどのストレージアカウント名とそのアクセスキーをセットします。

これにより環境変数を通して,Node.jsアプリケーションからAzureストレージにアクセスできるようになります。

Cloud9 IDEで開発する

Cloud9 IDEにサインアップして,前回のワークスペースを開きます。下部にあるコマンドラインにフォーカスを当てます。⁠npm install azure」「npm install node-uuid」をそれぞれ実行します。前者はWindows Azure SDK for Node.jsはその名の通り,nodeからAzureのストレージサービスなどを利用しやすくするライブラリです。後者のnode-uuidはストレージのテーブルを利用するときにユニークIDの生成が必要であるため,そちらを簡単に行えるモジュールになっています。

Azure WEBサイトをターゲットに追加

続いて,先ほど作成したAzure WebサイトのGitリポジトリをリモートリポジトリとして追加します。AzureへのデプロイはもともとCloud9 IDEの機能としてありますが,Azure側のアップデートによりプロファイル設定がそのまま使えないため,今回は原始的な方法を紹介します。今後Cloud9 IDE側の変更で,再びHeroku同様にGUIから登録できるようになると思われます。

下部のコマンドラインから,⁠git remote add azure <Git URL>」としてGit URLにパスワードを入れた状態のURLを入力して実行します。これでリモートリポジトリazureとして,ここに⁠push⁠することで,Webサイトにデプロイすることができます。

著者プロフィール

高橋俊光(たかはしとしみつ)

ティルフィン合同会社 代表。

メーカー企業でパッケージソフト開発などに携わった後,ティルフィン合同会社を設立しフリーエンジニアとして,RIAやスマートモバイルアプリとサーバーサイドと広い分野で開発に従事。iOSアプリ トレンドトピック,Newstrushをリリースしている。

コメント

コメントの記入