Herstellen einer Verbindung mit einem virtuellen Netzwerk mit Azure API Management

Azure API Management kann in einem virtuellen Azure-Netzwerk (VNet) bereitgestellt werden, damit der Dienst auf Back-End-Dienste im Netzwerk zugreifen kann. Informationen zu VNet-Konnektivitätsoptionen, Anforderungen und Hinweise finden Sie unter Verwenden eines virtuellen Netzwerks mit Azure API Management.

In diesem Artikel wird erläutert, wie Sie VNet-Konnektivität für Ihre API Management-Instanz im externen Modus einrichten, in dem das Entwicklerportal, das API-Gateway und andere API Management-Endpunkte über das öffentliche Internet zugänglich sind, und Back-End-Dienste befinden sich in dem Netzwerk.

Connect to external VNet

Spezifische Konfigurationen für den internen Modus, bei denen die Endpunkte nur innerhalb des VNet zugänglich sind, finden Sie unter Verwenden von Azure API Management mit einem internen virtuellen Netzwerk.

Hinweis

In diesem Artikel wird das Azure Az PowerShell-Modul verwendet. Dieses PowerShell-Modul wird für die Interaktion mit Azure empfohlen. Informationen zu den ersten Schritten mit dem Az PowerShell-Modul finden Sie unter Installieren von Azure PowerShell. Informationen zum Migrieren zum Az PowerShell-Modul finden Sie unter Migrieren von Azure PowerShell von AzureRM zum Az-Modul.

Verfügbarkeit

Wichtig

Diese Funktion ist auf den Ebenen Premium und Entwickler von API Management verfügbar.

Voraussetzungen

Einige Voraussetzungen unterscheiden sich abhängig von der Version (stv2 oder stv1) der stv2 für das Hosting Ihrer API Management-Instanz.

Tipp

Wenn Sie das Portal verwenden, um die Netzwerkverbindung einer vorhandenen API Management-Instanz zu erstellen oder zu aktualisieren, wird die Instanz auf der stv2-Computeplattform gehostet.

  • Ein virtuelles Netzwerk und ein Subnetz müssen sich in derselben Region und in demselben Abonnement befinden wie Ihre API Management-Instanz. Ein dediziertes Subnetz wird empfohlen, ist aber nicht erforderlich.

  • Eine Netzwerksicherheitsgruppe, die an das oben genannte Subnetz angefügt ist. Eine Netzwerksicherheitsgruppe (NSG) ist erforderlich, um eingehende Verbindungen explizit zuzulassen, da der von API Management intern verwendete Lastenausgleich standardmäßig gesichert ist und sämtlichen eingehenden Datenverkehr abgelehnt. Informationen zur spezifischen Konfiguration finden Sie weiter unten in diesem Artikel unter NSG-Regeln konfigurieren.

  • Eine öffentliche IPv4-Adresse mit Standard-SKU. Die öffentliche IP-Adressressource ist erforderlich, wenn Sie das virtuelle Netzwerk für den externen oder internen Zugriff einrichten. Bei einem internen virtuellen Netzwerk wird die öffentliche IP-Adresse nur für Verwaltungsvorgänge verwendet. Erfahren Sie mehr über IP-Adressen von API Management.

    • Die IP-Adresse muss sich in derselben Region und im gleichen Abonnement wie die API Management-Instanz und das virtuelle Netzwerk befinden.

    • Stellen Sie beim Erstellen einer Ressource mit öffentlicher IP-Adresse sicher, dass Sie ihr ein DNS-Namensetikett zuweisen. Welches Etikett Sie verwenden, spielt keine Rolle, aber ein Etikett ist erforderlich, wenn diese Ressource einem API Management-Dienst zugewiesen werden soll.

    • Der Wert der IP-Adresse wird als virtuelle öffentliche IPv4-Adresse der API Management Instanz in dieser Region zugewiesen.

    • Wenn Sie von einem externen zu einem internen virtuellen Netzwerk wechseln (oder umgekehrt), Subnetze im Netzwerk ändern oder Verfügbarkeitszonen für die API Management Instanz aktualisieren, müssen Sie eine andere öffentliche IP-Adresse konfigurieren.

VNet-Verbindung aktivieren

Aktivieren von VNet-Konnektivität über das Azure-Portal (stv2 Computeplattform)

  1. Wechseln Sie zum Azure-Portal, um Ihre API Management-Instanz zu suchen. Suchen Sie die API Management-Dienste, und wählen Sie sie aus.

  2. Wählen Sie Ihre API Management-Instanz aus.

  3. Wählen Sie Netzwerk aus.

  4. Wählen Sie den externen Zugriffstyp aus. Select VNet in Azure portal.

  5. In der Liste der Standorte (Regionen), an denen Ihr API Management-Dienst bereitgestellt wird:

    1. Wählen Sie einen Standortaus.
    2. Wählen Sie Virtuelles Netzwerk, Subnetz und IP-Adresse aus.
    • Die Liste der VNets enthält Ressourcen-Manager-VNets, die in Ihrem Azure-Abonnement verfügbar und in der Region eingerichtet sind, die Sie konfigurieren.

      VNet settings in the portal.

  6. Wählen Sie Übernehmen. Die Seite Netzwerk Ihrer API Management-Instanz wird mit Ihren neuen VNet- und Subnetzoptionen aktualisiert.

  7. Fahren Sie mit der Konfiguration der VNet-Einstellungen für die übrigen Standorte Ihrer API Management-Instanz fort.

  8. Wählen Sie auf der oberen Navigationsleiste Speichern und dann Netzwerkkonfiguration anwenden aus.

Es kann zwischen 15 und 45 Minuten dauern, bis die API Management-Instanz aktualisiert wurde. Für den Developer-Tarif kommt es während des Prozesses zu Ausfallzeiten. Bei Basic- und höheren SKUs kommt es während des Prozesses zu keinen Ausfallzeiten.

Konnektivität mit einer Resource Manager-Vorlage (stv2-Compute-Plattform) aktivieren

  • Azure Resource Manager-Vorlage (API-Version 2021-08-01)

    Deploy to Azure

Ermöglichen von Konnektivität über Azure PowerShell-Cmdlets (stv1-Plattform)

Erstellen oder aktualisieren Sie eine API Management-Instanz in einem VNet.

Konfigurieren von NSG-Regeln

Benutzerdefinierte Netzwerkregeln im API Management-Subnetz konfigurieren, um den Datenverkehr zu und von Ihrer API Management-Instanz zu filtern. Wir empfehlen die folgenden NSG-Mindestregeln, um einen ordnungsgemäßen Betrieb und Zugriff auf Ihre Instanz sicherzustellen.

  • Für die meisten Szenarien bitte die angegebenen Dienst-Tags anstelle von Dienst-IP-Adressen verwenden, um Netzwerkquellen und -ziele anzugeben.
  • Die Priorität dieser Regeln höher als die der Standardregeln setzen.
  • Je nach Ihrer Nutzung der Überwachung und anderer Funktionen müssen Sie möglicherweise zusätzliche Regeln konfigurieren. Ausführliche Informationen zu den Einstellungen finden Sie unter Referenz zur Konfiguration virtueller Netzwerke.
Quell-/Zielport(s) Direction Transportprotokoll Diensttags
Quelle/Ziel
Zweck VNet-Typ
* / [80], 443 Eingehend TCP Internet / VirtualNetwork Kommunikation zwischen Clients und API Management Nur extern
*/3443 Eingehend TCP ApiManagement / VirtualNetwork Verwaltungsendpunkt für Azure-Portal und PowerShell Extern & Intern
* / 6390 Eingehend TCP AzureLoadBalancer / VirtualNetwork Azure Infrastructure Load Balancer (wird für Premium-Dienstebene benötigt) Extern & Intern
* / 443 Ausgehend TCP VirtualNetwork / Storage Abhängigkeit von Azure Storage Extern & Intern
* / 1433 Ausgehend TCP VirtualNetwork / SQL Zugriff auf Azure SQL-Endpunkte Extern & Intern
* / 443 Ausgehend TCP VirtualNetwork / AzureKeyVault Zugriff auf Azure Key Vault Extern & Intern

Herstellen einer Verbindung mit einem innerhalb eines virtuellen Netzwerk gehosteten Webdienst

Nachdem Sie Ihren API Management-Dienst mit dem VNet verbunden haben, können Sie auf Back-End-Dienste innerhalb des VNet auf die gleiche Weise zugreifen wie auf öffentliche Dienste. Geben Sie beim Erstellen oder Bearbeiten einer API die lokale IP-Adresse oder den Hostnamen Ihres Webdiensts (falls ein DNS-Server für das VNet konfiguriert wurde) im Feld Webdienst-URL ein.

Add API from VNet

Setup eines benutzerdefinierten DNS-Servers

Im externen VNet-Modus wird das DNS standardmäßig von Azure verwaltet. Optional können Sie einen benutzerdefinierten DNS-Server konfigurieren.

Der API Management-Dienst hängt von mehreren Azure-Diensten ab. Wenn API Management in einem VNet mit einem benutzerdefiniertem DNS-Server gehostet wird, muss es die Hostnamen dieser Azure-Dienste auflösen können.

Wichtig

Wenn Sie benutzerdefinierte DNS-Server für das VNet verwenden möchten, richten Sie diesen vor dem Bereitstellen eines API Management-Diensts ein. Andernfalls müssen Sie den API Management-Dienst jedes Mal aktualisieren, wenn Sie die DNS-Server durch Ausführen des Vorgangs „Netzwerkkonfiguration anwenden“ ändern.

Routing

  • Eine öffentliche IP-Adresse mit Lastenausgleich (VIP) ist reserviert, um Zugriff auf die API Management-Endpunkte und Ressourcen außerhalb des VNet zu ermöglichen.
    • Die öffentliche IP-Adresse finden Sie auf dem Blatt Übersicht/Essentials im Azure-Portal.

Weitere Informationen und Hinweise finden Sie unter IP-Adressen von Azure API Management.

VIP- und DIP-Adressen

Dynamische IP-Adressen (DIP) werden jedem zugrunde liegenden virtuellen Computer im Dienst zugewiesen und für den Zugriff auf Endpunkte und Ressourcen im VNet um im Peer-VNet verwendet. Die öffentliche virtuelle IP-Adresse (VIP) des API Management-Dienstes wird für den Zugriff auf Ressourcen außerhalb des VNet verwendet.

Falls Ressourcen innerhalb des VNET oder Peer-VNet mit IP-Einschränkungslisten geschützt werden, wird empfohlen, den gesamten Bereich des Subnetzes anzugeben, in dem der API Management-Dienst bereitgestellt wird, um über den Dienst Zugriff zu gewähren oder zu verweigern.

Erfahren Sie mehr über die empfohlene Subnetzgröße.

Tunnelerzwingung für Datenverkehr zur lokalen Firewall per ExpressRoute oder virtueller Netzwerk-Appliance

Durch erzwungenes Tunneln können sie den gesamten an das Internet gebundenen Datenverkehr aus Ihrem Subnetz zur Inspektion und Überprüfung an den lokalen Standort zurückleiten oder „erzwingen“. In der Regel konfigurieren und definieren Sie ihre eigene Standardroute (0.0.0.0/0), indem Sie den gesamten Datenverkehr aus allen API Management-Subnetzen dazu zwingen, durch eine lokale Firewall oder zu einer virtuellen Netzwerk-Appliance zu fließen. Bei diesem Datenverkehrsfluss funktioniert die Verbindung mit Azure API Management nicht mehr, da ausgehender Datenverkehr entweder lokal blockiert oder mittels NAT in eine nicht mehr nachvollziehbare Gruppe von Adressen übersetzt wird, die nicht mehr mit verschiedenen Azure-Endpunkten funktionieren. Sie können dieses Problem mit einer der folgenden Methoden beheben:

  • Aktivieren Sie Dienstendpunkte in dem Subnetz, in dem der API Management-Dienst für Folgendes bereitgestellt wird:

    • Azure SQL (nur in der primären Region erforderlich, wenn der API Management-Dienst in mehreren Regionen bereitgestellt wird)
    • Azure Storage
    • Azure Event Hubs
    • Azure Key Vault (erforderlich, wenn API Management auf der stv2-Plattform bereitgestellt wird)

    Indem Sie Endpunkte direkt über das per API Management-Subnetz für diese Dienste aktivieren, können Sie das Microsoft Azure-Backbonenetzwerk verwenden, das optimales Routing für Dienstdatenverkehr ermöglicht. Bei Verwendung von Dienstendpunkten mit API Management mit Tunnelerzwingung erfolgt für den Datenverkehr der obigen Azure-Dienste keine Tunnelerzwingung. Für den übrigen Datenverkehr der API Management-Dienstabhängigkeiten bleibt die Tunnelerzwingung genutzt. Stellen Sie sicher, dass Ihre Firewall oder virtuelle Appliance diesen Datenverkehr nicht blockiert, oder der API Management-Dienst funktioniert möglicherweise nicht ordnungsgemäß.

  • Der gesamte Datenverkehr auf Steuerungsebene, der aus dem Internet an den Verwaltungsendpunkt Ihres API Management-Diensts fließt, wird über einen spezifischen Satz mit IP-Adressen für eingehenden Datenverkehr geleitet, die von API Management gehostet werden. Wenn der Datenverkehr erzwungenermaßen getunnelt wird, werden die Antworten diesen eingehenden Quell-IPs nicht symmetrisch zugeordnet und die Verbindung mit dem Verwaltungsendpunkt geht verloren. Um diese Einschränkung zu überwinden, konfigurieren Sie benutzerdefinierte Routen (UDRs) für diese eingehenden IPs, wobei der nächste Hop-Typ auf „Internet" festgelegt ist, um den Datenverkehr zurück zu Azure zu steuern. Konfigurieren Sie den ApiManagement-Dienst-Tag oder finden Sie das IP-Set für eingehenden Datenverkehr auf Steuerungsebene, wie es in IP-Adressen der Steuerungsebene dokumentiert wird.

    Wichtig

    IP-Adressen auf Steuerungsebene sollten nur bei Bedarf in bestimmten Netzwerkszenarien für Netzwerkzugriffsregeln konfiguriert werden. Wir empfehlen, das ApiManagement-Dienst-Tag statt IP-Adressen auf Steuerungsebene zu verwenden, um Ausfallzeiten zu vermeiden, wenn Infrastrukturverbesserungen IP-Adressänderungen erfordern.

    Hinweis

    API Management-Verwaltungsdatenverkehr zuzulassen, um eine lokale Firewall oder eine virtuelle Netzwerk-Appliance zu umgehen, gilt nicht als erhebliches Sicherheitsrisiko. Die empfohlene Konfiguration für Ihr API Management-Subnetz ermöglicht eingehenden Verwaltungsdatenverkehr auf Port 3443 nur von dem Satz von Azure-IP-Adressen, die vom ApiManagement-Dienst-Tag umfasst sind. Die empfohlene UDR-Konfiguration gilt nur für den Rückgabepfad dieses Azure-Datenverkehrs.

  • (Externer VNet-Modus) Datenebenenverkehr für Clients, die versuchen, das API Management-Gateway und Entwicklerportal aus dem Internet zu erreichen, wird auch standardmäßig aufgrund asymmetrischer Routings, die durch erzwungenes Tunneling eingeführt wurden, getrennt. Konfigurieren Sie für jeden Client, der Zugriff erfordert, einen expliziten UDR mit dem nächsten Hop-Typ „Internet", um die Firewall oder die virtuelle Netzwerk-Appliance zu umgehen.

  • Lösen Sie für die anderen API Management-Dienstabhängigkeiten, für die Tunnelerzwingung genutzt wird, den Hostnamen auf, und stellen Sie eine Verbindung mit dem Endpunkt her. Dazu zählen unter anderem folgende Einstellungen:

    • Metriken und Systemüberwachung
    • Diagnose im Azure-Portal
    • SMTP-Relay
    • CAPTCHA des Entwicklerportals
    • Azure KMS-Server

Weitere Informationen finden Sie unter Konfigurationsreferenz für virtuelle Netzwerke.

Häufige Probleme bei der Netzwerkkonfiguration

Dieser Abschnitt wurde verschoben. Siehe Konfigurationsreferenz für virtuelle Netzwerke.

Problembehandlung

  • Nicht erfolgreiche Erstbereitstellung des API Management-Diensts in einem Subnetz

    • Stellen Sie einen virtuellen Computer im selben Subnetz bereit.
    • Stellen Sie eine Verbindung mit dem virtuellen Computer her, und überprüfen Sie die Konnektivität mit den folgenden Ressourcen in Ihrem Azure-Abonnement:
      • Azure Storage-Blob
      • Azure SQL-Datenbank
      • Azure Storage-Tabelle
      • Azure Key Vault (für eine API Management-Instanz, die auf der Plattform gehostet wird)

    Wichtig

    Entfernen Sie nach der Konnektivitätsüberprüfung alle Ressourcen im Subnetz, bevor Sie API Management im Subnetz bereitstellen (erforderlich, wenn API Management auf der Plattform stv1 gehostet wird).

  • Überprüfen des Netzwerkstatus

    • Nach dem Bereitstellen von API Management im Subnetz können Sie im Portal die Konnektivität Ihrer Instanz mit Abhängigkeiten – etwa Azure Storage – überprüfen.
    • Wählen Sie im Portal im linken Menü unter Bereitstellung und Infrastruktur die Option NetzwerkNetzwerkstatus aus.

    Verify network connectivity status in the portal

    Filtern BESCHREIBUNG
    Erforderlich Wählen Sie diese Option aus, um die Konnektivität erforderlicher Azure-Dienste für API Management zu überprüfen. Ein Fehler weist darauf hin, dass die Instanz keine Kernvorgänge zum Verwalten von APIs durchführen kann.
    Optional Wählen Sie diese Option aus, um die Konnektivität optionaler Dienste zu überprüfen. Ein Fehler gibt nur an, dass die spezifische Funktion nicht ausgeführt wird (z. B. SMTP). Ein Fehler kann zu einer Beeinträchtigung bei der Verwendung und Überwachung der API Management-Instanz sowie bei der Erfüllung der verbindlichen SLA führen.

    Sehen Sie sich zum Beheben von Konnektivitätsproblemen die Netzwerkkonfigurationseinstellungen an, und korrigieren Sie die entsprechenden Netzwerkeinstellungen.

  • Inkrementelle Updates
    Wenn Sie Änderungen an Ihrem Netzwerk vornehmen, sollten Sie sich mithilfe der NetworkStatus-API vergewissern, dass der API Management-Dienst weiterhin Zugriff auf wichtige Ressourcen hat. Der Konnektivitätsstatus sollte alle 15 Minuten aktualisiert werden.

    Anwendung einer Netzwerkkonfigurationsänderung über das Portal auf die API Management-Instanz:

    1. Im linken Menü für Ihre Instanz unter Bereitstellung und Infrastruktur die Option Virtuelles Netzwerk auswählen.
    2. Netzwerkkonfiguration anwenden auswählen.
  • Ressourcennavigationslinks
    Eine APIM-Instanz, die auf der Computeplattform gehostet wird,reserviert bei der Bereitstellung in einem Resource Manager-VNet-Subnetz das Subnetz, indem ein Ressourcennavigationslink erstellt wird. Wenn das Subnetz bereits eine Ressource von einem anderen Hersteller enthält, tritt bei der Bereitstellung ein Fehler auf. Wenn Sie einen API Management-Dienst löschen oder in ein anderes Subnetz verschieben, wird der Ressourcennavigationslink ebenfalls entfernt.

Nächste Schritte

Weitere Informationen: