Miejsca wdrożenia usługi Azure Functions
Miejsca wdrożenia usługi Azure Functions umożliwiają aplikacji funkcji uruchamianie różnych wystąpień nazywanych miejscami. Miejsca to różne środowiska uwidocznione za pośrednictwem publicznie dostępnego punktu końcowego. Jedno wystąpienie aplikacji jest zawsze mapowane na miejsce produkcyjne i można zamienić wystąpienia przypisane do miejsca na żądanie.
Liczba dostępnych miejsc zależy od określonej opcji hostingu:
Opcja hostingu | Miejsca (w tym produkcyjne) |
---|---|
Plan zużycia | 2 |
Plan Flex Consumption | Obecnie nieobsługiwane |
Plan Premium | 3 |
Plan dedykowany (App Service) | 1-20 |
Aplikacje kontenera | Używa poprawek |
Poniżej przedstawiono sposób, w jaki funkcje mają wpływ na zamianę miejsc:
- Przekierowywanie ruchu jest bezproblemowe; brak żądań jest odrzucany z powodu zamiany. To bezproblemowe zachowanie występuje, ponieważ następny wyzwalacz funkcji jest kierowany do zamienioowanego miejsca.
- Obecnie wykonywanie funkcji jest przerywane podczas zamiany. Aby dowiedzieć się, jak pisać funkcje bezstanowe i defensywne, zobacz Zwiększanie wydajności i niezawodności usługi Azure Functions.
Dlaczego warto używać miejsc?
Korzystanie z miejsc wdrożenia ma wiele zalet, takich jak:
- Różne środowiska do różnych celów: użycie różnych miejsc umożliwia odróżnienie wystąpień aplikacji przed zamianą na środowisko produkcyjne lub przejściowe.
- Przedwarming: Wdrażanie w miejscu zamiast bezpośrednio w środowisku produkcyjnym umożliwia aplikacji rozgrzanie się przed rozpoczęciem pracy. Ponadto użycie miejsc zmniejsza opóźnienie dla obciążeń wyzwalanych przez protokół HTTP. Wystąpienia są rozgrzewane przed wdrożeniem, co zmniejsza zimny start dla nowo wdrożonych funkcji.
- Łatwe rezerwowe: po zamianie z produkcją miejsce z wcześniej przygotowanym aplikacją ma teraz poprzednią aplikację produkcyjną. Jeśli zmiany zamienione na miejsce produkcyjne nie są zgodnie z oczekiwaniami, możesz natychmiast odwrócić zamianę, aby przywrócić "ostatnie znane dobre wystąpienie".
- Minimalizuj ponowne uruchamianie: zmiana ustawień aplikacji w miejscu produkcyjnym wymaga ponownego uruchomienia uruchomionej aplikacji. Zamiast tego możesz zmienić ustawienia w miejscu przejściowym i zamienić ustawienia na środowisko produkcyjne przy użyciu wystąpienia przedwzroczonego. Miejsca to zalecany sposób migracji między wersjami środowiska uruchomieniowego usługi Functions przy zachowaniu najwyższej dostępności. Aby dowiedzieć się więcej, zobacz Minimalna aktualizacja przestojów.
Operacje zamiany
Podczas zamiany jedno miejsce jest uznawane za źródło, a drugi jest obiektem docelowym. Miejsce źródłowe zawiera wystąpienie aplikacji, która jest stosowana do miejsca docelowego. W poniższych krokach upewnij się, że miejsce docelowe nie powoduje przestoju podczas zamiany:
Zastosuj ustawienia: ustawienia z miejsca docelowego są stosowane do wszystkich wystąpień miejsca źródłowego. Na przykład ustawienia produkcyjne są stosowane do wystąpienia przejściowego. Zastosowane ustawienia obejmują następujące kategorie:
- Ustawienia aplikacji specyficzne dla miejsca i parametry połączenia (jeśli dotyczy)
- Ustawienia ciągłego wdrażania (jeśli jest włączone)
- Ustawienia uwierzytelniania usługi App Service (jeśli są włączone)
Poczekaj na ponowne uruchomienia i dostępność: zamiana czeka na każde wystąpienie w miejscu źródłowym, aby ukończyć jego ponowne uruchomienie i być dostępne dla żądań. Jeśli nie można ponownie uruchomić jakiegokolwiek wystąpienia, operacja zamiany przywraca wszystkie zmiany w miejscu źródłowym i zatrzymuje operację.
Routing aktualizacji: jeśli wszystkie wystąpienia w miejscu źródłowym zostaną rozgrzane pomyślnie, dwa miejsca zakończą zamianę, przełączając reguły routingu. Po wykonaniu tego kroku miejsce docelowe (na przykład miejsce produkcyjne) zawiera aplikację, która została wcześniej rozgrzana w miejscu źródłowym.
Powtórz operację: Teraz, gdy miejsce źródłowe ma wcześniej aplikację preswap w miejscu docelowym, wykonaj tę samą operację, stosując wszystkie ustawienia i ponownie uruchamiając wystąpienia dla miejsca źródłowego.
Należy pamiętać o następujących kwestiach:
W dowolnym momencie operacji zamiany inicjowanie zamienione aplikacje odbywa się w miejscu źródłowym. Miejsce docelowe pozostaje w trybie online, gdy miejsce źródłowe jest przygotowane, niezależnie od tego, czy zamiana zakończy się powodzeniem, czy niepowodzeniem.
Aby zamienić miejsce przejściowe z miejscem produkcyjnym, upewnij się, że miejsce produkcyjne jest zawsze miejscem docelowym. W ten sposób operacja zamiany nie ma wpływu na aplikację produkcyjną.
Przed rozpoczęciem zamiany należy skonfigurować ustawienia związane ze źródłami zdarzeń i powiązaniami jako ustawienia miejsca wdrożenia. Oznaczanie ich jako "lepkie" z wyprzedzeniem zapewnia kierowanie zdarzeń i danych wyjściowych do odpowiedniego wystąpienia.
Podczas tworzenia nowego miejsca przejściowego wszystkie istniejące ustawienia z miejsca produkcyjnego są tworzone w nowym miejscu, niezależnie od gotowości ustawienia.
Zarządzanie ustawieniami
Niektóre ustawienia konfiguracji są specyficzne dla miejsca. Poniżej wymieniono szczegóły ustawień, które zmieniają się podczas zamiany miejsc i które pozostają takie same.
Ustawienia specyficzne dla miejsca:
- Publikowanie punktów końcowych
- Niestandardowe nazwy domen
- Certyfikaty niepublicowe i ustawienia protokołu TLS/SSL
- Ustawienia skalowania
- Ograniczenia adresów IP
- Stały dostęp do usługi
- Ustawienia diagnostyczne
- Współużytkowanie zasobów między źródłami (CORS)
- Prywatne punkty końcowe
Ustawienia inne niż ustawienia specyficzne dla miejsca:
- Ustawienia ogólne, takie jak wersja platformy, 32/64-bitowe, gniazda internetowe
- Ustawienia aplikacji (można skonfigurować tak, aby trzymały się miejsca)
- Parametry połączenia (można skonfigurować do trzymania się gniazda)
- Mapowania programu obsługi
- Certyfikaty publiczne
- Połączenia hybrydowe *
- Integracja z siecią wirtualną *
- Punkty końcowe usługi *
- Azure Content Delivery Network *
Funkcje oznaczone gwiazdką (*) nie są zamieniane zgodnie z projektem.
Uwaga
Niektóre ustawienia aplikacji, które mają zastosowanie do niezmapowanych ustawień, również nie są zamieniane. Na przykład ponieważ ustawienia diagnostyczne nie są zamieniane, powiązane ustawienia aplikacji, takie jak WEBSITE_HTTPLOGGING_RETENTION_DAYS
i DIAGNOSTICS_AZUREBLOBRETENTIONDAYS
nie są również zamieniane, nawet jeśli nie są wyświetlane jako ustawienia miejsca.
Tworzenie ustawienia wdrożenia
Ustawienia można oznaczyć jako ustawienie wdrożenia, co sprawia, że jest lepki. Ustawienie sticky nie zamienia się na wystąpienie aplikacji.
Jeśli tworzysz ustawienie wdrożenia w jednym miejscu, pamiętaj, aby utworzyć to samo ustawienie z unikatową wartością w dowolnym innym miejscu, które jest związane z zamianą. Dzięki temu, gdy wartość ustawienia nie zmienia się, nazwy ustawień pozostają spójne między miejscami. Ta spójność nazw zapewnia, że kod nie próbuje uzyskać dostępu do ustawienia zdefiniowanego w jednym miejscu, ale nie w innym.
Aby utworzyć ustawienie wdrożenia, wykonaj następujące czynności:
Przejdź do pozycji Miejsca wdrożenia w aplikacji funkcji, a następnie wybierz nazwę miejsca.
Wybierz pozycję Konfiguracja, a następnie wybierz nazwę ustawienia, której chcesz trzymać się bieżącego miejsca.
Wybierz pozycję Ustawienie miejsca wdrożenia, a następnie wybierz przycisk OK.
Gdy sekcja ustawień zniknie, wybierz pozycję Zapisz , aby zachować zmiany
Wdrożenie
Miejsca są puste podczas tworzenia miejsca. Aby wdrożyć aplikację w miejscu, możesz użyć dowolnej z obsługiwanych technologii wdrażania.
Skalowanie
Wszystkie miejsca są skalowane do tej samej liczby procesów roboczych co miejsce produkcyjne.
- W przypadku planów Zużycie miejsce jest skalowane w miarę skalowania aplikacji funkcji.
- W przypadku planów usługi App Service aplikacja jest skalowana do stałej liczby procesów roboczych. Miejsca są uruchamiane na tej samej liczbie procesów roboczych co plan aplikacji.
Wyświetl miejsca
Informacje o istniejących miejscach można wyświetlić przy użyciu interfejsu wiersza polecenia platformy Azure lub witryny Azure Portal.
Wykonaj następujące kroki, aby utworzyć nowe miejsce w portalu:
Przejdź do aplikacji funkcji.
Wybierz pozycję Miejsca wdrożenia, a istniejące miejsca są wyświetlane.
Dodawanie miejsca
Miejsce można dodać przy użyciu interfejsu wiersza polecenia platformy Azure lub witryny Azure Portal.
Wykonaj następujące kroki, aby utworzyć miejsce w portalu:
Przejdź do aplikacji funkcji.
Wybierz pozycję Miejsca wdrożenia, a następnie wybierz pozycję + Dodaj miejsce.
Wpisz nazwę miejsca i wybierz pozycję Dodaj.
Dostęp do zasobów miejsca
Uzyskujesz dostęp do zasobów (wyzwalaczy HTTP i punktów końcowych administratora) w miejscu przejściowym w taki sam sposób jak miejsce produkcyjne. Jednak zamiast nazwy hosta aplikacji funkcji należy użyć nazwy hosta specyficznego dla miejsca w adresie URL żądania wraz z dowolnymi kluczami specyficznymi dla miejsca. Ponieważ miejsca przejściowe to aplikacje na żywo, należy zabezpieczyć funkcje w miejscu przejściowym, tak jak w miejscu produkcyjnym.
Zamienianie miejsc
Miejsca można zamienić w środowisku produkcyjnym przy użyciu interfejsu wiersza polecenia platformy Azure lub witryny Azure Portal.
Wykonaj następujące kroki, aby zamienić miejsce przejściowe na środowisko produkcyjne:
Przejdź do aplikacji funkcji.
Wybierz pozycję Miejsca wdrożenia, a następnie wybierz pozycję Zamień.
Sprawdź ustawienia konfiguracji zamiany i wybierz pozycję Zamień
Operacja zamiany może potrwać kilka sekund.
Wycofywanie zamiany
Jeśli zamiana powoduje błąd lub po prostu chcesz "cofnąć" zamianę, możesz cofnąć się do stanu początkowego. Aby powrócić do stanu wstępnie zamapowanego, wykonaj inną zamianę, aby odwrócić zamianę.
Usuwanie miejsca
Miejsce można usunąć przy użyciu interfejsu wiersza polecenia platformy Azure lub witryny Azure Portal.
Wykonaj następujące kroki, aby usunąć miejsce z aplikacji w portalu:
Przejdź do pozycji Miejsca wdrożenia w aplikacji funkcji, a następnie wybierz nazwę miejsca.
Wybierz Usuń.
Wpisz nazwę miejsca wdrożenia, które chcesz usunąć, a następnie wybierz pozycję Usuń.
Zamknij okienko potwierdzenia.
Zmień plan usługi App Service
Aplikacja funkcji uruchomiona w ramach planu usługi App Service umożliwia zmianę bazowego planu usługi App Service dla miejsca.
Uwaga
Nie można zmienić planu usługi App Service miejsca w ramach planu Zużycie.
Aby zmienić plan usługi App Service miejsca, wykonaj następujące kroki:
Przejdź do pozycji Miejsca wdrożenia w aplikacji funkcji, a następnie wybierz nazwę miejsca.
W obszarze Plan usługi App Service wybierz pozycję Zmień plan usługi App Service.
Wybierz plan, do którego chcesz przeprowadzić uaktualnienie, lub utwórz nowy plan.
Wybierz przycisk OK.
Kwestie wymagające rozważenia
Miejsca wdrożenia usługi Azure Functions mają następujące kwestie:
- Liczba miejsc dostępnych dla aplikacji zależy od planu. Plan Zużycie jest dozwolony tylko w jednym miejscu wdrożenia. Więcej miejsc jest dostępnych dla aplikacji działających w innych planach. Aby uzyskać szczegółowe informacje, zobacz Limity usługi.
- Zamiana kluczy miejsca resetuje klucze dla aplikacji, które mają
AzureWebJobsSecretStorageType
ustawienie aplikacji równefiles
. - Po włączeniu miejsc aplikacja funkcji jest ustawiona na tryb tylko do odczytu w portalu.
- Zamiany miejsc mogą zakończyć się niepowodzeniem, gdy aplikacja funkcji używa zabezpieczonego konta magazynu jako domyślnego konta magazynu (ustawionego w elemencie
AzureWebJobsStorage
). Aby uzyskać więcej informacji, zobacz dokumentacjęWEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS
. - Użyj nazw aplikacji funkcji krótszych niż 32 znaki. Nazwy dłuższe niż 32 znaki są narażone na spowodowanie kolizji identyfikatora hosta.