Ochrona usługi Azure Container Apps za pomocą zapory aplikacji internetowej w usłudze Application Gateway

Podczas hostowania aplikacji lub mikrousług w usłudze Azure Container Apps możesz nie zawsze chcieć publikować je bezpośrednio w Internecie. Zamiast tego może być konieczne uwidocznienie ich za pośrednictwem zwrotnego serwera proxy.

Zwrotny serwer proxy to usługa, która znajduje się przed co najmniej jedną usługą, przechwytując i kierując ruch przychodzący do odpowiedniego miejsca docelowego.

Odwrotne serwery proxy umożliwiają umieszczanie usług przed aplikacjami obsługującymi funkcje wycinania krzyżowego, w tym:

  • Routing
  • Buforowanie
  • Rate limiting (Ograniczanie szybkości)
  • Równoważenie obciążenia
  • Warstwy zabezpieczeń
  • Filtrowanie żądań

W tym artykule pokazano, jak chronić aplikacje kontenerów przy użyciu zapory aplikacji internetowej w usłudze aplikacja systemu Azure Gateway za pomocą wewnętrznego środowiska usługi Container Apps.

Aby uzyskać więcej informacji na temat pojęć związanych z siecią w usłudze Container Apps, zobacz Środowisko sieciowe w usłudze Azure Container Apps.

Wymagania wstępne

  • Środowisko wewnętrzne z niestandardową siecią wirtualną: aplikacja kontenera, która znajduje się w środowisku wewnętrznym i zintegrowana z niestandardową siecią wirtualną. Aby uzyskać więcej informacji na temat tworzenia niestandardowej aplikacji zintegrowanej z siecią wirtualną, zobacz zapewnianie sieci wirtualnej w wewnętrznym środowisku usługi Azure Container Apps.

  • Certyfikaty zabezpieczeń: jeśli musisz użyć szyfrowania TLS/SSL do bramy aplikacji, wymagany jest prawidłowy certyfikat publiczny używany do powiązania z bramą aplikacji.

Pobieranie domeny aplikacji kontenera

Wykonaj poniższe kroki, aby pobrać wartości domeny domyślnej i statycznego adresu IP, aby skonfigurować strefę Prywatna strefa DNS.

  1. W oknie Przegląd grupy zasobów w portalu wybierz aplikację kontenera.

  2. W oknie Przegląd zasobu aplikacji kontenera wybierz link dla środowiska Container Apps Environment

  3. W oknie Przegląd zasobu środowiska aplikacji kontenera wybierz pozycję Widok JSON w prawym górnym rogu strony, aby wyświetlić reprezentację JSON środowiska aplikacji kontenera.

  4. Skopiuj wartości właściwości defaultDomain i staticIp i wklej je do edytora tekstów. W następnej sekcji utworzysz prywatną strefę DNS przy użyciu tych wartości dla domeny domyślnej.

Tworzenie i konfigurowanie strefy usługi Azure Prywatna strefa DNS

  1. W menu witryny Azure Portal lub na stronie głównej wybierz pozycję Utwórz zasób.

  2. Wyszukaj strefę Prywatna strefa DNS i wybierz pozycję strefa Prywatna strefa DNS w wynikach wyszukiwania.

  3. Zaznacz przycisk Utwórz.

  4. Wprowadź następujące wartości:

    Ustawienie Akcja
    Subskrypcja Wybierz subskrypcję platformy Azure.
    Resource group Wybierz grupę zasobów aplikacji kontenera.
    Nazwisko Wprowadź właściwość defaultDomain środowiska Container Apps Environment z poprzedniej sekcji.
    Lokalizacja grupy zasobów Pozostaw wartość domyślną. Wartość nie jest potrzebna, ponieważ strefy Prywatna strefa DNS są globalne.
  5. Wybierz pozycję Przejrzyj i utwórz. Po zakończeniu walidacji wybierz pozycję Utwórz.

  6. Po utworzeniu prywatnej strefy DNS wybierz pozycję Przejdź do zasobu.

  7. W oknie Przegląd wybierz pozycję +Zestaw rekordów, aby dodać nowy zestaw rekordów.

  8. W oknie Dodawanie zestawu rekordów wprowadź następujące wartości:

    Ustawienie Akcja
    Nazwisko Wprowadź *.
    Type Wybierz pozycję Rekord A-Address.
    TTL Zachowaj wartości domyślne.
    Jednostka TTL Zachowaj wartości domyślne.
    Adres IP Wprowadź właściwość staticIp środowiska Container Apps Environment z poprzedniej sekcji.
  9. Wybierz przycisk OK , aby utworzyć zestaw rekordów.

  10. Wybierz ponownie pozycję +Zestaw rekordów, aby dodać drugi zestaw rekordów.

  11. W oknie Dodawanie zestawu rekordów wprowadź następujące wartości:

    Ustawienie Akcja
    Nazwisko Wprowadź @.
    Type Wybierz pozycję Rekord A-Address.
    TTL Zachowaj wartości domyślne.
    Jednostka TTL Zachowaj wartości domyślne.
    Adres IP Wprowadź właściwość staticIp środowiska Container Apps Environment z poprzedniej sekcji.
  12. Wybierz przycisk OK , aby utworzyć zestaw rekordów.

  13. Wybierz okno Łącza sieci wirtualnej z menu po lewej stronie.

  14. Wybierz pozycję +Dodaj , aby utworzyć nowy link z następującymi wartościami:

    Ustawienie Akcja
    Nazwa łącza Wprowadź ciąg my-custom-vnet-pdns-link.
    Znam identyfikator zasobu sieci wirtualnej Pozostaw to niezaznaczone.
    Sieć wirtualna Wybierz sieć wirtualną zintegrowaną z aplikacją kontenera.
    Włącz automatyczne rejestrowanie Pozostaw to niezaznaczone.
  15. Wybierz przycisk OK , aby utworzyć link do sieci wirtualnej.

Tworzenie i konfigurowanie usługi Azure Application Gateway

Karta Podstawowe

  1. Wprowadź następujące wartości w sekcji Szczegóły projektu.

    Ustawienie Akcja
    Subskrypcja Wybierz subskrypcję platformy Azure.
    Resource group Wybierz grupę zasobów dla aplikacji kontenera.
    Nazwa bramy aplikacji Wprowadź ciąg my-container-apps-agw.
    Region Wybierz lokalizację, w której aprowizowano aplikację kontenera.
    Warstwa Wybierz pozycję Zapora aplikacji internetowej w wersji 2. Jeśli nie potrzebujesz zapory aplikacji internetowej, możesz użyć standardowej wersji 2 .
    Włączanie autoskalowania Pozostaw wartość domyślną. W przypadku środowisk produkcyjnych zalecane jest skalowanie automatyczne. Zobacz Autoskalowanie aplikacja systemu Azure Gateway.
    Availability zone Wybierz pozycję Brak. W przypadku środowisk produkcyjnych zaleca się Strefy dostępności w celu zapewnienia większej dostępności.
    HTTP2 Pozostaw wartość domyślną.
    Zasady zapory aplikacji internetowej Wybierz pozycję Utwórz nową i wprowadź my-waf-policy dla zasad zapory aplikacji internetowej. Wybierz przycisk OK. Jeśli dla warstwy wybrano warstwę Standardowa v2 , pomiń ten krok.
    Sieć wirtualna Wybierz sieć wirtualną zintegrowaną z aplikacją kontenera.
    Podsieć Wybierz pozycję Zarządzaj konfiguracją podsieci. Jeśli masz już podsieć, której chcesz użyć, użyj tej opcji i przejdź do sekcji Frontends .
  2. W oknie Podsieci w sieci wirtualnej my-custom-vnet wybierz pozycję +Podsieć i wprowadź następujące wartości:

    Ustawienie Akcja
    Nazwisko Wprowadź ciąg appgateway-subnet.
    Zakres adresów podsieci Zachowaj wartości domyślne.
  3. W pozostałej części ustawień zachowaj wartości domyślne.

  4. Wybierz pozycję Zapisz , aby utworzyć nową podsieć.

  5. Zamknij okno Podsieci, aby powrócić do okna Tworzenie bramy aplikacji.

  6. Wybierz następujące wartości:

    Ustawienie Akcja
    Podsieć Wybierz utworzoną podsieć appgateway-subnet .
  7. Wybierz pozycję Dalej: frontony, aby kontynuować.

Karta Frontonów

  1. Na karcie Frontony wprowadź następujące wartości:

    Ustawienie Akcja
    Typ adresu IP frontonu Wybierz pozycję Publiczna.
    Publiczny adres IP Wybierz Dodaj nowy. Wprowadź nazwę frontonu my-fronton i wybierz przycisk OK

    Uwaga

    W przypadku jednostki SKU usługi Application Gateway w wersji 2 musi istnieć publiczny adres IP frontonu. Można mieć zarówno konfigurację publicznego, jak i prywatnego adresu IP frontonu, ale konfiguracja adresu IP frontonu tylko z prywatnym adresem IP bez publicznego adresu IP nie jest obecnie obsługiwana w jednostce SKU w wersji 2. Aby dowiedzieć się więcej, przeczytaj tutaj.

  2. Wybierz pozycję Dalej: zaplecza.

Karta Zaplecza

Pula zaplecza służy do kierowania żądań do odpowiednich serwerów zaplecza. Pule zaplecza mogą składać się z dowolnej kombinacji następujących zasobów:

  • Karty sieciowe NIC
  • Publiczne adresy IP
  • Wewnętrzne adresy IP
  • Virtual Machine Scale Sets
  • W pełni kwalifikowane nazwy domen (FQDN)
  • Wielodostępne zaplecza, takie jak aplikacja systemu Azure Service i Container Apps

W tym przykładzie utworzysz pulę zaplecza, która jest przeznaczona dla aplikacji kontenera.

  1. Wybierz pozycję Dodaj pulę zaplecza.

  2. Otwórz nową kartę i przejdź do aplikacji kontenera.

  3. W oknie Przegląd aplikacji kontenera znajdź adres URL aplikacji i skopiuj go.

  4. Wróć do karty Zaplecza i wprowadź następujące wartości w oknie Dodawanie puli zaplecza:

    Ustawienie Akcja
    Nazwisko Wprowadź ciąg my-agw-backend-pool.
    Dodawanie puli zaplecza bez elementów docelowych Wybierz opcję Nie.
    Typ docelowy Wybierz pozycję Adres IP lub nazwa FQDN.
    Cel Wprowadź skopiowany adres URL aplikacji kontenera i usuń prefiks https://. Ta lokalizacja to nazwa FQDN aplikacji kontenera.
  5. Wybierz pozycję Dodaj.

  6. Na karcie Zaplecza wybierz pozycję Dalej: Konfiguracja.

Karta konfiguracji

Na karcie Konfiguracja połączysz pulę frontonu i zaplecza utworzoną przy użyciu reguły routingu.

  1. Wybierz pozycję Dodaj regułę routingu. Wprowadź następujące wartości:

    Ustawienie Akcja
    Nazwisko Wprowadź my-agw-routing-rule.
    Priorytet Wprowadź wartość 1.
  2. Na karcie Odbiornik wprowadź następujące wartości:

    Ustawienie Akcja
    Nazwa odbiornika Wprowadź ciąg my-agw-listener.
    Adres IP frontonu Wybierz pozycję Publiczna.
    Protokół Wybierz opcję HTTPS. Jeśli nie masz certyfikatu, którego chcesz użyć, możesz wybrać pozycję HTTP
    Port Wprowadź wartość 443. Jeśli wybrano protokół HTTP dla protokołu, wprowadź wartość 80 i przejdź do sekcji domena domyślna/niestandardowa.
    Wybieranie certyfikatu Wybierz pozycję Przekaż certyfikat. Jeśli certyfikat jest przechowywany w magazynie kluczy, możesz wybrać pozycję Wybierz certyfikat z usługi Key Vault.
    Nazwa certyfikatu Wprowadź nazwę certyfikatu.
    Plik certyfikatu PFX Wybierz prawidłowy certyfikat publiczny.
    Password Wprowadź hasło certyfikatu.

    Jeśli chcesz użyć domeny domyślnej, wprowadź następujące wartości:

    Ustawienie Akcja
    Typ odbiornika Wybierz pozycję Podstawowa
    Adres URL strony błędu Pozostaw jako nie

    Alternatywnie, jeśli chcesz użyć domeny niestandardowej, wprowadź następujące wartości:

    Ustawienie Akcja
    Typ odbiornika Wybieranie wielu witryn
    Host type Wybieranie pojedynczego
    Nazwy hostów Wprowadź domenę niestandardową, której chcesz użyć.
    Adres URL strony błędu Pozostaw jako nie
  3. Wybierz kartę Elementy docelowe zaplecza i wprowadź następujące wartości:

  4. Przełącz się na kartę Elementy docelowe zaplecza i wprowadź następujące wartości:

    Ustawienie Akcja
    Typ docelowy Wybierz utworzoną wcześniej pulę my-agw-backend-pool .
    Ustawienia zaplecza Wybierz Dodaj nowy.
  5. W oknie Dodawanie zaplecza wprowadź następujące wartości:

    Ustawienie Akcja
    Nazwa ustawień zaplecza Wprowadź wartość my-agw-backend-setting.
    Protokół zaplecza Wybierz opcję HTTPS.
    Port zaplecza Wprowadź wartość 443.
    Używanie dobrze znanego certyfikatu urzędu certyfikacji Wybierz opcję Tak.
    Zastąpij nową nazwą hosta Wybierz opcję Tak.
    Zastąpienie nazwy hosta Wybierz pozycję Wybierz nazwę hosta z docelowego zaplecza.
    Tworzenie niestandardowych sond Wybierz opcję Nie.
  6. Wybierz pozycję Dodaj, aby dodać ustawienia zaplecza.

  7. W oknie Dodawanie reguły routingu wybierz ponownie pozycję Dodaj.

  8. Wybierz pozycję Dalej: tagi.

  9. Wybierz pozycję Dalej: Przejrzyj i utwórz, a następnie wybierz pozycję Utwórz.

Możesz ustanowić zabezpieczone połączenie ze środowiskami aplikacji kontenera tylko wewnętrznych, zmieniając link prywatny, ponieważ umożliwia usłudze Application Gateway komunikowanie się z aplikacją kontenera w zapleczu za pośrednictwem sieci wirtualnej.

  1. Po utworzeniu usługi Application Gateway wybierz pozycję Przejdź do zasobu.

  2. Z menu po lewej stronie wybierz pozycję Link prywatny, a następnie wybierz pozycję Dodaj.

  3. Wprowadź następujące wartości:

    Ustawienie Akcja
    Nazwisko Wprowadź ciąg my-agw-private-link.
    Podsieć łącza prywatnego Wybierz podsieć, z którą chcesz utworzyć łącze prywatne.
    Konfiguracja adresu IP frontonu Wybierz adres IP frontonu dla usługi Application Gateway.
  4. W obszarze Ustawienia prywatnego adresu IP wybierz pozycję Dodaj.

  5. Wybierz pozycję Dodaj w dolnej części okna.

Weryfikowanie aplikacji kontenera

  1. Znajdź publiczny adres IP bramy aplikacji na stronie Przegląd lub możesz wyszukać adres. Aby wyszukać, wybierz pozycję Wszystkie zasoby i wprowadź ciąg my-container-apps-agw-pip w polu wyszukiwania. Następnie wybierz adres IP w wynikach wyszukiwania.

  2. Przejdź do publicznego adresu IP bramy aplikacji.

  3. Żądanie jest automatycznie kierowane do aplikacji kontenera, która weryfikuje, czy brama aplikacji została pomyślnie utworzona.

Czyszczenie zasobów

Gdy nie potrzebujesz już utworzonych zasobów, usuń grupę zasobów. Usunięcie grupy zasobów spowoduje również usunięcie wszystkich powiązanych zasobów.

Aby usunąć grupę zasobów:

  1. W menu witryny Azure Portal wybierz pozycję Grupy zasobów lub wyszukaj i wybierz pozycję Grupy zasobów.

  2. Na stronie Grupy zasobów wyszukaj i wybierz pozycję my-container-apps.

  3. Na stronie grupy zasobów wybierz pozycję Usuń grupę zasobów.

  4. Wprowadź ciąg my-container-apps w obszarze WPISZ NAZWĘ GRUPY ZASOBÓW, a następnie wybierz pozycję Usuń

Następne kroki