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. Aplikacje funkcji działające w planie Zużycie mają jedno dodatkowe miejsce na potrzeby przemieszczania. Możesz uzyskać więcej miejsc przejściowych, uruchamiając aplikację w planie Premium lub w planie usługi App Service (Dedicated). Aby uzyskać więcej informacji, zobacz Limity usługi.

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

  • Ustawienia związane ze źródłami zdarzeń i powiązaniami należy skonfigurować jako ustawieniamiejsca wdrożenia przed rozpoczęciem zamiany. Oznaczanie ich jako "lepkie" z wyprzedzeniem zapewnia kierowanie zdarzeń i danych wyjściowych do odpowiedniego wystąpienia.

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)
  • ciągi Połączenie ion (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.

    Find slots in the Azure portal.

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

    Configure the application setting for a slot in the Azure portal.

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

    Configure the deployment slot setting.

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

    Save the deployment slot setting.

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.

    Add Azure Functions deployment slot.

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

    Name the Azure Functions deployment slot.

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

    Screenshot that shows the 'Deployment slot' page with the 'Add Slot' action selected.

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

    Swap the deployment slot.

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.

    Find slots in the Azure portal.

  2. Wybierz Usuń.

    Screenshot that shows the 'Overview' page with the 'Delete' action selected.

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

    Delete the deployment slot in the Azure portal.

  4. Zamknij okienko potwierdzenia.

    Deployment slot delete confirmation.

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.

    Find slots in the 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.

    Change the App Service plan in the 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