Delen via


Een aangepast virtueel netwerk migreren

Notitie

De Basic-, Standard- en Enterprise-abonnementen worden afgeschaft vanaf medio maart 2025, met een pensioenperiode van 3 jaar. We raden u aan om over te stappen naar Azure Container Apps. Zie de aankondiging over buitengebruikstelling van Azure Spring Apps voor meer informatie.

Het standaardverbruik en het speciale abonnement worden vanaf 30 september 2024 afgeschaft, met een volledige afsluiting na zes maanden. We raden u aan om over te stappen naar Azure Container Apps. Zie Azure Spring Apps Standard-verbruik en toegewezen abonnement migreren naar Azure Container Apps voor meer informatie.

Dit artikel is van toepassing op:✅ Basic/Standard ✅ Enterprise

In Azure Spring Apps kunt u uw toepassingen implementeren binnen een beheerd virtueel netwerk. Met deze instelling kunt u beveiligde communicatie tussen uw toepassingen en andere resources in uw virtuele netwerk mogelijk maken, zoals databases en andere services. Azure Container Apps biedt vergelijkbare functionaliteit, maar met enkele verschillen. In dit artikel worden deze verschillen besproken en vindt u richtlijnen voor het maken en beheren van Azure Container Apps-omgevingen met beheerde virtuele netwerken.

Vereisten

Een Azure Container Apps-omgeving maken met een virtueel netwerk

In Azure Spring Apps moet u twee subnetten in een virtueel netwerk configureren: een voor de systeemruntime en een andere voor de gebruikers-app. Deze installatie zorgt voor isolatie en beveiliging voor zowel de systeemonderdelen als de gebruikerstoepassingen. Aan de andere kant vereenvoudigt Azure Container Apps de netwerkconfiguratie door slechts één subnet voor infrastructuur binnen een virtueel netwerk te vereisen.

In Azure Container Apps is het virtuele infrastructuurnetwerk geïsoleerd van het virtuele netwerk van de klant, waardoor de service niet meer hoeft te worden verleend aan het virtuele netwerk, zoals vereist in Azure Spring Apps. Er worden twee soorten omgevingen ondersteund. Zie de sectie Typen van Azure Container Apps-omgevingen voor meer informatie. Wanneer u de omgeving workloadprofielen gebruikt, moet u het virtuele netwerk bijwerken om het subnet te delegeren aan Microsoft.App/environments. Zie de sectie Een omgeving maken van Een virtueel netwerk bieden aan een Azure Container Apps-omgeving voor meer informatie.

Daarnaast verschillen de vereisten voor kleinere subnetbereiken tussen de twee services.

Als u een Azure Container Apps-omgeving met een virtueel netwerk wilt maken, gebruikt u de volgende Azure CLI-opdracht:

az containerapp env create \
    --resource-group $RESOURCE_GROUP \
    --name $ENVIRONMENT \
    --location "$LOCATION" \
    --internal-only true \
    --infrastructure-subnet-resource-id "$INFRASTRUCTURE_SUBNET"

De variabele $INFRASTRUCTURE_SUBNET is de resource-id van een subnet in het virtuele netwerk van de klant. Dit is voor infrastructuuronderdelen en app-containers voor gebruikers. Zie de sectie Een omgeving maken van Een virtueel netwerk bieden aan een Azure Container Apps-omgeving voor meer informatie.

Als u een virtueel netwerk van een klant in Azure Container Apps wilt gebruiken, betekent dit niet dat uw container-app geen openbare aanvragen kan accepteren. Als u alleen de toegang tot het virtuele netwerk van de klant volledig wilt beperken, moet u de --internal-only parameter instellen op true. Deze instelling zorgt ervoor dat er geen openbare eindpunten worden gemaakt. Zie de sectie Virtueel IP-adres van netwerken in de Azure Container Apps-omgeving en geef een virtueel netwerk op voor een interne Azure Container Apps-omgeving.

App migreren naar Azure Container Apps

Nadat u een Azure Container Apps-omgeving hebt gemaakt, is de volgende stap het migreren van uw app naar Azure Container Apps. Zie Concepttoewijzing voor meer informatie. Als u elke Azure Container App wilt migreren, raadpleegt u Overzicht van toepassingsmigratie en selecteert u een containerinstallatiekopieën of een artefact voor het migratieproces.

Instelling voor inkomend verkeer wijzigen

Azure Container Apps biedt meer opties voor het aanpassen van toegangsbeheerobjectinstellingen in vergelijking met Azure Spring Apps. Zie De configuratie voor inkomend verkeer aanpassen in Azure Spring Apps voor meer informatie.

In de volgende tabel worden de configuratie-eigenschappen tussen de twee services toegewezen:

Functie Azure Spring Apps Azure Container Apps
Sessieaffiniteit ingressSettings.sessionAffinity ingress.stickySessions.affinity
Maximale leeftijd van sessiecookies ingressSettings.sessionCookieMaxAge EasyAuthConfig.login.cookieExpiration.timeToExpiration
Back-endprotocol ingressSettings.backendProtocol ingress.transport
Clientauthenticatie ingressSettings.clientAuth ingress.clientCertificateMode
Time-out voor inkomend verkeer ingressSettings.readTimeoutInSeconds 240
Time-out voor inkomend verkeer verzenden ingressSettings.sendTimeoutInSeconds 240

Met Azure Container Apps kunnen gebruikers geen aangepaste time-outwaarde opgeven. In plaats daarvan wordt een ingebouwde time-out voor aanvragen afgedwongen voor HTTP-aanvragen, die is beperkt tot 240 seconden. Dus als een aanvraag deze duur overschrijdt, wordt de verbinding automatisch beëindigd om efficiënt resourcebeheer te garanderen en te voorkomen dat langlopende aanvragen het systeem in beslag kunnen maken.

Azure Container Apps biedt geen rechtstreekse ondersteuning voor een session-max-age configuratie-item. U kunt echter sessieduur en gedrag beheren via andere gerelateerde instellingen. U kunt bijvoorbeeld de cookieExpiration-instelling in de EasyAuth configuratie gebruiken om te bepalen hoelang een verificatiesessie duurt. Met deze instelling kunt u de duur opgeven waarvoor de verificatiecooky geldig blijft.

Zie Inkomend verkeer in Azure Container Apps voor meer informatie over de instellingen voor inkomend verkeer van Azure Container Apps.

Zowel Azure Spring Apps als Azure Container Apps bieden manieren om openbaar toegankelijke eindpunten te genereren. In Azure Spring Apps heeft elke implementatie een unieke URL voor testdoeleinden tijdens blauwgroene implementaties. Op dezelfde manier biedt een revisielabel in Azure Container Apps een unieke URL die u kunt gebruiken om verkeer te routeren naar de specifieke revisie waaraan het label is toegewezen. Zie de sectie Labels van Update en implementeer wijzigingen in Azure Container Apps voor meer informatie.

In Azure Spring Apps test het systeem automatisch de poort 1025 voor toepassingen op het Basic/Standard-plan en de poort 8080 voor toepassingen in het Enterprise-abonnement. Met deze tests kunt u bepalen of de toepassingscontainer gereed is om verkeer te accepteren. Aan de andere kant biedt Azure Container Apps meer flexibiliteit door gebruikers in staat te stellen de testpoort zelf op te geven met behulp van de --target-port parameter. Deze instelling geeft gebruikers meer controle over de configuratie en het gedrag van hun toepassing.

Als u de doelpoort van inkomend verkeer voor een container-app wilt bijwerken, kunt u de volgende Azure CLI-opdracht gebruiken:

az containerapp ingress update \
    --resource-group <resource-group> \
    --name <app-name> \
    --target-port <target-port>

In de volgende lijst wordt elke parameter uitgelegd:

  • --name: de naam van uw container-app.
  • --resource-group: de resourcegroep met uw container-app.
  • --target-port: De poort waarop uw container-app luistert.

Zie de sectie Inkomend verkeer inschakelen voor uw app in Azure Container Apps voor meer informatie.

Instelling voor uitgaand verkeer wijzigen (UDR)

Zowel Azure Spring Apps als Azure Container Apps bieden manieren om uitgaand verkeer te beheren via de functie Bring Your Own Route Table - Door de gebruiker gedefinieerde routes (UDR) met Azure Firewall. Let echter op de volgende verschillen:

  • U hoeft geen roltoewijzing toe te voegen voor een Azure Container Apps-resourceprovider.
  • Er is geen toegewezen subnet vereist voor het runtime-subnet van de Azure Container Apps-service.
  • Azure Container Apps biedt een flexibelere manier om UDR te ondersteunen. In Azure Container Apps hoeft u de optie --outbound-typeuserDefinedRouting niet expliciet in te stellen bij het inrichten van Azure Spring Apps.

Zie de sectie Routes van de subnetconfiguratie met CLI en Uitgaand verkeer beheren in Azure Container Apps met door de gebruiker gedefinieerde routes voor meer informatie.

In Azure Container Apps ondersteunen alleen workloadprofielen van het omgevingstype UDR. Daarnaast biedt Azure Container Apps ondersteuning voor uitgaand verkeer via NAT Gateway en het maken van privé-eindpunten in de container-app-omgeving.

Gebruik de volgende opdracht om een Azure Container Apps-omgeving te maken die UDR ondersteunt:

az containerapp env create \
    --resource-group $RESOURCE_GROUP \
    --name $ENVIRONMENT \
    --location "$LOCATION" \
    --enable-workload-profiles \
    --infrastructure-subnet-resource-id "$INFRASTRUCTURE_SUBNET"

Stel de parameter in --enable-workload-profiles om true workloadprofielen in te schakelen.

Virtuele netwerken beveiligen met netwerkbeveiligingsgroepen

Zowel Azure Spring Apps als Azure Container Apps bieden robuuste ondersteuning, zodat u uitgaand verkeer effectief kunt beheren en beveiligen met behulp van netwerkbeveiligingsgroepen (NSG). De belangrijkste verschillen liggen in de specifieke configuraties.

Zie Een aangepast VNET beveiligen in Azure Container Apps met netwerkbeveiligingsgroepen voor meer informatie.

DNS-instellingen wijzigen

Zowel Azure Spring Apps als Azure Container Apps ondersteunen het gebruik van aangepaste DNS-servers in een virtueel netwerk van een klant. U wordt aangeraden Azure DNS IP 168.63.129.16 toe te voegen als de upstream DNS-server in de aangepaste DNS-server.

Zie de sectie DNS van Netwerken in de Azure Container Apps-omgeving voor meer informatie.

Op dit moment biedt Azure Container Apps in een omgevingstype alleen-verbruik geen ondersteuning voor het leegmaken van DNS-instellingen, zoals Azure Spring Apps wel doet. Zie Dns-instellingen leegmaken in Azure Spring Apps voor meer informatie. Het workloadprofieltype van de omgeving vernieuwt echter elke 5 minuten automatisch DNS-instellingen.

Azure Container Apps ondersteunt implementatie met een privé-DNS-zone. Zie de sectie Implementeren met een privé-DNS van Een virtueel netwerk opgeven in een Azure Container Apps-omgeving voor meer informatie. Deze benadering biedt een flexibelere manier om het koppelen van een privé-DNS-zone te ondersteunen dan het gebruik van Azure Spring Apps. Zie de sectie De privé-DNS-zone koppelen met azure Spring Apps van Access in Azure Spring Apps in een virtueel netwerk voor meer informatie.

Toegang krijgen tot een app in Azure Container Apps binnen een virtueel netwerk van een klant

Azure Container Apps biedt zowel openbare netwerktoegang als privé-eindpuntfuncties om toepassingen beschikbaar te maken op internet of om ze binnen een particulier netwerk te beveiligen. Op dezelfde manier biedt Azure Spring Apps ondersteuning voor deze functies, zoals beschreven in de volgende artikelen: