Steuern des ausgehenden Datenverkehrs mit benutzerdefinierten Routen

Hinweis

Dieses Feature wird nur für den Umgebungstyp „Workloadprofile“ unterstützt.

In diesem Artikel erfahren Sie, wie Sie den ausgehenden Datenverkehr von Container Apps zu Back-End-Azure-Ressourcen oder anderen Netzwerkressourcen mit benutzerdefinierten Routen (User-Defined Routes, UDR) und Azure Firewall sperren.

Azure erstellt beim Erstellen eine Standardroutingtabelle für Ihre virtuellen Netzwerke. Durch die Implementierung einer benutzerdefinierten Routentabelle können Sie steuern, wie Datenverkehr innerhalb Ihres virtuellen Netzwerks weitergeleitet wird. In diesem Leitfaden richten Sie UDR im virtuellen Container Apps-Netzwerk ein, um ausgehenden Datenverkehr mit Azure Firewall einzuschränken.

Sie können auch ein NAT-Gateway oder andere Appliances von Drittanbietern anstelle von Azure Firewall verwenden.

Weitere Informationen finden Sie unter Netzwerk in der Azure Container Apps-Umgebung im Abschnitt Konfigurieren von UDR mit Azure Firewall.

Voraussetzungen

  • Umgebung mit Workloadprofilen: Eine Umgebung mit Workloadprofilen, die in ein benutzerdefiniertes virtuelles Netzwerk integriert ist. Weitere Informationen finden Sie im Leitfaden zum Erstellen einer Container-App-Umgebung in der Umgebung mit Workloadprofilen.

  • curl-Unterstützung: Ihre Container-App muss über einen Container verfügen, der curl-Befehle unterstützt. In dieser Schrittanleitung verwenden Sie curl, um zu überprüfen, ob die Container-App ordnungsgemäß bereitgestellt wurde. Wenn Sie keine Container-App mit curl bereitgestellt haben, können Sie den folgenden Container bereitstellen, der curl, mcr.microsoft.com/k8se/quickstart:latest unterstützt.

Erstellen des Firewallsubnetzes

Damit Sie eine Firewall im integrierten virtuellen Netzwerk bereitstellen können, benötigen Sie ein Subnetz mit der Bezeichnung AzureFirewallSubnet.

  1. Öffnen Sie im Azure-Portal das virtuelle Netzwerk, das in Ihre App integriert ist.

  2. Wählen Sie im Menü auf der linken Seite die Option Subnetze und dann + Subnetz aus.

  3. Geben Sie die folgenden Werte ein:

    Einstellung Aktion
    Name Geben Sie AzureFirewallSubnet ein.
    Subnetzadressbereich Verwenden Sie die Standardeinstellung, oder geben Sie einen Subnetzbereich von /26 oder größer an.
  4. Wählen Sie Speichern aus.

Bereitstellen der Firewall

  1. Wählen Sie im Menü des Azure-Portals oder auf der Startseite die Option Ressource erstellen aus.

  2. Suchen Sie nach Firewall.

  3. Wählen Sie Firewall aus.

  4. Klicken Sie auf Erstellen.

  5. Konfigurieren Sie die Firewall auf der Seite zum Erstellen einer Firewall mit den folgenden Einstellungen:

    Einstellung Aktion
    Ressourcengruppe Geben Sie dieselbe Ressourcengruppe wie für das integrierte virtuelle Netzwerk ein.
    Name Geben Sie den gewünschten Namen ein.
    Region Wählen Sie dieselbe Region wie für das integrierte virtuelle Netzwerk aus.
    Firewallrichtlinie Erstellen Sie eine, indem Sie Neu hinzufügen auswählen.
    Virtuelles Netzwerk Wählen Sie das integrierte virtuelle Netzwerk aus.
    Öffentliche IP-Adresse Wählen Sie eine vorhandene Adresse aus, oder erstellen Sie eine, indem Sie Neu hinzufügen auswählen.
  6. Klicken Sie auf Überprüfen + erstellen. Wählen Sie Erstellen aus, wenn die Validierung erfolgreich war. Dieser Validierungsschritt kann einige Minuten dauern.

  7. Wählen Sie nach Abschluss der Bereitstellung die Option Zu Ressource wechseln aus.

  8. Kopieren Sie auf der Seite Übersicht der Firewall den Wert für Private Firewall-IP-Adresse. Diese IP-Adresse wird beim Erstellen der Routingregel für das virtuelle Netzwerk als Adresse des nächsten Hop verwendet.

Leiten Sie den gesamten Datenverkehr an die Firewall weiter

Ihre virtuellen Netzwerke in Azure verfügen über Standardroutingtabellen, wenn Sie das Netzwerk erstellen. Durch die Implementierung einer benutzerdefinierten Routentabelle können Sie steuern, wie Datenverkehr innerhalb Ihres virtuellen Netzwerks weitergeleitet wird. In den folgenden Schritten erstellen Sie UDR, um den gesamten Datenverkehr an Ihre Azure Firewall-Instanz weiterzuleiten.

  1. Wählen Sie im Menü des Azure-Portals oder auf der Startseite die Option Ressource erstellen aus.

  2. Suchen Sie nach Routingtabellen.

  3. Wählen Sie Routingtabellen aus.

  4. Klicken Sie auf Erstellen.

  5. Geben Sie die folgenden Werte ein:

    Einstellung Aktion
    Region Wählen Sie die Region Ihres virtuellen Netzwerks aus.
    Name Geben Sie einen Namen ein.
    Gatewayrouten verteilen Wählen Sie Nein aus.
  6. Klicken Sie auf Überprüfen + erstellen. Wählen Sie Erstellen aus, wenn die Validierung erfolgreich war.

  7. Wählen Sie nach Abschluss der Bereitstellung die Option Zu Ressource wechseln aus.

  8. Wählen Sie im Menü auf der linken Seite Routen und dann Hinzufügen aus, um eine neue Routingtabelle zu erstellen.

  9. Konfigurieren Sie die Routingtabelle mit den folgenden Einstellungen:

    Einstellung Aktion
    Adresspräfix Geben Sie 0.0.0.0/0 ein.
    Typ des nächsten Hops Wählen Sie Virtuelles Gerät aus.
    Adresse des nächsten Hops Geben Sie den Wert für Private Firewall-IP-Adresse ein, den Sie unter Bereitstellen der Firewall gespeichert haben.
  10. Klicken Sie auf Hinzufügen, um die Route zu erstellen.

  11. Wählen Sie im Menü auf der linken Seite Subnetze und dann Zuordnen aus, um die Routingtabelle dem Subnetz der Container-App zuzuordnen.

  12. Konfigurieren Sie das zugeordnete Subnetz mit den folgenden Werten:

    Einstellung Aktion
    Virtuelles Netzwerk Wählen Sie das virtuelle Netzwerk für Ihre Container-App aus.
    Subnetz Wählen Sie das Subnetz für die Container-App aus.
  13. Wählen Sie OK aus.

Konfigurieren Sie Firewall-Richtlinien

Hinweis

Wenn Sie UDR mit Azure Firewall in Azure Container Apps verwenden, müssen Sie bestimmte FQDNs und Diensttags zur Positivliste für die Firewall hinzufügen. Informationen zu den benötigten Diensttags finden Sie unter Konfigurieren von UDR mit Azure Firewall.

Jetzt wird der gesamte ausgehende Datenverkehr von Ihrer Container-App an die Firewall weitergeleitet. Derzeit lässt die Firewall weiterhin den gesamten ausgehenden Datenverkehr durch. Um den zulässigen oder verweigerten ausgehenden Datenverkehr zu verwalten, müssen Sie Firewallrichtlinien konfigurieren.

  1. Wählen Sie in Ihrer Azure Firewall-Ressource auf der Seite Übersicht die Option Firewallrichtlinie aus.

  2. Wählen Sie im Menü auf der linken Seite der Firewallrichtlinienseite die Option Anwendungsregeln aus.

  3. Wählen Sie Regelsammlung hinzufügen aus.

  4. Geben Sie die folgenden Werte für Regelsammlung an:

    Einstellung Aktion
    Name Geben Sie einen Sammlungsnamen ein.
    Regelsammlungstyp Wählen Sie die Option Anwendung aus.
    Priorität Geben Sie die Priorität ein, z. B. 110.
    Regelsammlungsaktion Wählen Sie Zulassen aus.
    Regelsammlungsgruppe Wählen Sie DefaultApplicationRuleCollectionGroup aus.
  5. Geben Sie unter Regeln die folgenden Werte ein:

    Einstellung Aktion
    Name Geben Sie einen Namen für die Regel ein.
    Quellentyp Wählen Sie IP-Adresse aus.
    Quelle Geben Sie * ein.
    Protokoll Geben Sie http:80,https:443 ein.
    Zieltyp Wählen Sie FQDN aus.
    Ziel Geben Sie mcr.microsoft.com,*.data.mcr.microsoft.com ein Wenn Sie ACR verwenden, fügen Sie Ihre ACR-Adresse und *.blob.core.windows.net hinzu.
    Aktion Wählen Sie Zulassen aus.

    Hinweis

    Wenn Sie die Docker Hub-Registrierung verwenden und über Ihre Firewall darauf zugreifen möchten, müssen Sie die folgenden FQDNs zu Ihrer Regelzielliste hinzufügen: hub.docker.com, registry-1.docker.io und production.cloudflare.docker.com.

  6. Wählen Sie Hinzufügen.

Sicherstellen, dass Ihre Firewall ausgehenden Datenverkehr blockiert

Um zu überprüfen, ob die Firewallkonfiguration ordnungsgemäß eingerichtet ist, können Sie den Befehl curl über die Debugkonsole Ihrer App verwenden.

  1. Navigieren Sie zu Ihrer Container-App, die mit Azure Firewall konfiguriert ist.

  2. Wählen Sie im Menü auf der linken Seite Konsole und dann Ihren Container aus, der den Befehl curl unterstützt.

  3. Wählen Sie im Menü Startbefehl auswählen die Option /bin/sh und dann Verbinden aus.

  4. Führen Sie in der Konsole curl -s https://mcr.microsoft.com aus. Es sollte eine erfolgreiche Antwort angezeigt werden, da Sie mcr.microsoft.com zur Positivliste für Ihre Firewallrichtlinien hinzugefügt haben.

  5. Führen Sie curl -s https://<FQDN_ADDRESS> für eine URL aus, die keiner Ihrer Zielregeln entspricht, z. B. example.com. Der Beispielbefehl wäre curl -s https://example.com. Sie sollten keine Antwort erhalten. Das weist darauf hin, dass Ihre Firewall die Anforderung blockiert hat.

Nächste Schritte