3.日本語OS用に修正する
インストールスクリプトが一部日本語OSを想定していないため、64ビット版の日本語OSを使用している場合、正しく動作しないため次の対応を実施します。
関連ファイルがセキュリティで保護されている「Program Files (x86)」配下にインストールされているため、修正をしやすいように「C:\Program Files (x86)\MongoDB\Windows Azure\MongoDBInstVM\August2012\PowerShell」配下にあるすべてのファイルを「D:\AzureMongo」にコピーします。コピーした「D:\AzureMongo\deploy-mongo.ps1」をエディターで開きます。
33行目で64ビットOSかどうかを確認し、64ビットOSの場合はインストールパスに「 (x86)」を追加しています。64ビットOSかどうかを確認する条件文が英語OS前提となっているため、日本語OSでも正しく動作するために、33行目をリスト1のように修正します。
#オリジナル if ($osArchitecture.OSArchitecture -eq "64-bit") #修正版 if ($osArchitecture.OSArchitecture -match "^64*")
4.Windows Azure資格情報ファイルをダウンロードする
Windows Azure資格情報ファイルをダウンロードするため、Windows Azure管理ポータルにログインします。その後、PublishSettingファイルのダウンロードサイトから「D:\AzureMongo」にダウンロードします。
5.MongoDB Installer for Windows Azureを実行する
準備が完了したので、MongoDB Installer for Windows Azureを使用してMongoDBがインストールされた仮想マシンをデプロイします。MongoDB Installer for Windows Azureは、node.jsとWindows Azure Command Line Tools for Mac and Linuxを使用して仮想マシンをデプロイします。そのため、最初に両プログラムがインストールされているかを確認し、インストールされていない場合はインストールを実行します。両プログラムをインストールするためのインストーラーのダウンロードURLは、「setup.xml」で定義されていますが、現時点では変更する必要はありません。
Windows PowerShellを「管理者として実行」を選択し管理者モードで起動し、「D:\AzureMongo」に移動します。オプションを引数で指定して、deploy-mongo.ps1を実行します。リスト2は、deploy-mongo.ps1を実行してアメリカ西部のデータセンターに「mongodb」というDNS名で仮想マシンをデプロイした例です。
> cd "D:\AzureMongo" > .\deploy-mongo.ps1 2 cz-mongodb01 cz-mongovhd Abc!12345 "West US" .\example-test-12-2-2012-credentials.publishsettings
deploy-mongo.ps1の引数は、以下のとおりです。
deploy-mongo.ps1 <node-count> <dns-prefix> <image-name> <password> <location> <pub-settings-file-path> [replica-set-name]
- node-count:レプリケーションセットのノード数。最小値は「1」。
- dns-prefix:DNS名。
- image-name:Windows Azure仮想マシンに登録する仮想マシンのイメージ名。
- password:リモート接続用の(複雑なパスワード要件を満たした)パスワード。
- location:デプロイ先のロケーション(注5)。
- pub-settings-file-path:Windows Azure資格情報ファイルのパス。
- replica-set-name:レプリケーションセット名。
リスト2を実行すると図4のように、アメリカ西部のデータセンターに仮想マシンが2つ作成されていることを確認できます。
MongoDB Installer for Windows Azureは、仮想マシンを作成した後、エンドポイントを設定します(図5)。
エンドポイントの設定後、「D:\AzureMongo」にmongodbの設定ファイル(config.json)と接続文字列ファイル(connectionStrings-cz-mongodb01.json)が作成されます。仮想マシンの初期化後、MongoDBをインストールします。インストールが完了すると、図6のように結果が表示されます。
以上で、Windows Azure Virtual Machine上でMongoDBを使用する準備が完了しました。
まとめ
Windows Azure Virtual Machineによって、MongoDBのような、これまで利用しにくかったアプリケーション(やミドルウェア)が使用しやすくなりました。また、オンプレミスの環境とクラウドをVPNで接続して、相互に利用するハイブリッド構成をとりやすくなりクラウドの利用シーンが今後増えてくると思われます。
これまでと同様にアプリケーション利用にはオンプレミスを使用し、大規模災害対策としてクラウド(ジオ・レプリケーション)を利用するケースは最有力と思われます。