Azure VM Scale Set のパブリック プレビュー

このポストは、11 月 11 日に投稿された Azure VM Scale Sets public preview の翻訳です。

マイクロソフトはこのたび、Azure Virtual Machine Scale Set のパブリック プレビューを発表しました。この VM Scale Set は、複数の仮想マシンを 1 つのセットとしてデプロイ、管理できる、Azure のコンピューティング リソースです。ビッグ コンピューティング、ビッグ データ、コンテナー化ワークロードは、クラウド コンピューティングが進化するにつれて重要性が増していますが、VM Scale Set はそれらを目的とした大規模なサービスを構築する場合に最適です。

VM Scale Set 内の VM はすべて同一に構成されるため、必要な台数を選択するだけで、迅速かつ自動的に VM をスケール アウトすることができます。また、Azure インサイトの自動スケール機能と統合されているため、事前に VM をプロビジョニングしていなくても完全な自動スケールが可能であり、アプリケーションが必要としているコンピューティング リソースをいつでも必要なだけ使用できます。VM Scale Set のデプロイメントには Azure Resource Manager テンプレートを使用でき、Windows と Linux の各プラットフォーム イメージのほか、カスタムのイメージや拡張機能もサポートされています。また、VM Scale Set は Load Balancer や Network Security Groups などの Azure のネットワーク リソースと統合されているため、VM Scale Set 内の VM 全体に簡単にワークロードを展開することができます。さらに NAT ルールも構成でき、トラブルシューティングの際には特定の VM インスタンスに接続することが可能です。

VM Scale Set の定義は、VM や NIC、VM 拡張機能などの必要なリソースを VM Scale Set のプロパティとして 1 回指定するだけで完了します。VM インスタンスを個別にデプロイする場合と異なり、個々の VM に対してネットワーク、ストレージ、拡張リソースを個別に定義、関連付ける必要はありません。これにより、Azure インフラストラクチャの定義が簡素化されるだけではなく、基盤となるファブリックへの呼び出しが最適化され、効率性が大幅に向上します。

VM Scale Set は柔軟性があるため、ステートレスな Web フロントエンド、コンテナーのオーケストレーション、マイクロサービス クラスターといったワークロードのスケール アウトへの対応に適しています。実際に、Azure Container Service では VM Scale Set が Mesos クラスターの作成や管理の基盤として活用されています。

VM Scale Set をデプロイする

VM Scale Set をデプロイする際に必要となるのは Azure サブスクリプションのみです。Virtual Machine Scale Set サンプル テンプレートを GitHub リポジトリの azure-quickstart-templates (英語) にご用意しています。サンプルはプレビュー期間中にさらに拡充する予定です。

次のビデオでは、VM Scale Set のテンプレートの詳細について説明しています。

[View:~/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-15/2.mp4:450:0]

この記事で使用するサンプル テンプレートは、201-vmss-linux-nat (英語) から入手できます。このテンプレートでは、Linux VM から成る VM Scale Set が作成されます。これらの VM はパブリック IP アドレスを持つ Load Balancer に割り当てられ、HTTP トラフィックをインスタンス全体に分散します。また NAT ルールも定義されており、VM Scale Set 内の各 VM に対して SSH による接続を確立できます。他の Quickstart テンプレートと同様に、[ ] ボタンをクリックするとデプロイが開始されます。

 

上記のボタンをクリックするとhttps://acom.azurecomcdn.net/80C57D/cdn/mediahandler/acomblog/media/Default/blog/e3431b07-7871-4fe0-978a-475363695da8.png Azure ポータルに移動します。ここで、テンプレートの各パラメーターを指定します。

  • VM サイズを「Standard_A1」に設定します。すべての VM が選択したサイズで設定されます。

  • OS のバージョンを選択します。このテンプレートでは Ubuntu VM を作成するため、「15.10」を選択します。

  • [VMSSNAME] には 9 文字以下の長さの値を指定します。指定した名前は、このテンプレートでストレージ アカウントなどの他のリソースを作成するときに、一意の文字列として先頭に追加されます。

  • この例では、[INSTANCECOUNT] パラメーターは、テンプレート内の virtualMachineScaleSet リソースの capacity というプロパティに対応します。このプロパティは VM Scale Set の VM の台数を表します。パブリック プレビュー期間中は、最大で 100 台の VM を作成できます。

  • [ADMINUSERNAME] と [ADMINPASSWORD] には、VM Scale Set の各 VM 用のユーザー資格情報を指定します。

  • [OK] をクリックして新しいリソース グループを作成し、リージョンを選択し、使用条項に同意します。

[CREATE] をクリックして、入力したパラメーターでテンプレートをデプロイします。

デプロイメントが完了したら、VM Scale Set のリソースの概要が表示されます。VM Scale Set 本体、Load Balancer、パブリック IP アドレス、VNET、一意の名前が付けられたストレージ アカウントなどです。

特定の VM に接続する場合は、パブリック IP アドレス (このアドレスは Load Balancer に関連付けられています) をクリックして DNS 名をコピーします。テンプレートで定義される NAT ルールでは、ポート 50000 で受信したら 1 台目の VM のポート 22 (SSH で使用) に、ポート 50001 で受信したら 2 台目の VM のポート 22 に、というようにそれぞれ変換されます。このため、1 台目の VM に接続する場合は、パブリック IP アドレスの 50000 番ポートに対して SSH 接続を確立します。

Azure CLI および PowerShell を使用してデプロイする

VM Scale Set は、Azure CLI からでも作成できます。

azure group deployment create -g myrg -n dep2 --template-uri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/201-vmss-linux-nat/azuredeploy.json

PowerShell を使用して VM Scale Set をデプロイする場合は、New-AzureRMResourceGroup コマンドレットを使用します。

New-AzureRMResourceGroupDeployment -name dep1 -vmSSName myvmss -instanceCount 3 -ResourceGroupName myrg -TemplateUri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/201-vmss-linux-nat/azuredeploy.json

: 使用している Azure PowerShell のバージョンが 1.0 よりも古い場合は、New-AzureRMResourceGroupDeployment の部分を New-AzureResourceGroupDeployment に変更してください。

resourceLocation や adminUsername など、未指定のテンプレート パラメーターがあれば、入力を求めるメッセージが表示されます。

このほかにも、VM Scale Set とその中の VM の管理に不可欠なコマンドを含む、CLI と PowerShell のプレビュー ビルドがあります。これらについては、GitHub の https://github.com/AzureRT/azure-powershell/releases (英語)https://github.com/AzureRT/azure-xplat-cli/releases/ (英語) のページでご確認ください。

デプロイした VM Scale Set を確認する

マイクロソフトは、VM Scale Set と Azure ポータルをさらに細かく統合する取り組みを進めています。当面の間、作成した VM Scale Set のリソースを確認するには、Azure リソース エクスプローラーをお使いください。サブスクリプション内のすべてのリソースについて、どのように定義されているかが確認できます。

VM Scale Set の使用に関する詳細については、REST API ガイド (英語) や、Quickstart テンプレート (英語) で公開されている VM Scale Set サンプルの Readme お読みください。このほか、Cloud Cover 第 191 回 (英語) では初期プレビューについての情報をご覧いただけます。

ぜひ VM Scale Set をお試しのうえ、ご意見やご要望をお聞かせください。vmssfeedback@microsoft.com で受け付けております。