共用方式為


保留的 IP 位址 (傳統部署)

Azure 中的IP位址分為兩個類別:動態和保留。 Azure 管理的公用IP位址預設為動態。 這表示用於指定雲端服務的 IP 位址(VIP)或直接存取 VM 或角色實例的 IP 位址(ILPIP),在資源被關閉或停止(解除配置)時,可能會不時發生變更。

若要防止IP位址變更,您可以保留IP位址。 保留的IP只能作為VIP使用,以確保雲端服務的IP位址保持不變,即使資源已關閉或停止(解除分配)。 此外,您可以將現有用作VIP的動態IP轉換成保留的IP地址。

這很重要

Azure 針對建立和使用資源方面,有二種不同的的部署模型:Resource Manager 和傳統。 本文涵蓋之內容包括使用傳統部署模型。 Microsoft建議大部分的新部署都使用 Resource Manager 模型。 瞭解如何使用 Resource Manager 部署模型來保留靜態公用 IP 位址。

若要深入瞭解 Azure 中的 IP 位址,請閱讀 IP 位址 一文。

何時需要固定IP地址?

  • 您要確定您的訂用帳戶中保留IP。 如果您想要保留不會在任何情況下從您的訂閱中釋放的 IP 位址,您應該使用保留的公用 IP 位址。
  • 您希望您的 IP 即使在已停止或已解除分配的狀態(VM)之間仍能與您的雲端服務保持一致。 如果您想要使用不會變更的IP位址來存取您的服務,即使雲端服務中的VM已關閉或停止(解除分配)。
  • 您要確保來自 Azure 的輸出流量使用可預測的 IP 位址。 您可能已將內部部署防火牆設定為只允許來自特定IP位址的流量。 藉由保留IP,您就知道來源IP位址,而且由於IP變更而不需要更新防火牆規則。

常見問題

  • 我可以為所有 Azure 服務使用保留的 IP 嗎? 否。 保留的IP只能用於透過VIP公開的 VM 和雲端服務實例角色。
  • 我可以擁有多少個保留IP? 如需詳細資訊,請參閱 Azure 限制 一文。
  • 保留的IP是否有收費? 有時。 如需定價詳細數據,請參閱 保留的IP位址定價詳細 數據頁面。
  • 如何保留IP位址? 您可以使用 PowerShell、 Azure 管理 REST API 或 Azure 入口網站,在 Azure 區域中保留 IP 位址。 保留的IP位址會與您的訂用帳戶相關聯。
  • 是否可以使用保留的 IP 與基於親和群組的 VNet 搭配? 否。 只有區域 VNet 才支援保留的 IP。 與同質群組相關聯的 VNet 不支援保留 IP。 如需將 VNet 與區域或同質群組產生關聯的詳細資訊,請參閱 關於區域 VNet 和同質群組 一文。

管理保留的VIP

使用 Azure PowerShell(傳統版)

在使用保留IP之前,您必須先將其新增至您的訂用帳戶。 在 美國中部 位置中,可用的公用 IP 位址集區中建立保留 IP 位址,如下所示:

備註

針對傳統部署模型,您必須安裝 Azure PowerShell 的服務管理版本。 如需詳細資訊,請參閱 安裝 Azure PowerShell 服務管理模組

  New-AzureReservedIP –ReservedIPName MyReservedIP –Location "Central US"

不過請注意,您無法指定保留的IP。 若要檢視訂用帳戶中保留的IP位址,請執行下列PowerShell命令,並注意 ReservedIPNameAddress 的值:

Get-AzureReservedIP

預期輸出:

ReservedIPName       : MyReservedIP
Address              : 23.101.114.211
Id                   : d73be9dd-db12-4b5e-98c8-bc62e7c42041
Label                :
Location             : Central US
State                : Created
InUse                : False
ServiceName          :
DeploymentName       :
OperationDescription : Get-AzureReservedIP
OperationId          : 55e4f245-82e4-9c66-9bd8-273e815ce30a
OperationStatus      : Succeeded

備註

當您使用 PowerShell 建立保留的 IP 位址時,您無法指定資源群組來建立保留的 IP。 Azure 會自動將它放入名為 Default-Networking 的資源群組中。 如果您使用 Azure 入口網站建立保留的 IP,您可以指定您選擇的任何資源群組。 不過,如果您在 Default-Networking 以外的資源群組中建立保留的 IP,當您使用命令如 Get-AzureReservedIPRemove-AzureReservedIP 來參考保留的 IP 時,您必須參考名稱 resource-group-name reserved-ip-name。 例如,如果您在名為 myResourceGroup 的資源群組中建立名為 myReservedIP 的保留 IP,則必須將保留 IP 的名稱參考為 Group myResourceGroup myReservedIP。  

保留IP之後,它會保持與您的訂用帳戶相關聯的狀態,直到您將其刪除為止。 刪除保留的IP,如下所示:

Remove-AzureReservedIP -ReservedIPName "MyReservedIP"

使用 Azure CLI (傳統版)

美國中部 位置中可用的公用IP位址集區建立保留的IP,如下所示:使用 Azure 傳統 CLI:

備註

針對傳統部署,您必須使用 Azure 傳統 CLI。 如需安裝 Azure 傳統 CLI 的相關信息,請參閱 安裝 Azure 傳統 CLI

命令:

azure network reserved-ip create <name> <location>

範例:

azure network reserved-ip create MyReservedIP centralus

您可以使用 Azure CLI 來檢視訂用帳戶中保留的 IP 位址,如下所示:

命令:

azure network reserved-ip list

保留IP之後,它會保持與您的訂用帳戶相關聯的狀態,直到您將其刪除為止。 刪除保留的IP,如下所示:

命令:

azure network reserved-ip delete <name>

範例:

azure network reserved-ip delete MyReservedIP

保留現有雲端服務的IP位址

您可以藉由新增 -ServiceName 參數來保留現有雲端服務的IP位址。 在美國中部位置保留雲端服務 TestService 的 IP 位址,如下所示:

  • 使用 Azure PowerShell(傳統):

    New-AzureReservedIP –ReservedIPName MyReservedIP –Location "Central US" -ServiceName TestService
    
  • 使用 Azure CLI(傳統):

    命令:

     azure network reserved-ip create <name> <location> -r <service-name> -d <deployment-name>
    

    範例:

      azure network reserved-ip create MyReservedIP centralus -r TestService -d asmtest8942
    

將保留的IP與新的雲端服務產生關聯

下列腳本會建立新的保留IP,然後將它與名為 TestService的新雲端服務產生關聯。

使用 Azure PowerShell(傳統版)

New-AzureReservedIP –ReservedIPName MyReservedIP –Location "Central US"

$image = Get-AzureVMImage|?{$_.ImageName -like "*RightImage-Windows-2012R2-x64*"}

New-AzureVMConfig -Name TestVM -InstanceSize Small -ImageName $image.ImageName `
| Add-AzureProvisioningConfig -Windows -AdminUsername adminuser -Password MyP@ssw0rd!! `
| New-AzureVM -ServiceName TestService -ReservedIPName MyReservedIP -Location "Central US"

備註

當您建立要與雲端服務搭配使用的保留 IP 時,您仍會使用 VIP:<埠號> 來參考 VM,以進行入站通訊。 保留IP並不表示您可以直接連線到 VM。 保留的IP會指派給已部署 VM 的雲端服務。 如果您想要透過IP直接連線到 VM,您必須設定實例層級的公用IP。 實例層級公用IP是直接指派給VM的公用IP類型(稱為 ILPIP)。 無法保留。 如需詳細資訊,請參閱 實例層級公用IP(ILPIP) 一文。

從執行中的部署中移除保留的IP

移除新增至新雲端服務的保留IP,如下所示:

使用 Azure PowerShell(傳統版)

Remove-AzureReservedIPAssociation -ReservedIPName MyReservedIP -ServiceName TestService

使用 Azure CLI (傳統版)

命令:

azure network reserved-ip disassociate <name> <service-name> <deployment-name>

範例:

azure network reserved-ip disassociate MyReservedIP TestService asmtest8942

備註

從執行中的部署中移除保留的IP並不會從您的訂用帳戶中移除保留。 它只是釋放 IP 以供您的訂用帳戶中的其他資源使用。

若要從訂用帳戶完全移除保留的IP,請執行下列命令:

命令:

azure network reserved-ip delete <name>

範例:

azure network reserved-ip delete MyReservedIP

將保留的IP與執行中的部署產生關聯

使用 Azure PowerShell(傳統版)

下列命令會使用名為TestVM2的新 VM,建立名為TestService2的雲端服務。 然後,名為 MyReservedIP 的現有保留 IP 會與雲端服務相關聯。

$image = Get-AzureVMImage|?{$_.ImageName -like "*RightImage-Windows-2012R2-x64*"}

New-AzureVMConfig -Name TestVM2 -InstanceSize Small -ImageName $image.ImageName `
| Add-AzureProvisioningConfig -Windows -AdminUsername adminuser -Password MyP@ssw0rd!! `
| New-AzureVM -ServiceName TestService2 -Location "Central US"

Set-AzureReservedIPAssociation -ReservedIPName MyReservedIP -ServiceName TestService2

使用 Azure CLI (傳統版)

您可以使用 Azure CLI 將新的保留 IP 與執行中的雲端服務部署產生關聯,如下所示:

命令:

azure network reserved-ip associate <name> <service-name> <deployment-name>

範例:

azure network reserved-ip associate MyReservedIP TestService asmtest8942

使用服務組態檔將保留的IP與雲端服務產生關聯

您也可以使用服務組態 (CSCFG) 檔案,將保留的IP與雲端服務產生關聯。 下列範例 XML 示範如何設定雲端服務,以使用名為MyReservedIP的保留 VIP:

   <?xml version="1.0" encoding="utf-8"?>
    <ServiceConfiguration serviceName="ReservedIPSample" xmlns="https://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>
          <ReservedIPs>
           <ReservedIP name="MyReservedIP"/>
          </ReservedIPs>
        </AddressAssignments>
      </NetworkConfiguration>
    </ServiceConfiguration>

後續步驟