VM Role の課金についていろいろと思い違いをしていたので一度まとめてみたいと思います。
ストレージ課金が無いのかな~と思っていたのですが、VHD を保存している領域についても課金がされているということを先日知りました…。
Archive for the ‘Windows Azure’ Category
VM Role の課金について
VM Role のインスタンスのライフサイクルについて
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 を自動でマウント
前回の投稿では、VM Role で Windows Azure Drive をマウントする方法をまとめてみました。
PowerShell を手動で実行しているので VM Role のインスタンスを再起動するたびに手動でマウントしないといけません…。
これはちょっと非効率ですよね。
今回の投稿では前回作成したPowerShellのスクリプトをタスクスケジューラでシステム起動時 (サーバーの起動時) に実行するように設定して、自動でマウントできるように設定をしてみたいと思います。
Web / Worker ロールであれば、StartUpTask や OnStart に起動時の処理を書けばよいと思うのですが、VM Role はそのあたりの仕組みは自前で実装しないといけないかと。
Windows Sysprep と SQL Server Sysprep を連動して VM Role に SQL Server Express をインストール
前回投稿した、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 を使用することができるので汎用性が高いのかなと。
VM Role を複数インスタンスで起動
Windows Azure ではインスタンス数という考えがありデプロイ時に数を指定することができるようになっています。
VWD の設定では、初期インスタンス数は [1] となっています。 ![]()
VM Role にかかわらず、Web Role / Worker Role でもインスタンス数は設定することができ、Windows Azure の SLA の適用対象とするためには、インスタンス数を [2 以上] として設定する必要があります。
インスタンス数 = 仮想マシン数
となり、
スケールアップする際には、 [VM サイズ]
スケールアウトする際には、[インスタンス数]
を増やすことで対応していきます。
Azure に関しては今まで Microsoft さんのハンズオン研修でしか触ったことがなく、インスタンス数は最小の 1 でしか実行したことがありませんでした。
VM Role であれば私のような IT Pro でも可視化されてわかり易く見えるかなと思って検証してみました。
# 今は SQL Azure 以外、リモートデスクトップで入れるのでどのロール使ってもわかり易そうですけどね。
VM Role を Active Directory ドメインに参加
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 のローカルストレージの容量について
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 で接続
VM Role のインスタンスとオンプレミスの環境を Windows Azure Connect で接続する方法をまとめていきたいと思います。
日本語 OS に Windows Azure Connect Endpoint をインストール
現在の Windows Azure Connect Endpoint ですが、日本語 OS の Windows Server 2008 R2 にインストールしようとすると以下のメッセージが表示されインストールすることができません。
# クライアント OS (Windows 7) でも同様で日本語 OS にインストールできないですが…。
現状 Beta なのでいろいろとありますね…。
英語 OS にインストールしようとすると、サクッとインストールできます。 ![]()
このメッセージを表示させないで日本語 OS に Windows Azure Connect Endpoint をインストールしてしまおうというのが今回のお話です。
Sysprep をしているのでプロファイルはクリアされることと、無理やりインストールしていますので自己責任で実施をお願いいたします。
VM Role のインスタンスを日本語環境で実行
日本語 OS から VHD をアップする際に SkipVerify を指定することで日本語 OS / 日本語言語パックをインストールした環境を VM Role のイメージとしてアップロードすることが可能になりました。
Traning Kit の手順で実施すると VM Role として起動するインスタンスは英語環境の設定で実行されます。 ![]()
今回は VM Role のインスタンスを日本語環境で実行する手順をまとめてみたいと思います。
日本語 OS をそのまま日本語環境で使用するための手順となりますが、英語 OS に日本語の言語パックをインストールすれば同様の方法で日本語環境として利用することが可能です。