特集:Windows Azure SDK 1.3の新機能(中編)

Windows Azure実行環境へのリモート・デスクトップ接続

株式会社 ビービーシステム 亀渕 景司
2011/01/26
Page1 Page2

Azure関連の記事

まだ知らない人のための最新Azure入門 - Build Insider

Azure TIPS - Build Insider

ここまで進化した、Azure Webサイトの世界観(2014年7月版) - Build Insider

連載:Windows Azureモバイルサービスで作る簡単スマートフォンアプリ - Build Insider

Microsoft Azureプレビュー・ポータルの機能とは? - Build Insider

特集:Windows Azureメディア・サービスを利用したストリーミング配信 - Build Insider

連載:Microsoft技術におけるアイデンティティ連携開発のいま - Build Insider

Vittorio Bertocci氏インタビュー: 開発者にとってのWindows Azure Active Directoryの役割と今後の展開 - Build Insider

その知識、ホントに正しい? Windowsにまつわる都市伝説(6):Microsoft Azureの秘密を探る[その1] - @IT

進化を続けるマイクロソフトのクラウド:Windows Azureの“いま”を知る - @IT

Azure - Build Insider

 前回は「Windows Azure SDK 1.3」(以下、SDK 1.3)の概要について解説した。今回はSDK 1.3の新機能である「リモート・デスクトップ接続」(次回は「仮想マシン・ロール」)について詳細な利用方法を解説する。

リモート・デスクトップ接続の概要

 リモート・デスクトップ接続は、Windows Azure上で稼働している各ロール・インスタンスにリモートからログオンできる機能だ。Windows Server 2008 R2など、Windows OSで提供されているリモート・デスクトップ接続と同等の機能が、Windows Azure上の各ロールでも提供される。

 利用者は、通常のリモート・デスクトップ接続と同様の手順で、公開しているWindows Azure上のホスト名に対し、リモート・デスクトップ・クライアントを使用して接続を行う。ただし実際には、(ホスト名ではなく)稼働している各ロールの個別のインスタンスに接続する必要があり、リモート・デスクトップ接続の接続ファイル(=.rdpファイル)に接続先となるロールのインスタンスを指定する必要がある。

 また、利用するプロトコルはリモート・デスクトップ・プロトコル(=RDP)を使用するため、利用者側のファイアウォールにてTCPの3389番ポートへの接続を許可しておく必要がある。

 その接続イメージを、次の図に示す。

図1 Windows Azureにおけるリモート・デスクトップ接続の接続イメージ
この例では、Windows Azure上に「Webロール」「Workerロール」という2種類のロールが存在し、そのうちの「Webロール」としてn個のインスタンスが起動している。リモート・デスクトップ・クライアントは、複数のロール・インスタンスのうち、「Webロール・インスタンス_1」という1つのロール・インスタンスに接続している。

 Windows Azure上のロール・インスタンスへの接続後は、通常のリモート・デスクトップ接続と同様に、ファイルの受け渡しやクリップボードの共有などの機能が利用でき、サーバの管理を円滑に行うことが可能だ。

 次節以降では、リモート・デスクトップ接続について詳細な利用手順を解説する。

リモート・デスクトップ接続と仮想マシン・ロールの事前準備

 リモート・デスクトップ接続および(次回説明する)仮想マシン・ロールを利用開始するに当たり、共通の事前準備として、Windows Azure Platform管理ポータル上でのホスト・サービス(Hosted Service)およびWindows Azureストレージ・アカウント(Storage Account)の作成と、各作成手順で利用されるデジタル証明書(以下、証明書)を登録しておく必要がある。

* すでにホスト・サービスの作成や証明書の準備が済んでいる場合は、この事前準備の手順は読み飛ばして(次節の「リモート・デスクトップ接続を利用する」に進んで)いただいて構わない。その際は本節で入力する値などを、適宜(自分の環境に合わせて)読み替えていただきたい。

 最初に、Windows Azureサブスクリプション管理用とリモート・デスクトップ接続用の証明書を作成する。

デジタル証明書「.cerファイルと.pfxファイル」の作成

 証明書はWindows Azure Tools for Microsoft Visual Studioを使用して作成することも可能だが、その場合、Windows Azure Platform管理ポータルへ登録するために別途エクスポートの手順が必要となる。本稿ではコマンドライン・ツールを使用して、あらかじめアップロードが可能な状態の証明書を新規作成する。

(1)[スタート]メニューの[すべてのプログラム]−[Microsoft Visual Studio 2010]−[Visual Studio Tools]−[Visual Studio コマンド プロンプト (2010) ]の右クリック・メニューから[管理者として実行]を選択する。

(2)証明書を保存するフォルダ(任意のフォルダでよい)に移動し、下記のコマンドを実行して公開鍵(=.cerファイル:X.509証明書ファイル)と秘密鍵(=.pvkファイル:PriVate Key Certificateファイル)を作成する。

makecert -sky exchange -r -n "CN=AzureManagementCert" -pe -a sha1 -len 2048 "AzureManagementCert.cer" -sv "AzureManagementCert.pvk"
公開鍵(=.cerファイル)と秘密鍵(=.pvkファイル)を作成するコマンドの入力例
makecert」コマンドはVisual Studio 2010に付属している。

(3)実行時に[秘密キーのパスワードの作成]ダイアログと[秘密キーのパスワードの入力]ダイアログが表示されるので、それぞれ同じパスワードを入力して[OK]ボタンをクリックする。また、このときに入力した秘密キーのパスワードは、後の手順で利用するので(テキスト・ファイルなどに)控えておく。

図2 [秘密キーのパスワードの作成][秘密キーのパスワードの入力]ダイアログ
makecertコマンド実行時にこれらのダイアログが表示される。
  証明書を利用する際に必要となる、秘密キーのパスワードを入力する。
  と同じパスワードを入力する。

(4)下記のコマンドを実行して、先ほど作成した証明書(=公開鍵。.cerファイル)と秘密鍵から、別フォーマットの証明書(=.pfxファイル:Personal Information Exchangeファイル)を生成する。

pvk2pfx -pvk "AzureManagementCert.pvk" -spc "AzureManagementCert.cer" -pfx "AzureManagementCert.pfx" -pi <手順(3)で入力したパスワード>
証明書(=.pfxファイル)を作成するコマンドの入力例
pvk2pfx」コマンドはVisual Studio 2010に付属している。

(5)下記のコマンドを実行して、作成した証明書(=.pfxファイル)を開発者*の(ローカル環境にある)証明書ストアにインポートする。

* 証明書(=.pfxファイル)のインポートは、本稿で記載している手順(=Visual Studioを使用してWindows Azure上へアプリケーションを直接配置する手順)を実行する開発者や、次回説明する仮想マシン・ロールの仮想ハードディスク・ファイルのアップロードを行うユーザーで、行う必要がある。リモート・デスクトップ接続を行うだけのユーザーや、Windows Azure Platform管理ポータルを使用してWindows Azureサブスクリプションの管理をブラウザで行うユーザーは証明書のインポートを行う必要はない。

certutil -user -p <手順(3)で入力したパスワード> -importpfx "AzureManagementCert.pfx"
証明書(=.pfxファイル)をローカル環境の証明書ストアにインポートするコマンドの入力例
「certutil」コマンドはWindowsに標準搭載されている。

 上記のコマンドを実行して証明書(=.pfxファイル)をインポートする際に[セキュリティ警告]ダイアログが表示されるので、そのダイアログで[はい]ボタンをクリックしてインポートを許可する必要がある。

 以下の画面は、ここまでの手順を実行した例。

[セキュリティ警告]ダイアログが表示される
図3 各コマンドの実行例と、証明書インポート時の警告表示
certutilコマンド実行時に、この[セキュリティ]ダイアログが表示される。
  手順(2)「makecert」を実行すると、証明書(=.cerファイル)と秘密鍵(=.pvkファイル)が作成される。
  手順(4)「pvk2pfx」を実行すると、証明書(=.pfxファイル)が作成される。
  手順(5)「certutil」を実行すると、証明書がインポートされる。
  証明書のインポートに問題がないことを確認し[はい]ボタンをクリックする。

 これまでの手順で、「Windows Azureサブスクリプションの管理に必要な証明書(=.cerファイル)」と「リモート・デスクトップ接続に必要な証明書(=.pfxファイル)」が作成された。

 途中過程で生成された.pvkファイルは削除しても構わないが、.pfxファイルを含め、各種証明書にひも付くファイルはセキュリティと関連するため、運用時にはファイルの管理に注意したい。

Windows Azureホスト・サービスの作成

 次に、Windows Azureホスト・サービスの作成と、先ほど作成した証明書(=.pfxファイル)の登録を行う。

(1)Windows Azure Platform管理ポータルに接続し、サインインを行う。

(2)画面左のナビゲーション・ウィンドウから[Hosted Services, Storage Accounts & CDN]を選択し、同ナビゲーション・ウィンドウ上部の[Hosted Services]を選択する。

(3)リボン・インターフェイスから[New Hosted Service]メニューをクリックする。

図4 ホスト・サービスの新規作成
Windows Azure Platform管理ポータルでホスト・サービスを作成しているところ。
  [Hosted Services, Storage Accounts & CDN]を選択する。
  [Hosted Services]を選択する。
  [New Hosted Service]メニューをクリックする。

(4)[Create a new Hosted Service]ダイアログが表示されるので、図5に従って各項目を設定後、[OK]ボタンをクリックしてホスト・サービスを作成する(ダイアログ内で、サービス・パッケージのデプロイ、証明書のアップロードを同時に行うことが可能だが、本稿ではホスト・サービスの作成のみ行う)。

図5 ホスト・サービスの作成ダイアログ
ホスト・サービス作成時には、この[Create a new Hosted Service]ダイアログが表示される。
  [Choose a subscription]…… コンボボックス内の契約済みのWindows Azureサブスクリプション一覧からホスト・サービスを作成するサブスクリプション(例:YourSubscription)を選択する。
  [Enter a name for your service]…… 作成するホスト・サービスの名称(例:Your Hosted Service)を入力する。
  [Enter a URL prefix for your service]…… 作成するホストのURLプレフィックス(例:yourhostedservice)を入力する。ただし、Windows Azure全体ですでに使われているURLプレフィックスと同じものは利用できない。
  [Choose a region or affinity group]……[Choose a Region]コンボボックス内のデータセンター一覧から、利用するデータセンター(例:East Asia)を選択する。
  [Deployment options]……[Do not deploy]を選択する。

ホスト・サービスへのデジタル証明書「.pfxファイル」の登録

(5)作成されたホスト・サービス下にある[Certificates](=証明書)フォルダを選択し、リボン・インターフェイスから[Add Certificate]メニューをクリックする(図6参照)。

図6 証明書の追加
ホスト・サービスが作成されると、中央部分に[<サブスクリプション名>(例:YourSubscription)]−[<ホスト・サービス名>(例:Your Hosted Service)]−[Certificates]フォルダがツリー構造で表示される。
  [Certificates]フォルダを選択する。
  [Add Certificate]メニューをクリックする。

(6)[Upload an X.509 Certificate]ダイアログが表示されるので、[Browse]ボタンで証明書(=.pfxファイル)を選択後、[Password][Retype Password]欄に証明書を作成する際に入力した秘密キーのパスワードを入力し、[OK]ボタンをクリックする(図7参照)。

図7 証明書(=.pfxファイル)のアップロード
[Add Certificate]メニューをクリックすると、この[Upload an X.509 Certificate]ダイアログが表示される。
  証明書(=.pfxファイル)を選択する。
  証明書作成時に指定した秘密キーのパスワードを入力する。

サブスクリプション管理用のデジタル証明書「.cerファイル」の登録

 続いて、Windows Azureサブスクリプションの管理に必要な証明書(=.cerファイル)を登録する。

(1)Windows Azure Platform管理ポータルより、画面左にあるナビゲーション・ウィンドウ上部の[Management Certificates]を選択し、リボン・インターフェイスから[Add Certificate]メニューをクリックする。

(2)[Add New Management Certificate]ダイアログが表示されるので、管理対象のWindows Azureサブスクリプションを一覧より選択し、[Browse]ボタンをクリックして、最初に作成した証明書ファイル(=.cerファイル)を選択する。

(3)証明書登録後に表示されるサブスクリプションIDおよび証明書の拇印(=Thumbprint。ぼいん)は、(次回説明する)仮想マシン・ロールの手順にて利用するので(テキスト・ファイルなどに)控えておく。

 以上の一連の手順を、以下に示す。

[Add Certificate]メニューをクリック
図8 サブスクリプション管理用証明書のアップロード
Windows Azureサブスクリプションの管理に必要な証明書(=.cerファイル)を登録しているところ。
  [Hosted Services, Storage Accounts & CDN]を選択する。
  [Management Certificates]を選択する。
  リボン・インターフェイスから[Add Certificate]メニューを選択する。
  証明書のアップロード後、登録した証明書の拇印(ぼいん)が表示される。
  証明書のアップロード後、登録先のWindows AzureサブスクリプションのIDが表示される。
  [Choose a subscription]…… 管理対象のWindows Azureサブスクリプション(例:YourSubscription)を一覧より選択する。
  [Browse]…… 証明書ファイル(例:AzureTestCert.cer)を選択する。

Windows Azureストレージ・アカウントの作成

 最後にVisual Studioを使用したアプリケーションの配置時に使用する、Windows Azureストレージ・アカウントを作成する。

(1)Windows Azure Platform管理ポータルにて、画面左にあるナビゲーション・ウィンドウ上部の[Storage Accounts]を選択し、リボン・インターフェイスから[New Storage Account]メニューをクリックする。

(2)[Create a New Storage Account]ダイアログが表示されるので、図9の設定例を参考に入力し、[OK]ボタンをクリックしてWindows Azure Storageアカウントを作成する。

 以上の一連の手順を、以下に示す。

[New Storage Account]メニューをクリック
図9 Windows Azureストレージ・アカウントの設定例
Visual Studioを使用したアプリケーションの配置時に使用する、Windows Azureストレージ・アカウントを作成しているところ。
  [Hosted Services, Storage Accounts & CDN]を選択する。
  [Storage Accounts]を選択する。
  リボン・インターフェイスから[New Storage Account]メニューをクリックする。
  [Choose a subscription]…… 作成対象のWindows Azureサブスクリプション(例:YourSubscription)を一覧より選択する。
  [Enter a URL]…… Windows Azureストレージ・アカウントのURL(例:yourdeploystorage)を入力する。
  [Choose a region or affinity group]…… [Choose a Region]コンボボックス内のデータセンター一覧から、利用するデータセンター(例:East Asia)を選択する。

 以上で事前準備は完了だ。

本稿の開発環境について

 本稿ではWindows Azure SDK 1.3およびVisual Studio 2010+Windows Azure Tools for Microsoft Visual Studioを使用している。本稿の内容を実施するに当たっては、あらかじめこれらのツールをインストールしていただきたい。

 リモート・デスクトップ接続や仮想マシン・ロールでの各種設定について本稿では、Visual Studioを利用したGUI操作について解説している。GUIを利用しない場合、サービス定義ファイル(=.csdefファイル)およびサービス設定ファイル(=.cscfgファイル)を修正することでも同様の設定が行える。

 また、Windows Azure SDK 1.3は無償のVisual Web Developer 2010にも対応しているため、Visual Studio 2010が手元にない場合にはこちらの利用もご検討いただきたい。

【ツールの入手先】

 次節では、いよいよリモート・デスクトップ接続の利用手順を説明する。


 INDEX
  特集:Windows Azure SDK 1.3の新機能(前編)
  Windows Azure 1.3の新機能の概要
    1.Windows Azureの新機能とSDK 1.3
    2.新しい管理ポータル/そのほかのアップデート
 
  特集:Windows Azure SDK 1.3の新機能(中編)
  Windows Azure実行環境へのリモート・デスクトップ接続
  1.リモート・デスクトップ接続の概要/事前準備
    2. リモート・デスクトップ接続を利用する
 
  特集:Windows Azure SDK 1.3の新機能(後編)
  すべてが自由自在なクラウド環境「仮想マシン・ロール」
    1.仮想マシン・ロールの概要/仮想マシンを準備する
    2. 仮想マシン・ロールを利用する


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間