Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym samouczku pokazano, jak używać usługi Azure Functions do łączenia się z zasobami w sieci wirtualnej platformy Azure przy użyciu prywatnych punktów końcowych. Możesz utworzyć nową aplikację funkcji przy użyciu nowego konta magazynu, które jest zablokowane za siecią wirtualną przy użyciu witryny Azure Portal. Sieć wirtualna używa wyzwalacza kolejki usługi Service Bus.
W tym samouczku wykonasz następujące elementy:
- Utwórz aplikację funkcji w planie Elastic Premium z integracją sieci wirtualnej i prywatnymi punktami końcowymi.
- Tworzenie zasobów platformy Azure, takich jak usługa Service Bus
- Zablokuj usługę Service Bus za prywatnym punktem końcowym.
- Wdróż aplikację funkcji korzystającą zarówno z wyzwalaczy Service Bus, jak i HTTP.
- Przetestuj, aby sprawdzić, czy aplikacja funkcji jest bezpieczna wewnątrz sieci wirtualnej.
- Wyczyść zasoby.
Tworzenie aplikacji funkcji w planie Premium
Aplikację funkcji języka C# można utworzyć w planie Elastic Premium, która obsługuje funkcje sieciowe, takie jak integracja sieci wirtualnej w ramach tworzenia oraz skalowanie bezserwerowe. W tym samouczku jest używany język C# i system Windows. Obsługiwane są również inne języki i system Linux.
W menu witryny Azure Portal lub na stronie głównej wybierz pozycję Utwórz zasób.
Na stronie Nowy wybierz pozycję Aplikacja funkcji obliczeniowej>.
Na stronie Podstawowe użyj poniższej tabeli, aby skonfigurować ustawienia aplikacji funkcji.
Ustawienie Sugerowana wartość opis Subskrypcja Twoja subskrypcja Subskrypcja, w ramach której jest tworzona ta nowa aplikacja funkcji. Grupa zasobów GrupaZasobówMoja Nazwa nowej grupy zasobów, w której tworzysz aplikację funkcji. Nazwa aplikacji funkcji Nazwa unikatowa w skali globalnej Nazwa identyfikująca nową aplikację funkcji. Prawidłowe znaki to a-z(bez uwzględniania wielkości liter),0-9i-.Publikowanie Code Wybierz publikowanie plików kodu lub kontenera platformy Docker. Stos środowiska uruchomieniowego .NET W tym samouczku jest używana platforma .NET. Wersja 6 (LTS) W tym samouczku jest używana platforma .NET 6.0 uruchomiona w tym samym procesie co host usługi Functions. Region Preferowany region Wybierz region w pobliżu ciebie lub w pobliżu innych usług, do których uzyskujesz dostęp do funkcji. System operacyjny Windows W tym samouczku jest używany system Windows, ale działa również w systemie Linux. Planowanie Funkcje Premium Plan hostingu określający sposób przydzielania zasobów do aplikacji funkcji. Domyślnie po wybraniu pozycji Premium zostanie utworzony nowy plan usługi App Service. Domyślna jednostka SKU i rozmiar to EP1, gdzie EP oznacza elastyczną warstwę Premium. Aby uzyskać więcej informacji, zobacz listę jednostek SKU Premium.
Po uruchomieniu funkcji Języka JavaScript w planie Premium wybierz wystąpienie, które ma mniej procesorów wirtualnych. Aby uzyskać więcej informacji, zobacz Wybieranie planów premium z jednym rdzeniem.Wybierz pozycję Dalej: Magazyn. Na stronie Magazyn wprowadź następujące ustawienia.
Ustawienie Sugerowana wartość opis Konto magazynu Nazwa unikatowa w skali globalnej Utwórz konto magazynu używane przez aplikację funkcji. Nazwy kont magazynu muszą mieć długość od 3 do 24 znaków. Mogą zawierać tylko cyfry i małe litery. Możesz również użyć istniejącego konta, które nie jest ograniczone przez reguły zapory i spełnić wymagania dotyczące konta magazynu. Korzystając z usługi Functions z zamkniętym kontem magazynu, potrzebujesz konta magazynu w wersji 2. Ta wersja jest domyślną wersją przechowywania utworzoną podczas tworzenia aplikacji funkcji z możliwościami sieciowymi za pośrednictwem Azure Portal. Wybierz pozycję Dalej: Sieć. Na stronie Sieć wprowadź następujące ustawienia.
Uwaga
Niektóre z tych ustawień nie są widoczne, dopóki nie zostaną wybrane inne opcje.
Ustawienie Sugerowana wartość opis Włączanie dostępu publicznego Wyłączona Odmowa dostępu do sieci publicznej blokuje cały ruch przychodzący, z wyjątkiem tego, że pochodzi z prywatnych punktów końcowych. Włączanie iniekcji sieci Włączone Możliwość skonfigurowania aplikacji z integracją sieci wirtualnej podczas tworzenia jest wyświetlana w oknie portalu po przełączeniu tej opcji na włączone. Sieć wirtualna Kliknięcie przycisku Nowe Wybierz pole Utwórz nowy. Na wyskakującym ekranie podaj nazwę sieci wirtualnej i wybierz przycisk OK. Wyświetlane są opcje ograniczania dostępu przychodzącego i wychodzącego do aplikacji funkcji podczas tworzenia. Aby ograniczyć dostęp wychodzący, należy jawnie włączyć integrację sieci wirtualnej w części dostęp wychodzący okna. Wprowadź następujące ustawienia w sekcji Dostęp przychodzący. Ten krok powoduje utworzenie prywatnego punktu końcowego w aplikacji funkcji.
Napiwek
Aby nadal korzystać z aplikacji funkcji z portalu Azure, musisz dodać swój lokalny komputer do sieci wirtualnej. Jeśli nie chcesz ograniczać dostępu przychodzącego, pomiń ten krok.
Ustawienie Sugerowana wartość opis Włączanie prywatnych punktów końcowych Włączone Po włączeniu tej opcji można skonfigurować aplikację przy użyciu integracji sieci wirtualnej podczas tworzenia w portalu. Nazwa prywatnego punktu końcowego myInboundPrivateEndpointName Nazwa identyfikująca prywatny punkt końcowy nowej aplikacji funkcji. Podsieć przychodząca Kliknięcie przycisku Nowe Ta opcja tworzy nową podsieć dla przychodzącego prywatnego punktu końcowego. Do podsieci pojedynczej można dodać wiele prywatnych punktów końcowych. Podaj nazwę podsieci. Blok adresów podsieci może pozostać w wartości domyślnej. Wybierz OK Aby dowiedzieć się więcej o określaniu rozmiaru podsieci, zobacz Podsieci. DNS Prywatna strefa DNS platformy Azure Ta wartość wskazuje serwer DNS używany przez prywatny punkt końcowy. W większości przypadków, jeśli pracujesz na platformie Azure, strefa Prywatna strefa DNS platformy Azure jest strefą DNS, której należy użyć jako ręcznej dla niestandardowych stref DNS, zwiększyły się złożoność. Wprowadź następujące ustawienia w sekcji Dostęp wychodzący. Ten krok integruje aplikację funkcji z siecią wirtualną podczas tworzenia. Udostępnia również opcje tworzenia prywatnych punktów końcowych na koncie magazynu i ograniczania konta magazynu z dostępu do sieci podczas tworzenia. Gdy aplikacja funkcji jest zintegrowana z siecią wirtualną, cały ruch wychodzący domyślnie przechodzi przez sieć wirtualną.
Ustawienie Sugerowana wartość opis Włączanie integracji z siecią wirtualną Włączone To ustawienie integruje aplikację funkcji z siecią wirtualną w ramach tworzenia i kierowania całego ruchu wychodzącego przez sieć wirtualną. Podsieć wychodząca Tworzyć w programie To ustawienie tworzy nową podsieć dla integracji z siecią wirtualną aplikacji funkcyjnej. Aplikacja funkcji może być zintegrowana z wirtualną siecią tylko wtedy, gdy podsieć jest pusta. Podaj nazwę podsieci. Blok adresów podsieci może pozostać w wartości domyślnej. Wybierz OK Zostanie wyświetlona opcja tworzenia prywatnych punktów końcowych usługi Storage. Aby używać aplikacji funkcji z sieciami wirtualnymi, musisz dołączyć ją do podsieci. Wprowadź następujące ustawienia w sekcji Prywatny punkt końcowy usługi Storage. W tym kroku tworzone są prywatne punkty końcowe dla obiektów blob, kolejek, plików i punktów końcowych tabeli na koncie magazynu. Takie podejście skutecznie integruje konto magazynowe z siecią wirtualną.
Ustawienie Sugerowana wartość opis Dodawanie prywatnego punktu końcowego magazynu Włączone Po włączeniu tej opcji w portalu jest wyświetlana możliwość konfigurowania aplikacji z integracją sieci wirtualnej podczas tworzenia. Nazwa prywatnego punktu końcowego myInboundPrivateEndpointName Nazwa identyfikująca prywatny punkt końcowy konta magazynu. Podsieć prywatnego punktu końcowego Kliknięcie przycisku Nowe To ustawienie tworzy nową podsieć dla wejściowego prywatnego punktu końcowego na koncie magazynowym. Do podsieci pojedynczej można dodać wiele prywatnych punktów końcowych. Podaj nazwę podsieci. Blok adresów podsieci może pozostać w wartości domyślnej. Wybierz OK DNS Prywatna strefa DNS platformy Azure Ta wartość wskazuje serwer DNS używany przez prywatny punkt końcowy. W większości przypadków, jeśli pracujesz na platformie Azure, strefa azure Prywatna strefa DNS jest strefą DNS, której należy użyć jako ręcznej dla niestandardowych stref DNS, zwiększy złożoność. Wybierz pozycję Dalej: Monitorowanie. Na stronie Monitorowanie wprowadź następujące ustawienia.
Ustawienie Sugerowana wartość opis Application Insights Wartość domyślna Utwórz zasób usługi Application Insights o tej samej nazwie aplikacji w najbliższym obsługiwanym regionie. Rozwiń to ustawienie, jeśli musisz zmienić nazwę nowego zasobu lub zapisać dane w innej lokalizacji w lokalizacji geograficznej platformy Azure. Wybierz pozycję Przejrzyj i utwórz , aby przejrzeć wybrane opcje konfiguracji aplikacji.
Na stronie Przeglądanie i tworzenie przejrzyj ustawienia. Następnie wybierz pozycję Utwórz , aby utworzyć i wdrożyć aplikację funkcji.
W prawym górnym rogu portalu wybierz ikonę Powiadomienia i poszukaj komunikatu Wdrożenie zakończyło się pomyślnie .
Wybierz pozycję Przejdź do zasobu, aby wyświetlić swoją nową aplikację funkcji. Możesz również wybrać pozycję Przypnij do pulpitu nawigacyjnego. Przypinanie ułatwia powrót do tego zasobu aplikacji funkcji z poziomu pulpitu nawigacyjnego.
Gratulacje! Pomyślnie utworzono aplikację funkcji Premium.
Uwaga
Niektóre wdrożenia mogą czasami nie utworzyć prywatnych punktów końcowych w koncie magazynu z powodu błędu StorageAccountOperationInProgress. Ten błąd występuje, mimo że sama aplikacja funkcji zostanie utworzona pomyślnie. Gdy wystąpi taki błąd, usuń aplikację funkcji i spróbuj ponownie wykonać operację. Zamiast tego możesz ręcznie utworzyć prywatne punkty końcowe na koncie magazynu.
Tworzenie usługi Service Bus
Następnie utworzysz wystąpienie usługi Service Bus, które jest używane do testowania funkcjonalności możliwości sieci aplikacji funkcji w tym samouczku.
W menu witryny Azure Portal lub na stronie głównej wybierz pozycję Utwórz zasób.
Na stronie Nowy wyszukaj usługę Service Bus. Następnie wybierz Utwórz.
Na karcie Podstawowe użyj poniższej tabeli, aby skonfigurować ustawienia usługi Service Bus. Wszystkie inne ustawienia mogą używać wartości domyślnych.
Ustawienie Sugerowana wartość opis Subskrypcja Twoja subskrypcja Subskrypcja, w której są tworzone zasoby. Grupa zasobów: GrupaZasobówMoja Grupa zasobów utworzona za pomocą aplikacji funkcji. Nazwa przestrzeni nazw myServiceBus Nazwa wystąpienia usługi Service Bus, dla którego jest włączony prywatny punkt końcowy. Lokalizacja myFunctionRegion Region, w którym utworzono aplikację funkcji. Warstwa cenowa Premium Wybierz tę warstwę, aby używać prywatnych punktów końcowych z usługą Azure Service Bus. Wybierz pozycję Przejrzyj i utwórz. Po zakończeniu walidacji wybierz pozycję Utwórz.
Blokowanie usługi Service Bus
Utwórz prywatny punkt końcowy, aby zablokować usługę Service Bus:
W nowej usłudze Service Bus w menu po lewej stronie wybierz pozycję Sieć.
Na karcie Połączenia prywatnego punktu końcowego wybierz pozycję Prywatny punkt końcowy.
Na karcie Podstawowe użyj ustawień prywatnego punktu końcowego pokazanego w poniższej tabeli.
Ustawienie Sugerowana wartość opis Subskrypcja Twoja subskrypcja Subskrypcja, w której są tworzone zasoby. Grupa zasobów: GrupaZasobówMoja Grupa zasobów utworzona za pomocą aplikacji funkcji. Nazwa/nazwisko sb-endpoint Nazwa prywatnego punktu końcowego dla magistrali usług. region myFunctionRegion Region, w którym utworzono konto magazynu. Na karcie Zasób użyj ustawień prywatnego punktu końcowego pokazanego w poniższej tabeli.
Ustawienie Sugerowana wartość opis Subskrypcja Twoja subskrypcja Subskrypcja, w ramach której są tworzone zasoby. Typ zasobu Microsoft.ServiceBus/przestrzenie nazw Typ zasobu usługi Service Bus. Zasób myServiceBus Usługa Service Bus utworzona wcześniej w samouczku. Docelowy podźródło obszar nazw Prywatny punkt końcowy używany dla przestrzeni nazw z usługi Service Bus. Na karcie Sieć wirtualna dla ustawienia Podsieć wybierz wartość domyślną.
Wybierz pozycję Przejrzyj i utwórz. Po zakończeniu walidacji wybierz pozycję Utwórz.
Po utworzeniu prywatnego punktu końcowego wróć do sekcji Sieć przestrzeni nazw usługi Service Bus i sprawdź kartę Dostęp publiczny.
Upewnij się, że wybrano wybrane sieci .
Wybierz pozycję + Dodaj istniejącą sieć wirtualną, aby dodać niedawno utworzoną sieć wirtualną.
Na karcie Dodawanie sieci użyj ustawień sieci z poniższej tabeli:
Ustawienie Sugerowana wartość opis Subskrypcja Twoja subskrypcja Subskrypcja, w ramach której są tworzone zasoby. Sieci wirtualne myVirtualNet Nazwa sieci wirtualnej, z którą łączy się aplikacja funkcji. Podsieci — funkcje Nazwa podsieci, z którą łączy się aplikacja funkcji. Wybierz pozycję Dodaj adres IP klienta, aby nadać bieżącemu adresowi IP klienta dostęp do przestrzeni nazw.
Uwaga
Zezwolenie na adres IP klienta jest niezbędne, aby umożliwić witrynie Azure Portal publikowanie komunikatów w kolejce w dalszej części tego samouczka.
Wybierz pozycję Włącz , aby włączyć punkt końcowy usługi.
Wybierz pozycję Dodaj , aby dodać wybraną sieć wirtualną i podsieć do reguł zapory dla usługi Service Bus.
Wybierz pozycję Zapisz , aby zapisać zaktualizowane reguły zapory.
Zasoby w sieci wirtualnej mogą teraz komunikować się z usługą Service Bus przy użyciu prywatnego punktu końcowego.
Utwórz kolejkę
Utwórz kolejkę, w której wyzwalacz usługi Azure Functions Service Bus pobiera zdarzenia:
W usłudze Service Bus w menu po lewej stronie wybierz pozycję Kolejki.
Wybierz pozycję Kolejka. Na potrzeby tego samouczka podaj kolejkę nazw jako nazwę nowej kolejki.
Wybierz pozycję Utwórz.
Ważne
W tym samouczku pokazano obecnie, jak nawiązać połączenie z usługą Service Bus przy użyciu parametry połączenia, co wymaga obsługi wpisu tajnego udziału. W celu zwiększenia bezpieczeństwa należy zamiast tego używać tożsamości zarządzanych podczas nawiązywania połączenia z usługą Service Bus z poziomu aplikacji. Aby uzyskać więcej informacji, zobacz Połączenia oparte na tożsamościach w artykule dokumentacja dotycząca powiązania usługi Service Bus.
Pobieranie parametry połączenia usługi Service Bus
W usłudze Service Bus w menu po lewej stronie wybierz pozycję Zasady dostępu współdzielonego.
Wybierz pozycję RootManageSharedAccessKey. Skopiuj i zapisz podstawowe parametry połączenia. Ten parametry połączenia jest potrzebny podczas konfigurowania ustawień aplikacji.
Konfigurowanie ustawień aplikacji funkcji
W aplikacji funkcji w menu po lewej stronie wybierz pozycję Konfiguracja.
Aby używać aplikacji funkcji z sieciami wirtualnymi i usługą Service Bus, zaktualizuj ustawienia aplikacji pokazane w poniższej tabeli. Aby dodać lub edytować ustawienie, wybierz pozycję + Nowe ustawienie aplikacji lub ikonę Edytuj w najbardziej prawej kolumnie tabeli ustawień aplikacji. Po zakończeniu wybierz pozycję Zapisz.
Ustawienie Sugerowana wartość opis SERVICEBUS_CONNECTION myServiceBusConnectionString Utwórz to ustawienie aplikacji dla parametry połączenia usługi Service Bus. Ten parametry połączenia magazynu znajduje się w sekcji Pobieranie parametry połączenia usługi Service Bus. WEBSITE_CONTENTOVERVNET 1 Utwórz to ustawienie aplikacji. Wartość 1 umożliwia skalowanie aplikacji funkcji, gdy konto magazynu jest ograniczone do sieci wirtualnej. Ponieważ używasz planu hostingu Elastic Premium, w widoku Konfiguracja wybierz kartę Ustawienia środowiska uruchomieniowego funkcji. Ustaw monitorowanie skalowania środowiska uruchomieniowego na Wł. Następnie wybierz opcję Zapisz. Skalowanie oparte na środowisku uruchomieniowym umożliwia łączenie funkcji wyzwalacza innych niż HTTP z usługami uruchomionymi w sieci wirtualnej.
Uwaga
Skalowanie środowiska uruchomieniowego nie jest wymagane w przypadku aplikacji funkcji hostowanych w ramach dedykowanego planu usługi App Service.
Wdrażanie wyzwalacza usługi Service Bus i wyzwalacza HTTP
Uwaga
Włączenie prywatnych punktów końcowych w aplikacji funkcji powoduje również, że witryna Menedżera kontroli źródła (SCM) jest publicznie niedostępna. Poniższe instrukcje zawierają wskazówki dotyczące wdrażania przy użyciu Centrum wdrażania w aplikacji funkcji. Alternatywnie możesz użyć narzędzia zip deploy lub własnych agentów wdrożonych w podsieci w sieci wirtualnej.
W usłudze GitHub przejdź do następującego przykładowego repozytorium. Zawiera ona aplikację funkcji i dwie funkcje, wyzwalacz HTTP i wyzwalacz kolejki usługi Service Bus.
W górnej części strony wybierz pozycję Rozwidlenie , aby utworzyć rozwidlenie tego repozytorium na własnym koncie lub organizacji usługi GitHub.
W aplikacji funkcji w menu po lewej stronie wybierz pozycję Centrum wdrażania. Następnie wybierz pozycję Ustawienia.
Na karcie Ustawienia użyj ustawień wdrażania przedstawionych w poniższej tabeli.
Ustawienie Sugerowana wartość opis Źródło GitHub W kroku 2 należy utworzyć repozytorium GitHub dla przykładowego kodu. Organizacja MojaOrganizacja Organizacja, do których ma być zaewidencjonowane repozytorium. Zazwyczaj jest to Twoje konto. Repozytorium functions-vnet-tutorial Rozwidlenie repozytorium z pliku https://github.com/Azure-Samples/functions-vnet-tutorial. Gałąź główny Główna gałąź utworzonego repozytorium. Stos środowiska uruchomieniowego .NET Przykładowy kod znajduje się w języku C#. Wersja .NET Core 3.1 Wersja środowiska uruchomieniowego. Wybierz pozycję Zapisz.
Początkowe wdrożenie może potrwać kilka minut. Po pomyślnym wdrożeniu aplikacji na karcie Dzienniki zostanie wyświetlony komunikat o stanie Powodzenie (aktywne). W razie potrzeby odśwież stronę.
Gratulacje! Pomyślnie wdrożono przykładową aplikację funkcjonalną.
Testowanie zablokowanej aplikacji funkcji
W aplikacji funkcji w menu po lewej stronie wybierz pozycję Funkcje.
Wybierz pozycję ServiceBusQueueTrigger.
W menu po lewej stronie wybierz pozycję Monitor.
Zobaczysz, że nie możesz monitorować aplikacji. Przeglądarka nie ma dostępu do sieci wirtualnej, więc nie może bezpośrednio uzyskać dostępu do zasobów w sieci wirtualnej.
Oto alternatywny sposób monitorowania funkcji przy użyciu usługi Application Insights:
W aplikacji funkcji w menu po lewej stronie wybierz pozycję Application Insights. Następnie wybierz pozycję Wyświetl dane usługi Application Insights.
W menu po lewej stronie wybierz pozycję Metryki na żywo.
Otwórz nową kartę. W usłudze Service Bus w menu po lewej stronie wybierz pozycję Kolejki.
Wybierz kolejkę.
W menu po lewej stronie wybierz pozycję Eksplorator usługi Service Bus. W obszarze Wyślij w polu Typ zawartości wybierz pozycję Tekst/Zwykły. Następnie wprowadź komunikat.
Wybierz pozycję Wyślij , aby wysłać wiadomość.
Na karcie Metryki na żywo powinien zostać wyświetlony wyzwalacz kolejki usługi Service Bus. Jeśli tak nie jest, wyślij ponownie komunikat z Eksploratora usługi Service Bus.
Gratulacje! Pomyślnie przetestowano konfigurację aplikacji funkcji z użyciem prywatnych punktów końcowych.
Omówienie prywatnych stref DNS
Użyto prywatnego punktu końcowego do nawiązania połączenia z zasobami platformy Azure. Łączysz się z prywatnym adresem IP zamiast z publicznym punktem końcowym. Istniejące usługi platformy Azure są skonfigurowane do używania istniejącego systemu DNS do nawiązywania połączenia z publicznym punktem końcowym. Aby nawiązać połączenie z prywatnym punktem końcowym, należy zastąpić konfigurację DNS.
Prywatna strefa DNS jest tworzona dla każdego zasobu platformy Azure skonfigurowanego przy użyciu prywatnego punktu końcowego. Rekord DNS jest tworzony dla każdego prywatnego adresu IP skojarzonego z prywatnym punktem końcowym.
W tym samouczku utworzono następujące strefy DNS:
- privatelink.file.core.windows.net
- privatelink.blob.core.windows.net
- privatelink.servicebus.windows.net
- privatelink.azurewebsites.net
Czyszczenie zasobów
W poprzednich krokach utworzono zasoby platformy Azure w grupie zasobów. Jeśli nie oczekujesz, że te zasoby będą potrzebne w przyszłości, możesz je usunąć, usuwając grupę zasobów:
W menu witryny Azure Portal lub stronie głównej wybierz pozycję Grupy> zasobówmyResourceGroup.
W okienku myResourceGroup upewnij się, że wymienione zasoby są tymi, które chcesz usunąć.
Wybierz pozycję Usuń grupę zasobów. Wpisz myResourceGroup w polu tekstowym, aby potwierdzić, a następnie wybierz pozycję Usuń.
Następne kroki
W tym samouczku utworzono aplikację funkcji Premium, konto magazynu i usługę Service Bus. Wszystkie te zasoby zostały zabezpieczone za prywatnymi punktami końcowymi.
Skorzystaj z poniższych linków, aby dowiedzieć się więcej o opcjach sieciowych i prywatnych punktach końcowych usługi Azure Functions: