Kontrolowanie ruchu wychodzącego za pomocą tras zdefiniowanych przez użytkownika

Uwaga

Ta funkcja jest obsługiwana tylko dla typu środowiska profilów obciążeń. Trasy zdefiniowane przez użytkownika działają tylko z wewnętrznym środowiskiem usługi Azure Container Apps.

W tym artykule pokazano, jak używać tras zdefiniowanych przez użytkownika w usłudze Azure Firewall w celu blokowania ruchu wychodzącego z usługi Container Apps do zasobów platformy Azure zaplecza lub innych zasobów sieciowych.

Platforma Azure tworzy domyślną tabelę tras dla sieci wirtualnych podczas tworzenia. Implementując tabelę tras zdefiniowaną przez użytkownika, możesz kontrolować sposób kierowania ruchu w sieci wirtualnej. W tym przewodniku skonfiguruj trasę zdefiniowaną przez użytkownika w sieci wirtualnej Container Apps, aby ograniczyć ruch wychodzący za pomocą usługi Azure Firewall.

Możesz również użyć bramy translatora adresów sieciowych lub innych urządzeń innych firm zamiast usługi Azure Firewall.

Aby uzyskać więcej informacji, zobacz konfigurowanie trasy zdefiniowanej przez użytkownika za pomocą usługi Azure Firewall w sieci w usłudze Azure Container Apps .

Wymagania wstępne

  • Środowisko profilów obciążeń: środowisko profilów obciążeń zintegrowane z niestandardową siecią wirtualną. Aby uzyskać więcej informacji, zobacz przewodnik dotyczący tworzenia środowiska aplikacji kontenera w środowisku profilów obciążeń.

  • curl obsługa: Aplikacja kontenera musi mieć kontener obsługujący curl polecenia. W tym przewodniku użyjesz curl polecenia , aby sprawdzić, czy aplikacja kontenera jest wdrożona poprawnie. Jeśli nie masz wdrożonej aplikacji curl kontenera, możesz wdrożyć następujący kontener, który obsługuje usługę curl, mcr.microsoft.com/k8se/quickstart:latest.

Tworzenie podsieci zapory

Aby wdrożyć zaporę w zintegrowanej sieci wirtualnej, wymagana jest podsieć o nazwie AzureFirewallSubnet .

  1. Otwórz sieć wirtualną zintegrowaną z aplikacją w witrynie Azure Portal.

  2. Z menu po lewej stronie wybierz pozycję Podsieci, a następnie wybierz pozycję + Podsieć.

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

    Ustawienie Akcja
    Nazwa/nazwisko Wprowadź wartość AzureFirewallSubnet.
    Zakres adresów podsieci Użyj wartości domyślnej lub określ zakres podsieci /26 lub większy.
  4. Wybierz pozycję Zapisz

Wdrażanie zapory

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

  2. Wyszukaj pozycję Zapora.

  3. Wybierz pozycję Zapora.

  4. Wybierz pozycję Utwórz.

  5. Na stronie Tworzenie zapory skonfiguruj zaporę przy użyciu następujących ustawień.

    Ustawienie Akcja
    Grupa zasobów: Wprowadź tę samą grupę zasobów co zintegrowana sieć wirtualna.
    Nazwa/nazwisko Wprowadź wybraną nazwę
    Region Wybierz ten sam region co zintegrowana sieć wirtualna.
    Zasady zapory Utwórz go, wybierając pozycję Dodaj nową.
    Sieć wirtualna Wybierz zintegrowaną sieć wirtualną.
    Publiczny adres IP Wybierz istniejący adres lub utwórz go, wybierając pozycję Dodaj nowy.
  6. Wybierz pozycję Przejrzyj i utwórz. Po zakończeniu walidacji wybierz pozycję Utwórz. Wykonanie kroku weryfikacji może potrwać kilka minut.

  7. Po zakończeniu wdrażania wybierz pozycję Przejdź do zasobu.

  8. Na stronie Przegląd zapory skopiuj prywatny adres IP zapory. Ten adres IP jest używany jako adres następnego przeskoku podczas tworzenia reguły routingu dla sieci wirtualnej.

Kierowanie całego ruchu do zapory

Sieci wirtualne na platformie Azure mają domyślne tabele tras podczas tworzenia sieci. Implementując tabelę tras zdefiniowaną przez użytkownika, możesz kontrolować sposób kierowania ruchu w sieci wirtualnej. W poniższych krokach utworzysz trasę zdefiniowaną przez użytkownika, aby kierować cały ruch do usługi Azure Firewall.

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

  2. Wyszukaj tabele tras.

  3. Wybierz pozycję Tabele tras.

  4. Wybierz pozycję Utwórz.

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

    Ustawienie Akcja
    Region Wybierz region jako sieć wirtualną.
    Nazwa/nazwisko Wprowadź nazwę.
    Propagacja tras bramy Wybierz pozycję Nie
  6. Wybierz pozycję Przejrzyj i utwórz. Po zakończeniu walidacji wybierz pozycję Utwórz.

  7. Po zakończeniu wdrażania wybierz pozycję Przejdź do zasobu.

  8. Z menu po lewej stronie wybierz pozycję Trasy, a następnie wybierz pozycję Dodaj , aby utworzyć nową tabelę tras

  9. Skonfiguruj tabelę tras przy użyciu następujących ustawień:

    Ustawienie Akcja
    Prefiks adresu Wprowadź wartość 0.0.0.0/0
    Typ następnego skoku Wybieranie urządzenia wirtualnego
    Adres następnego przeskoku Wprowadź prywatny adres IP zapory zapisany w sekcji Wdrażanie zapory.
  10. Wybierz pozycję Dodaj , aby utworzyć trasę.

  11. Z menu po lewej stronie wybierz pozycję Podsieci, a następnie wybierz pozycję Skojarz, aby skojarzyć tabelę tras z podsiecią aplikacji kontenera.

  12. Skonfiguruj podsieć Skojarz z następującymi wartościami:

    Ustawienie Akcja
    Sieć wirtualna Wybierz sieć wirtualną dla aplikacji kontenera.
    Podsieć Wybierz podsieć dla aplikacji kontenera.
  13. Wybierz przycisk OK.

Konfigurowanie zasad zapory

Uwaga

W przypadku korzystania z trasy zdefiniowanej przez użytkownika z usługą Azure Firewall w usłudze Azure Container Apps należy dodać pewne tagi FQDN i usługi do listy dozwolonych zapory. Zapoznaj się z tematem Konfigurowanie trasy zdefiniowanej przez użytkownika za pomocą usługi Azure Firewall , aby określić, które tagi usługi są potrzebne.

Teraz cały ruch wychodzący z aplikacji kontenera jest kierowany do zapory. Obecnie zapora nadal zezwala na cały ruch wychodzący. Aby zarządzać tym, jaki ruch wychodzący jest dozwolony lub blokowany, należy skonfigurować zasady zapory.

  1. W zasobie usługi Azure Firewall na stronie Przegląd wybierz pozycję Zasady zapory

  2. Z menu po lewej stronie zasad zapory wybierz pozycję Reguły aplikacji.

  3. Wybierz pozycję Dodaj kolekcję reguł.

  4. Wprowadź następujące wartości dla kolekcji reguł:

    Ustawienie Akcja
    Nazwa/nazwisko Wprowadź nazwę kolekcji
    Typ kolekcji reguł Wybieranie aplikacji
    Priorytet Wprowadź priorytet, taki jak 110
    Akcja zbierania reguł Wybierz pozycję Zezwalaj
    Grupa kolekcji reguł Wybierz pozycję DefaultApplicationRuleCollectionGroup
  5. W obszarze Reguły wprowadź następujące wartości

    Ustawienie Akcja
    Nazwa/nazwisko Wprowadź nazwę reguły
    Typ źródła Wybierz pozycję Adres IP
    Source Wprowadź *
    Protokół Wprowadź http:80,https:443
    Typ miejsca docelowego Wybierz pozycję FQDN.
    Lokalizacja docelowa Wprowadź mcr.microsoft.comciąg ,*.data.mcr.microsoft.com . Jeśli używasz usługi ACR, dodaj adres ACR i *.blob.core.windows.net.
    Akcja Wybierz pozycję Zezwalaj

    Uwaga

    Jeśli używasz rejestru usługi Docker Hub i chcesz uzyskać do niego dostęp za pośrednictwem zapory, musisz dodać następujące nazwy FQDN do listy docelowej reguł: hub.docker.com, registry-1.docker.io i production.cloudflare.docker.com.

  6. Wybierz Dodaj.

Sprawdź, czy zapora blokuje ruch wychodzący

Aby sprawdzić, czy konfiguracja zapory jest poprawnie skonfigurowana, możesz użyć curl polecenia z poziomu konsoli debugowania aplikacji.

  1. Przejdź do aplikacji kontenera skonfigurowanej za pomocą usługi Azure Firewall.

  2. Z menu po lewej stronie wybierz pozycję Konsola, a następnie wybierz kontener obsługujący curl polecenie .

  3. W menu Polecenia Wybierz uruchamianie wybierz pozycję /bin/sh, a następnie wybierz pozycję Połączenie.

  4. W konsoli programu uruchom polecenie curl -s https://mcr.microsoft.com. Po dodaniu do listy dozwolonych zasad zapory powinna zostać wyświetlona pomyślna odpowiedź mcr.microsoft.com .

  5. Uruchom polecenie curl -s https://<FQDN_ADDRESS> , aby uzyskać adres URL, który nie jest zgodny z żadnymi regułami docelowymi, takimi jak example.com. Przykładowe polecenie to curl -s https://example.com. Nie powinna zostać wyświetlona odpowiedź wskazująca, że zapora zablokowała żądanie.

Następne kroki