Mehrinstanzenfähigkeit und Azure Private Link

Azure Private Link bietet private IP-Adressierung für Azure-Plattformdienste und für Ihre eigenen Anwendungen, die auf virtuellen Azure-Computern gehostet werden. Sie können Private Link verwenden, um private Konnektivität von den Azure-Umgebungen Ihrer Mandanten aus zu ermöglichen. Mandanten können Private Link auch für den Zugriff auf Ihre Lösung von ihren lokalen Umgebungen aus verwenden, wenn sie über virtuelle private Netzwerkgateways (VPN Gateway) oder ExpressRoute verbunden sind.

Azure Private Link wird von vielen großen SaaS-Anbietern einschließlich Snowflake, Confluent Cloud und MongoDB Atlas verwendet.

In diesem Artikel erfahren Sie, wie Sie Private Link für eine mehrinstanzenfähige Lösung, die auf Azure gehostet wird, konfigurieren können.

Wichtige Aspekte

Überlappende IP-Adressräume

Private Link bietet leistungsstarke Funktionen für mehrinstanzenfähige Lösungen, bei denen die Mandanten über private Adressräume auf den Dienst zugreifen können.

Verschiedene Mandanten verwenden häufig die gleichen oder sich überlappende private IP-Adressräume. Ihre mehrinstanzenfähige Lösung könnte z. B. den IP-Adressraum von 10.1.0.0/16 verwenden. Angenommen, Mandant A verwendet sein eigenes lokales Netzwerk mit demselben IP-Adressraum, und zufällig verwendet auch Mandant B denselben IP-Adressraum. Sie können Ihre Netzwerke nicht direkt miteinander verbinden oder Peering verwenden, da sich die IP-Adressbereiche überlappen.

Wenn Sie Private Link verwenden, um die Konnektivität von jedem Mandanten zur mehrinstanzenfähigen Lösung zu ermöglichen, wird auf den Datenverkehr jedes Mandanten automatisch die Netzwerkadressenübersetzung (NAT) angewendet. Jeder Mandant kann eine private IP-Adresse innerhalb seines eigenen Netzwerks verwenden, und der Datenverkehr fließt transparent zur mehrinstanzenfähigen Lösung. Private Link führt NAT für den Datenverkehr durch, selbst wenn die Mandanten und der Anbieter überlappende IP-Adressbereiche verwenden:

Diagram showing connectivity between two tenants and a multitenant service, all of which use the same IP address space.

Wenn der Datenverkehr in der mehrinstanzenfähigen Lösung ankommt, wurde er bereits übersetzt. Das bedeutet, dass der Datenverkehr scheinbar aus dem eigenen virtuellen Netzwerk-IP-Adressraum des mehrinstanzenfähigen Diensts stammt. Private Link bietet das Feature TCP-Proxyprotokoll v2, das es einem mehrinstanzenfähigen Dienst ermöglicht, den Mandanten, der die Anforderung gesendet hat, und sogar die ursprüngliche IP-Adresse des Quellnetzwerks zu kennen.

Dienstauswahl

Wenn Sie Private Link verwenden, ist es wichtig zu überlegen, zu welchem Dienst Sie eingehende Verbindungen zulassen möchten.

Der Azure Private Link-Dienst wird mit virtuellen Computern hinter einer Load Balancer Standard-Instanz verwendet.

Sie können Private Link auch mit anderen Azure-Diensten verwenden. Zu diesen Diensten gehören Hostingplattformen für Anwendungen wie Azure App Service. Dazu gehören auch Azure Application Gateway oder Azure API Management, die Netzwerk- und API-Gateways sind.

Die von Ihnen verwendete Anwendungsplattform bestimmt viele Aspekte Ihrer Private Link-Konfiguration und die geltenden Grenzwerte. Außerdem unterstützen einige Dienste Private Link nicht für den eingehenden Datenverkehr.

Grenzwerte

Überlegen Sie sorgfältig, wie viele private Endpunkte Sie erstellen können, je nach der Architektur Ihrer Lösung. Wenn Sie eine PaaS-Anwendungsplattform (Platform as a Service) verwenden, ist es wichtig, dass Sie die maximale Anzahl privater Endpunkte kennen, die eine einzelne Ressource unterstützen kann. Wenn Sie virtuelle Computer ausführen, können Sie eine Private Link-Dienstinstanz an eine Load Balancer Standard-Instanz (SLB) anfügen. Bei dieser Konfiguration können Sie in der Regel eine größere Anzahl privater Endpunkte anschließen, aber es gelten immer noch Grenzwerte. Diese Grenzwerte können bestimmen, wie viele Mandanten Sie mithilfe von Private Link mit Ihren Ressourcen verbinden können. Überprüfen Sie Einschränkungen für Azure-Abonnements und Dienste, Kontingente und Einschränkungen, um die Grenzen der Anzahl von Endpunkten und Verbindungen zu verstehen.

Außerdem erfordern einige Dienste eine spezielle Netzwerkkonfiguration, um Private Link zu verwenden. Wenn Sie z. B. Private Link mit Azure Application Gateway verwenden, müssen Sie zusätzlich zum Standardsubnetz für die Application Gateway-Ressource ein dediziertes Subnetz bereitstellen.

Testen Sie Ihre Lösung, einschließlich der Bereitstellung und der Diagnosekonfiguration, sorgfältig mit aktivierter Private Link-Konfiguration. Einige Azure-Dienste blockieren den öffentlichen Datenverkehr, wenn ein privater Endpunkt aktiviert ist, was dazu führen kann, dass Sie Ihre Bereitstellungs- und Verwaltungsprozesse ändern müssen.

Sie können Ihre Lösung so bereitstellen, dass sie sowohl über das Internet als auch über private Endpunkte zugänglich ist. Berücksichtigen Sie die Gesamttopologie Ihres Netzwerks und die Pfade, die der Datenverkehr der einzelnen Mandanten nimmt.

Wenn Ihre Lösung auf virtuellen Computern basiert, die sich hinter einer Load Balancer Standard-Instanz befinden, können Sie Ihren Endpunkt über den Private Link-Dienst verfügbar machen. In diesem Fall sind eine Web Application Firewall und Anwendungsrouting wahrscheinlich bereits Teil Ihrer auf virtuellen Computern basierenden Workload.

Viele Azure PaaS-Dienste unterstützen Private Link für eingehende Konnektivität, sogar für verschiedene Azure-Abonnements und Microsoft Entra-Mandanten. Sie können die Private Link-Funktionen dieses Diensts verwenden, um Ihren Endpunkt verfügbar zu machen.

Wenn Sie andere Dienste verwenden, die mit dem Internet verbunden sind, wie Azure Front Door, ist es wichtig zu prüfen, ob diese Private Link für den eingehenden Datenverkehr unterstützen. Wenn dies nicht der Fall ist, sollten Sie sich überlegen, wie Ihr Datenverkehr durch die einzelnen Pfade zu Ihrer Lösung fließt.

Nehmen wir z. B. an, Sie erstellen eine Anwendung für das Internet, die für eine VM-Skalierungsgruppe ausgeführt wird. Sie verwenden Azure Front Door, einschließlich seiner Web Application Firewall (WAF), für die Sicherheit und die Beschleunigung des Datenverkehrs, und Sie konfigurieren Front Door so, dass es seinen Datenverkehr über einen privaten Endpunkt an Ihren Back-End-Dienst (Ursprung) sendet. Mandant A verwendet für die Verbindung mit Ihrer Lösung einen öffentlichen Endpunkt, und Mandant B verwendet einen privaten Endpunkt. Da Front Door Private Link für eingehende Verbindungen nicht unterstützt, umgeht der Datenverkehr von Mandant B Ihre Front Door-Instanz und deren WAF:

Diagram showing requests coming through Azure Front Door, and also through a private endpoint, which bypasses Front Door.

Isolationsmodelle

Private Link wurde entwickelt, um Szenarien zu unterstützen, in denen eine einzelne Logikschicht von mehreren separaten Clients verwendet werden kann, z. B. von Ihren Mandanten. Wenn Sie die Isolation für Private Link in Betracht ziehen, geht es vor allem um die Anzahl der Ressourcen, die Sie bereitstellen müssen, um Ihre Anforderungen zu erfüllen. Die Isolationsmodelle für Mandanten, die Sie für Private Link verwenden können, hängen von dem Dienst ab, den Sie verwenden.

Wenn Sie den Private Link-Dienst mit virtuellen Computern hinter einer Load Balancer Standard-Instanz verwenden, gibt es mehrere Isolationsmodelle, die Sie in Betracht ziehen können.

Aspekt Freigegebener Private Link-Dienst und freigegebener Lastenausgleich Dedizierter Private Link-Dienst und dedizierter Lastenausgleich Dedizierter Private Link-Dienst und freigegebener Lastenausgleich
Bereitstellungskomplexität Niedrig Mittel bis hoch, je nach Anzahl der Mandanten Mittel bis hoch, je nach Anzahl der Mandanten
Komplexität des Betriebs Niedrig Mittel bis hoch, je nach Anzahl der Ressourcen Mittel bis hoch, je nach Anzahl der Ressourcen
Zu berücksichtigende Grenzwerte Anzahl privater Endpunkte für denselben Private Link-Dienst Anzahl der Private Link-Dienste pro Abonnement Anzahl der Private Link-Dienste pro Load Balancer Standard-Instanz
Beispielszenario Große Lösung mit mehreren Mandanten mit freigegebener Logikschicht Separate Bereitstellungsstempel für jeden Mandanten Freigegebene Logikschicht in einem einzelnen Stempel mit großer Anzahl von Mandanten

Bei allen drei Modellen hängen der Grad der Datenisolation und die Leistung von den anderen Elementen Ihrer Lösung ab, und die Bereitstellung des Private Link-Diensts hat keinen wesentlichen Einfluss auf diese Faktoren.

Sie könnten die Bereitstellung eines freigegebenen Private Link-Diensts in Erwägung ziehen, der mit einer Load Balancer Standard-Instanz verbunden ist. Jeder Ihrer Mandanten kann einen privaten Endpunkt erstellen und diesen zum Herstellen einer Verbindung mit Ihrer Lösung verwenden.

Eine einzelne Instanz des Private Link-Diensts unterstützt eine große Anzahl privater Endpunkte. Wenn Sie die Grenzwerte ausgeschöpft haben, können Sie weitere Instanzen des Private Link-Diensts bereitstellen. Allerdings gibt es auch Grenzen für die Anzahl der Private Link-Dienste, die Sie für einen einzelnen Lastenausgleich bereitstellen können. Wenn Sie davon ausgehen, dass Sie sich diesen Grenzen nähern, sollten Sie einen auf Bereitstellungsstempeln basierenden Ansatz verwenden und freigegebene Lastenausgleiche und Private Link-Dienstinstanzen in jedem Stempel verwenden.

Sie können einen dedizierten Private Link-Dienst und einen dedizierten Lastenausgleich für jeden Mandanten bereitstellen. Dieser Ansatz ist sinnvoll, wenn Sie über einen dedizierten Satz von virtuellen Computern für jeden Mandanten verfügen, z. B. wenn Ihre Mandanten strenge Complianceanforderungen aufweisen.

Sie können auch dedizierte Private Link-Dienstinstanzen für jeden Mandanten mit einer freigegebenen Load Balancer Standard-Instanz bereitstellen. Es ist jedoch unwahrscheinlich, dass dieses Modell einen großen Nutzen bringt. Da außerdem die Anzahl der Private Link-Dienste, die Sie auf eine einzelne Load Balancer Standard-Instanz bereitstellen können, begrenzt ist, ist dieses Modell wahrscheinlich nicht über eine kleine mehrinstanzenfähige Lösung hinaus skalierbar.

In der Regel können Sie mehrere freigegebene Private Link-Dienste bereitstellen. Mit diesem Ansatz können Sie die Anzahl der privaten Endpunkte, die Ihre Lösung unterstützen kann, mit einem freigegebenen Lastenausgleich erweitern.

Isolationsmodelle für Azure PaaS-Dienste mit privaten Endpunkten

Wenn Sie Azure Platform as a Service-Dienste (PaaS) bereitstellen und Ihren Mandanten den Zugriff auf diese Dienste über private Endpunkte ermöglichen möchten, müssen Sie die Möglichkeiten und Einschränkungen des jeweiligen Diensts berücksichtigen. Außerdem müssen Sie berücksichtigen, ob die Ressourcen der Logikschicht für einen bestimmten Mandanten bestimmt sind oder ob sie von mehreren Mandanten freigegeben werden.

Wenn Sie für jeden Mandanten einen eigenen Satz von Logikschichtressourcen bereitstellen, können Sie wahrscheinlich einen privaten Endpunkt bereitstellen, den dieser Mandant für den Zugriff auf seine Ressourcen verwendet. Es ist unwahrscheinlich, dass Sie die Grenzwerte für Private Link-bezogene Dienste ausschöpfen, denn jeder Mandant verfügt über seine eigenen Ressourcen, die für ihn bestimmt sind.

Wenn Sie Ressourcen der Logikschicht zwischen Mandanten freigeben, können Sie die Bereitstellung eines privaten Endpunkts für jeden Mandanten in Betracht ziehen. Die Anzahl der privaten Endpunkte, die mit einer einzelnen Ressource verbunden werden können, ist begrenzt und für jeden Dienst unterschiedlich.

Private Link verfügt über mehrere Features, die in einer mehrinstanzenfähigen Umgebung hilfreich sind. Welche Features Ihnen im Einzelnen zur Verfügung stehen, hängt jedoch von dem Dienst ab, den Sie verwenden. Der grundlegende Azure Private Link-Dienst für virtuelle Computer und Lastenausgleiche unterstützt alle unten beschriebenen Features. Andere Dienste mit Private Link-Unterstützung bieten möglicherweise nur eine Teilmenge dieser Features.

Dienstaliase

Wenn ein Mandant den Zugriff auf Ihren Dienst mithilfe von Private Link konfiguriert, muss er in der Lage sein, Ihren Dienst zu identifizieren, sodass Azure die Verbindung herstellen kann.

Der Private Link-Dienst und bestimmte andere Private Link-kompatible Azure-Dienste ermöglichen es Ihnen, einen Alias zu konfigurieren, den Sie Ihren Mandanten zur Verfügung stellen. Mithilfe eines Alias vermeiden Sie die Offenlegung Ihrer Azure-Abonnement-IDs und Ressourcengruppennamen.

Sichtbarkeit des Diensts

Mit dem Private Link-Dienst können Sie die Sichtbarkeit Ihres privaten Endpunkts steuern. Sie können allen Kunden in Azure erlauben, sich mit Ihrem Dienst zu verbinden, wenn sie dessen Alias oder Ressourcen-ID kennen. Alternativ können Sie den Zugriff auf eine bestimmte Anzahl bekannter Azure-Kunden festlegen.

Sie können auch eine begrenzte Anzahl von vorab genehmigten Azure-Abonnement-IDs angeben, die sich mit Ihrem privaten Endpunkt verbinden können. Wenn Sie sich dafür entscheiden, diesen Ansatz zu verwenden, überlegen Sie, wie Sie die Abonnement-IDs erfassen und autorisieren. Sie könnten z. B. in Ihrer Anwendung eine Benutzeroberfläche für die Verwaltung bereitstellen, um die Abonnement-ID eines Mandanten zu erfassen. Dann können Sie Ihre Private Link-Dienstinstanz dynamisch neu konfigurieren, um diese Abonnement-ID für Verbindungen vorab zu genehmigen.

Verbindungsgenehmigungen

Nachdem eine Verbindung zwischen einem Client (z. B. einem Mandanten) und einem privaten Endpunkt angefordert wurde, verlangt Private Link, dass die Verbindung genehmigt wird. Solange die Verbindung nicht genehmigt ist, kann der Datenverkehr nicht über die Verbindung des privaten Endpunkts fließen.

Der Private Link-Dienst unterstützt verschiedene Arten von Genehmigungsflüssen, einschließlich:

  • Manuelle Genehmigung, bei der Ihr Team jede Verbindung explizit genehmigt. Dieser Ansatz ist praktikabel, wenn Sie nur wenige Mandanten haben, die Ihren Dienst über Private Link verwenden.
  • API-basierte Genehmigung, bei der der Private Link-Dienst die Verbindung so behandelt, als sei eine manuelle Genehmigung erforderlich, und Ihre Anwendung die API zum Aktualisieren von privaten Endpunktverbindungen, die Azure CLI oder Azure PowerShell verwendet, um eine Verbindung zu genehmigen. Dieser Ansatz kann nützlich sein, wenn Sie über eine Liste von Mandanten verfügen, die autorisiert wurden, private Endpunkte zu verwenden.
  • Automatische Genehmigung, bei der der Private Link-Dienst selbst die Liste der Abonnement-IDs verwaltet, deren Verbindungen automatisch genehmigt werden sollen.

Weitere Informationen finden Sie unter Steuern des Dienstzugriffs.

Proxyprotokoll v2

Wenn Sie den Private Link-Dienst verwenden, verfügt Ihre Anwendung standardmäßig nur über die Sichtbarkeit einer IP-Adresse, die eine Netzwerkadressenübersetzung (NAT) durchlaufen hat. Dieses Verhalten bedeutet, dass der Datenverkehr scheinbar aus Ihrem eigenen virtuellen Netzwerk kommt.

Private Link ermöglicht Ihnen den Zugriff auf die ursprüngliche IP-Adresse des Clients im virtuellen Netzwerk des Mandanten. Dieses Feature verwendet das TCP-Proxyprotokoll v2.

Angenommen, Ihre Mandantenadministratoren müssen auf IP-Adressen basierende Zugriffsbeschränkungen hinzufügen, um Folgendes zu erreichen: Host 10.0.0.10 kann auf den Dienst zugreifen, Host 10.0.0.20 aber nicht. Wenn Sie das Proxyprotokoll v2 verwenden, können Sie Ihren Mandanten ermöglichen, diese Arten von Zugriffsbeschränkungen in Ihrer Anwendung zu konfigurieren. Ihr Anwendungscode muss jedoch die ursprüngliche IP-Adresse des Clients überprüfen und die Einschränkungen erzwingen.

  • Azure Private Link Service-Erklärung und Demos von Anbieter (SaaS ISV) und Verbraucherperspektiven: Ein Video, das das Azure Private Link Servicefeature untersucht, das mehrinstanzenfähige Dienstanbieter (z.B. unabhängige Softwareanbieter beim Erstellen von SaaS-Produkten) ermöglicht. Mit dieser Lösung können Verbraucher über private IP-Adressen aus den eigenen virtuellen Azure-Netzwerken des Anbieters auf den Dienst des Anbieters zugreifen.
  • TCP Proxy Protocol v2 mit Azure Private Link Service – Deep Dive: Ein Video, das einen tiefen Einblick in das TCP-Proxyprotokoll v2 bietet, das ein erweitertes Feature des Azure Private Link-Diensts ist. Es ist nützlich bei Mehrinstanzenfähigen- und SaaS-Szenarien. Das Video zeigt, wie Sie Proxyprotokoll v2 im Azure Private Link Dienst aktivieren. Außerdem wird gezeigt, wie Sie einen NGINX-Dienst so konfigurieren, dass die private Quell-IP-Adresse des ursprünglichen Clients (anstelle der NAT-IP-Adresse) gelesen wird, um über den privaten Endpunkt auf den Dienst zuzugreifen.
  • Verwendung von NGINX Plus zum Decodieren des Proxyprotokolls TLV linkIdentifier aus dem Azure Private Link-Dienst: Ein Video, das zeigt, wie Sie NGINX Plus verwenden, um das TCP-Proxyprotokoll v2 TLV vom Azure Private Link-Dienst abzurufen. Das Video zeigt, wie Sie dann den numerischen Linkbezeichner (linkIdentifier), auch LINKID genannt, der privaten Endpunktverbindung extrahieren und decodieren können. Diese Lösung ist nützlich für mehrinstanzenfähige Anbieter, die den spezifischen Verbrauchermandanten identifizieren müssen, aus dem die Verbindung hergestellt wurde.
  • Muster für private SaaS-Konnektivität: Eine Beispiellösung, die einen Ansatz zur Automatisierung der Genehmigung privater Endpunktverbindungen mithilfe von Azure Managed Applications veranschaulicht.

Beitragende

Dieser Artikel wird von Microsoft gepflegt. Er wurde ursprünglich von folgenden Mitwirkenden geschrieben:

Hauptautoren:

Andere Mitwirkende:

Melden Sie sich bei LinkedIn an, um nicht öffentliche LinkedIn-Profile anzuzeigen.

Nächste Schritte

Überprüfen Sie die Netzwerkansätze für Mehrinstanzenfähigkeit.