Kontrollera utgående trafik i Azure Container Apps med användardefinierade vägar
Kommentar
Den här funktionen stöds endast för miljötypen för arbetsbelastningsprofiler.
Den här artikeln visar hur du använder användardefinierade vägar (UDR) med Azure Firewall för att låsa utgående trafik från dina Container Apps till Azure-resurser i serverdelen eller andra nätverksresurser.
Azure skapar en standardrutttabell för dina virtuella nätverk vid skapande. Genom att implementera en användardefinierad routningstabell kan du styra hur trafiken dirigeras i det virtuella nätverket. I den här guiden konfigurerar du UDR i det virtuella Container Apps-nätverket för att begränsa utgående trafik med Azure Firewall.
Du kan också använda en NAT-gateway eller andra tredjepartsinstallationer i stället för Azure Firewall.
Mer information finns i konfigurera UDR med Azure Firewall i nätverk i Azure Container Apps.
Förutsättningar
Miljö för arbetsbelastningsprofiler: En miljö för arbetsbelastningsprofiler som är integrerad med ett anpassat virtuellt nätverk. Mer information finns i guiden för hur du skapar en containerappmiljö i arbetsbelastningsprofilmiljön.
curl
support: Containerappen måste ha en container som stödercurl
kommandon. I den här instruktionen användercurl
du för att kontrollera att containerappen har distribuerats korrekt. Om du inte har en containerapp medcurl
distribuerad kan du distribuera följande container som stödercurl
,mcr.microsoft.com/k8se/quickstart:latest
.
Skapa brandväggsundernätet
Ett undernät med namnet AzureFirewallSubnet krävs för att distribuera en brandvägg till det integrerade virtuella nätverket.
Öppna det virtuella nätverk som är integrerat med din app i Azure Portal.
På menyn till vänster väljer du Undernät och sedan + Undernät.
Ange följande värden:
Inställning Åtgärd Namn Ange AzureFirewallSubnet. Adressintervall för undernätet Använd standardvärdet eller ange ett undernätsintervall /26 eller större. Välj Spara
Distribuera brandväggen
På menyn Azure Portal eller på startsidan väljer du Skapa en resurs.
Sök efter brandväggen.
Välj Brandvägg.
Välj Skapa.
På sidan Skapa en brandvägg konfigurerar du brandväggen med följande inställningar.
Inställning Åtgärd Resursgrupp Ange samma resursgrupp som det integrerade virtuella nätverket. Namn Ange ett valfritt namn Region Välj samma region som det integrerade virtuella nätverket. Brandväggsprincip Skapa en genom att välja Lägg till ny. Virtuellt nätverk Välj det integrerade virtuella nätverket. Offentlig IP-adress Välj en befintlig adress eller skapa en genom att välja Lägg till ny. Välj Granska + skapa. När valideringen är klar väljer du Skapa. Verifieringssteget kan ta några minuter att slutföra.
När distributionen är klar väljer du Gå till Resurs.
På brandväggens översiktssida kopierar du den privata IP-adressen för brandväggen. Den här IP-adressen används som nästa hoppadress när du skapar routningsregeln för det virtuella nätverket.
Dirigera all trafik till brandväggen
Dina virtuella nätverk i Azure har standardroutningstabeller på plats när du skapar nätverket. Genom att implementera en användardefinierad routningstabell kan du styra hur trafiken dirigeras i det virtuella nätverket. I följande steg skapar du en UDR för att dirigera all trafik till Azure Firewall.
På menyn Azure Portal eller på startsidan väljer du Skapa en resurs.
Sök efter Routningstabeller.
Välj Routningstabeller.
Välj Skapa.
Ange följande värden:
Inställning Åtgärd Region Välj regionen som ditt virtuella nätverk. Namn Ange ett namn. Sprida gatewayvägar Välj Nej Välj Granska + skapa. När valideringen är klar väljer du Skapa.
När distributionen är klar väljer du Gå till Resurs.
På menyn till vänster väljer du Vägar och sedan Lägg till för att skapa en ny routningstabell
Konfigurera routningstabellen med följande inställningar:
Inställning Åtgärd Adressprefix Ange 0.0.0.0/0 Nästa hopp-typ Välj Virtuell installation Nästa hoppadress Ange den privata IP-adressen för brandväggen som du sparade i Distribuera brandväggen. Välj Lägg till för att skapa vägen.
På menyn till vänster väljer du Undernät och sedan Associera för att associera routningstabellen med containerappens undernät.
Konfigurera undernätet Associera med följande värden:
Inställning Åtgärd Virtuellt nätverk Välj det virtuella nätverket för containerappen. Undernät Välj undernätet för containerappen. Välj OK.
Konfigurera brandväggsprinciper
Kommentar
När du använder UDR med Azure Firewall i Azure Container Apps måste du lägga till vissa FQDN- och tjänsttaggar i listan över tillåtna för brandväggen. Se konfigurera UDR med Azure Firewall för att avgöra vilka tjänsttaggar du behöver.
Nu dirigeras all utgående trafik från containerappen till brandväggen. För närvarande tillåter brandväggen fortfarande all utgående trafik. För att kunna hantera vilken utgående trafik som tillåts eller nekas måste du konfigurera brandväggsprinciper.
I Azure Firewall-resursen på sidan Översikt väljer du Brandväggsprincip
På menyn till vänster på sidan brandväggsprincip väljer du Programregler.
Välj Lägg till en regelsamling.
Ange följande värden för regelsamlingen:
Inställning Åtgärd Namn Ange ett samlingsnamn Typ av regelsamling Välj program Prioritet Ange prioriteten, till exempel 110 Regelinsamlingsåtgärd Välj Tillåt Regelsamlingsgrupp Välj DefaultApplicationRuleCollectionGroup Under Regler anger du följande värden
Inställning Åtgärd Namn Ange ett namn för regeln Källtyp Välj IP-adress Source Ange * Protokoll Ange http:80,https:443 Måltyp Välj FQDN. Mål Ange mcr.microsoft.com
,*.data.mcr.microsoft.com
. Om du använder ACR lägger du till din ACR-adress och*.blob.core.windows.net
.Åtgärd Välj Tillåt Kommentar
Om du använder Docker Hub-registret och vill komma åt det via brandväggen måste du lägga till följande FQDN i din regelmållista: hub.docker.com, registry-1.docker.io och production.cloudflare.docker.com.
Markera Lägga till.
Kontrollera att brandväggen blockerar utgående trafik
Om du vill kontrollera att brandväggskonfigurationen är korrekt konfigurerad kan du använda curl
kommandot från appens felsökningskonsol.
Gå till din containerapp som har konfigurerats med Azure Firewall.
På menyn till vänster väljer du Konsol och sedan din container som stöder
curl
kommandot.I kommandomenyn Välj start väljer du /bin/sh och väljer Anslut.
Kör i konsolen
curl -s https://mcr.microsoft.com
. Du bör se ett lyckat svar när du har lagtmcr.microsoft.com
till i listan över tillåtna brandväggsprinciper.Kör
curl -s https://<FQDN_ADDRESS>
för en URL som inte matchar någon av dina målregler,example.com
till exempel . Exempelkommandot skulle varacurl -s https://example.com
. Du bör inte få något svar, vilket indikerar att brandväggen har blockerat begäran.