logo头像

Edward.K Thinking

建立Azure上海與香港資料中心Site to Site VPN

如果有同時使用China AzureGlobal Azure,遇到最麻煩的事情,就是怎樣把兩邊的資料做整合,一方面是兩邊的Azure功能性不一致,另一方面是因為中國長城關係,導致資料Sync不能透過一般HTTP解決,因此,為了解決這問題,只好建立一組Site to Site的VPN,解決雙方的Azure資料中心的溝通問題

先自行規劃上海資料中心和香港資料中心的網路IP分配

1
2
* 上海資料中心:10.1.0.0 /16,名稱:CN-NET
* 香港資料中心:10.2.0.0 /16,名稱:HK-NET

建立上海資料中心虛擬網路


  1. 開始設定Azure的虛擬網路吧,先設定CN-NET這部分

  2. 虛擬網路名稱取名為CN-NET

  3. 設定網站間VPN

  4. 設定香港資料中心的虛擬網路資訊,名稱設定為HK-NET,名稱後續要跟設定香港資料中心的名稱一樣,位置空間的IP就設定IP:10.2.0.0 /16,VPN裝置的IP位址,可以先隨便設定一個,後面會改掉,但是,設定的IP不可以跟你後續香港或是上海資料中內的位址IP有重複,不然會發生錯誤

  5. 設定上海資料中心的虛擬網路的IP10.1.0.0 /16,然後再設定Subnet IP 10.1.1.0 /29,按下確定就可以

建立香港資料中心虛擬網路


  1. 上海資料中心設定完成後,再來設定香港資料中心,幾乎步驟都相同,只有在設定的地方不一樣

  2. 這邊依舊選設定網站間VPN

  3. 改設定上海資料中心的虛擬網路資訊,所以名稱設定為CN-NET,位址IP10.1.0.0 /16,這邊的VPN IP位址,也可以先隨便設定一個,同樣的不可以跟你後續香港或是上海資料中內的位址重複,不然會出現錯誤

  4. 設定香港資料中心的虛擬網路的IP10.2.0.0 /16,在設定Subnet IP 10.2.1.0 /29,按下確定就可以設定完成

兩邊資料中心都設定完成後,在兩邊設定畫面中,就會出現VNET組態檔,這時候我們要把這組態檔匯出來

下載出來的組態檔內容如下,我們後續會修改組態檔中的 VPNGatewayaddress 的值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<NetworkConfiguration xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/ServiceHosting/2011/07/NetworkConfiguration">
<VirtualNetworkConfiguration>
<Dns />
<LocalNetworkSites>
<LocalNetworkSite name="HK-NET">
<AddressSpace>
<AddressPrefix>10.2.0.0/16</AddressPrefix>
</AddressSpace>
<VPNGatewayAddress>2.2.2.2</VPNGatewayAddress>
</LocalNetworkSite>
<LocalNetworkSite name="v-net-west">
<AddressSpace>
<AddressPrefix>10.200.0.0/16</AddressPrefix>
</AddressSpace>
<VPNGatewayAddress>23.99.112.76</VPNGatewayAddress>
</LocalNetworkSite>
</LocalNetworkSites>
<VirtualNetworkSites>
<VirtualNetworkSite name="CN-NET" Location="China East">
<AddressSpace>
<AddressPrefix>10.1.0.0/16</AddressPrefix>
</AddressSpace>
<Subnets>
<Subnet name="Subnet-1">
<AddressPrefix>10.1.0.0/24</AddressPrefix>
</Subnet>
<Subnet name="GatewaySubnet">
<AddressPrefix>10.1.1.0/29</AddressPrefix>
</Subnet>
</Subnets>
<Gateway>
<ConnectionsToLocalNetwork>
<LocalNetworkSiteRef name="HK-NET">
<Connection type="IPsec" />
</LocalNetworkSiteRef>
</ConnectionsToLocalNetwork>
</Gateway>
</VirtualNetworkSite>
<VirtualNetworkSite name="v-net-china" Location="China East">
<AddressSpace>
<AddressPrefix>10.100.0.0/16</AddressPrefix>
</AddressSpace>
<Subnets>
<Subnet name="Subnet-1">
<AddressPrefix>10.100.0.0/24</AddressPrefix>
</Subnet>
<Subnet name="GatewaySubnet">
<AddressPrefix>10.100.1.0/29</AddressPrefix>
</Subnet>
</Subnets>
<Gateway>
<ConnectionsToLocalNetwork>
<LocalNetworkSiteRef name="v-net-west">
<Connection type="IPsec" />
</LocalNetworkSiteRef>
</ConnectionsToLocalNetwork>
</Gateway>
</VirtualNetworkSite>
</VirtualNetworkSites>
</VirtualNetworkConfiguration>
</NetworkConfiguration>

在兩處的Azure虛擬網路部分,建立閘道,選定 動態路由

建立閘道時間會比較長,可能要20多分鐘以上,路由建立好後,會出現下面樣子

回到剛剛的組態檔案,從CN-NET得到的閘道IP,修改從HK-NET下載的組態檔中的VPNgetwayaddress的值,然後再到香港資料中心取得其閘道IP,再將這閘道IP,取代從CN-NET下載的組態檔案中的VPNgetwayaddress的值

都設定好之後,分別上傳組態檔案,上海組態檔上傳到上海資料中心,香港組態檔上傳到香港資料中心

上面會顯示有被更新的資訊,直接確認就可以

完成到這一步,基本上在介面上的設定都完畢,剩下就必須透過Powershell去把這兩邊的資料中心連線串接起來

PowerShell 設定


  1. 首先先設定上海資料中心部分,使用Powershell去取得中國的Azure帳號,其指令是

    1
    Add-AzureAccount -Environment AzureChinaCloud

    登入後,使用

    1
    Select-AzureSubscription -SubscriptionId "訂閱號碼“

    選定我們的訂閱戶,開始配置兩邊的共享金鑰,金鑰名稱可以自行輸入,但是,兩邊資料中心的金鑰要使用一樣,如果在上海資料中心,設定的VNetName就是CN-Net,LocalNetworkSiteName就是hk-Net

    1
    Set-AzureVNetGatewaykey -VNetName CN-NET -LocalNetworkSiteName HK-NET –SharedKey 金鑰
  1. 設定香港的資料中心

    1
    Set-AzureVNetGatewaykey -VNetName HK-NET -LocalNetworkSiteName CN-NET –SharedKey 金鑰
  2. 兩邊都設定成功後,請再等待幾分鐘,就可以看到這兩邊的VNET串接起來了

  3. 如果不確定,也可以透過Powershell指令去查看
    1
    Get-AzureVnetConnection –VnetName HK-NET

這樣中國與Global兩邊資料中心的虛擬網路就串起來了,最後提醒一下,是設定Site to Site,而不是Point to Site VPN唷

上一篇