用戶將應(yīng)用遷移至Azure云服務(wù)時(shí),很重要的一點(diǎn)考率是保證服務(wù)的安全性,在Azure上,保護(hù)應(yīng)用程序資源的最佳實(shí)踐就是創(chuàng)建虛擬機(jī)網(wǎng)絡(luò)和子網(wǎng)。
用戶在創(chuàng)建云服務(wù)時(shí)會(huì)生成一個(gè)Virtual IP Address(VIP),而VIP是被云服務(wù)后端所有的機(jī)器共享,如果用戶想要能夠通過(guò)特定的IP訪問(wèn)云服務(wù)中的某個(gè)實(shí)例,可以為經(jīng)典云服務(wù)的實(shí)例請(qǐng)求實(shí)例層級(jí)公共IP(下文簡(jiǎn)稱ILPIP)。
本文介紹了如何為經(jīng)典云服務(wù)配置虛擬網(wǎng)絡(luò)、配置ILPIP以及在配置過(guò)程中的注意事項(xiàng):
經(jīng)典云服務(wù)配置虛擬網(wǎng)絡(luò)
經(jīng)典云服務(wù)只可以配置經(jīng)典虛擬網(wǎng)絡(luò),經(jīng)典云服務(wù)需要在云服務(wù)的配置文件.cscfg中添加NetworkConfiguration,并且需要重新部署做full deployment才能生效。需要注意檢查添加相關(guān)配置之后的xml文件是否為有效文件,可以通過(guò)在線工具XML Beautifier生成有效xml文件。
參考示例如下:
XML
<ServiceConfiguration>
<NetworkConfiguration>
<VirtualNetworkSite name="經(jīng)典虛擬網(wǎng)絡(luò)的虛擬網(wǎng)絡(luò)站點(diǎn)名稱"/>
<AddressAssignments>
<InstanceAddress roleName="角色名稱">
<Subnets>
<Subnet name="子網(wǎng)名稱"/>;
</Subnets>
</InstanceAddress>
</AddressAssignments>
</NetworkConfiguration>
</ServiceConfiguration>
備注
經(jīng)典虛擬網(wǎng)絡(luò)的站點(diǎn)名稱需要您在Azure門戶中找到已創(chuàng)建的經(jīng)典虛擬網(wǎng)絡(luò),然后選擇概述,其中(.cscfg文件的)虛擬網(wǎng)絡(luò)站點(diǎn)名稱中的值就是經(jīng)典虛擬網(wǎng)絡(luò)的虛擬網(wǎng)絡(luò)站點(diǎn)名稱,如下圖所示:
云服務(wù)配置虛擬網(wǎng)絡(luò)請(qǐng)參考:NetworkConfiguration Schema。
創(chuàng)建經(jīng)典虛擬機(jī)網(wǎng)絡(luò)請(qǐng)參考:使用Azure門戶創(chuàng)建虛擬網(wǎng)絡(luò)(經(jīng)典)。
經(jīng)典云服務(wù)配置ILPIP
可以通過(guò)以下方式配置ILPIP,上傳到云服務(wù)后系統(tǒng)會(huì)自動(dòng)創(chuàng)建ILPIP,只能為每個(gè)經(jīng)典云服務(wù)角色實(shí)例分配一個(gè)ILPIP,每個(gè)訂閱最多可使用5個(gè)ILPIP。
下載云服務(wù)的.cscfg文件。
修改云服務(wù)的配置文件.cscfg,添加InstanceAddress節(jié)點(diǎn),并且為webrole配置ILPIP。
XML
<?xml version="1.0"encoding="utf-8"?>
<ServiceConfiguration serviceName="ILPIPSample"xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration"osFamily="4"osVersion="*"schemaVersion="2014-01.2.3">
<Role name="WebRole1">
<Instances count="1"/>
<ConfigurationSettings>
<Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString"value="UseDevelopmentStorage=true"/>
</ConfigurationSettings>
</Role>
<NetworkConfiguration>
<AddressAssignments>
<InstanceAddress roleName="WebRole1">
<PublicIPs>
<PublicIP name="MyPublicIP"domainNameLabel="MyPublicIP"/>
</PublicIPs>
</InstanceAddress>
</AddressAssignments>
</NetworkConfiguration>
</ServiceConfiguration>
上傳該.cscfg文件到云服務(wù)
詳細(xì)介紹請(qǐng)參考:實(shí)例層級(jí)公共IP(經(jīng)典)概述。
備注
如果在配置了虛擬網(wǎng)絡(luò)的情況下配置ILPIP需要按照順序填寫,先是Subnets然后PublicIPs,參考如下:
XML
<NetworkConfiguration>
<VirtualNetworkSite name="Group testgroup czclassicvnet"/>
<AddressAssignments>
<InstanceAddress roleName="ContosoAdsWeb">
<Subnets>
<Subnet name="default"/>
</Subnets>
<PublicIPs>
<PublicIP name="mypublicip"domainNameLabel="czpublicip"/>
</PublicIPs>
</InstanceAddress>
</AddressAssignments>
</NetworkConfiguration>