PowerShell を使用して VM (クラシック) または Cloud Services ロール インスタンスを別のサブネットに移動する
PowerShell を使用して、VM (クラシック) を同じ仮想ネットワーク (VNet) 内のあるサブネットから別のサブネットに移動できます。 ロール インスタンスは、PowerShell を使用するのではなく、CSCFG ファイルを編集することで移動できます。
注
この記事では、クラシック デプロイ モデルのみを使用してデプロイされた VM を移動する方法について説明します。
VM を別のサブネットに移動する理由 サブネットの移行は、古いサブネットが小さすぎて、そのサブネット内の既存の実行中の VM が原因で拡張できない場合に便利です。 その場合は、新しい大規模なサブネットを作成し、VM を新しいサブネットに移行できます。その後、移行が完了したら、古い空のサブネットを削除できます。
VM を別のサブネットに移動する方法
VM を移動するには、次の例をテンプレートとして使用して、Set-AzureSubnet PowerShell コマンドレットを実行します。 次の例では、TestVM を現在のサブネットから Subnet-2 に移動しています。 環境を反映するように、必ず例を編集してください。 Update-AzureVM コマンドレットをプロシージャの一部として実行すると、更新プロセスの一環として VM が再起動されることに注意してください。
Get-AzureVM –ServiceName TestVMCloud –Name TestVM `
| Set-AzureSubnet –SubnetNames Subnet-2 `
| Update-AzureVM
VM の静的内部プライベート IP を指定した場合は、VM を新しいサブネットに移動する前に、その設定をクリアする必要があります。 その場合は、次のコマンドを使用します。
Get-AzureVM -ServiceName TestVMCloud -Name TestVM `
| Remove-AzureStaticVNetIP `
| Update-AzureVM
Get-AzureVM -ServiceName TestVMCloud -Name TestVM `
| Set-AzureSubnet -SubnetNames Subnet-2 `
| Update-AzureVM
ロール インスタンスを別のサブネットに移動するには
ロール インスタンスを移動するには、CSCFG ファイルを編集します。 次の例では、仮想ネットワーク VNETName の "Role0" を現在のサブネットから Subnet-2 に移動しています。 ロール インスタンスは既にデプロイされているため、サブネット名 = Subnet-2 を変更するだけです。 環境を反映するように、必ず例を編集してください。
<NetworkConfiguration>
<VirtualNetworkSite name="VNETName" />
<AddressAssignments>
<InstanceAddress roleName="Role0">
<Subnets><Subnet name="Subnet-2" /></Subnets>
</InstanceAddress>
</AddressAssignments>
</NetworkConfiguration>