2017-07-04 13 views
0

powershellを使用してAzure VMを作成できます。複数のAzure VMを1つのpowershellスクリプトで並列に作成する

私は4つのVMの並列を作成する必要があります。

複数のVMを同時に作成する機能はありますか?バックグラウンドジョブのようなものや、スレッドの種類を使用しているすべての異なるVMに対して同じ機能を呼び出す?

答えて

1

VMスケールセットを検討しましたか?それらは、高可用性構成でVMを自動的に並列に展開し、それらのVMをより簡単に管理できるようにします(概要文書:https://docs.microsoft.com/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-overview)。もちろん、powershell(尺度セットを展開するためのdoc:https://docs.microsoft.com/en-us/azure/virtual-machines/windows/tutorial-create-vmss)からスケールセットまたはVMの束を展開できますが、Powershellコマンドレットでは、仮想ネットワーク、サブネット、ロードバランサなどの多くの関連プロパティを指定する必要がありますconfigsなど)。 Azure CLI 2.0(WindowsとLinuxの両方で使える!)は、多くの良いデフォルトを提供します。例えば、AzureのCLI 2.0にあなたが並行して、あなたのすべてのVMを作成するには、この単一のコマンドを実行できます。

az vmss create --resource-group vmss-test-1 --name MyScaleSet --image UbuntuLTS --authentication-type password --admin-username azureuser --admin-password [email protected]! --instance-count 4

(ここではドキュメントから撮影:https://docs.microsoft.com/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-create#create-from-azure-cli

・ホープこのことができます! :)

+0

こんにちはNeil、スケールセットを作成しても、外部から各マシンに接続することはできますか?これまでの公開IPは1つだけですか? – lony

+0

上記のコマンドは、パブリックIPで設定されたスケールにロードバランサも作成します。したがって、LB上のポート50000以上を使用して、スケール設定されたVMにRDPまたはsshできるようにする必要があります(例えば、:50000ではRDP/sshを実行してVM 0に、:50001にするなど) )。必要に応じて、 - per-vm-per-vmオプションを使用してVMごとにパブリックIPを作成することができます:) –

+0

ありがとうございます。 – lony

0

いいえ、組み込みのAzure powershellコマンドレットや機能はありません。そのために独自のルーチンを作成することができます。私はそのためにPSジョブを使用しています。

Save-AzureRmContextImport-AzureRmContextを使用して、ジョブ内のPowerShellを認証するか、任意の形式の自動ログインを使用する必要があります。

0

ありがとう、私はPSワークフローパラレルとシーケンス機能を使用して私の問題を解決しました。達成しました。

関連する問題