|
| 1 | +--- |
| 2 | +title: Simplify network configuration requirements with Azure Arc gateway (preview) |
| 3 | +description: Learn how to enable Arc gateway on AKS Arc clusters to simplify network configuration requirements |
| 4 | +ms.topic: how-to |
| 5 | +ms.date: 11/18/2024 |
| 6 | +author: sethmanheim |
| 7 | +ms.author: sethm |
| 8 | +ms.reviewer: abha |
| 9 | +ms.lastreviewed: 11/18/2024 |
| 10 | + |
| 11 | +--- |
| 12 | + |
| 13 | +# Simplify network configuration requirements with Azure Arc Gateway (preview) |
| 14 | + |
| 15 | +If you use enterprise proxies to manage outbound traffic, the Azure Arc gateway (preview) can help simplify the process of enabling connectivity. |
| 16 | + |
| 17 | +The Azure Arc gateway (preview) lets you: |
| 18 | + |
| 19 | +- Connect to Azure Arc by opening public network access to only seven fully qualified domain names (FQDNs). |
| 20 | +- View and audit all traffic that the Arc agents send to Azure via the Arc gateway. |
| 21 | + |
| 22 | +> [!IMPORTANT] |
| 23 | +> Azure Arc gateway is currently in preview. |
| 24 | +> |
| 25 | +> See the [Supplemental Terms of Use for Microsoft Azure Previews](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) for legal terms that apply to Azure features that are in beta, preview, or otherwise not yet released into general availability. |
| 26 | +
|
| 27 | +## How the Azure Arc gateway works |
| 28 | + |
| 29 | +The Arc gateway works by introducing two new components: |
| 30 | + |
| 31 | +- The **Arc gateway resource** is an Azure Resource that serves as a common front end for Azure traffic. The gateway resource is served on a specific domain/URL. You must create this resource by following the steps outlined in this article. After you successfully create the gateway resource, this domain/URL is included in the success response. |
| 32 | +- The **Arc Proxy** is a new component that runs as its own pod (called "Azure Arc Proxy"). This component acts as a forward proxy used by Azure Arc agents and extensions. There is no configuration required on your part for the Azure Arc Proxy. |
| 33 | + |
| 34 | +Visit [how the Azure Arc gateway works](https://learn.microsoft.com/azure/azure-arc/kubernetes/arc-gateway-simplify-networking?tabs=azure-cli) to learn more. |
| 35 | + |
| 36 | +> [!IMPORTANT] |
| 37 | +> Note that Azure Local and AKS do not support TLS terminating proxies, ExpressRoute/site-to-site VPN or private endpoints. |
| 38 | +> In addition, there is a limit of five Arc gateway resources per Azure subscription. |
| 39 | +
|
| 40 | +## Before you begin |
| 41 | +- Ensure you've gone through the [pre-requisites for creating AKS clusters on Azure Local](/aks-hci-network-system-requirements.md) |
| 42 | +- **The following Azure permissions are required** to create Arc gateway resources and manage their association with AKS Arc clusters: |
| 43 | + - `Microsoft.Kubernetes/connectedClusters/settings/default/write` |
| 44 | + - `Microsoft.hybridcompute/gateways/read` |
| 45 | + - `Microsoft.hybridcompute/gateways/write` |
| 46 | +- **An Arc gateway resource** can be created using Azure CLI or Azure portal. Visit [create the Arc gateway resource in Azure](/hci/deploy/deployment-azure-arc-gateway-overview#create-the-arc-gateway-resource-in-azure) for more information on how to create an Arc gateway resource for your AKS clusters and Azure Local. Once you've created the Arc gateway resource, get the gateway resource ID by running the following command: |
| 47 | + |
| 48 | +``` |
| 49 | +$gatewayId = "(az arcgateway show --name <gateway's name> --resource-group <resource group> --query id -o tsv)" |
| 50 | +``` |
| 51 | + |
| 52 | + |
| 53 | +## Confirm access to required URLs |
| 54 | + |
| 55 | +Ensure your Arc gateway URL and all of the URLs below are allowed through your enterprise firewall: |
| 56 | + |
| 57 | +|URL |Purpose | |
| 58 | +|---------|---------| |
| 59 | +|`[Your URL prefix].gw.arc.azure.com` | Your gateway URL. This URL can be obtained by running `az arcgateway list` after you create the resource. | |
| 60 | +|`management.azure.com` |Azure Resource Manager Endpoint, required for ARM control channel. | |
| 61 | +|`<region>.obo.arc.azure.com` |Required when [Cluster connect](conceptual-cluster-connect.md) is configured. | |
| 62 | +|`login.microsoftonline.com`, `<region>.login.microsoft.com` | Microsoft Entra ID endpoint, used for acquiring identity access tokens. | |
| 63 | +|`gbl.his.arc.azure.com`, `<region>.his.arc.azure.com` |The cloud service endpoint for communicating with Arc Agents. Uses short names, for example `eus` for East US. | |
| 64 | +|`mcr.microsoft.com`, `*.data.mcr.microsoft.com` |Required to pull container images for Azure Arc agents. | |
| 65 | + |
| 66 | +## Create AKS Arc clusters with Arc gateway enabled |
| 67 | +Run the following command to create AKS Arc clusters with Arc gateway enabled |
| 68 | + |
| 69 | +```azcli |
| 70 | +az aksarc create -n $clusterName -g $resourceGroup --custom-location $customlocationID --vnet-ids $arcVmLogNetId --aad-admin-group-object-ids $aadGroupID --gateway-id $gatewayId --generate-ssh-keys |
| 71 | +``` |
| 72 | + |
| 73 | +## Monitor traffic |
| 74 | + |
| 75 | +To audit your gateway's traffic, view the gateway router's logs: |
| 76 | + |
| 77 | +1. Run `kubectl get pods -n azure-arc` |
| 78 | +2. Identify the Arc Proxy pod (its name will begin with `arc-proxy-`). |
| 79 | +3. Run `kubectl logs -n azure-arc <Arc Proxy pod name>` |
| 80 | + |
| 81 | +## Additional scenarios |
| 82 | + |
| 83 | +During the public preview, Arc gateway covers endpoints required for AKS Arc clusters, and a portion of endpoints required for additional Arc-enabled scenarios. Based on the scenarios you adopt, additional endpoints are still required to be allowed in your proxy. |
| 84 | + |
| 85 | +All endpoints listed for the following scenarios must be allowed in your enterprise proxy when Arc gateway is in use: |
| 86 | + |
| 87 | +- [Container insights in Azure Monitor](/azure/azure-monitor/containers/kubernetes-monitoring-firewall): |
| 88 | + - `*.ods.opinsights.azure.com` |
| 89 | + - `*.oms.opinsights.azure.com` |
| 90 | + - `*.monitoring.azure.com` |
| 91 | +- [Azure Key Vault](/azure/key-vault/general/access-behind-firewall): |
| 92 | + - `<vault-name>.vault.azure.net` |
| 93 | +- [Azure Policy](/azure/governance/policy/concepts/policy-for-kubernetes): |
| 94 | + - `data.policy.core.windows.net` |
| 95 | + - `store.policy.core.windows.net` |
| 96 | +- [Microsoft Defender for Containers](/azure/defender-for-cloud/defender-for-containers-enable?pivots=defender-for-container-arc&toc=%2Fazure%2Fazure-arc%2Fkubernetes%2Ftoc.json&bc=%2Fazure%2Fazure-arc%2Fkubernetes%2Fbreadcrumb%2Ftoc.json&tabs=aks-deploy-portal%2Ck8s-deploy-asc%2Ck8s-verify-asc%2Ck8s-remove-arc%2Caks-removeprofile-api): |
| 97 | + - `*.ods.opinsights.azure.com` |
| 98 | + - `*.oms.opinsights.azure.com` |
| 99 | +- [Azure Arc-enabled data services](/azure/azure-arc/network-requirements-consolidated?tabs=azure-cloud) |
| 100 | + - `*.ods.opinsights.azure.com` |
| 101 | + - `*.oms.opinsights.azure.com` |
| 102 | + - `*.monitoring.azure.com` |
| 103 | + |
| 104 | +## Next steps |
| 105 | +- [Deploy extension for MetalLB for Azure Arc enabled Kubernetes clusters](/deploy-load-balancer-cli.md). |
0 commit comments