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

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

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

リモート・デスクトップ接続を利用する

 この節では、新規に作成したWebロール・プロジェクトに対し、リモート・デスクトップ接続を有効にする場合の手順について解説する。

Webロール・プロジェクトの作成

 まず、Webロール・プロジェクトを以下の手順で作成する。

(1)Visual Studio 2010のIDEを管理者として起動し、メニューバーから[ファイル]−[新規作成]−[プロジェクト]を選択する。これにより、次の画面のような[新しいプロジェクト]ダイアログが表示される。

図10 [新しいプロジェクト]ダイアログ

(2)[新しいプロジェクト]ダイアログの[プロジェクトの種類]から[Visual C#]−[Cloud]を選択する。

(3)テンプレート一覧から[Windows Azure プロジェクト]を選択する。

(4)[名前][場所][ソリューション名]欄に任意の値を入力する(この例では[名前]に「AzureRDPTest」を入力した)。

(5)[OK]ボタンをクリックする。

(6)次に[新しい Windows Azure プロジェクト]ダイアログが表示される(図11参照)。

図11 [新しい Windows Azureプロジェクト]ダイアログ例

(7)[新しい Windows Azure プロジェクト]ダイアログの[.NET Framework 4 ロール]一覧から[ASP.NET Web ロール]を選択し、[>]ボタンをクリックして[Windows Azure ソリューション]一覧に追加する。

(8)[プロジェクト名の編集]ボタン()をクリックし、任意の値(例:AzureRDPWebRole)を入力する。この際、先ほど入力したプロジェクト名と同じプロジェクト名(例:AzureRDPTest)は利用できないので注意が必要だ。

(9)[OK]ボタンをクリックする。

 Webロール・プロジェクトの作成が完了すると、[ソリューション エクスプローラー]にはWindows Azureプロジェクトが以下の画面のように表示される。

図12 プロジェクト作成後の[ソリューション エクスプローラー]

リモート・デスクトップ接続可能にするWebロールの配置

 次に、[発行]メニューを利用して、リモート・デスクトップ接続に関する設定とサービス・パッケージの作成、Windows Azure上への配置を行う。

(1)[ソリューション エクスプローラー]にて、先ほど作成したWindows Azure プロジェクトの項目(例:AzureRDPTest)を右クリックし、(表示されるコンテキスト・メニューから)[発行]メニューを選択する。

図13 プロジェクト項目の[発行]メニューの選択([ソリューション エクスプローラー])
[発行]メニューを利用して、リモート・デスクトップ接続に関する設定とサービス・パッケージの作成、Windows Azure上への配置を行う。
  Windows Azureプロジェクト項目を右クリックする。
  表示されるコンテキスト・メニューから[発行]を選択する。

(2)[Windows Azure プロジェクトの配置]ダイアログが表示されるので、[リモート デスクトップ接続の構成]リンクをクリックする。

(3)[リモート デスクトップ構成]ダイアログが表示されるので、図14の構成例に従い各項目を設定する。

図14 [リモート デスクトップ構成]ダイアログ
下記の手順に従い、リモート・デスクトップ接続に関する各項目を設定する。
  [すべてのロールの接続を有効にする]…… チェックを付け設定を有効にする。
  [証明書を作成または選択して、ユーザーの資格情報を暗号化します。Windows Azure ポータル を使用して証明書をロールのホストされているサービスにアップロードします。]…… 事前準備にて作成した証明書を一覧から選択する(例:AzureManagementCert)。
  [ユーザー名]…… 接続する際のユーザー・アカウント名を入力する(例:YourAdminName)。この欄で指定したユーザー・アカウント名が最終的にリモート・デスクトップ接続を行う際に使用するユーザー・アカウントになる。
  [パスワード][パスワードの確認入力]…… 接続する際に使用するユーザーのパスワードを入力する。この欄で指定したパスワードが最終的にリモート・デスクトップ接続を行う際に使用するユーザーのパスワードになる。
  [アカウントの有効期限]…… 指定したユーザー・アカウントの有効期限を指定する。

(4)[OK]ボタンをクリックし、[リモート デスクトップ構成]ダイアログを完了させる([リモート デスクトップ構成]ダイアログにて[OK]ボタンをクリックした時点でリモート・デスクトップ接続に関する設定は完了している)。

(5)[Windows Azure プロジェクトの配置]ダイアログにて[Windows Azure プロジェクトを Windows Azure に配置します]を選択し、[資格情報]コンボボックスより「<追加>」を選択する。

(6)[Windows Azure プロジェクト管理認証]ダイアログが表示されるので、図15の設定例に従い各項目を入力し、[OK]ボタンをクリックする。

図15 [Windows Azure プロジェクト管理認証]ダイアログ
下記の手順に従い、Windows Azure上へプロジェクトを配置するための資格情報を設定する。
  [認証のために、資格情報を作成するか既存の資格情報を選択します]…… 一覧より、事前準備で作成した証明書を選択する(例:AzureManagementCert)。
  [Windows Azure ポータルからアカウントのサブスクリプション ID をコピーします]…… 事前準備にて(テキスト・ファイルなどに)控えたWindows AzureサブスクリプションのIDを入力する。
  [これらの資格情報に名前を付けます]…… Visual Studioで使用する際に表示される資格情報の名称を入力する(例:YourAzureAccount)。

(7)[Windows Azure プロジェクトの配置]ダイアログにて、図16の設定例に従い各項目を入力し、[OK]ボタンをクリックする。

図16 [Windows Azure プロジェクトの配置]ダイアログ
下記の手順に従い、Windows Azureへのプロジェクトの配置に関する各項目を設定する。
  [Windows AzureプロジェクトをWindows Azureに配置します]を選択する。
  [資格情報]…… 先ほど作成した資格情報を一覧より選択する(例:YourAzureAccount)。
  [配置先となる配置環境]…… Windows Azure上のプロダクション環境またはステージング環境のどちらかを一覧より選択する(例:Your Hosted Service - Production)。
  [配置に使用するストレージ アカウント]…… 事前準備にて作成した配置用のWindows Azureストレージのアカウントを一覧より選択する(例:yourdeploystorage)。

(8)[Windows Azure プロジェクトの配置]ダイアログにて[OK]ボタンをクリックすると、ソリューションのビルドが行われ、入力された内容を基にWindows Azure上へそのソリューションの配置が行われる。配置に関する状況は、Visual Studio上に表示される[Windows Azure のアクティビティ ログ](図17参照)またはWindows Azure Platform管理ポータルを参照することで把握することが可能だ。

図17 [Windows Azure のアクティビティ ログ]の例

 配置がすべて完了すると、[Windows Azure のアクティビティ ログ]に「完了しました」のメッセージが表示される。

[参考]手動コーディングによるリモート・デスクトップ接続

 リモート・デスクトップ接続の構成が行われると、サービス定義ファイル(=.csdefファイル)およびサービス設定ファイル(=.cscfgファイル)に変更が加えられる。[リモート デスクトップ構成]ダイアログを使用しない場合は、以下の項目を手動で追加することでリモート・デスクトップ接続が利用可能だ。

図18 リモート・デスクトップ構成の設定個所(上:サービス定義ファイル(=.csdef)、下:サービス設定ファイル(=.cscfg))
[リモート デスクトップ構成]ダイアログを使わずに、下記の手順に従って手動でコードを追加しても、リモート・デスクトップ接続は利用可能。
  サービス定義ファイルに<Import>要素を2つ追加する。
  サービス設定ファイルにリモート接続に関する設定を追加する。
サービス設定ファイルを手動で編集する場合、「Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountEncryptedPassword」という名前(=name属性の値)の<Setting>要素のvalue属性には、暗号化されたパスワードを設定する必要がある。この値は「MSDN:How to Encrypt a Password」に記載されているコマンドにて返される、暗号化されたパスワード文字列を設定する。
  サービス設定ファイルにリモート接続で使用する証明書の情報を追加する。

 以上の手順でリモート・デスクトップ接続が可能なWebロールの配置が完了した。

リモート・デスクトップ接続の実施

 Windows Azure Platform管理ポータル上で接続先のWebロール・インスタンスを選択してリボン・インターフェイスの[Connect]メニューをクリックすれば、リモート・デスクトップ接続ファイル(=.rdpファイル)をダウンロードすることができる。ダウンロードしたリモート・デスクトップ接続ファイルを(ダブルクリックなどで)実行すれば、リモート・デスクトップ接続を行うことが可能だ。

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

[Connect]メニューをクリック
図19 リモート・デスクトップ接続の開始
Windows Azure Platform管理ポータル上での手順を実行してリモート・デスクトップ接続ファイル(=.rdpファイル)をダウンロードし、そのファイルをクライアント上で(ダブルクリックなどで)実行する。これにより[Windows セキュリティ]ダイアログが表示されるので、の手順を実行する。
  接続したいロール・インスタンスを選択する。
  リボン・インターフェイスから[Connect]メニューをクリックする。
  リモート・デスクトップ接続の構成時に指定したユーザー名(例:YourAdminName)を入力する。
  リモート・デスクトップ接続の構成時に指定したユーザーのパスワードを入力する。

 リモート・デスクトップ接続が正常に開始された後は、通常のリモート・デスクトップ接続と同様に、Windows Azure上のインスタンスを操作することが可能だ。次の画面はその例だ。

図20 リモート・デスクトップ接続の実施例

 リモート・デスクトップ接続を行うには、事前に証明書の登録など、Windows Azure Platform管理ポータル側での作業が必要だが、一度設定すればVisual Studio側で設定を行うだけでリモート・デスクトップ接続をすぐに構成することが可能だ。

 ただし、すでに配置されているアプリケーションに対してWindows Azure Platform管理ポータル上でリモート・デスクトップ接続を新規に構成する場合、サービス設定ファイル(=.cscfg)の修正だけでなく、サービス定義ファイル(=.csdef)の修正、およびサービス・パッケージの再作成と再配置が必要となるので注意したい。

 また、リモート・デスクトップ接続は、稼働しているロール・インスタンスを指定して接続しているため、複数のインスタンスを稼働させている場合は注意が必要だ。Windows Azure Platform管理ポータル上で接続先インスタンスを選択するか、リモート・デスクトップ接続ファイル(=.rdp)に記述されている接続先インスタンスを修正する必要があるので、運用の際には注意したい。

[参考]リモート・デスクトップ接続ファイル(=.rdp)の修正

 リモート・デスクトップ接続の接続先インスタンスを修正するには、Windows Azure Platform管理ポータルからダウンロードしたリモート・デスクトップ接続ファイル(=.rdp)をメモ帳(Notepad)などのテキスト・エディタで開き、LoadBalanceInfoで始まる行に記載されているロール・インスタンス名を修正する。

例:
LoadBalanceInfo:s:Cookie: mstshash=AzureRDPWebRole#AzureRDPWebRole_IN_0#Microsoft.WindowsAzure.Plugins.RemoteAccess.Rdp

 赤字の個所に「<ロール名>#<ロール・インスタンス名>」の形式で接続先のロール・インスタンスを記述する。

次回について

 次回は「仮想マシン・ロール」について詳細な利用方法を解説していく。end of article


 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 記事ランキング

本日 月間