分享方式:


自我裝載閘道移轉指南

適用於:開發人員 | 進階

本文說明如何將現有的自我裝載閘道部署移轉至自我裝載閘道 v2。

重要

對 Azure APIM 自我裝載閘道第 0 版和第 1 版容器映像的支援,以及其對應的設定 API v1,將於 2023 年 10 月 1 日結束。 在我們的淘汰文件中深入瞭解

新功能

因為我們致力讓客戶得以更輕鬆地部署自我裝載閘道,我們引進新的組態 API 以移除 Azure 儲存體相依性,除非您使用的是 API 偵測器或配額。

新增的組態 API 可讓客戶更輕鬆地在其現有的基礎結構中採用、部署並操作我們的自我裝載閘道。

我們已引進新容器映像標籤,讓客戶選擇最佳方式試用閘道,並將其部署在實際執行環境中。

為了協助客戶在實際執行環境中執行閘道,我們已擴大實際執行環境指導方針的範圍,說明如何自動調整閘道,並在 Kubernetes 叢集中部署閘道以達到高可用性。

透過本文深入了解閘道的連線能力、新的基礎結構需求,以及若失去連線能力會出現什麼情況。

必要條件

您必須先確定基礎結構符合需求,才能移轉至自我裝載閘道 v2。

移轉至自我裝載閘道 v2

從自我裝載閘道 v2 移轉需要幾個小步驟才能完成:

  1. 使用新的容器映像
  2. 使用新的組態 API
  3. 符合最低安全性需求

容器映像

將部署指令碼中的映像標籤變更為使用 2.0.0 或以上版本。

或者,選擇其中一個其他的容器映像標籤

您可以在這裡找到可用標籤的完整清單,或在 Docker Hub 上找到我們。

使用新的組態 API

若要移轉至自我裝載閘道 v2,客戶必須使用我們新的組態 API v2。

目前,Azure API 管理提供下列自我裝載閘道的組態 API:

設定服務 URL 支援 需求
v2 {name}.configuration.azure-api.net Yes 連結
v1 {name}.management.azure-api.net/subscriptions/{sub-id}/resourceGroups/{rg-name}/providers/Microsoft.ApiManagement/service/{name}?api-version=2021-01-01-preview No 連結

客戶必須變更其部署程式碼以使用新 URL,並符合基礎結構需求以使用新增組態 API v2。

重要

  • DNS 主機名稱必須可解析為 IP 位址,而且必須可觸達對應的 IP 位址。 如果您使用私人 DNS、內部 VNET 或其他基礎結構需求,則可能需要其他設定。

安全性

可用的 TLS 加密套件

啟動時,自我裝載閘道 v2.0 僅使用 v1.x 所使用的加密套件子集。 到 v2.0.4 為止,我們已回復 v1.x 支援的所有加密套件。

您可以深入了解本文中使用的加密套件,或使用 v2.1.1 控制所要使用的加密套件

符合最低安全性需求

在啟動期間,自我裝載閘道會準備將使用的 CA 憑證。 這需要至少搭配使用者識別碼 1001 來執行閘道容器,且無法使用唯讀檔案系統。

在 Kubernetes 中設定容器的安全性內容時,至少需要下列各項:

securityContext:
  runAsNonRoot: true
  runAsUser: 1001
  readOnlyRootFilesystem: false

但從 2.0.3 開始,自我裝載閘道能夠在 Kubernetes 中以非根目錄執行,讓客戶更安全地執行網路閘道。

以下是自我裝載閘道的資訊安全內容範例:

securityContext:
  allowPrivilegeEscalation: false
  runAsNonRoot: true
  runAsUser: 1001       # This is a built-in user, but you can use any user ie 1000 as well
  runAsGroup: 2000      # This is just an example
  privileged: false
  capabilities:
    drop:
    - all

警告

不支援使用唯讀檔案系統 (readOnlyRootFilesystem: true) 執行自我裝載閘道。

使用 Azure Advisor 評估影響

為了簡化移轉,我們引進了新的 Azure Advisor 建議:

  • 使用自我裝載閘道 v2建議 - 識別已識別自我裝載閘道 v0.x 或 v1.x 使用量的 Azure APIM 執行個體。
  • 針對自我裝載閘道使用設定 API v2 建議 - 識別已識別自我裝載閘道之 Configuration API v1 使用量的 Azure APIM 執行個體。

強烈建議客戶使用 Azure Advisor 中的「所有建議」概觀,來決定是否需要移轉。 使用篩選條件選項來查看上述其中的建議是否存在。

使用 Azure Resource Graph 來指出 Azure API 管理執行個體

此 Azure Resource Graph 查詢會提供受影響的 Azure API 管理執行個體清單:

AdvisorResources
| where type == 'microsoft.advisor/recommendations'
| where properties.impactedField == 'Microsoft.ApiManagement/service' and properties.category == 'OperationalExcellence'
| extend
    recommendationTitle = properties.shortDescription.solution
| where recommendationTitle == 'Use self-hosted gateway v2' or recommendationTitle == 'Use Configuration API v2 for self-hosted gateways'
| extend
    instanceName = properties.impactedValue,
    recommendationImpact = properties.impact,
    recommendationMetadata = properties.extendedProperties,
    lastUpdated = properties.lastUpdated
| project tenantId, subscriptionId, resourceGroup, instanceName, recommendationTitle, recommendationImpact, recommendationMetadata, lastUpdated
az graph query -q "AdvisorResources | where type == 'microsoft.advisor/recommendations' | where properties.impactedField == 'Microsoft.ApiManagement/service' and properties.category == 'OperationalExcellence' | extend recommendationTitle = properties.shortDescription.solution | where recommendationTitle == 'Use self-hosted gateway v2' or recommendationTitle == 'Use Configuration API v2 for self-hosted gateways' | extend instanceName = properties.impactedValue, recommendationImpact = properties.impact, recommendationMetadata = properties.extendedProperties, lastUpdated = properties.lastUpdated | project tenantId, subscriptionId, resourceGroup, instanceName, recommendationTitle, recommendationImpact, lastUpdated"

已知的限制

以下是自我裝載閘道 v2 的已知限制清單:

  • 組態 API v2 不支援自訂網域名稱

下一步