はじめに
2012年6月に戻って、Windows Azure PowerShellコマンドレットが更新され、Windows Azure仮想マシンを管理するための興味深い機能が追加されました。 この記事では、Windows Azure IaaSの新しい自動化機能について説明します。
Windows Azure PowerShellの構成
最初に行うことは、Windows Azure PowerShellをインストールすることです。 設定ファイルをダウンロードしてインポートする最も簡単な方法は、公式サイトからテンプレートをダウンロードすることです。 パブリケーション設定ファイルをアップロードしたら、インポートする必要があります。
Import-AzurePublishSettingsFile 'c:\temp\mysub.publishsettings'
設定ファイルをダウンロードせずにパブリケーションプロファイルを手動で構成することもできます。
$subid = '[YOUR-SUBSCRIPTION-ID]' $cert = Get-Item Cert:\CurrentUser\My\YOURCERTTHUMBPRINT Set-AzureSubscription -SubscriptionName 'testsub1' -SubscriptionId $subid -Certificate $cert
サブスクリプションの設定が完了すると、パブリケーションプロファイルはデフォルトで次の場所に保存されることに注意してください。C:\ Users \ user \ AppData \ Roaming \ Windows Azure Powershell
これは、既に存在するため、各シナリオでSet-AzureSubscriptionを実行する必要がないことを意味します。 Windows Azure PowerShellはいくつかのサブスクリプションをサポートしているため、Select-AzureSubscriptionコマンドを使用して、使用するサブスクリプションを選択できます。
ストレージのセットアップ
また、新しい追加は–CurrentStorageAccountです。 このパラメーターを使用すると、作業中のVMに使用するストレージをPowerShellから指定できます。 リポジトリをインストールするには、次のコマンドを実行します。
Get-AzureStorageAccount
StorageAccountを作成する必要がある場合は、次のコマンドを使用します。
New-AzureStorageAccount -StorageAccountName 'myuniquelynamedstorage' -Location 'East US'
PowerShellから仮想マシンを作成する準備
Windows AzureでVMの作成を開始する前に、PowerShellから動作するために必要な設定、つまり場所を設定する必要があります。
$dclocation = '[YOUR-LOCATION]'
VMのコンテナとして機能するクラウドサービスの名前を設定します。
Test-AzureName -Service '[YOUR-CLOUD-SERVICE-NAME]' $cloudSvcName = '[YOUR-CLOUD-SERVICE-NAME]'
VMの基盤として使用するプラットフォームを決定します。
Get-AzureVMImage | select ImageName $image = '[YOUR-SELECTED-IMAGE-NAME]'
これで、PowerShellからVMの作成を開始できます。
PowerShellからWindows VMをすばやく作成する
すべての初期設定が完了したら、仮想マシンをすばやく作成するには、次のコマンドを使用する必要があります。
$adminPassword = '[PASSWORD]' $vmname = 'mytestvm' New-AzureQuickVM -Windows -ServiceName $cloudSvcName -Name $vmname -ImageName $image -Password $adminPassword
PowerShellからLinux VMをすばやく作成する
$linuxuser = '[CHOOSE-USERNAME]' $adminPassword = '[YOUR-PASSWORD]' $vmname = 'mytestvm1' New-AzureQuickVM -Linux -ServiceName $cloudSvcName -Name $vmname -ImageName $image -LinuxUser $linuxuser
Windows Azure仮想マシンの再起動、起動、停止
# Restart-AzureVM -ServiceName $cloudSvcName -Name $vmname # Stop-AzureVM -ServiceName $cloudSvcName -Name $vmname # Start-AzureVM -ServiceName $cloudSvcName -Name $vmname
高度な仮想マシンコマンド
New-AzureVMConfigを使用すると、自分で構成して仮想マシンを作成できます。 VMの迅速な作成に満足できない場合、またはこのコマンドが提供する設定の数が気に入らない場合は、このセクションが最適です。 データディスクの追加、エンドポイントの構成(SSHおよびRDP用に自動的に追加)、OSディスクキャッシュまたはデータディスクの動作の変更も可能です。 必要なのは、New-AzureVMConfigコマンドを呼び出してから、それらをVMに転送することだけです。
PowerShellからWindows仮想マシンを作成する
$vmname2 = 'mytestvm2' $vmname3 = 'mytestvm3' $vm2 = New-AzureVMConfig -Name $vmname2 -InstanceSize ExtraSmall -ImageName $image | Add-AzureProvisioningConfig -Windows -Password $adminPassword | Add-AzureDataDisk -CreateNew -DiskSizeInGB 50 -DiskLabel 'datadisk1' -LUN 0 | Add-AzureEndpoint -Protocol tcp -LocalPort 80 -PublicPort 80 -Name 'web' ` -LBSetName 'lbweb' -ProbePort 80 -ProbeProtocol http -ProbePath '/' $vm3 = New-AzureVMConfig -Name $vmname3 -InstanceSize ExtraSmall -ImageName $image | Add-AzureProvisioningConfig -Windows -Password $adminPassword | Add-AzureDataDisk -CreateNew -DiskSizeInGB 50 -DiskLabel 'datadisk2' -LUN 0 | Add-AzureEndpoint -Protocol tcp -LocalPort 80 -PublicPort 80 -Name 'web' ` -LBSetName 'lbweb' -ProbePort 80 -ProbeProtocol http -ProbePath '/' New-AzureVM -ServiceName $cloudSvcName -VMs $vm2,$vm3
PowerShellからLinux仮想マシンを作成する
$vmname2 = 'mytestvm2' $vmname3 = 'mytestvm3' $vm2 = New-AzureVMConfig -Name $vmname2 -InstanceSize ExtraSmall -ImageName $image | Add-AzureProvisioningConfig -Linux -LinuxUser $linuxUser -Password $adminPassword | Add-AzureDataDisk -CreateNew -DiskSizeInGB 50 -DiskLabel 'datadisk1' -LUN 0 | Add-AzureEndpoint -Protocol tcp -LocalPort 80 -PublicPort 80 -Name 'web' ` -LBSetName 'lbweb' -ProbePort 80 -ProbeProtocol http -ProbePath '/' $vm3 = New-AzureVMConfig -Name $vmname3 -InstanceSize ExtraSmall -ImageName $image | Add-AzureProvisioningConfig -Linux -LinuxUser $linuxUser -Password $adminPassword | Add-AzureDataDisk -CreateNew -DiskSizeInGB 50 -DiskLabel 'datadisk2' -LUN 0 | Add-AzureEndpoint -Protocol tcp -LocalPort 80 -PublicPort 80 -Name 'web' ` -LBSetName 'lbweb' -ProbePort 80 -ProbeProtocol http -ProbePath '/' New-AzureVM -ServiceName $cloudSvcName -VMs $vm2,$vm3
既存の仮想マシンのアップグレード
既存の仮想マシンを変更するには、Get-AzureVMコマンドを使用して現在の設定を取得する必要があります;編集後、Update-AzureVMコマンドを使用して設定を保存します。 ディスクキャッシュ設定など、一部の変更では、仮想マシンの再起動が必要になります。
$vmname = 'mytestvm1' Get-AzureVM -Name $vmname -ServiceName $cloudSvcName | Add-AzureDataDisk -CreateNew -DiskSizeInGB 50 -DiskLabel 'datadisk1' -LUN 0 | Add-AzureDataDisk -CreateNew -DiskSizeInGB 50 -DiskLabel 'translogs1' -LUN 1 | Add-AzureEndpoint -Protocol tcp -LocalPort 1433 -PublicPort 2000 -Name 'sql' | Update-AzureVM
おわりに
このトピックでは、PowerShellから仮想マシンを操作するための基本的なコマンドを調べました。これは、Azureで仮想マシンを管理する初心者に役立ちます。