Migrace vlastní virtuální sítě
Poznámka:
Plány Basic, Standard a Enterprise budou od poloviny března 2025 vyřazeny ze 3letého období vyřazení. Doporučujeme přejít na Azure Container Apps. Další informace najdete v oznámení o vyřazení Azure Spring Apps.
Od 30. září 2024 bude od 30. září 2024 zastaralý plán s úplným vypnutím po šesti měsících. Doporučujeme přejít na Azure Container Apps. Další informace najdete v tématu Migrace spotřeby Azure Spring Apps Úrovně Standard a vyhrazeného plánu do Azure Container Apps.
Tento článek se vztahuje na:✅ Basic/Standard ✅ Enterprise
V Azure Spring Apps můžete své aplikace nasadit v rámci spravované virtuální sítě. Toto nastavení umožňuje zabezpečenou komunikaci mezi vašimi aplikacemi a dalšími prostředky ve vaší virtuální síti, jako jsou databáze a další služby. Azure Container Apps nabízí podobné funkce, ale s některými rozdíly. Tento článek popisuje tyto rozdíly a poskytuje pokyny k vytváření a správě prostředí Azure Container Apps se spravovanými virtuálními sítěmi.
Požadavky
- Aktivní předplatné Azure. Pokud ho nemáte, můžete si vytvořit bezplatný účet Azure.
- Rozhraní příkazového řádku Azure.
Vytvoření prostředí Azure Container Apps s virtuální sítí
V Azure Spring Apps musíte ve virtuální síti nakonfigurovat dvě podsítě: jednu pro modul runtime systému a druhou pro uživatelskou aplikaci. Toto nastavení zajišťuje izolaci a zabezpečení pro systémové komponenty i uživatelské aplikace. Azure Container Apps na druhou stranu zjednodušuje konfiguraci sítě tím, že vyžaduje pouze jednu podsíť pro infrastrukturu v rámci virtuální sítě.
V Azure Container Apps je virtuální síť infrastruktury izolovaná od virtuální sítě zákazníka a eliminuje nutnost udělit službě oprávnění k virtuální síti podle potřeby v Azure Spring Apps. Existují dva typy podporovaných prostředí. Další informace najdete v části Typy prostředí Azure Container Apps. Při použití prostředí profilů úloh musíte aktualizovat virtuální síť tak, aby delegování podsítě na Microsoft.App/environments
. Další informace najdete v části Vytvoření prostředí pro poskytnutí virtuální sítě prostředí Azure Container Apps.
Požadavky na menší rozsahy podsítí se také mezi těmito dvěma službami liší.
Pokud chcete vytvořit prostředí Azure Container Apps s virtuální sítí, použijte následující příkaz Azure CLI:
az containerapp env create \
--resource-group $RESOURCE_GROUP \
--name $ENVIRONMENT \
--location "$LOCATION" \
--internal-only true \
--infrastructure-subnet-resource-id "$INFRASTRUCTURE_SUBNET"
Proměnná $INFRASTRUCTURE_SUBNET
je ID prostředku podsítě ve virtuální síti zákazníka, což je pro komponenty infrastruktury a kontejnery uživatelských aplikací. Další informace najdete v části Vytvoření prostředí pro poskytnutí virtuální sítě prostředí Azure Container Apps.
Volba použití virtuální sítě zákazníka v Azure Container Apps neznamená, že vaše aplikace kontejneru nemůže přijímat veřejné žádosti. Pokud chcete přístup k virtuální síti zákazníka zcela omezit, musíte parametr nastavit --internal-only
na true
hodnotu . Toto nastavení zajišťuje, aby se nevytvořily žádné veřejné koncové body. Další informace najdete v části Virtuální IP adresa sítě v prostředí Azure Container Apps a poskytnutí virtuální sítě internímu prostředí Azure Container Apps.
Migrace aplikace do Azure Container Apps
Po vytvoření prostředí Azure Container Apps je dalším krokem migrace aplikace do Azure Container Apps. Další informace naleznete v tématu Mapování konceptu. Pokud chcete migrovat každou aplikaci kontejneru Azure, podívejte se na přehled migrace aplikací a vyberte image kontejneru nebo artefakt pro proces migrace.
Změna nastavení příchozího přenosu dat
Azure Container Apps nabízí další možnosti přizpůsobení nastavení příchozího přenosu dat v porovnání s Azure Spring Apps. Další informace najdete v tématu Přizpůsobení konfigurace příchozího přenosu dat v Azure Spring Apps.
Následující tabulka mapuje vlastnosti konfigurace mezi těmito dvěma službami:
Funkce | Azure Spring Apps | Azure Container Apps |
---|---|---|
Spřažení relací | ingressSettings.sessionAffinity |
ingress.stickySessions.affinity |
Maximální stáří souboru cookie relace | ingressSettings.sessionCookieMaxAge |
EasyAuthConfig.login.cookieExpiration.timeToExpiration |
Protokol back-endu | ingressSettings.backendProtocol |
ingress.transport |
Ověření klienta | ingressSettings.clientAuth |
ingress.clientCertificateMode |
Časový limit čtení příchozího přenosu dat | ingressSettings.readTimeoutInSeconds |
240 |
Vypršení časového limitu odesílání příchozího přenosu dat | ingressSettings.sendTimeoutInSeconds |
240 |
Azure Container Apps neumožňuje uživatelům zadat vlastní hodnotu časového limitu. Místo toho vynucuje předdefinovaný časový limit požadavku pro požadavky HTTP, který je omezený na 240 sekund. Pokud tedy požadavek překročí tuto dobu, připojení se automaticky ukončí, aby se zajistila efektivní správa prostředků a zabránila dlouhotrvajícím požadavkům v monopolizaci systému.
Azure Container Apps přímo nepodporuje session-max-age
položku konfigurace. Dobu trvání relace a chování ale můžete spravovat prostřednictvím dalších souvisejících nastavení. Můžete například použít nastavení cookieExpiration v EasyAuth
konfiguraci k řízení, jak dlouho relace ověřování trvá. Toto nastavení umožňuje zadat dobu, po kterou ověřovací soubor cookie zůstane platný.
Další informace o nastavení příchozího přenosu dat poskytovaných službou Azure Container Apps najdete v tématu Příchozí přenos dat v Azure Container Apps.
Azure Spring Apps i Azure Container Apps nabízejí způsoby generování veřejně přístupných koncových bodů. V Azure Spring Apps má každé nasazení jedinečnou adresu URL pro účely testování během modrých zelených nasazení. Podobně v Azure Container Apps poskytuje popisek revize jedinečnou adresu URL, kterou můžete použít ke směrování provozu na konkrétní revizi, ke které je popisek přiřazen. Další informace najdete v části Popisky aktualizace a nasazení změn v Azure Container Apps.
V Azure Spring Apps systém automaticky testuje port 1025
pro aplikace v plánu Basic/Standard a portu 8080
pro aplikace v plánu Enterprise. Tyto sondy pomáhají určit, jestli je kontejner aplikace připravený přijímat provoz. Azure Container Apps na druhou stranu nabízí větší flexibilitu tím, že uživatelům umožní určit port sondy sami pomocí parametru --target-port
. Toto nastavení uživatelům dává větší kontrolu nad konfigurací a chováním aplikace.
Pokud chcete aktualizovat cílový port příchozího přenosu dat pro aplikaci kontejneru, můžete použít následující příkaz Azure CLI:
az containerapp ingress update \
--resource-group <resource-group> \
--name <app-name> \
--target-port <target-port>
Jednotlivé parametry jsou vysvětleny v následujícím seznamu:
-
--name
: Název vaší aplikace kontejneru. -
--resource-group
: Skupina prostředků obsahující vaši aplikaci typu kontejner. -
--target-port
: Port, na kterém vaše aplikace kontejneru naslouchá.
Další informace najdete v části Povolení příchozího přenosu dat konfigurace příchozího přenosu dat pro vaši aplikaci v Azure Container Apps.
Změna nastavení výchozího přenosu dat (UDR)
Azure Spring Apps i Azure Container Apps nabízejí způsoby, jak řídit odchozí provoz prostřednictvím funkce přineste si vlastní směrovací tabulku – trasy definované uživatelem (UDR) pomocí služby Azure Firewall. Poznamenejte si však následující rozdíly:
- Není potřeba přidávat přiřazení role pro poskytovatele prostředků Azure Container Apps.
- Vyhrazená podsíť pro podsíť modulu runtime služby Azure Container Apps není nutná.
- Azure Container Apps nabízí flexibilnější způsob, jak podporovat trasy definované uživatelem. V Azure Container Apps není nutné explicitně nastavit možnost
--outbound-type
userDefinedRouting
zřizování Azure Spring Apps.
Další informace najdete v části Trasy konfigurace podsítě pomocí rozhraní příkazového řádku a řízení odchozího provozu v Azure Container Apps s trasami definovanými uživatelem.
V Azure Container Apps podporují trasu definovanou uživatelem pouze profily úloh typu prostředí . Kromě toho Služba Azure Container Apps podporuje výchozí přenos dat prostřednictvím služby NAT Gateway a vytváření privátních koncových bodů v prostředí kontejnerové aplikace.
Pokud chcete vytvořit prostředí Azure Container Apps, které podporuje trasu definovanou uživatelem, použijte následující příkaz:
az containerapp env create \
--resource-group $RESOURCE_GROUP \
--name $ENVIRONMENT \
--location "$LOCATION" \
--enable-workload-profiles \
--infrastructure-subnet-resource-id "$INFRASTRUCTURE_SUBNET"
Nastavte parametr --enable-workload-profiles
tak, aby true
povolil profily úloh.
Zabezpečení virtuálních sítí pomocí skupin zabezpečení sítě
Azure Spring Apps i Azure Container Apps nabízejí robustní podporu, která umožňuje efektivně spravovat a zabezpečit odchozí provoz pomocí skupin zabezpečení sítě (NSG). Hlavní rozdíly jsou v konkrétních konfiguracích.
Další informace najdete v tématu Zabezpečení vlastní virtuální sítě v Azure Container Apps pomocí skupin zabezpečení sítě.
Změna nastavení DNS
Azure Spring Apps i Azure Container Apps podporují použití vlastních serverů DNS ve virtuální síti zákazníka. Doporučujeme přidat IP adresu 168.63.129.16
Azure DNS jako nadřazený server DNS na vlastním serveru DNS.
Další informace najdete v oddílu DNS sítě v prostředí Azure Container Apps.
Azure Container Apps v prostředí jen pro spotřebu v současné době nepodporuje vyprázdnění nastavení DNS, protože Azure Spring Apps provádí. Další informace najdete v tématu Vyprázdnění změn nastavení DNS v Azure Spring Apps. Typ profilu úlohy prostředí ale každých 5 minut automaticky aktualizuje nastavení DNS.
Azure Container Apps podporuje nasazení s privátní zónou DNS. Další informace najdete v části Nasazení s privátním DNS v části Poskytnutí virtuální sítě do prostředí Azure Container Apps. Tento přístup nabízí flexibilnější způsob, jak podporovat propojení privátní zóny DNS než použití Azure Spring Apps. Další informace najdete v části Propojení privátní zóny DNS s částí Azure Spring Apps pro Přístup k aplikaci ve službě Azure Spring Apps ve virtuální síti.
Přístup k aplikaci v Azure Container Apps v rámci virtuální sítě zákazníka
Azure Container Apps poskytuje funkce veřejného přístupu k síti i privátního koncového bodu pro zveřejnění aplikací na internetu nebo jejich zabezpečení v rámci privátní sítě. Podobně Azure Spring Apps podporuje tyto funkce, jak je popsáno v následujících článcích: