SHOEISHA iD

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

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

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

PDC 2010で明らかになったWindows Azureの新機能

PDC 2010で明らかになったWindows Azureの新機能(前編)

リモートデスクトップ

 Windows Azureへデプロイした個別のロールインスタンスにリモートデスクトップ接続が可能になりました。

 これにより、個別のインスタンスへログオンしてOSの状況確認や障害調査、さらにはOSの構成変更操作も行うことができます。ただし、これらの変更は、ゲストOSのアップグレード、VMの停止による自動リカバリなど外的要因によって再起動したタイミングで失われてしまいます。したがって、デプロイ後に構成変更を行い運用するといった用途にはお勧めできません。

 リモートデスクトップの利用は、検証やテスト、障害調査、ロールインスタンスの状態監視などの利用に限定しましょう。

 リモートデスクトップへの接続設定は、デプロイ時に行います(図8)。認証には証明書が必要で、あらかじめリモートデスクトップ接続を行うホストサービスに配置しておく必要があります。

図8:リモートデスクトップの構成ダイアログ
図8:リモートデスクトップの構成ダイアログ

 リモートデスクトップの接続は、デプロイ完了後に管理ポータルから行います。接続したいインスタンスを選択し、Connectをクリックすることによってリモートデスクトップ接続が開始されます(図9)。

図9:リモートデスクトップ接続画面
図9:リモートデスクトップ接続画面

 ゲストOS 2.xにリモートデスクトップ接続をした画面です(図10)。Windows Server 2008 R2 Enterpriseと表示されているのが確認できます。

図10:ゲストOS接続画面
図10:ゲストOS接続画面

権限昇格

 権限昇格(Elevated Privileges)は、今まで管理者(Admin)モードと呼ばれていた管理者権限を付与する機能です。管理者権限を付与には2通りの方法があります。

スタートアップタスク

 ロールインスタンス起動時に任意のコマンドを実行でき、同時に権限を昇格できる仕組みになっています。

 これらにより、インストーラの起動、OSやIISの構成変更、レジストリの書き込みなど、管理者権限が必要な操作を実施できるようになります。

 スタートアップタスクは、サービス定義ファイル(ServiceDefinition.csdef)のStartup要素に記述できます(リスト1)。管理者権限の有無は、executionContext属性で指定します。elevatedなら管理者権限、limitedなら標準ユーザーの権限で実行されます。taskTypeは実行時の振る舞いを指定し、simpleはコマンドの実行が終了するまで待ち合わせを行う同期実行を、backgroundは待ち合わせをしない非同期実行を意味します。

[リスト1]スタートアップタスクの定義例
<WebRole name="WebRole1">
  <!-- Startup 要素にTaskを定義する -->
  <Startup>
    <!-- task1.cmdを管理者権限で同期実行 -->
    <Task commandLine="task1.cmd" executionContext="elevated"
          taskType="simple"/>
    <!-- task2.cmdを標準ユーザー権限で非同期実行 -->
    <Task commandLine="task2.cmd" executionContext="limited"
          taskType="background"/>
  </Startup>
  ....
</WebRole>

ランタイム

 サービス定義ファイル(ServiceDefinition.csdef)のRuntime要素のexecutionContext属性にelevatedを指定することで、RoleEntryPointクラス(※注意)を管理者権限で実行できます(リスト2)。これによって、OnStart/Run/OnStopメソッドで管理者権限の必要な操作を実行できます。

 管理権限には直接関係ありませんが、Environment要素で環境変数の定義も可能となっています。

 ASP.NETなどのWebアプリケーションは、IISのワーカープロセス上で実行されるため、管理者権限が付与されるわけではありません。

[リスト2]ランタイム権限の定義例
<WebRole name="WebRole1">
  <!-- Runtime要素のexecutionContext属性で実行権限を指定できます。-->
  <Runtime executionContext="elevated">
    <Environment>
      <!-- 環境変数も定義できます -->
      <Variable name="var1" value="statemachine"/>
      <Variable name="var2" value="yyamada"/>
    </Environment>
  </Runtime>
  ....
</WebRole>
※注意

 OnStart/Run/OnStopメソッドが定義されているロールインスタンスの起動クラスです。

次のページ
完全なIIS(Full IIS)

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

PDC 2010で明らかになった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/5687 2011/01/27 14:00

イベント

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

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

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

メールバックナンバー