Udostępnij za pośrednictwem


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:

  1. 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:

  2. 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ę.

  3. 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.

  4. 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:

  1. Przejdź do pozycji Miejsca wdrożenia w aplikacji funkcji, a następnie wybierz nazwę miejsca.

    Znajdź miejsca w witrynie Azure Portal.

  2. Wybierz pozycję Konfiguracja, a następnie wybierz nazwę ustawienia, której chcesz trzymać się bieżącego miejsca.

    Skonfiguruj ustawienie aplikacji dla miejsca w witrynie Azure Portal.

  3. Wybierz pozycję Ustawienie miejsca wdrożenia, a następnie wybierz przycisk OK.

    Skonfiguruj ustawienie miejsca wdrożenia.

  4. Gdy sekcja ustawień zniknie, wybierz pozycję Zapisz , aby zachować zmiany

    Zapisz ustawienie miejsca wdrożenia.

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:

  1. Przejdź do aplikacji funkcji.

  2. 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:

  1. Przejdź do aplikacji funkcji.

  2. Wybierz pozycję Miejsca wdrożenia, a następnie wybierz pozycję + Dodaj miejsce.

    Dodaj miejsce wdrożenia usługi Azure Functions.

  3. Wpisz nazwę miejsca i wybierz pozycję Dodaj.

    Nazwij miejsce wdrożenia usługi Azure Functions.

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:

  1. Przejdź do aplikacji funkcji.

  2. Wybierz pozycję Miejsca wdrożenia, a następnie wybierz pozycję Zamień.

    Zrzut ekranu przedstawiający stronę

  3. Sprawdź ustawienia konfiguracji zamiany i wybierz pozycję Zamień

    Zamień miejsce wdrożenia.

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:

  1. Przejdź do pozycji Miejsca wdrożenia w aplikacji funkcji, a następnie wybierz nazwę miejsca.

    Znajdź miejsca w witrynie Azure Portal.

  2. Wybierz Usuń.

    Zrzut ekranu przedstawiający stronę

  3. Wpisz nazwę miejsca wdrożenia, które chcesz usunąć, a następnie wybierz pozycję Usuń.

    Usuń miejsce wdrożenia w witrynie Azure Portal.

  4. Zamknij okienko potwierdzenia.

    Potwierdzenie usunięcia miejsca wdrożenia.

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:

  1. Przejdź do pozycji Miejsca wdrożenia w aplikacji funkcji, a następnie wybierz nazwę miejsca.

    Znajdź miejsca w witrynie Azure Portal.

  2. W obszarze Plan usługi App Service wybierz pozycję Zmień plan usługi App Service.

  3. Wybierz plan, do którego chcesz przeprowadzić uaktualnienie, lub utwórz nowy plan.

    Zmień plan usługi App Service w witrynie Azure Portal.

  4. 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ówne files.
  • 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.

Następne kroki