如果您使用企業 Proxy 來管理輸出流量,Azure Arc 閘道可讓您只使用七個端點,將基礎結構上線至 Azure Arc。 使用 Azure Arc 閘道,您可以:
- 藉由只對七個完整網域名稱開放公用網路存取來連線到 Azure Arc。
- 檢視和稽核 Azure 連線機器代理程式透過 Azure Arc 閘道傳送至 Azure 的所有流量。
Azure Arc 閘道的運作方式
Azure Arc 閘道包含兩個主要元件:
- Azure Arc 閘道資源: Azure 資源,可作為 Azure 流量的通用前端。 此閘道資源會在特定網域上提供。 建立 Azure Arc 閘道資源之後,網域會在成功回應中傳回給您。
- Azure Arc Proxy: 新增至 Azure Arc 代理程式的新元件。 此元件會在已啟用 Azure Arc 的資源內容內執行,做為稱為 Azure Arc Proxy 的服務。 它會做為 Azure Arc 代理程式和延伸模組所使用的轉發代理伺服器。 您不需要此 Proxy 的設定。
當閘道就緒時,流量會透過 Azure Arc 代理程式>Azure Arc Proxy>企業 Proxy>Azure Arc 閘道>目標服務流動。 如需詳細資訊,請參閱 Azure Arc 閘道轉送通訊協定。
目前的限制
Azure Arc 閘道目前有下列限制。 規劃組態時,請考量下列因素:
- Azure Arc 閘道啟用時,不支援 Proxy 迴避。 即使您嘗試透過執行
azcmagent config set proxy.bypass來使用該功能,流量也無法繞過代理。 - 每個 Azure 訂用帳戶的限制為五個 Azure Arc 閘道資源。
- Azure Arc 閘道僅用於 Azure 公用雲端平臺中的連線。
- 不建議在需要傳輸層安全性 (TLS) 終止或檢查的環境中使用 Azure Arc 閘道。 如果您的環境需要 TLS 終止或檢查,建議您略過 Azure Arc 閘道端點的 TLS 檢查 (
<Your URL prefix>.gw.arc.azure.com)。 如需詳細資訊,請參閱 Azure Arc 閘道和 TLS 檢查。
雖然 Azure Arc 閘道提供使用已啟用 Azure Arc 的伺服器所需的連線能力,但您可能仍需要手動允許環境中的更多端點,才能將某些延伸模組和服務與連線的機器搭配使用。 如需詳細資訊,請參閱 更多案例。 隨著時間推移,Azure Arc 閘道會逐漸涵蓋更多端點,並進一步移除這些手動配額的需求。
規劃您的 Azure Arc 閘道設定
- 區域選擇:Azure Arc 閘道是全域服務。 執行階段連線是透過 Azure Front Door 全域邊緣網路傳遞,該網路會自動將用戶端路由傳送至最近的存在點,以實現低延遲存取和順暢容錯移轉。 您在建立閘道時選取的區域只會決定控制平面。 這是閘道資源與管理元資料所在的區域,也是建立、更新與刪除操作進行的區域。 你選擇的區域不會限制閘道器的執行端點或效能。 例如,選擇美國東部與西歐並不會變更用戶端在執行階段連線的位置。 它僅會影響管理平面放置以及原則或基於角色的存取控制區域。
- 每個 Azure Arc 閘道資源的已啟用 Azure Arc 的資源: 在使用 Azure Arc 閘道規劃 Azure Arc 部署時,您必須確定您的環境需要多少個閘道資源。 此數量取決於您計劃在每個 Azure 區域中管理的資源數目。 僅針對已啟用 Azure Arc 的伺服器,一般規則是一個 Azure Arc 閘道資源可以處理每個 Azure 區域 2,000 個資源。 您可以將 Azure Arc 閘道與已啟用 Azure Arc 的伺服器、已啟用 Azure Arc 的 Kubernetes 叢集和 Azure 本機執行個體的組合搭配使用。 我們提供的公式 可協助您計算所需的 Azure Arc 閘道資源數目。
所需權限
若要建立 Azure Arc 閘道資源,並管理其與已啟用 Azure Arc 之伺服器的關聯,使用者必須具有 Azure Arc 閘道管理員角色。
建立 Azure Arc 閘道資源
您可以使用 Azure 入口網站、Azure CLI 或 Azure PowerShell 來建立 Azure Arc 閘道資源。 完成這些步驟之後,建立 Azure Arc 閘道資源通常需要大約 10 分鐘的時間。
從瀏覽器登入 Azure 入口網站。
移至 Azure Arc。在服務功能表的 [管理] 底下,選取 [Azure Arc 閘道],然後選取 [建立]。
選取您要在 Azure 內管理 Azure Arc 閘道資源的訂用帳戶和資源群組。 相同 Azure 租使用者中任何已啟用 Azure Arc 的資源都可以使用 Azure Arc 閘道資源。
針對 [ 名稱],輸入 Azure Arc 閘道資源的名稱。
針對 [位置],輸入 Azure Arc 閘道資源應該所在的區域。 相同 Azure 租使用者中任何已啟用 Azure Arc 的資源都可以使用 Azure Arc 閘道資源。
選取 [下一步]。
在 [標籤] 頁面上,選擇性地指定一或多個自訂標籤以支援您的標準。
選擇 檢閱 + 創建。
檢閱您的輸入詳細資料,然後選取 [建立]。
確認必要 URL 的存取權
成功建立資源之後,成功回應會包含 Azure Arc 閘道 URL。 請確定您的 Azure Arc 閘道 URL 和所有這些 URL 都允許在 Azure Arc 資源所在的環境中使用。
Important
此列表最近更新。 如果您先前已啟用對這些 URL 的存取,則可能需要檢閱清單並更新網路組態,以確保允許每個端點。
| URL | Purpose |
|---|---|
<Your URL prefix>.gw.arc.azure.com |
您的閘道 URL (可在建立閘道資源之後,透過執行 az arcgateway list 來取得) |
management.azure.com |
Azure Resource Manager 控制通道所需的 Azure Resource Manager 端點 |
login.microsoftonline.com、<region>.login.microsoft.com |
用於取得身份識別存取權杖的 Microsoft Entra ID 端點 |
gbl.his.arc.azure.com |
與 Azure Arc 代理程式通訊的雲端服務端點 |
<region>.his.arc.azure.com |
用於 Azure Arc 核心控制通道 |
packages.microsoft.com |
需要將 Linux 伺服器連線到 Azure Arc |
download.microsoft.com |
用來下載 Windows 安裝套件 |
使用 Azure Arc 閘道資源將新的 Azure Arc 資源上線
產生安裝指令碼。
請遵循快速入門:將混合式電腦與已啟用 Azure Arc 的伺服器連線來建立指令碼,以自動化 Azure Connected Machine Agent 的下載和安裝,並建立與 Azure Arc 的連線。
Important
當您產生上線指令碼時,請確定已在連線方法區段中選取公用端點。 此外,請確定已在 [閘道資源] 下拉式清單中選取您的 Azure Arc 閘道資源。
執行安裝指令碼,將您的伺服器上線至 Azure Arc。
在腳本中,Azure Arc 閘道資源的 Azure Resource Manager 識別碼會顯示為
--gateway-id。
設定現有的 Azure Arc 資源以使用 Azure Arc 閘道
您可以使用 Azure 入口網站、Azure CLI 或 Azure PowerShell,將現有的 Azure Arc 資源與 Azure Arc 閘道資源產生關聯。
在 Azure 入口網站中,移至 Azure Arc - Azure Arc 閘道。
選取要與已啟用 Azure Arc 的伺服器相關聯的 Azure Arc 閘道資源。
在閘道資源的服務功能表上,選取 [相關聯的資源]。
選取 ,然後新增。
選取已啟用 Azure Arc 的伺服器資源,以與您的 Azure Arc 閘道資源相關聯。
選擇 套用。
使用連線機器代理程式 1.50 版或更早版本時,您必須執行 azcmagent config set connection.type gateway 來更新 Azure Arc 上的伺服器,以使用 Azure Arc 閘道。 對於代理程式 1.51 版和更新版本,不需要此步驟,因為作業會自動發生。 建議您使用 最新版本的 Connected Machine 代理程式。
確認 Azure Arc 閘道設定是否成功
在已上線的伺服器上,執行命令 azcmagent show。
結果應該會指出下列值:
- 代理狀態:顯示為 已連線。
-
使用 HTTPS Proxy:顯示為
http://localhost:40343。 - 上游代理伺服器:顯示作為您的企業代理伺服器(如果您設定了)。 Azure Arc 閘道 URL 應該反映閘道資源的 URL。
若要驗證設定成功,請執行命令 azcmagent check。
結果應該指出 connection.type 已設定為閘道,而 [可連線] 資料行應該對所有 URL 指出 true。
移除 Azure Arc 閘道關聯
您可以停用 Azure Arc 閘道,並移除 Azure Arc 閘道資源與已啟用 Azure Arc 的叢集之間的關聯。 然後,已啟用 Azure Arc 的叢集會改用直接流量。
此操作僅適用於已啟用 Azure Arc 的伺服器上的 Azure Arc 閘道,不適用於 Azure Local。 如果您在 Azure 本機上使用 Azure Arc 閘道,請參閱 關於適用於 Azure 本機的 Azure Arc 閘道 ,以取得移除資訊。
將已啟用 Azure Arc 的伺服器的連線類型設定為
direct,而不是gateway執行下列命令:azcmagent config set connection.type directNote
如果您採取此步驟,環境中必須符合所有 Azure Arc 網路需求 ,才能繼續使用 Azure Arc。
從機器移除 Azure Arc 閘道資源:
在 Azure 入口網站中,移至 Azure Arc - Azure Arc 閘道。
選取 Azure Arc 閘道資源。
在閘道資源的服務功能表上,選取 [相關聯的資源]。
選取伺服器。
選取 [移除]。
刪除 Azure Arc 閘道資源
您可以使用 Azure 入口網站、Azure CLI 或 Azure PowerShell 刪除 Azure Arc 閘道資源。 此作業最多可能需要 5 分鐘才能完成。
在 Azure 入口網站中,移至 Azure Arc - Azure Arc 閘道。
選取 Azure Arc 閘道資源。
選取 刪除,然後確認刪除。
監視 Azure Arc 閘道流量
您可以檢視 Azure Arc Proxy 記錄來稽核 Azure Arc 閘道流量。
若要在 Windows 上檢視 Azure Arc Proxy 記錄:
- 在 PowerShell 中執行
azcmagent logs。 - 在產生的 .zip 檔案中,
arcproxy.log檔案位於ProgramData\AzureConnectedMachineAgent\Log資料夾中。
若要在 Linux 上檢視 Azure Arc Proxy 記錄:
- 執行
sudo azcmagent logs。 - 在產生的 .zip 檔案中,
arcproxy.log檔案位於/var/opt/azcmagent/log/資料夾中。
多個資源類型的 Azure Arc 閘道資源規劃
若要判斷每個 Azure 區域需要多少個閘道資源,以取得多個資源類型,請使用下列公式:
分數 = (伺服器 ÷ 20) + (Kubernetes 叢集 ÷ 10) + (Azure 本機執行個體 ÷ 10)
Where:
- 伺服器 = 獨立伺服器總數 + 佈建的虛擬機器 (在 Azure 本機上)
- Kubernetes 叢集 = 獨立的 Kubernetes 叢集總數 + Azure Kubernetes Service 和 Azure Arc 叢集(在 Azure 本地上)
- Azure 本機執行個體 = Azure 本機部署總計
如果您打算從中管理資源 <的每個區域的分數為 100,則一個 Azure Arc 閘道資源就足夠了。
如果您打算從中管理資源的任何區域的分數 ≥100,則該區域需要多個 Azure Arc 閘道資源。
下列範例提供更多內容。
範例 1
| 區域 | Servers | Kubernetes 叢集 | Azure 本機實例 | 分數計算 | Score |
|---|---|---|---|---|---|
| 美國東部 | 300 | 20 | 5 | 300/20 + 20/10 + 5/10 | 17.5 |
| 西歐 | 800 | 50 | 10 | 800/20 + 50/10 + 10/10 | 46.0 |
| 日本東部 | 100 | 5 | 2 | 100/20 + 5/10 + 2/10 | 5.7 |
每個地區的分數都是 <100。 一個 Azure Arc 閘道資源就足夠了。
範例 2
| 區域 | Servers | Kubernetes 叢集 | Azure 本機實例 | 分數計算 | Score |
|---|---|---|---|---|---|
| 美國東部 | 6,000 | 300 | 40 | 6000/20 + 300/10 + 40/10 | 334.0 |
| 西歐 | 2,500 | 120 | 25 | 2500/20 + 120/10 + 25/10 | 139.5 |
| 東南亞 | 900 | 30 | 8 | 900/20 + 30/10 + 8/10 | 48.8 |
- 美國東部得分為 >100。 需要三個 Azure Arc 閘道資源,才能支援此區域中的負載。
- 西歐得分為 >100。 需要兩個 Azure Arc 閘道資源,才能支援此區域中的負載。
- 東南亞得分為 <100分。 需要一個 Azure Arc 閘道資源,才能支援此區域中的負載。
在此案例中,總共只需要三個閘道資源,因為計算是根據每個區域的最大負載,而不是所有區域的合併負載。
更多案例
Azure Arc 閘道涵蓋上線伺服器所需的端點,以及支援更多已啟用 Azure Arc 案例的端點。 根據您採用的案例,您可能需要在環境中允許更多端點。
不需要更多端點的案例
- Windows Admin Center
- 安全殼層
- 延伸安全性更新
- 適用於 SQL Server 的 Azure 延伸模組
需要更多端點的案例
當您使用 Azure Arc 閘道時,企業 Proxy 中必須允許下列案例所列的端點:
已啟用 Azure Arc 的資料服務:
*.ods.opinsights.azure.com*.oms.opinsights.azure.com*.monitoring.azure.com
Azure 監視器代理程式:
<log-analytics-workspace-id>.ods.opinsights.azure.com<data-collection-endpoint>.<virtual-machine-region>.ingest.monitor.azure.com
Azure Key Vault 憑證同步
<vault-name>.vault.azure.net
Azure 自動化混合式 Runbook 背景工作角色延伸模組:
*.azure-automation.net
Windows OS Update 延伸模組/Azure 更新管理員:
- 您的環境必須符合 Windows Update 的所有 必要條件 。
Microsoft Defender:
- 您的環境必須符合 Microsoft Defender 的所有 必要條件 。
Azure Arc 閘道架構
檢閱下列資訊,以深入瞭解 Azure Arc 閘道的架構。
Azure Arc 閘道轉送通訊協定
下圖展示了 Azure Arc 閘道所使用的轉發協定。
Azure Arc 閘道和 TLS 檢查
Azure Arc 閘道的運作方式是在 Azure 中的 Azure Arc Proxy 與 Azure Arc 閘道之間建立 TLS 會話。 在此 TLS 會話中,Azure Arc Proxy 會將巢狀 HTTP 連線要求傳送至 Azure Arc 閘道資源。 連線要求會指示資源將連線轉遞至預期的目標目的地。 然後,如果目標目的地本身位於 TLS 上,則會在 Azure Arc 代理程式與目標目的地之間建立內部端對端 TLS 工作階段。
使用終止 Proxy 搭配 Azure Arc 閘道時,Proxy 會看到巢狀的 HTTP 連線要求。 它可能會允許這類要求,但除非它執行巢狀 TLS 終止,否則無法攔截到目標目的地的 TLS 加密流量。 此行為超出標準 TLS 終止 Proxy 的功能。 當您使用終止 Proxy 時,建議您略過 Azure Arc 閘道端點的 TLS 檢查。
透過 Azure Arc 閘道存取的端點
Arc Gateway 使用一組端點,使所有 Arc 功能能無縫運作。 目前,這組終端包含超過 200 個端點,代表所有支援功能的累積需求。 完整清單請參見 Azure Arc 閘道端點。
部分端點使用通配碼以簡化連接並確保功能覆蓋。 我們建議與網路安全團隊檢視這些端點,確認其是否符合貴組織的政策。 這些端點對於 Arc 服務的安全且可靠運作至關重要。