Skydda Azure Container Apps med brandväggen för webbprogram på Application Gateway
När du är värd för dina appar eller mikrotjänster i Azure Container Apps kanske du inte alltid vill publicera dem direkt på Internet. I stället kanske du vill exponera dem via en omvänd proxy.
En omvänd proxy är en tjänst som finns framför en eller flera tjänster, som fångar upp och dirigerar inkommande trafik till rätt mål.
Med omvända proxyservrar kan du placera tjänster framför dina appar som stöder övergripande funktioner, inklusive:
- Routning
- Cachelagring
- Frekvensbegränsning
- Belastningsutjämning
- Säkerhetsnivåer
- Filtrering av begäran
Den här artikeln visar hur du skyddar dina containerappar med hjälp av en brandvägg för webbprogram (WAF) på Azure Application Gateway med en intern Container Apps-miljö.
Mer information om nätverksbegrepp i Container Apps finns i Nätverksmiljö i Azure Container Apps.
Förutsättningar
Intern miljö med anpassat VNet: Ha en containerapp som finns i en intern miljö och integrerad med ett anpassat virtuellt nätverk. Mer information om hur du skapar en anpassad virtuell nätverksintegrerad app finns i Tillhandahålla ett virtuellt nätverk till en intern Azure Container Apps-miljö.
Säkerhetscertifikat: Om du måste använda TLS/SSL-kryptering till programgatewayen krävs ett giltigt offentligt certifikat som används för att binda till din programgateway.
Hämta containerappens domän
Använd följande steg för att hämta värdena för standarddomänen och den statiska IP-adressen för att konfigurera din Privat DNS Zone.
I resursgruppens översiktsfönster i portalen väljer du din containerapp.
I fönstret Översikt för din containerappresurs väljer du länken för Container Apps Environment
I fönstret Översikt för containerappens miljöresurs väljer du JSON-vy i det övre högra hörnet på sidan för att visa JSON-representationen av containerappmiljön.
Kopiera värdena för egenskaperna defaultDomain och staticIp och klistra in dem i en textredigerare. Du skapar en privat DNS-zon med dessa värden för standarddomänen i nästa avsnitt.
Skapa och konfigurera en Azure Privat DNS-zon
På menyn Azure Portal eller på startsidan väljer du Skapa en resurs.
Sök efter Privat DNS zon och välj Privat DNS Zon i sökresultaten.
Markera knappen Skapa.
Ange följande värden:
Inställning Åtgärd Prenumeration Välj din Azure-prenumerationen. Resursgrupp Välj resursgruppen för containerappen. Name Ange egenskapen defaultDomain för Container Apps Environment från föregående avsnitt. Plats för resursgrupp Lämna som standard. Ett värde behövs inte eftersom Privat DNS zoner är globala. Välj Granska + skapa. När valideringen är klar väljer du Skapa.
När den privata DNS-zonen har skapats väljer du Gå till resurs.
I fönstret Översikt väljer du +Postuppsättning för att lägga till en ny postuppsättning.
I fönstret Lägg till postuppsättning anger du följande värden:
Inställning Åtgärd Name Ange *. Typ Välj A-adresspost. TTL Behåll standardvärdena. TTL-enhet Behåll standardvärdena. IP-adress Ange egenskapen staticIp för Container Apps Environment från föregående avsnitt. Välj OK för att skapa postuppsättningen.
Välj +Postuppsättning igen för att lägga till en andra postuppsättning.
I fönstret Lägg till postuppsättning anger du följande värden:
Inställning Åtgärd Name Ange @. Typ Välj A-adresspost. TTL Behåll standardvärdena. TTL-enhet Behåll standardvärdena. IP-adress Ange egenskapen staticIp för Container Apps Environment från föregående avsnitt. Välj OK för att skapa postuppsättningen.
Välj fönstret Länkar till virtuellt nätverk på menyn till vänster på sidan.
Välj +Lägg till för att skapa en ny länk med följande värden:
Inställning Åtgärd Länknamn Ange my-custom-vnet-pdns-link. Jag vet resurs-ID:t för det virtuella nätverket Lämna den avmarkerad. Virtuellt nätverk Välj det virtuella nätverk som containerappen är integrerad med. Aktivera automatisk registrering Lämna den avmarkerad. Välj OK för att skapa länken för det virtuella nätverket.
Skapa och konfigurera Azure Application Gateway
Fliken Grundläggande
Ange följande värden i avsnittet Projektinformation .
Inställning Åtgärd Prenumeration Välj din Azure-prenumerationen. Resursgrupp Välj resursgruppen för containerappen. Namn på programgateway Ange my-container-apps-agw. Region Välj den plats där containerappen etablerades. Nivå Välj WAF V2. Du kan använda Standard V2 om du inte behöver WAF. Aktivera autoskalning Lämna som standard. För produktionsmiljöer rekommenderas automatisk skalning. Se Autoskalning av Azure Application Gateway. Availability zone Välj Ingen. För produktionsmiljöer rekommenderas Tillgänglighetszoner för högre tillgänglighet. HTTP2 Behåll standardvärdet. WAF-princip Välj Skapa ny och ange my-waf-policy för WAF-principen. Välj OK. Om du väljer Standard V2 för nivån hoppar du över det här steget. Virtuellt nätverk Välj det virtuella nätverk som containerappen är integrerad med. Undernät Välj Hantera undernätskonfiguration. Om du redan har ett undernät som du vill använda använder du det i stället och går vidare till avsnittet Klientdelar. I fönstret Undernät i my-custom-vnet väljer du +Undernät och anger följande värden:
Inställning Åtgärd Name Ange appgateway-subnet. Adressintervall för undernätet Behåll standardvärdena. Behåll standardvärdena för resten av inställningarna.
Välj Spara för att skapa det nya undernätet.
Stäng fönstret Undernät för att återgå till fönstret Skapa programgateway .
Välj följande värden:
Inställning Åtgärd Undernät Välj det appgateway-undernät som du skapade. Välj Nästa: Klientdelar för att fortsätta.
Fliken Klientdelar
På fliken Klientdelar anger du följande värden:
Inställning Åtgärd Ip-adresstyp för klientdel Välj Offentlig. Offentlig IP-adress Välj Lägg till. Ange my-frontend som namn på klientdelen och välj OK Kommentar
För Application Gateway v2 SKU måste det finnas en offentlig klientdels-IP. Du kan ha både en offentlig och en privat IP-klientdels-IP-konfiguration, men en IP-konfiguration med endast privat klientdel utan offentlig IP-adress stöds för närvarande inte i V2-SKU:n. Mer information finns här.
Välj Nästa: Serverdelar.
Fliken Serverdelar
Serverdelspoolen används för att dirigera begäranden till lämpliga serverdelsservrar. Serverdelspooler kan bestå av valfri kombination av följande resurser:
- Nätverkskort
- Offentliga IP-adresser
- Interna IP-adresser
- Virtual Machine Scale Sets
- Fullständigt kvalificerade domännamn (FQDN)
- Serverdelar för flera klientorganisationer som Azure App Service och Container Apps
I det här exemplet skapar du en serverdelspool som riktar sig mot din containerapp.
Välj Lägg till en serverdelspool.
Öppna en ny flik och gå till containerappen.
I fönstret Översikt i containerappen letar du upp program-URL:en och kopierar den.
Gå tillbaka till fliken Serverdelar och ange följande värden i fönstret Lägg till en serverdelspool :
Inställning Åtgärd Name Ange my-agw-backend-pool. Lägga till serverdelspool utan mål Välj Nej. Måltyp Välj IP-adress eller FQDN. Mål Ange url: en för containerappprogrammet som du kopierade och ta bort prefixet https:// . Den här platsen är FQDN för din containerapp. Markera Lägga till.
På fliken Serverdelar väljer du Nästa: Konfiguration.
Konfigurationsflik
På fliken Konfiguration ansluter du klientdelen och serverdelspoolen som du skapade med hjälp av en routningsregel.
Välj Lägg till en routningsregel. Ange följande värden:
Inställning Åtgärd Name Ange my-agw-routing-rule. Prioritet Ange 1. Under fliken Lyssnare anger du följande värden:
Inställning Åtgärd Lyssnarnamn Ange my-agw-listener. Klientdels-IP Välj Offentlig. Protokoll Välj HTTPS. Om du inte har ett certifikat som du vill använda kan du välja HTTP Port Ange 443. Om du har valt HTTP för ditt protokoll anger du 80 och går vidare till standard-/anpassade domänavsnittet. Välj ett certifikat Välj Ladda upp ett certifikat. Om certifikatet lagras i nyckelvalvet kan du välja Välj ett certifikat från Key Vault. Certifikatnamn Ange ett namn på certifikatet. PFX-certifikatfil Välj ditt giltiga offentliga certifikat. Lösenord Ange certifikatlösenordet. Om du vill använda standarddomänen anger du följande värden:
Inställning Åtgärd Lyssnartyp Välj Basic Url för felsida Lämna som nej Du kan också ange följande värden om du vill använda en anpassad domän:
Inställning Åtgärd Lyssnartyp Välj Flera webbplatser Host type Välj enskild Värdnamn Ange den anpassade domän som du vill använda. Url för felsida Lämna som nej Välj fliken Serverdelsmål och ange följande värden:
Växla till fliken Serverdelsmål och ange följande värden:
Inställning Åtgärd Måltyp Välj my-agw-backend-pool som du skapade tidigare. Serverdelsinställningar Välj Lägg till. I fönstret Lägg till serverdelsinställning anger du följande värden:
Inställning Åtgärd Namn på serverdelsinställningar Ange my-agw-backend-setting. Serverdelsprotokoll Välj HTTPS. Serverdelsport Ange 443. Använda välkända CA-certifikat Välj Ja. Åsidosätt med nytt värdnamn Välj Ja. Åsidosättning av värdnamn Välj Välj värdnamn från serverdelsmålet. Skapa anpassade avsökningar Välj Nej. Välj Lägg till för att lägga till serverdelsinställningarna.
I fönstret Lägg till en routningsregel väljer du Lägg till igen.
Välj Nästa: Taggar.
Välj Nästa: Granska + skapa och välj sedan Skapa.
Lägga till en privat länk till din Application Gateway
Du kan upprätta en säker anslutning till miljöer med endast interna containerappar genom att använda en privat länk, eftersom det gör att Application Gateway kan kommunicera med containerappen på serverdelen via det virtuella nätverket.
När Application Gateway har skapats väljer du Gå till resurs.
På menyn till vänster väljer du Privat länk och sedan Lägg till.
Ange följande värden:
Inställning Åtgärd Name Ange my-agw-private-link. Undernät för privat länk Välj det undernät som du vill skapa den privata länken med. IP-konfiguration för klientdel Välj klientdelens IP-adress för din Application Gateway. Under Inställningar för privat IP-adress väljer du Lägg till.
Välj Lägg till längst ned i fönstret.
Verifiera containerappen
Leta reda på den offentliga IP-adressen för programgatewayen på sidan Översikt , eller så kan du söka efter adressen. Om du vill söka väljer du Alla resurser och anger my-container-apps-agw-pip i sökrutan. Välj sedan IP-adressen i sökresultatet.
Gå till den offentliga IP-adressen för programgatewayen.
Din begäran dirigeras automatiskt till containerappen, som verifierar att programgatewayen har skapats.
Rensa resurser
När du inte längre behöver de resurser som du skapade tar du bort resursgruppen. När du tar bort resursgruppen tar du också bort alla relaterade resurser.
Så här tar du bort resursgruppen:
På menyn Azure Portal väljer du Resursgrupper eller söker efter och väljer Resursgrupper.
På sidan Resursgrupper söker du efter och väljer my-container-apps.
Välj Ta bort resursgrupp på sidan Resursgrupp.
Ange my-container-apps under SKRIV RESURSGRUPPENS NAMN och välj sedan Ta bort