共用方式為


Azure API 管理中的 IP 位址

適用於:所有 APIM 層

本文說明如何擷取 Azure API 管理的IP位址。 如果服務位於虛擬網路中,IP 位址可以是公用或私人。 您可以使用IP位址來建立防火牆規則、篩選後端服務的連入流量,或限制輸出流量。

公用 IP 位址

開發人員、基本、標準或進階層中的每個 API 管理實例都有只有該實例專屬的公用 IP 位址。 (它們不會與其他資源分享。)

您可以從 Azure 入口網站中資源的概觀儀錶板擷取 IP 位址:

顯示 API 管理中 IP 位址的螢幕快照。

您也可以使用此 API 呼叫,以程式設計方式擷取它們:

GET https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ApiManagement/service/<service-name>?api-version=<api-version>

公用IP位址會出現在回應中:

{
  ...
  "properties": {
    ...
    "publicIPAddresses": [
      "172.31.0.1"
    ],
    ...
  }
  ...
}

多區域部署中,每個區域部署都有一個公用 IP 位址。

虛擬網路中 API 管理的 IP 位址

如果您的 API 管理實例位於虛擬網路內,則會有兩種類型的 IP 位址:公用和私人。

  • 公用IP位址用於內部通訊,在埠 3443上,用於管理組態(例如,透過 Azure Resource Manager)。 在 外部 虛擬網路組態中,它們也會用於運行時的 API 流量。 在 內部 虛擬網路組態中,公用IP位址僅用於Azure內部管理作業,而且不會將您的實例公開給因特網。

  • 私人虛擬IP(VIP) 位址僅適用於 內部虛擬網路模式,可用來從網路內聯機到API管理端點:閘道、開發人員入口網站,以及直接 API 存取的管理平面。 您可以使用這些位址來設定網路內的 DNS 記錄。

您會在 Azure 入口網站和 API 呼叫的回應中看到這兩種類型的位址:

顯示 API 管理中 VIP 位址的螢幕快照。

GET https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ApiManagement/service/<service-name>?api-version=<api-version>

{
  ...
  "properties": {
    ...
    "publicIPAddresses": [
      "172.31.0.1"
    ],
    "privateIPAddresses": [
      "192.168.1.5"
    ],
    ...
  },
  ...
}

重要

內部負載平衡器和 APIM 單位的私人 IP 位址採取動態指派。 因此,在部署之前,無法預期 API 管理實例的私人 IP。 此外,變更為不同的子網,然後傳回可能會導致私人IP位址變更。

輸出流量的 IP 位址

API 管理會針對虛擬網路或對等互連虛擬網路以外的連線使用公用IP位址。 它會針對虛擬網路或對等互連虛擬網路中的連線使用私人IP位址。

  • 當 API 管理部署在外部或內部虛擬網路中,並連接到私人(內部網路面向)後端時,來自子網的內部 IP 位址(動態 IP 或 DIP 位址)將用於執行時的 API 流量。 當要求從 API 管理傳送至私人後端時,可看到要求源自於私人 IP 位址。

    因此,如果 IP 限制列表涵蓋虛擬網路或對等連接的虛擬網路內的安全資源,我們建議您在使用 IP 規則時,應使用整個 API 管理 子網範圍 ,而不僅僅是 API 管理資源的私人 IP 位址。

  • 當要求從 APIM 傳送至面向公眾 (網際網路) 後端時,可看到要求一定源自於公用 IP 位址。

使用量、基本 v2、標準 v2 和進階 v2 層 API 管理實例的 IP 位址

如果您的 APIM 執行個體建立於在共用基礎結構上執行的服務層級中,就不會有專用的 IP 位址。 目前,下列服務層級中的實例會在共用基礎結構上執行,而且沒有確定性的IP位址:使用量、基本 v2、標準 v2、進階 v2。

如果您需要將使用量、基本 v2、標準 v2 或進階 v2 層實例所使用的輸出 IP 位址新增至允許清單,您可以將實例的數據中心 (Azure 區域) 新增至允許清單。 您可以 下載 JSON 檔案,其中列出所有 Azure 資料中心的 IP 位址。 然後尋找適用於執行個體執行所在區域的 JSON 片段。

例如,下列 JSON 片段是西歐允許清單的外觀:

{
  "name": "AzureCloud.westeurope",
  "id": "AzureCloud.westeurope",
  "properties": {
    "changeNumber": 9,
    "region": "westeurope",
    "platform": "Azure",
    "systemService": "",
    "addressPrefixes": [
      "13.69.0.0/17",
      "13.73.128.0/18",
      ... Some IP addresses not shown here
     "213.199.183.0/24"
    ]
  }
}

如需有關此檔案何時更新和 IP 位址何時變更的資訊,請展開下載中心頁面的 [詳細資料] 區段。

IP 位址的變更

在 API 管理的開發人員、基本、標準和進階層中,公用 IP 位址或位址 (VIP) 和私人 VIP 位址(如果在內部虛擬網路模式中設定)在服務的存留期內是靜態的,但有下列例外:

  • API 管理會遭到刪除,然後重新建立。

  • 服務訂用帳戶遭到停用或警告 (例如,因為未付款),然後又恢復。 深入瞭解訂用帳戶狀態。

  • (開發人員和進階層) Azure 虛擬網路會在服務中新增或移除。

  • (開發人員和進階層)API 管理會在外部和內部虛擬網路部署模式之間切換。

  • (開發人員和進階層)API 管理會移至不同的子網,或使用不同的公用IP位址資源進行設定。

  • (進階層) 啟用、新增或移除可用性區域

  • (進階層) 在多區域部署中,如果區域空出又恢復,則區域 IP 位址會變更。

    重要

    從內部變更為外部虛擬網路或變更網路中子網時,您可以設定不同的 公用IP位址。 如果您未提供,則會自動設定 Azure 管理的公用 IP 位址。