Utgående nätverk och FQDN-regler för AKS-kluster (Azure Kubernetes Service)

Den här artikeln innehåller nödvändig information som gör att du kan skydda utgående trafik från din Azure Kubernetes Service (AKS). Den innehåller klusterkraven för en grundläggande AKS-distribution och ytterligare krav för valfria tillägg och funktioner. Du kan använda den här informationen för alla utgående begränsningsmetoder eller -installationer.

Om du vill se en exempelkonfiguration med Hjälp av Azure Firewall går du till Kontrollera utgående trafik med hjälp av Azure Firewall i AKS.

Bakgrund

AKS-kluster distribueras i ett virtuellt nätverk. Det här nätverket kan antingen anpassas och förkonfigureras av dig eller så kan det skapas och hanteras av AKS. I båda fallen har klustret utgående eller utgående beroenden på tjänster utanför det virtuella nätverket.

För hantering och drift behöver noder i ett AKS-kluster komma åt vissa portar och fullständigt kvalificerade domännamn (FQDN). Dessa slutpunkter krävs för att noderna ska kunna kommunicera med API-servern eller för att ladda ned och installera kubernetes-kärnklusterkomponenter och nodsäkerhetsuppdateringar. Klustret måste till exempel hämta grundläggande systemcontaineravbildningar från Microsoft Container Registry (MCR).

AKS utgående beroenden definieras nästan helt med FQDN, som inte har statiska adresser bakom sig. Bristen på statiska adresser innebär att du inte kan använda nätverkssäkerhetsgrupper (NSG:er) för att låsa utgående trafik från ett AKS-kluster.

Som standard har AKS-kluster obegränsad utgående internetåtkomst. Med den här nivån av nätverksåtkomst kan noder och tjänster som du kör komma åt externa resurser efter behov. Om du vill begränsa utgående trafik måste ett begränsat antal portar och adresser vara tillgängliga för att upprätthålla felfria klusterunderhållsuppgifter. Den enklaste lösningen för att skydda utgående adresser är att använda en brandväggsenhet som kan styra utgående trafik baserat på domännamn. Azure Firewall kan begränsa utgående HTTP- och HTTPS-trafik baserat på målets fullständiga domännamn. Du kan också konfigurera de brandväggs- och säkerhetsregler som krävs för att tillåta dessa portar och adresser.

Viktigt!

Det här dokumentet beskriver bara hur du låser trafiken som lämnar AKS-undernätet. AKS har inga ingresskrav som standard. Det går inte att blockera intern undernätstrafik med nätverkssäkerhetsgrupper (NSG:er) och brandväggar. Information om hur du styr och blockerar trafiken i klustret finns i Skydda trafik mellan poddar med hjälp av nätverksprinciper i AKS.

Obligatoriska regler för utgående nätverk och fullständiga domännamn för AKS-kluster

Följande regler för nätverk och FQDN/program krävs för ett AKS-kluster. Du kan använda dem om du vill konfigurera en annan lösning än Azure Firewall.

  • IP-adressberoenden gäller för icke-HTTP/S-trafik (både TCP- och UDP-trafik).
  • FQDN HTTP/HTTPS-slutpunkter kan placeras i brandväggsenheten.
  • HTTP/HTTPS-slutpunkter med jokertecken är beroenden som kan variera med ditt AKS-kluster baserat på ett antal kvalificerare.
  • AKS använder en antagningskontrollant för att mata in FQDN som en miljövariabel till alla distributioner under kube-system och gatekeeper-system. Detta säkerställer att all systemkommunikation mellan noder och API-servern använder API-serverns FQDN och inte API-serverns IP-adress. Du kan få samma beteende på dina egna poddar, i valfritt namnområde, genom att kommentera poddspecifikationen med en anteckning med namnet kubernetes.azure.com/set-kube-service-host-fqdn. Om den kommentaren finns anger AKS variabeln KUBERNETES_SERVICE_HOST till API-serverns domännamn i stället för IP-adressen för tjänsten i klustret. Detta är användbart i fall där klustrets utgående är via en layer 7-brandvägg.
  • Om du har en app eller lösning som behöver prata med API-servern måste du antingen lägga till ytterligare en nätverksregel för att tillåta TCP-kommunikation till port 443 i API-serverns IP OR , om du har en layer 7-brandväggkonfigurerad för att tillåta trafik till API-serverns domännamn anger kubernetes.azure.com/set-kube-service-host-fqdn du i poddspecifikationerna.
  • I sällsynta fall kan API-serverns IP-adress ändras om det finns en underhållsåtgärd. Planerade underhållsåtgärder som kan ändra API-serverns IP-adress kommuniceras alltid i förväg.
  • Under vissa omständigheter kan det hända att trafik mot "md-*.blob.storage.azure.net" krävs. Det här beroendet beror på vissa interna mekanismer för Azure Managed Disks. Du kanske också vill använda lagringstjänsttaggen.

Nätverksregler som krävs för Azure Global

Målslutpunkt Protokoll Port Använd
*:1194
eller
ServiceTag - AzureCloud.<Region>:1194
eller
Regionala CIDR:ar - RegionCIDRs:1194
eller
APIServerPublicIP:1194 (only known after cluster creation)
UDP 1194 För tunnelbaserad säker kommunikation mellan noderna och kontrollplanet. Detta krävs inte för privata kluster eller för kluster med konnektivitetsagenten aktiverad.
*:9000
eller
ServiceTag - AzureCloud.<Region>:9000
eller
Regionala CIDR:ar - RegionCIDRs:9000
eller
APIServerPublicIP:9000 (only known after cluster creation)
TCP 9 000 För tunnelbaserad säker kommunikation mellan noderna och kontrollplanet. Detta krävs inte för privata kluster eller för kluster med konnektivitetsagenten aktiverad.
*:123 eller ntp.ubuntu.com:123 (om du använder Azure Firewall-nätverksregler) UDP 123 Krävs för NTP-tidssynkronisering (Network Time Protocol) på Linux-noder. Detta krävs inte för noder som etablerats efter mars 2021.
CustomDNSIP:53 (if using custom DNS servers) UDP 53 Om du använder anpassade DNS-servrar måste du se till att de är tillgängliga för klusternoderna.
APIServerPublicIP:443 (if running pods/deployments that access the API Server) TCP 443 Krävs om du kör poddar/distributioner som har åtkomst till API-servern, skulle dessa poddar/distributioner använda API-IP-adressen. Den här porten krävs inte för privata kluster.

Azure Global obligatoriskt FQDN/programregler

Mål-FQDN Port Använd
*.hcp.<location>.azmk8s.io HTTPS:443 Krävs för Node <–> API-serverkommunikation. Ersätt <platsen> med den region där AKS-klustret distribueras. Detta krävs för kluster med konnektivitetsagent aktiverad. Konnectivity använder också Application-Layer Protocol Negotiation (ALPN) för att kommunicera mellan agent och server. Om du blockerar eller skriver om ALPN-tillägget orsakas ett fel. Detta krävs inte för privata kluster.
mcr.microsoft.com HTTPS:443 Krävs för åtkomst till avbildningar i Microsoft Container Registry (MCR). Det här registret innehåller avbildningar/diagram från första part (till exempel coreDNS osv.). Dessa avbildningar krävs för att klustret ska kunna skapas och fungera korrekt, inklusive skalnings- och uppgraderingsåtgärder.
*.data.mcr.microsoft.com HTTPS:443 Krävs för MCR-lagring som backas upp av Azures nätverk för innehållsleverans (CDN).
management.azure.com HTTPS:443 Krävs för Kubernetes-åtgärder mot Azure-API:et.
login.microsoftonline.com HTTPS:443 Krävs för Microsoft Entra-autentisering.
packages.microsoft.com HTTPS:443 Den här adressen är microsoft-paketlagringsplatsen som används för cachelagrade apt-get-åtgärder . Exempelpaket är Moby, PowerShell och Azure CLI.
acs-mirror.azureedge.net HTTPS:443 Den här adressen är avsedd för den lagringsplats som krävs för att ladda ned och installera nödvändiga binärfiler som kubenet och Azure CNI.

Microsoft Azure drivs av 21Vianet-obligatoriska nätverksregler

Målslutpunkt Protokoll Port Använd
*:1194
eller
ServiceTag - AzureCloud.Region:1194
eller
Regionala CIDR:ar - RegionCIDRs:1194
eller
APIServerPublicIP:1194 (only known after cluster creation)
UDP 1194 För tunnelbaserad säker kommunikation mellan noderna och kontrollplanet.
*:9000
eller
ServiceTag - AzureCloud.<Region>:9000
eller
Regionala CIDR:ar - RegionCIDRs:9000
eller
APIServerPublicIP:9000 (only known after cluster creation)
TCP 9 000 För tunnelbaserad säker kommunikation mellan noderna och kontrollplanet.
*:22
eller
ServiceTag - AzureCloud.<Region>:22
eller
Regionala CIDR:ar - RegionCIDRs:22
eller
APIServerPublicIP:22 (only known after cluster creation)
TCP 22 För tunnelbaserad säker kommunikation mellan noderna och kontrollplanet.
*:123 eller ntp.ubuntu.com:123 (om du använder Azure Firewall-nätverksregler) UDP 123 Krävs för NTP-tidssynkronisering (Network Time Protocol) på Linux-noder.
CustomDNSIP:53 (if using custom DNS servers) UDP 53 Om du använder anpassade DNS-servrar måste du se till att de är tillgängliga för klusternoderna.
APIServerPublicIP:443 (if running pods/deployments that access the API Server) TCP 443 Krävs om du kör poddar/distributioner som har åtkomst till API-servern, skulle dessa poddar/distributioner använda API-IP-adressen.

Microsoft Azure drivs av 21Vianet-krav på FQDN/programregler

Mål-FQDN Port Använd
*.hcp.<location>.cx.prod.service.azk8s.cn HTTPS:443 Krävs för Node <–> API-serverkommunikation. Ersätt <platsen> med den region där AKS-klustret distribueras.
*.tun.<location>.cx.prod.service.azk8s.cn HTTPS:443 Krävs för Node <–> API-serverkommunikation. Ersätt <platsen> med den region där AKS-klustret distribueras.
mcr.microsoft.com HTTPS:443 Krävs för åtkomst till avbildningar i Microsoft Container Registry (MCR). Det här registret innehåller avbildningar/diagram från första part (till exempel coreDNS osv.). Dessa avbildningar krävs för att klustret ska kunna skapas och fungera korrekt, inklusive skalnings- och uppgraderingsåtgärder.
.data.mcr.microsoft.com HTTPS:443 Krävs för MCR-lagring som backas upp av Azure Content Delivery Network (CDN).
management.chinacloudapi.cn HTTPS:443 Krävs för Kubernetes-åtgärder mot Azure-API:et.
login.chinacloudapi.cn HTTPS:443 Krävs för Microsoft Entra-autentisering.
packages.microsoft.com HTTPS:443 Den här adressen är microsoft-paketlagringsplatsen som används för cachelagrade apt-get-åtgärder . Exempelpaket är Moby, PowerShell och Azure CLI.
*.azk8s.cn HTTPS:443 Den här adressen är avsedd för den lagringsplats som krävs för att ladda ned och installera nödvändiga binärfiler som kubenet och Azure CNI.

Azure US Government krävs nätverksregler

Målslutpunkt Protokoll Port Använd
*:1194
eller
ServiceTag - AzureCloud.<Region>:1194
eller
Regionala CIDR:ar - RegionCIDRs:1194
eller
APIServerPublicIP:1194 (only known after cluster creation)
UDP 1194 För tunnelbaserad säker kommunikation mellan noderna och kontrollplanet.
*:9000
eller
ServiceTag - AzureCloud.<Region>:9000
eller
Regionala CIDR:ar - RegionCIDRs:9000
eller
APIServerPublicIP:9000 (only known after cluster creation)
TCP 9 000 För tunnelbaserad säker kommunikation mellan noderna och kontrollplanet.
*:123 eller ntp.ubuntu.com:123 (om du använder Azure Firewall-nätverksregler) UDP 123 Krävs för NTP-tidssynkronisering (Network Time Protocol) på Linux-noder.
CustomDNSIP:53 (if using custom DNS servers) UDP 53 Om du använder anpassade DNS-servrar måste du se till att de är tillgängliga för klusternoderna.
APIServerPublicIP:443 (if running pods/deployments that access the API Server) TCP 443 Krävs om du kör poddar/distributioner som har åtkomst till API-servern, skulle dessa poddar/distributioner använda API-IP-adressen.

Azure US Government krävs FQDN/programregler

Mål-FQDN Port Använd
*.hcp.<location>.cx.aks.containerservice.azure.us HTTPS:443 Krävs för Node <–> API-serverkommunikation. Ersätt <platsen> med den region där AKS-klustret distribueras.
mcr.microsoft.com HTTPS:443 Krävs för åtkomst till avbildningar i Microsoft Container Registry (MCR). Det här registret innehåller avbildningar/diagram från första part (till exempel coreDNS osv.). Dessa avbildningar krävs för att klustret ska kunna skapas och fungera korrekt, inklusive skalnings- och uppgraderingsåtgärder.
*.data.mcr.microsoft.com HTTPS:443 Krävs för MCR-lagring som backas upp av Azures nätverk för innehållsleverans (CDN).
management.usgovcloudapi.net HTTPS:443 Krävs för Kubernetes-åtgärder mot Azure-API:et.
login.microsoftonline.us HTTPS:443 Krävs för Microsoft Entra-autentisering.
packages.microsoft.com HTTPS:443 Den här adressen är microsoft-paketlagringsplatsen som används för cachelagrade apt-get-åtgärder . Exempelpaket är Moby, PowerShell och Azure CLI.
acs-mirror.azureedge.net HTTPS:443 Den här adressen är avsedd för den lagringsplats som krävs för att installera nödvändiga binärfiler som kubenet och Azure CNI.

Följande FQDN/programregler krävs inte, men rekommenderas för AKS-kluster:

Mål-FQDN Port Använd
security.ubuntu.com, , azure.archive.ubuntu.comchangelogs.ubuntu.com HTTP:80 Med den här adressen kan Linux-klusternoderna ladda ned nödvändiga säkerhetskorrigeringar och uppdateringar.

Om du väljer att blockera/inte tillåta dessa FQDN får noderna endast OS-uppdateringar när du uppgraderar en nodavbildning eller en klusteruppgradering. Tänk på att uppgraderingar av nodbild också levereras med uppdaterade paket, inklusive säkerhetskorrigeringar.

GPU-aktiverade AKS-kluster kräver FQDN/programregler

Mål-FQDN Port Använd
nvidia.github.io HTTPS:443 Den här adressen används för korrekt drivrutinsinstallation och -åtgärd på GPU-baserade noder.
us.download.nvidia.com HTTPS:443 Den här adressen används för korrekt drivrutinsinstallation och -åtgärd på GPU-baserade noder.
download.docker.com HTTPS:443 Den här adressen används för korrekt drivrutinsinstallation och -åtgärd på GPU-baserade noder.

Windows Server-baserade nodpooler som krävs för FQDN/programregler

Mål-FQDN Port Använd
onegetcdn.azureedge.net, go.microsoft.com HTTPS:443 Så här installerar du Windows-relaterade binärfiler
*.mp.microsoft.com, www.msftconnecttest.com, ctldl.windowsupdate.com HTTP:80 Så här installerar du Windows-relaterade binärfiler

Om du väljer att blockera/inte tillåta dessa FQDN får noderna endast OS-uppdateringar när du uppgraderar en nodavbildning eller en klusteruppgradering. Tänk på att node image upgrades också levereras med uppdaterade paket, inklusive säkerhetskorrigeringar.

AKS-tillägg och -integreringar

Microsoft Defender for Containers

Obligatoriskt FQDN/programregler

FQDN Port Använd
login.microsoftonline.com
login.microsoftonline.us (Azure Government)
login.microsoftonline.cn (Azure drivs av 21Vianet)
HTTPS:443 Krävs för Active Directory-autentisering.
*.ods.opinsights.azure.com
*.ods.opinsights.azure.us (Azure Government)
*.ods.opinsights.azure.cn (Azure drivs av 21Vianet)
HTTPS:443 Krävs för att Microsoft Defender ska kunna ladda upp säkerhetshändelser till molnet.
*.oms.opinsights.azure.com
*.oms.opinsights.azure.us (Azure Government)
*.oms.opinsights.azure.cn (Azure drivs av 21Vianet)
HTTPS:443 Krävs för att autentisera med LogAnalytics-arbetsytor.

CSI Secret Store

Obligatoriskt FQDN/programregler

FQDN Port Använd
vault.azure.net HTTPS:443 Krävs för att CSI Secret Store-tilläggspoddar ska kunna kommunicera med Azure KeyVault-servern.

Azure Monitor för containrar

Det finns två alternativ för att ge åtkomst till Azure Monitor för containrar:

  • Tillåt Azure Monitor ServiceTag.
  • Ge åtkomst till nödvändiga FQDN/programregler.

Nödvändiga nätverksregler

Målslutpunkt Protokoll Port Använd
ServiceTag - AzureMonitor:443 TCP 443 Den här slutpunkten används för att skicka måttdata och loggar till Azure Monitor och Log Analytics.

Obligatoriskt FQDN/programregler

FQDN Port Använd
dc.services.visualstudio.com HTTPS:443 Den här slutpunkten används för mått och övervakning av telemetri med hjälp av Azure Monitor.
*.ods.opinsights.azure.com HTTPS:443 Den här slutpunkten används av Azure Monitor för att mata in log analytics-data.
*.oms.opinsights.azure.com HTTPS:443 Den här slutpunkten används av omsagent, som används för att autentisera log analytics-tjänsten.
*.monitoring.azure.com HTTPS:443 Den här slutpunkten används för att skicka måttdata till Azure Monitor.
<cluster-region-name>.ingest.monitor.azure.com HTTPS:443 Den här slutpunkten används av Azure Monitor-hanterad tjänst för Prometheus-måttinmatning.
<cluster-region-name>.handler.control.monitor.azure.com HTTPS:443 Den här slutpunkten används för att hämta datainsamlingsregler för ett visst kluster.

Microsoft Azure drivs av 21Vianet-krav på FQDN/programregler

FQDN Port Använd
dc.services.visualstudio.com HTTPS:443 Den här slutpunkten används för mått och övervakning av telemetri med hjälp av Azure Monitor.
*.ods.opinsights.azure.cn HTTPS:443 Den här slutpunkten används av Azure Monitor för att mata in log analytics-data.
*.oms.opinsights.azure.cn HTTPS:443 Den här slutpunkten används av omsagent, som används för att autentisera log analytics-tjänsten.
global.handler.control.monitor.azure.cn HTTPS:443 Den här slutpunkten används av Azure Monitor för åtkomst till kontrolltjänsten.
<cluster-region-name>.handler.control.monitor.azure.cn HTTPS:443 Den här slutpunkten används för att hämta datainsamlingsregler för ett visst kluster.

Azure US Government krävs FQDN/programregler

FQDN Port Använd
dc.services.visualstudio.com HTTPS:443 Den här slutpunkten används för mått och övervakning av telemetri med hjälp av Azure Monitor.
*.ods.opinsights.azure.us HTTPS:443 Den här slutpunkten används av Azure Monitor för att mata in log analytics-data.
*.oms.opinsights.azure.us HTTPS:443 Den här slutpunkten används av omsagent, som används för att autentisera log analytics-tjänsten.
global.handler.control.monitor.azure.us HTTPS:443 Den här slutpunkten används av Azure Monitor för åtkomst till kontrolltjänsten.
<cluster-region-name>.handler.control.monitor.azure.us HTTPS:443 Den här slutpunkten används för att hämta datainsamlingsregler för ett visst kluster.

Azure Policy

Obligatoriskt FQDN/programregler

FQDN Port Använd
data.policy.core.windows.net HTTPS:443 Den här adressen används för att hämta Kubernetes-principerna och rapportera klusterefterlevnadsstatus till principtjänsten.
store.policy.core.windows.net HTTPS:443 Den här adressen används för att hämta Gatekeeper-artefakterna för inbyggda principer.
dc.services.visualstudio.com HTTPS:443 Azure Policy-tillägg som skickar telemetridata till application insights-slutpunkten.

Microsoft Azure drivs av 21Vianet-krav på FQDN/programregler

FQDN Port Använd
data.policy.azure.cn HTTPS:443 Den här adressen används för att hämta Kubernetes-principerna och rapportera klusterefterlevnadsstatus till principtjänsten.
store.policy.azure.cn HTTPS:443 Den här adressen används för att hämta Gatekeeper-artefakterna för inbyggda principer.

Azure US Government krävs FQDN/programregler

FQDN Port Använd
data.policy.azure.us HTTPS:443 Den här adressen används för att hämta Kubernetes-principerna och rapportera klusterefterlevnadsstatus till principtjänsten.
store.policy.azure.us HTTPS:443 Den här adressen används för att hämta Gatekeeper-artefakterna för inbyggda principer.

Klustertillägg

Obligatoriskt FQDN/programregler

FQDN Port Använd
<region>.dp.kubernetesconfiguration.azure.com HTTPS:443 Den här adressen används för att hämta konfigurationsinformation från tjänsten Klustertillägg och status för rapporttillägg till tjänsten.
mcr.microsoft.com, *.data.mcr.microsoft.com HTTPS:443 Den här adressen krävs för att hämta containeravbildningar för installation av klustertilläggsagenter i AKS-kluster.
arcmktplaceprod.azurecr.io HTTPS:443 Den här adressen krävs för att hämta containeravbildningar för att installera Marketplace-tillägg i AKS-kluster.
arcmktplaceprod.centralindia.data.azurecr.io HTTPS:443 Den här adressen gäller för den regionala dataslutpunkten i Indien i centrala Indien och krävs för att hämta containeravbildningar för att installera Marketplace-tillägg i AKS-kluster.
arcmktplaceprod.japaneast.data.azurecr.io HTTPS:443 Den här adressen gäller för den regionala dataslutpunkten i östra Japan och krävs för att hämta containeravbildningar för att installera Marketplace-tillägg i AKS-kluster.
arcmktplaceprod.westus2.data.azurecr.io HTTPS:443 Den här adressen gäller för den regionala dataslutpunkten usa, västra 2 och krävs för att hämta containeravbildningar för att installera Marketplace-tillägg i AKS-kluster.
arcmktplaceprod.westeurope.data.azurecr.io HTTPS:443 Den här adressen gäller för den regionala dataslutpunkten i Europa, västra och krävs för att hämta containeravbildningar för att installera Marketplace-tillägg i AKS-kluster.
arcmktplaceprod.eastus.data.azurecr.io HTTPS:443 Den här adressen gäller för den regionala dataslutpunkten usa, östra och krävs för att hämta containeravbildningar för att installera Marketplace-tillägg i AKS-kluster.
*.ingestion.msftcloudes.com, *.microsoftmetrics.com HTTPS:443 Den här adressen används för att skicka agentstatistikdata till Azure.
marketplaceapi.microsoft.com HTTPS: 443 Den här adressen används för att skicka anpassad mätarbaserad användning till API:et för handelsmätning.

Azure US Government krävs FQDN/programregler

FQDN Port Använd
<region>.dp.kubernetesconfiguration.azure.us HTTPS:443 Den här adressen används för att hämta konfigurationsinformation från tjänsten Klustertillägg och status för rapporttillägg till tjänsten.
mcr.microsoft.com, *.data.mcr.microsoft.com HTTPS:443 Den här adressen krävs för att hämta containeravbildningar för installation av klustertilläggsagenter i AKS-kluster.

Kommentar

För tillägg som inte uttryckligen anges här omfattar kärnkraven det.

Nästa steg

I den här artikeln har du lärt dig vilka portar och adresser som ska tillåtas om du vill begränsa utgående trafik för klustret.

Om du vill begränsa hur poddar kommunicerar mellan sig själva och trafikbegränsningar för öst-väst i klustret kan du läsa Skydda trafik mellan poddar med hjälp av nätverksprinciper i AKS.