Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I den här artikeln får du lära dig hur du ansluter direkt från Azure Front Door till dina Azure Container Apps med hjälp av en privat länk i stället för det offentliga Internet. I den här självstudien skapar du en Azure Container Apps-arbetsbelastningsprofilmiljö, en Azure Front Door och ansluter dem säkert via en privat länk. Sedan kontrollerar du anslutningen mellan containerappen och Azure Front Door.
Viktigt!
Det finns ytterligare avgifter för att aktivera privata slutpunkter i både dedikerade och förbrukningsabonnemang.
Förutsättningar
Azure-konto med en aktiv prenumeration.
- Om du inte har någon sådan nu kan du skapa en kostnadsfritt.
Den här funktionen stöds endast för arbetsbelastningsprofilmiljöer.
Kontrollera att
Microsoft.Cdnresursprovidern är registrerad för din prenumeration.- Börja med att logga in på Azure-portalen.
- Bläddra till prenumerationssidan och välj Inställningar>Resursprovidrar.
- Välj Microsoft.Cdn i providerlistan.
- Välj Registrera.
Skapa en containerapp
Skapa en resursgrupp för att organisera de tjänster som är relaterade till distributionen av containerappen.
Sök efter Container Apps i det övre sökfältet.
Välj Container Apps i sökresultatet.
Välj knappen Skapa.
Gör följande på fliken Grundläggande på sidan Skapa containerapp.
Inställning Åtgärd Prenumeration Välj din Azure-prenumeration. Resursgrupp Välj länken Skapa ny resursgrupp och ange my-container-apps. Namn på containerapp Ange my-container-app. Distributionskälla Välj Containeravbildning. Region Välj Centrala USA. I fältet Skapa Container Apps-miljö väljer du länken Skapa ny miljö .
På sidan Skapa Container Apps-miljö på fliken Grundläggande anger du följande värden:
Inställning Värde Miljönamn Ange min miljö. Zon-redundans Välj Inaktiverad Välj fliken Nätverk.
Ange Åtkomst till offentligt nätverk till Inaktivera: Blockera all inkommande trafik från det offentliga Internet.
Lämna Använd ditt eget virtuella nätverk inställt på Nej.
Låt Aktivera privata slutpunkter vara inställt på Nej.
Välj Skapa.
På sidan Skapa containerapp väljer du fliken Container .
Välj Använd snabbstartsbild.
Kommentar
Snabbstartsbilden aktiverar ingång automatiskt. Om du inte använder snabbstartsbilden kontrollerar du att du aktiverar ingress. Detta gör att containerappen kan ta emot trafik från Azure Front Door via den privata slutpunkten.
Distribuera containerappen
Välj Granska och skapa längst ned på sidan.
Om inga fel hittas är knappen Skapa aktiverad.
Om det finns fel markeras alla flikar som innehåller fel med en röd punkt. Gå till lämplig flik. Fält som innehåller ett fel är markerade i rött. När alla fel har åtgärdats väljer du Granska och skapa igen.
Välj Skapa.
En sida med meddelandet Distribution pågår visas. När distributionen har slutförts visas meddelandet: Distributionen är klar.
Verifiera driftsättningen
Välj Gå till resurs för att visa din nya containerapp.
Välj länken bredvid program-URL:en för att visa ditt program.
När du bläddrar till slutpunkten för containerappen visas följande meddelande:
The public network access on this managed environment is disabled. To connect to this managed environment, please use the Private Endpoint from inside your virtual network. To learn more https://aka.ms/PrivateEndpointTroubleshooting.I stället använder du en Azure Front Door-slutpunkt för att komma åt din containerapp.
Skapa en Azure Front Door-profil och slutpunkt
Sök efter Front Door i det övre sökfältet.
Välj Front Door- och CDN-profiler i sökresultaten.
Välj Azure Front Door och Snabbskapa.
Välj knappen Fortsätt för att skapa en frontdörr .
På sidan Skapa en Front Door-profil gör du följande på fliken Grundläggande inställningar.
Inställning Åtgärder Resursgrupp Välj my-container-apps. Namn Ange my-afd-profile. Nivå Välj Premium. Privat länk stöds inte för ursprung för Azure Front Door på standardnivån. Slutpunktsnamn Ange my-afd-endpoint. Ursprungstyp Välj ContainerAppar. Ursprungligt värdnamn Ange värdnamnet för containerappen. Värdnamnet ser ut som i följande exempel: my-container-app.orangeplant-77e5875b.centralus.azurecontainerapps.io.Aktivera privat länktjänst Aktivera den här inställningen. Region Välj (USA) USA, centrala. Delresurs för målobjekt Välj managedEnvironments. Begärandemeddelande Ange AFD Private Link-begäran. Välj Förhandsgranska + skapa.
Välj Skapa.
När distributionen är klar väljer du Gå till resurs.
På översiktssidan för Front Door- och CDN-profil hittar du slutpunktens värdnamn. Det ser ut som i följande exempel. Anteckna det här värdnamnet.
my-afd-endpoint.<HASH>.b01.azurefd.net
Godkänn anslutningsbegäran för privat slutpunkt
Bläddra till översiktssidan för miljön med namnet my-environment som du skapade tidigare.
Expandera Inställningar>Nätverk.
Du ser en länk för begäranden om privat slutpunktsanslutning. Till exempel
1 private endpoint. Välj den här länken.På sidan Privata slutpunktsanslutningar godkänner du varje begäran om privat slutpunktsanslutning med beskrivningen
AFD Private Link Request.Kommentar
Azure Front Door har ett känt problem där det kan skapa flera privata slutpunktsanslutningsbegäranden.
Få åtkomst till din containerapp från Azure Front Door
Bläddra till värdnamnet för Azure Front Door-slutpunkten som du registrerade tidigare. Du ser utdata för avbildningen av snabbstartscontainerappen. Global distribution kan ta några minuter att distribuera, så om du inte ser förväntade utdata väntar du några minuter och uppdaterar sedan.
Rensa resurser
Om du inte kommer att fortsätta att använda det här programmet kan du ta bort containerappen och alla associerade tjänster genom att ta bort resursgruppen.
Välj resursgruppen my-container-apps i avsnittet Översikt.
Välj knappen Ta bort resursgrupp överst i resursgruppen Översikt.
Ange resursgruppens namn my-container-apps i bekräftelsedialogrutan Är du säker på att du vill ta bort bekräftelsedialogrutan "my-container-apps" .
Välj Ta bort.
Det kan ta några minuter att ta bort resursgruppen.
Förutsättningar
Azure-konto med en aktiv prenumeration.
- Om du inte har någon sådan nu kan du skapa en kostnadsfritt.
Kör följande kommando för att säkerställa att du kör den senaste versionen av Azure CLI.
az upgradeDen senaste versionen av Azure Container Apps-tillägget för Azure CLI. Kör följande kommando för att säkerställa att du kör den senaste versionen.
az extension add --name containerapp --upgrade --allow-preview trueKommentar
Från och med maj 2024 aktiverar Azure CLI-tillägg inte längre förhandsversionsfunktioner som standard. Om du vill komma åt förhandsversionsfunktioner för Container Apps installerar du containerapptillägget med
--allow-preview true.Den här funktionen stöds endast för arbetsbelastningsprofilmiljöer.
Den här funktionen är endast tillgänglig i regioner som stöds.
Mer information om förutsättningar och konfiguration finns i Snabbstart: Distribuera din första containerapp med containerapp up.
Ange miljövariabler
Ange följande miljövariabler.
RESOURCE_GROUP="my-container-apps"
LOCATION="centralus"
ENVIRONMENT_NAME="my-environment"
CONTAINERAPP_NAME="my-container-app"
AFD_PROFILE="my-afd-profile"
AFD_ENDPOINT="my-afd-endpoint"
AFD_ORIGIN_GROUP="my-afd-origin-group"
AFD_ORIGIN="my-afd-origin"
AFD_ROUTE="my-afd-route"
Skapa en Azure-resursgrupp
Skapa en resursgrupp för att organisera de tjänster som är relaterade till distributionen av containerappen.
az group create \
--name $RESOURCE_GROUP \
--location $LOCATION
Skapa en miljö
Skapa Container Apps-miljön.
az containerapp env create \ --name $ENVIRONMENT_NAME \ --resource-group $RESOURCE_GROUP \ --location $LOCATIONHämta miljö-ID:t. Du använder det här ID:t för att konfigurera miljön.
ENVIRONMENT_ID=$(az containerapp env show \ --resource-group $RESOURCE_GROUP \ --name $ENVIRONMENT_NAME \ --query "id" \ --output tsv)Inaktivera offentlig nätverksåtkomst för miljön.
az containerapp env update \ --id $ENVIRONMENT_ID \ --public-network-access Disabled
Distribuera en containerapp
Kör följande kommando för att distribuera en containerapp i din miljö.
az containerapp up \ --name $CONTAINERAPP_NAME \ --resource-group $RESOURCE_GROUP \ --location $LOCATION \ --environment $ENVIRONMENT_NAME \ --image mcr.microsoft.com/k8se/quickstart:latest \ --target-port 80 \ --ingress external \ --query properties.configuration.ingress.fqdnHämta slutpunkten för containerappen.
ACA_ENDPOINT=$(az containerapp show \ --name $CONTAINERAPP_NAME \ --resource-group $RESOURCE_GROUP \ --query properties.configuration.ingress.fqdn \ --output tsv)När du navigerar till slutpunkten för containerappen får du
ERR_CONNECTION_CLOSEDeftersom containerappmiljön har offentlig åtkomst inaktiverad. I stället använder du en AFD-slutpunkt för att komma åt din containerapp.
Skapa en Azure Front Door-profil
Kontrollera att
Microsoft.Cdnresursprovidern är registrerad för din prenumeration.az provider register --namespace Microsoft.CdnSkapa en AFD-profil. Privat länk stöds inte för ursprung i en AFD-profil med SKU
Standard_AzureFrontDoor.
az afd profile create \
--profile-name $AFD_PROFILE \
--resource-group $RESOURCE_GROUP \
--sku Premium_AzureFrontDoor
Skapa en Azure Front Door-slutpunkt
Lägg till en slutpunkt i din AFD-profil.
az afd endpoint create \
--resource-group $RESOURCE_GROUP \
--endpoint-name $AFD_ENDPOINT \
--profile-name $AFD_PROFILE \
--enabled-state Enabled
Skapa en Azure Front Door-ursprungsgrupp
Skapa en AFD-ursprungsgrupp.
az afd origin-group create \
--resource-group $RESOURCE_GROUP \
--origin-group-name $AFD_ORIGIN_GROUP \
--profile-name $AFD_PROFILE \
--probe-request-type GET \
--probe-protocol Http \
--probe-interval-in-seconds 60 \
--probe-path / \
--sample-size 4 \
--successful-samples-required 3 \
--additional-latency-in-milliseconds 50
Skapa ett Azure Front Door-ursprung
Lägg till ett AFD-ursprung i din ursprungsgrupp.
az afd origin create \
--resource-group $RESOURCE_GROUP \
--origin-group-name $AFD_ORIGIN_GROUP \
--origin-name $AFD_ORIGIN \
--profile-name $AFD_PROFILE \
--host-name $ACA_ENDPOINT \
--origin-host-header $ACA_ENDPOINT \
--priority 1 \
--weight 500 \
--enable-private-link true \
--private-link-location $LOCATION \
--private-link-request-message "AFD Private Link Request" \
--private-link-resource $ENVIRONMENT_ID \
--private-link-sub-resource-type managedEnvironments
Lista privata slutpunktsanslutningar
Kör följande kommando för att visa en lista över privata slutpunktsanslutningar för din miljö.
az network private-endpoint-connection list \ --name $ENVIRONMENT_NAME \ --resource-group $RESOURCE_GROUP \ --type Microsoft.App/managedEnvironmentsRegistrera resurs-ID för privat slutpunktsanslutning från svaret. Den privata slutpunktsanslutningen har värdet
properties.privateLinkServiceConnectionState.descriptionAFD Private Link Request. Resurs-ID för privat slutpunktsanslutning ser ut så här./subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.App/managedEnvironments/my-environment/privateEndpointConnections/<PRIVATE_ENDPOINT_CONNECTION_ID>Förväxla inte det här ID:t med det privata slutpunkts-ID:t, som ser ut så här.
/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/eafd-Prod-centralus/providers/Microsoft.Network/privateEndpoints/<PRIVATE_ENDPOINT_ID>
Godkänna den privata slutpunktsanslutningen
Kör följande kommando för att godkänna anslutningen. <Ersätt PLACEHOLDER> med resurs-ID för privat slutpunktsanslutning som du registrerade i föregående avsnitt.
az network private-endpoint-connection approve --id <PRIVATE_ENDPOINT_CONNECTION_RESOURCE_ID>
Lägg till en väg
Kör följande kommando för att mappa slutpunkten som du skapade tidigare till ursprungsgruppen. Privata slutpunkter i Azure Container Apps stöder endast inkommande HTTP-trafik. TCP-trafik stöds inte.
az afd route create \
--resource-group $RESOURCE_GROUP \
--profile-name $AFD_PROFILE \
--endpoint-name $AFD_ENDPOINT \
--forwarding-protocol MatchRequest \
--route-name $AFD_ROUTE \
--https-redirect Enabled \
--origin-group $AFD_ORIGIN_GROUP \
--supported-protocols Http Https \
--link-to-default-domain Enabled
Få åtkomst till din containerapp från Azure Front Door
Hämta värdnamnet för AFD-slutpunkten.
az afd endpoint show \ --resource-group $RESOURCE_GROUP \ --profile-name $AFD_PROFILE \ --endpoint-name $AFD_ENDPOINT \ --query hostName \ --output tsvVärdnamnet ser ut som i följande exempel.
my-afd-endpoint.<HASH>.b01.azurefd.netBläddra till värdnamnet. Du ser utdata för avbildningen av snabbstartscontainerappen.
Om du inte ser förväntade utdata först väntar du några minuter och uppdaterar sedan.
Rensa resurser
Om du inte kommer att fortsätta att använda det här programmet kan du ta bort resursgruppen my-container-apps . Den här åtgärden tar bort Azure Container Apps-instansen och alla associerade tjänster. Den tar också bort den resursgrupp som Container Apps-tjänsten skapade automatiskt och som innehåller de anpassade nätverkskomponenterna.
Varning
Följande kommando tar bort den angivna resursgruppen och alla resurser som ingår i den. Om det finns resurser utanför omfånget för den här guiden i den angivna resursgruppen tas de också bort.
az group delete --name $RESOURCE_GROUP
Tips/Råd
Har du problem? Meddela oss på GitHub genom att öppna ett problem i Azure Container Apps-lagringsplatsen.