SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Windows Azure新機能チュートリアル

Windows AzureでNode.jsを実行しよう

Windows Azure 新機能チュートリアル(12)


Windows Azure上での実行

 エミュレーターでの実行確認が終わったら、いよいよWindows Azureにサービスを配置します。Windows Azureへのサービスの配置には、管理ポータルもしくは、管理APIを利用した配置の2種類があります。SDK for Node.jsでは、管理ポータルを利用せずに管理APIを通して行います。

[1]サブスクリプションの設定をする

 管理APIを通してアプリケーションを配置するには、管理ポータルと開発環境に共通の証明書をインストールする必要があります。SDK for Node.jsでは、これらの作業を一連のコマンドレットを実行することで設定ができます。

 Get-AzurePublishSettingsコマンドレットを実行します(リスト8)。

リスト8 設定ファイルの取得
PS C:\node\NodeSample> Get-AzurePublishSettings

 ブラウザが起動し、Live IDの認証画面が表示されます。サブスクリプションを保有しているLive IDでログインしてください。しばらくすると、図9の画面が表示され設定ファイルのダウンロードが促されます。[保存]ボタンをクリックして設定ファイルを保存してください。

図9 設定ファイルのダウンロード画面
図9 設定ファイルのダウンロード画面

 設定ファイルには、サブスクリプションの情報と証明書情報が含まれているため、第三者の手に渡ると、自身のWindows Azureを自由に操作されてしまいます。従って、安全な場所に保存し、次のインポートを実行した後に削除してください。

 このとき、内部的な動作としてWindows Azure側には証明書が作成され、管理APIの利用準備が整います。Get-AzurePublishSettingsコマンドレットを繰り返し実行すると、証明書が複数作成されてしまうため注意してください。証明書の管理は、管理ポータルから行いますが説明は省略します(注4)。

注4

 管理方法は、「方法: Windows Azure の管理証明書を管理する」を参考にしてください。

[2]設定ファイルをインポートする

 Import-AzurePublishSettingsコマンドレットを実行し、保存した設定ファイルをインポートします(リスト9)。インポートされた証明書はWindowsの証明書ストアに格納されます。

リスト9 設定ファイルのインポート
PS C:\node\NodeSample> Import-AzurePublishSettings C:\node\Azure-2-14-2012-credentials.publishsettingsttings

 設定ファイルの取得とインポートの様子は図10のとおりです。

図10 設定ファイルのインポート
図10 設定ファイルのインポート

[3]サービスをWindows Azureへ配置する

 「Publish-AzureService」コマンドレットで、サービスをWindows Azureへ配置します(リスト10)。通常は、ホステッドサービスやストレージアカウントといったリソースをあらかじめ作成しておくこともできますが、SDK for Node.jsでは自動的に作成されます。

リスト10 サービスの配置
PS C:\node\NodeSample> Publish-AzureService -Name NodeSample -Location "East Asia" -Slot Production -Launch

 引数の意味は下表のとおりです。

表3 Publish-AzureServiceの引数
引数 意味
Name Azureサービス名を指定します。サービス名はDNS名の一部となり、Windows Azure サービス全体で一意の必要があります。すでに存在する場合、エラーとなります。
Location サービスを配置するWindows Azureのデータセンターを指定します。ここでは日本から近い東アジア(East Asia)へ配置します。この値は大文字小文字が区別されるので注意してください。指定されていない場合は、別途「Set-AzureDeploymentLocation」コマンドレットで設定済みのロケーションが使用されますが、さらに未指定の場合はアメリカからランダムに選択されます。

・Anywhere US
・South Central US
・North Central US
・Anywhere Europe
・North Europe
・West Europe
・Anywhere Asia
・Southeast Asia
・East Asia
Slot 配置する環境を指定します。Staging(ステージング環境)またはProduction(運用環境)から指定します。1つのホステッドサービスには、ステージング環境と呼ばれる準備環境と、運用環境と呼ばれる本番環境の2つが用意されています。
Launch 配置完了時にブラウザを起動します。ただし、ステージング環境では配置時に動的に、URLが決まるため機能しません。

 図11はサービスの配置の様子です。配置するためのパッケージファイル(注5)の作成から、サービスをホストするホステッドサービスの新規作成まですべて自動で行ってくれます。また、管理APIを経由した配置にはストレージアカウントが必要なため、これも作成されます。

図11 サービスの配置画面
図11 サービスの配置画面
注5

Visual Studioではパッケージファイルを作成することができますが、SDK for Node.jsではパッケージファイルを単独で作成するコマンドレットは用意されていません。

 配置には、十数分かかります。ブラウザが起動し、図12が表示されれば正常に実行できています。

図12 Windows Azureでの実行
図12 Windows Azureでの実行

[4]サービスの削除

 サービスの削除には、Remove-AzureServiceコマンドレットを使用します(リスト10)。配置されたサービスの削除だけではなく、ホステッドサービスそのものが削除されるため注意してください。ただし、サービスを最初に発行したときに作成されたストレージアカウントは、削除されません。

リスト11 サービスの削除
PS C:\node\NodeSample> Remove-AzureService
図13 サービスの削除画面
図13 サービスの削除画面

 サービスを停止する「Stop-AzureService」コマンドレットも存在しますが、Windows Azureはサービスが停止状態であったとしてもリソースを占有するため課金され続けます。停止する明確な理由がない限り、削除したほうがよいでしょう。

まとめ

 すでにWindows Azureを利用している場合、手動で行っていた多くの部分をSDK for Node.jsが自動で行ってくれることが理解していただけたかと思います。また逆に、Node.jsの利用者は簡単にWindows Azureでアプリケーションを展開できることが理解していただけたかと思います。次回はWindows Azureユーザー向けに、Node.jsの基本的な機能紹介をしたいと思います。

修正履歴

この記事は参考になりましたか?

連載通知を行うには会員登録(無料)が必要です。
既に会員の方はを行ってください。
Windows Azure新機能チュートリアル連載記事一覧

もっと読む

この記事の著者

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

WINGSプロジェクト statemachine(statemachine)

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/6440 2012/03/14 16:43

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー