VM Role にリモートデスクトップでログインした際に使用されるユーザープロファイルはデフォルトでは [C:Users] の下に作成されます。 ![]()
C ドライブの内容ですが、csupload した VHD が使用されるため、非永続領域となります。
今回の投稿では、Azure Drive + 移動ユーザープロファイルを使用して、Azure Storage 上にユーザープロファイルを作成して、ユーザープロファイルの永続化を実施してみたいと思います。
SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿
以前、VM Role でデータを永続化する方法として以下の 3 つの投稿をしました。
VM Role で Windows Azure Drive を使用
VM Role 起動時に Windows Azure Drive を自動でマウント
同一スクリプトで VM Role のインスタンス毎に異なる領域をマウント
これらの投稿の内容を使用して、タスクスケジューラーでインスタンスの起動時に Power Shell を実行して Azure Drive を VM Role のデータ永続化先として利用できるようにしていました。
Azure Drive をマウントした状態を続けていたらあるタイミングでアンマウントされていましたので、今回の投稿ではその原因を注意点としてまとめたいと思います。
VM Role の課金についていろいろと思い違いをしていたので一度まとめてみたいと思います。
ストレージ課金が無いのかな~と思っていたのですが、VHD を保存している領域についても課金がされているということを先日知りました…。
VM Role で展開したインスタンスのライフサイクルについて少しまとめていきたいと思います。
Microsoft の安納さんが以下のブログで情報を公開してくださっていて、この内容がとてもわかり易いです。
自分の勉強メモとしてまとめていますので、特に目新しいことは書いていないです…。
【Azure for ITPro】Active Directory ドメインコントローラーを VM Role にインストールすることがお勧めできない理由
公開されている技術情報としては以下の情報を参考にしています。
About the VM Role Deployment Lifecycle
Read the rest of this entry »
前回の投稿では、VM Role で Windows Azure Drive をマウントする方法をまとめてみました。
PowerShell を手動で実行しているので VM Role のインスタンスを再起動するたびに手動でマウントしないといけません…。
これはちょっと非効率ですよね。
今回の投稿では前回作成したPowerShellのスクリプトをタスクスケジューラでシステム起動時 (サーバーの起動時) に実行するように設定して、自動でマウントできるように設定をしてみたいと思います。
Web / Worker ロールであれば、StartUpTask や OnStart に起動時の処理を書けばよいと思うのですが、VM Role はそのあたりの仕組みは自前で実装しないといけないかと。
前回投稿した、SQL Server Sysprep の [イメージの完了] ですが、setup.exe で起動することで実行しているため、コマンドから開始することが可能です。
コマンドで実行できるのであれば Sysprep に簡単に組み込むことが可能ですので今回は VM Role のイメージに SQL Server Sysprep を組み込んで、VM Role 上で SQL Server 2008 R2 Express Edition を起動してみたいと思います。
SSRS につていては設定の詰めが甘いので、セキュリティ設定ができていないですが起動後に HTTP でアクセスはできる状態では起動します。
作業の流れとしては以下のようになります。
# VM Role のイメージは Sysprep を実行する直前までは完了している状態です。 ![]()
Sysprep 中にコマンドを実行するための方法は以下の技術情報が参考になります。
Sysprep 中に任意のコマンドを実行する方法について
本手順ですが、データベースのデータの永続化に関しては考慮をしていません。
そのため、SQL Server 内のデータに関しては非永続化された揮発性のデータとなります。
一週間ほど VM Role を使っていて感じたのは、このロールはアプリケーションの実行環境としての利用用途として考えた方が良いのではないかということです。
VPS のようなイメージで考えていると要件にマッチしないと思います。
永続化するようなデータは Web / Worker Role と同様に Windows Azure Storage を使う必要があると思いますので、Windows Azure の作法に乗っ取ったアプリケーションを実行するための環境を VM Role で作ることができるという感じかと。
# カスタマイズした VHD を使用することができるので汎用性が高いのかなと。
Windows Azure ではインスタンス数という考えがありデプロイ時に数を指定することができるようになっています。
VWD の設定では、初期インスタンス数は [1] となっています。 ![]()
VM Role にかかわらず、Web Role / Worker Role でもインスタンス数は設定することができ、Windows Azure の SLA の適用対象とするためには、インスタンス数を [2 以上] として設定する必要があります。
インスタンス数 = 仮想マシン数
となり、
スケールアップする際には、 [VM サイズ]
スケールアウトする際には、[インスタンス数]
を増やすことで対応していきます。
Azure に関しては今まで Microsoft さんのハンズオン研修でしか触ったことがなく、インスタンス数は最小の 1 でしか実行したことがありませんでした。
VM Role であれば私のような IT Pro でも可視化されてわかり易く見えるかなと思って検証してみました。
# 今は SQL Azure 以外、リモートデスクトップで入れるのでどのロール使ってもわかり易そうですけどね。
Windows Azure Connect を使用することでオンプレミス環境との連携をすることが可能になります。
VM Role (他のロールも該当するようですが) のサービスモデルにいくつか設定をすることで VM Role のインスタンスを Active Directory ドメインに参加させることが可能となりますのでその手順をまとめていきたいと思います。
以下の情報がとても参考になります。
Overview of Windows Azure Connect When Roles Are Joined to a Domain
Troubleshooting Windows Azure Connect
Domain Joining Windows Azure roles
Windows Azure Connect – Domain Join Issue
VM Role 上のインスタンスですが、アップロードした VHD のディスクに加えて [Resources] というボリュームラベルを持つディスクが自動的に追加され、C ドライブの直下に [Resources] としてマウントポイントが作成されます。
# ローカルストレージには [Diagnostic] という診断用のデータを保存する際に使用しそうなディレクトリが自動で作成されています。
扱いとしてはローカルストレージになるようで、保存されたデータは非永続として考えた方が良さそうです。
このドライブに関しては以下の技術情報に少し記載がされています。
About the Windows Azure Integration Components
# ここで記載されている local storage が一般的に Azure で使用するローカルストレージと同じ意味なのかいまいちわかっていないですが…。
Support for Local Storage Resources
The Windows Azure Integration Components create any named local storage resources that you have defined in your service model for your VM role. You can access local storage resources from within your server instance at c:Resources<resource-name>.
When your server instance is first brought online, access to the local resource directory is restricted to the Administrator account. Your code should modify the security settings for the directory if a process running in a lower-privilege account will need to access it.
The Integration Components also create the system local storage resources where diagnostic data is written while your server instance is online.
VM Role のインスタンスとオンプレミスの環境を Windows Azure Connect で接続する方法をまとめていきたいと思います。