Udostępnij za pośrednictwem


Migrowanie niestandardowej sieci wirtualnej

Uwaga

Plany Podstawowa, Standardowa i Enterprise zostaną wycofane od połowy marca 2025 r. z 3-letnim okresem emerytalnym. Zalecamy przejście do usługi Azure Container Apps. Aby uzyskać więcej informacji, zobacz ogłoszenie o wycofaniu usługi Azure Spring Apps.

Zużycie standardowe i dedykowany plan zostaną wycofane od 30 września 2024 r. z całkowitym zamknięciem po sześciu miesiącach. Zalecamy przejście do usługi Azure Container Apps. Aby uzyskać więcej informacji, zobacz Migrowanie użycia usługi Azure Spring Apps w warstwie Standardowa i dedykowanego planu do usługi Azure Container Apps.

Ten artykuł dotyczy:✅ Podstawowa/Standardowa ✅ Enterprise

W usłudze Azure Spring Apps można wdrażać aplikacje w zarządzanej sieci wirtualnej. Ta konfiguracja umożliwia bezpieczną komunikację między aplikacjami a innymi zasobami w sieci wirtualnej, takimi jak bazy danych i inne usługi. Usługa Azure Container Apps oferuje podobne funkcje, ale z pewnymi różnicami. W tym artykule omówiono te różnice i przedstawiono wskazówki dotyczące tworzenia środowisk usługi Azure Container Apps i zarządzania nimi za pomocą zarządzanych sieci wirtualnych.

Wymagania wstępne

Tworzenie środowiska usługi Azure Container Apps za pomocą sieci wirtualnej

W usłudze Azure Spring Apps należy skonfigurować dwie podsieci w sieci wirtualnej: jedną dla środowiska uruchomieniowego systemu, a drugą dla aplikacji użytkownika. Ta konfiguracja zapewnia izolację i bezpieczeństwo zarówno składników systemowych, jak i aplikacji użytkownika. Z drugiej strony usługa Azure Container Apps upraszcza konfigurację sieci, wymagając tylko jednej podsieci dla infrastruktury w sieci wirtualnej.

W usłudze Azure Container Apps sieć wirtualna infrastruktury jest odizolowana od sieci wirtualnej klienta, eliminując konieczność udzielenia uprawnień usługi do sieci wirtualnej zgodnie z wymaganiami w usłudze Azure Spring Apps. Obsługiwane są dwa typy środowisk. Aby uzyskać więcej informacji, zobacz sekcję Typy środowisk usługi Azure Container Apps. W przypadku korzystania ze środowiska profilów obciążeń należy zaktualizować sieć wirtualną, aby delegować podsieć do .Microsoft.App/environments Aby uzyskać więcej informacji, zobacz sekcję Tworzenie środowiska w temacie Zapewnianie sieci wirtualnej w środowisku usługi Azure Container Apps.

Ponadto wymagania dotyczące mniejszych zakresów podsieci różnią się między dwiema usługami.

Aby utworzyć środowisko usługi Azure Container Apps z siecią wirtualną, użyj następującego polecenia interfejsu wiersza polecenia platformy Azure:

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

Zmienna $INFRASTRUCTURE_SUBNET jest identyfikatorem zasobu podsieci w sieci wirtualnej klienta, która jest przeznaczony dla składników infrastruktury i kontenerów aplikacji użytkownika. Aby uzyskać więcej informacji, zobacz sekcję Tworzenie środowiska w temacie Zapewnianie sieci wirtualnej w środowisku usługi Azure Container Apps.

Wybranie opcji korzystania z sieci wirtualnej klienta w usłudze Azure Container Apps nie oznacza, że aplikacja kontenera nie może akceptować publicznych żądań. Jeśli chcesz całkowicie ograniczyć dostęp tylko do sieci wirtualnej klienta, musisz ustawić --internal-only parametr na truewartość . To ustawienie gwarantuje, że nie zostaną utworzone żadne publiczne punkty końcowe. Aby uzyskać więcej informacji, zobacz sekcję Virtual IP (Wirtualne adresy IP ) w temacie Networking in Azure Container Apps environment (Sieć wirtualna w środowisku usługi Azure Container Apps) i Provide a virtual network to an internal Azure Container Apps environment (Zapewnianie sieci wirtualnej w wewnętrznym środowisku usługi Azure Container Apps).

Migrowanie aplikacji do usługi Azure Container Apps

Po utworzeniu środowiska usługi Azure Container Apps następnym krokiem jest migracja aplikacji do usługi Azure Container Apps. Aby uzyskać więcej informacji, zobacz Mapowanie koncepcji. Aby przeprowadzić migrację każdej aplikacji kontenera platformy Azure, zobacz Omówienie migracji aplikacji i wybierz obraz kontenera lub artefakt procesu migracji.

Zmień ustawienie ruchu przychodzącego

Usługa Azure Container Apps oferuje więcej opcji dostosowywania ustawień ruchu przychodzącego w porównaniu z usługą Azure Spring Apps. Aby uzyskać więcej informacji, zobacz Dostosowywanie konfiguracji ruchu przychodzącego w usłudze Azure Spring Apps.

Poniższa tabela mapuje właściwości konfiguracji między dwiema usługami:

Funkcja Azure Spring Apps Azure Container Apps
Koligacja sesji ingressSettings.sessionAffinity ingress.stickySessions.affinity
Maksymalny wiek pliku cookie sesji ingressSettings.sessionCookieMaxAge EasyAuthConfig.login.cookieExpiration.timeToExpiration
Protokół zaplecza ingressSettings.backendProtocol ingress.transport
Uwierzytelnianie klienta ingressSettings.clientAuth ingress.clientCertificateMode
Limit czasu odczytu ruchu przychodzącego ingressSettings.readTimeoutInSeconds 240
Limit czasu wysyłania ruchu przychodzącego ingressSettings.sendTimeoutInSeconds 240

Usługa Azure Container Apps nie zezwala użytkownikom na określanie niestandardowej wartości limitu czasu. Zamiast tego wymusza wbudowany limit czasu żądania dla żądań HTTP, który jest ograniczony do 240 sekund. Dlatego jeśli żądanie przekroczy ten czas trwania, połączenie zostanie automatycznie przerwane, aby zapewnić efektywne zarządzanie zasobami i zapobiec długotrwałym żądaniom monopolizowania systemu.

Usługa Azure Container Apps nie obsługuje session-max-age bezpośrednio elementu konfiguracji. Można jednak zarządzać czasami trwania i zachowaniami sesji za pomocą innych powiązanych ustawień. Na przykład można użyć ustawienia cookieExpiration w EasyAuth konfiguracji, aby kontrolować czas ostatniej sesji uwierzytelniania. To ustawienie umożliwia określenie czasu trwania, przez który plik cookie uwierzytelniania pozostaje prawidłowy.

Aby uzyskać więcej informacji na temat ustawień ruchu przychodzącego udostępnianych przez usługę Azure Container Apps, zobacz Ruch przychodzący w usłudze Azure Container Apps.

Zarówno usługa Azure Spring Apps, jak i usługa Azure Container Apps oferują sposoby generowania publicznie dostępnych punktów końcowych. W usłudze Azure Spring Apps każde wdrożenie ma unikatowy adres URL do celów testowych podczas wdrożeń niebiesko-zielonych. Podobnie w usłudze Azure Container Apps etykieta poprawki zawiera unikatowy adres URL, którego można użyć do kierowania ruchu do określonej poprawki przypisanej do etykiety. Aby uzyskać więcej informacji, zobacz sekcję Etykiety aktualizacji i wdrażania zmian w usłudze Azure Container Apps.

W usłudze Azure Spring Apps system automatycznie sonduje port 1025 aplikacji w planie Podstawowa/Standardowa i port 8080 dla aplikacji w planie Enterprise. Te sondy pomagają określić, czy kontener aplikacji jest gotowy do akceptowania ruchu. Z drugiej strony usługa Azure Container Apps zapewnia większą elastyczność, umożliwiając użytkownikom określanie samego portu sondy przy użyciu parametru --target-port . To ustawienie zapewnia użytkownikom większą kontrolę nad konfiguracją i zachowaniem aplikacji.

Aby zaktualizować docelowy port ruchu przychodzącego dla aplikacji kontenera, możesz użyć następującego polecenia interfejsu wiersza polecenia platformy Azure:

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

Poniższa lista zawiera opis każdego parametru:

  • --name: nazwa aplikacji kontenera.
  • --resource-group: grupa zasobów zawierająca aplikację kontenera.
  • --target-port: port, na którym nasłuchuje aplikacja kontenera.

Aby uzyskać więcej informacji, zobacz sekcję Enable ingress (Włączanie ruchu przychodzącego) w temacie Configure Ingress for your app in Azure Container Apps (Konfigurowanie ruchu przychodzącego dla aplikacji w usłudze Azure Container Apps).

Zmienianie ustawienia ruchu wychodzącego (UDR)

Zarówno usługa Azure Spring Apps, jak i usługa Azure Container Apps oferują sposoby kontrolowania ruchu wychodzącego za pośrednictwem funkcji "przynieś własną tabelę tras" — trasy zdefiniowane przez użytkownika (UDR) — za pomocą usługi Azure Firewall. Zwróć jednak uwagę na następujące różnice:

  • Nie ma potrzeby dodawania przypisania roli dla dostawcy zasobów usługi Azure Container Apps.
  • Podsieć dedykowana dla podsieci środowiska uruchomieniowego usługi Azure Container Apps nie jest wymagana.
  • Usługa Azure Container Apps zapewnia bardziej elastyczny sposób obsługi trasy zdefiniowanej przez użytkownika. W usłudze Azure Container Apps nie ma potrzeby jawnego ustawiania opcji --outbound-typeuserDefinedRouting aprowizacji usługi Azure Spring Apps.

Aby uzyskać więcej informacji, zobacz sekcję Trasy konfiguracji podsieci za pomocą interfejsu wiersza polecenia i Kontrolowanie ruchu wychodzącego w usłudze Azure Container Apps przy użyciu tras zdefiniowanych przez użytkownika.

W usłudze Azure Container Apps tylko profile obciążeń typu środowiska obsługują trasę zdefiniowaną przez użytkownika. Ponadto usługa Azure Container Apps obsługuje ruch wychodzący za pośrednictwem bramy translatora adresów sieciowych i tworzenia prywatnych punktów końcowych w środowisku aplikacji kontenera.

Aby utworzyć środowisko usługi Azure Container Apps obsługujące trasę zdefiniowaną przez użytkownika, użyj następującego polecenia:

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

Ustaw parametr --enable-workload-profiles na wartość , aby true włączyć profile obciążeń.

Zabezpieczanie sieci wirtualnych przy użyciu sieciowych grup zabezpieczeń

Zarówno usługa Azure Spring Apps, jak i usługa Azure Container Apps oferują niezawodną obsługę, umożliwiając efektywne zarządzanie ruchem wychodzącym i zabezpieczanie go przy użyciu sieciowych grup zabezpieczeń. Główne różnice leżą w określonych konfiguracjach.

Aby uzyskać więcej informacji, zobacz Zabezpieczanie niestandardowej sieci wirtualnej w usłudze Azure Container Apps przy użyciu sieciowych grup zabezpieczeń.

Zmienianie ustawień DNS

Usługi Azure Spring Apps i Azure Container Apps obsługują korzystanie z niestandardowych serwerów DNS w sieci wirtualnej klienta. Zalecamy dodanie adresu IP 168.63.129.16 usługi Azure DNS jako nadrzędnego serwera DNS na niestandardowym serwerze DNS.

Aby uzyskać więcej informacji, zobacz sekcję DNS dotyczącą sieci w środowisku usługi Azure Container Apps.

Obecnie usługa Azure Container Apps w typie środowiska tylko do użycia nie obsługuje opróżniania ustawień DNS, ponieważ usługa Azure Spring Apps nie obsługuje zmian. Aby uzyskać więcej informacji, zobacz Opróżnianie zmian ustawień DNS w usłudze Azure Spring Apps. Jednak typ profilu obciążenia środowiska automatycznie odświeża ustawienia DNS co 5 minut.

Usługa Azure Container Apps obsługuje wdrażanie z prywatną strefą DNS. Aby uzyskać więcej informacji, zobacz sekcję Deploy with a private DNS (Wdrażanie przy użyciu prywatnej usługi DNS ) w temacie Provide a virtual network to an Azure Container Apps environment (Zapewnianie sieci wirtualnej w środowisku usługi Azure Container Apps). Takie podejście zapewnia bardziej elastyczny sposób obsługi łączenia prywatnej strefy DNS niż przy użyciu usługi Azure Spring Apps. Aby uzyskać więcej informacji, zobacz sekcję Łączenie prywatnej strefy DNS z usługą Azure Spring Apps w sekcji Uzyskiwanie dostępu do aplikacji w usłudze Azure Spring Apps w sieci wirtualnej.

Uzyskiwanie dostępu do aplikacji w usłudze Azure Container Apps w sieci wirtualnej klienta

Usługa Azure Container Apps zapewnia zarówno dostęp do sieci publicznej, jak i funkcje prywatnego punktu końcowego do uwidaczniania aplikacji w Internecie lub zabezpieczania ich w sieci prywatnej. Podobnie usługa Azure Spring Apps obsługuje te funkcje zgodnie z opisem w następujących artykułach: