Windows Azure Virtual Network (5) 设置Azure Virtual Machine固定Private IP

简介:

 《Windows Azure Platform 系列文章目录

   

  注意:本文介绍的是Global Azure (http://www.windowsazure.com),如果你使用的是由世纪互联运维的Azure China,请参考下面的连接。

  Azure China (8) 使用Azure PowerShell创建虚拟机,并设置固定Virtual IP Address和Private IP 

 

  熟悉Azure Virtual Network的读者都知道,如果我们设置了Azure Virtual Network (VNet)的IP Rang是xxx.xxx.0.0 - xxx.xxx.0.255

  那第一个加入VNet的虚拟机Private IP为0.4(0.0到0.3的IP地址被系统占用),第二个加入VNet的虚拟机Private IP为0.5,以后加入VNet的虚拟机Private IP地址为在已创建的Azure Private IP上加1。

 

  但是这样会产生3个问题:

  1.不能手动设置Private IP地址,Private IP是系统自动生成的,无法预先设置。

  2.无法修改Private IP地址。在系统自动分配Private IP之后,想手动修改Private IP也是不可能的。

  3.无法固定Private IP地址。在某些情况下,Azure管理人员关闭了VM,造成VM的状态为Stop(Deallocate)的情况下,再次启动Azure VM会造成Private IP改变。

 

  最新的PowerShell (版本号: PowerShell cmdlets for Windows Azure Version 0.7.3)命令增加了新的PowerShell命令,允许用户设置Azure VM Private IP。这4个命令是:

  -  Get-AzureStaticVNetIP

  -  Set-AzureStaticVNetIP

  -  Remove-AzureStaticVNetIP

  -  Test-AzureStaticVNetIP

  接下来,笔者会详细介绍以上的PowerShell命令。

  在开始演示之前,请按照[New Portal]Windows Azure Virtual Machine (16) 使用Azure PowerShell创建Azure Virtual Machine中的内容,通过PowerShell将本地证书上传至Azure云端。

 

  在上一章内容中,笔者已经创建Azure Virtual Network:MyVNet。同时创建了2台Azure VM,分别为:

IP 说明
192.168.0.0-192.168.0.3 Azure Virtual Network 保留
192.168.0.4 AD Server
192.168.0.5 Web Server 001

  在这里,笔者将介绍如何创建第2台Web服务器,即Web Server 002进行负载均衡,并且观察Web Server 002的Private IP设置。

 

  1.确认某个Private IP是否可用

  我们要用到的命令是Test-AzureStaticVNetIP:

Test-AzureStaticVNetIP –VNetName <VNetName> –IPAddress <Address>

  比如我要查询MyVNet这个虚拟网络中,Private IP为192.168.0.4是否可用,PowerShell命令为:

Test-AzureStaticVNetIP –VNetName MyVNet –IPAddress 192.168.0.4

  执行结果为:

  

  可以看到IsAvailable值为False(因为192.168.0.4已经被AD Server占用了)。

  然后Azure会在AvailableAddresses中,提供其他可用的IP地址,比如192.168.0.6,192.168.0.7等等

  

  2.创建新的虚拟机,同时设置Private IP

  我们用到的命令是Set-AzureStaticVNetIP

Set-AzureStaticVNetIP -IPAddress  <YourIPAddress>

 

来创建个更加复杂的Azure Virtual Machine

首先我们指定默认的存储,在Powershell输入以下命令:

Set-AzureSubscription -SubscriptionName 'Windows Azure MSDN - Visual Studio Ultimate' -CurrentStorageAccount 'leivms'

   按照以下规格创建虚拟机:

-  DNS Name为LeiWeb (需要负载均衡)

-  显示名称为LeiWeb002

-  VM Size为Basic_A1 (1Core/1.75GB)

-  VM Image为Windows Server 2012 DataCenter 201403.01-en.us

-  Windows用户名为leizhang,密码为Pass@word1

-  storage account为leivms

-  地缘组为EastAsiaGroup

-  虚拟网络为 MyVNet,子网为Subnet-1

-  Private IP设置为192.168.0.7

然后我们输入以下命令:

复制代码
$vm = New-AzureVMConfig -Name 'LeiWeb002' -InstanceSize Basic_A1 -ImageName (Get-AzureVMImage)[52].ImageName 

$vm | Add-AzureProvisioningConfig `  -Windows ` -AdminUsername 'leizhang' `  -Password 'Pass@word1'

$vm | Set-AzureSubnet -SubnetNames 'Subnet-1' |  Set-AzureStaticVNetIP -IPAddress 192.168.0.7

$vm | New-AzureVM -ServiceName 'LeiWeb' -VNetName 'MyVNet'
复制代码

  执行结果,如下图:

  

  我们也可以在Management Portal上查看到Azure正在开始创建LeiWeb002这台虚拟机,截图下图:

  

  执行完毕后,我们可以查看到虚拟机LeiWeb002的Private IP设置为 192.168.0.7。如下图:

  

 

  另外告诉各位读者一个特大喜讯:如果你在VNet中的Virtual Machine已经通过Set-AzureStaticVNetIP命令,设置了Private IP。

  即使你的VM关机后状态变成Stop_Deallocate,重新开机后这台VM的Private IP还是不会改变的。 O YEAH!!!

 

  3.修改Private IP

  这里用到的命令为Set-AzureStaticVNetIP

Set-AzureStaticVNetIP -IPAddress <NewIPAddress>

  之前笔者创建的LeiWeb002的Private IP为192.168.0.7,如果需要重新设置怎么办?

  LeiWeb002这台虚拟机的信息如下:

  -  DNS: LeiWeb.cloudapp.net

  -  Virtual Machine: LeiWeb002

  -  设置新的Private IP : 192.168.0.6

  然后执行以下PowerShell命令:

Get-AzureVM -ServiceName LeiWeb -Name LeiWeb002 | Set-AzureStaticVNetIP -IPAddress 192.168.0.6 | Update-AzureVM

  执行结果截图如下:

  

 

  我们可以通过Management Portal查看LeiWeb002这台虚拟机的Private IP已经被修改为192.168.0.6

  

  

  最后我们回顾一下配置的虚拟机信息:

 

IP 说明
192.168.0.0-192.168.0.3 Azure Virtual Network 保留
192.168.0.4 AD Server
192.168.0.5 Web Server 001

192.168.0.6 Web Server 002




本文转自Lei Zhang博客园博客,原文链接:http://www.cnblogs.com/threestone/p/3802747.html,如需转载请自行联系原作者

目录
相关文章
|
21天前
|
安全 Linux 开发工具
【Azure 环境】Azure 虚拟机上部署 DeepSeek R1 模型教程(1.5B参数)【失败】
遇见错误一:operator torchvision::nms does not exist 遇见错误二:RuntimeError: Failed to infer device type
228 22
|
4月前
|
安全 Windows
【Azure Cloud Service】在Windows系统中抓取网络包 ( 不需要另外安全抓包工具)
通常,在生产环境中,为了保证系统环境的安全和纯粹,是不建议安装其它软件或排查工具(如果可以安装,也是需要走审批流程)。 本文将介绍一种,不用安装Wireshark / tcpdump 等工具,使用Windows系统自带的 netsh trace 命令来获取网络包的步骤
108 32
|
4月前
|
C# Windows
【Azure App Service】在App Service for Windows上验证能占用的内存最大值
根据以上测验,当使用App Service内存没有达到预期的值,且应用异常日志出现OutOfMemory时,就需要检查Platform的设置是否位64bit。
67 11
|
7月前
|
网络安全 API 数据安全/隐私保护
【Azure App Service】.NET代码实验App Service应用中获取TLS/SSL 证书 (App Service Windows)
【Azure App Service】.NET代码实验App Service应用中获取TLS/SSL 证书 (App Service Windows)
|
7月前
|
Shell PHP Windows
【Azure App Service】Web Job 报错 UNC paths are not supported. Defaulting to Windows directory.
【Azure App Service】Web Job 报错 UNC paths are not supported. Defaulting to Windows directory.
|
Windows 网络协议 数据安全/隐私保护
|
网络协议 Windows 数据安全/隐私保护
|
8天前
|
安全 Unix 虚拟化
Windows 7 & Windows Server 2008 R2 简体中文版下载 (2025 年 2 月更新)
Windows 7 & Windows Server 2008 R2 简体中文版下载 (2025 年 2 月更新)
33 11
Windows 7 & Windows Server 2008 R2 简体中文版下载 (2025 年 2 月更新)

热门文章

最新文章