Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 Verknüpfungen verwenden, um die private Konnektivität aus den Azure-Umgebungen Ihrer Mandanten zu aktivieren. Mandanten können auch private Verknüpfungen verwenden, um von ihren lokalen Umgebungen aus auf Ihre Lösung zuzugreifen, wenn sie über virtuelle private Netzwerkgateways (VPN-Gateway) oder ExpressRoute verbunden sind.
Azure Private Link wird von vielen großen SaaS-Anbietern verwendet, darunter Snowflake, Confluent Cloud und MongoDB Atlas.
In diesem Artikel wird erläutert, wie Sie private Verknüpfungen für eine von Azure gehostete Mehrinstanzenlösung konfigurieren können.
Wichtige Überlegungen
Überlappende IP-Adressräume
Private Link bietet leistungsstarke Funktionen für Multitenant-Lösungen, bei denen Mandanten über private Adressräume auf den Dienst zugreifen können.
Unterschiedliche Mandanten verwenden häufig dieselben oder ü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 ein eigenes lokales Netzwerk mit demselben IP-Adressraum, und gleichzeitig verwendet Mandant B auch denselben IP-Adressraum. Sie können Ihre Netzwerke nicht direkt verbinden oder miteinander peeren, da sich die IP-Adressbereiche überlappen.
Wenn Sie Private Link verwenden, um die Konnektivität von jedem Mandanten mit der Multitenant-Lösung zu aktivieren, wird auf den Datenverkehr jedes Mandanten automatisch NAT (Network Address Translation) angewendet. Jeder Mandant kann eine private IP-Adresse innerhalb ihres eigenen Netzwerks verwenden, und der Datenverkehr fließt transparent zur multitenanten Lösung. Private Link führt NAT für Datenverkehr aus, auch wenn Mandanten und der Dienstanbieter alle überlappende IP-Adressbereiche verwenden:
Wenn der Datenverkehr in die Multiinstanzenlösung eintrifft, wurde er bereits übersetzt. Das bedeutet, dass der Datenverkehr scheinbar aus dem eigenen virtuellen Netzwerk-IP-Adressraum des mehrinstanzenfähigen Diensts stammt. Private Link stellt das TCP-Proxyprotokoll v2-Feature bereit, mit dem ein mehrinstanzenfähiger Dienst den Mandanten kennen kann, der die Anforderung gesendet hat, und sogar die ursprüngliche IP-Adresse aus dem Quellnetzwerk.
Dienstauswahl
Wenn Sie private Verknüpfungen verwenden, ist es wichtig, den Dienst zu berücksichtigen, mit dem Sie eingehende Verbindungen zulassen möchten.
Der Azure Private Link-Dienst wird mit virtuellen Computern hinter einem Standard-Load-Balancer verwendet.
Sie können auch private Links mit anderen Azure-Diensten verwenden. Zu diesen Diensten gehören Anwendungshostingplattformen wie Azure App Service. Sie umfassen auch Azure-Anwendungsgateway oder Azure-API-Verwaltung, die Netzwerk- und API-Gateways sind.
Die von Ihnen verwendete Anwendungsplattform bestimmt viele Aspekte Ihrer Konfiguration für private Links und die geltenden Grenzwerte. Darüber hinaus unterstützen einige Dienste keinen privaten Link für eingehenden Datenverkehr. Lesen Sie die Dokumentation für die Azure-Dienste, die Sie verwenden, um deren Unterstützung für private Links zu verstehen.
Grenzen
Berücksichtigen Sie sorgfältig die Anzahl privater Endpunkte, die Sie basierend auf der Architektur Ihrer Lösung erstellen können. Wenn Sie eine Plattform als Dienstanwendungsplattform (PaaS) verwenden, ist es wichtig, die maximale Anzahl privater Endpunkte zu beachten, die von einer einzelnen Ressource unterstützt werden können. Wenn Sie virtuelle Computer ausführen, können Sie eine Private Link-Dienstinstanz an einen Standardlastenausgleich (SLB) anfügen. In dieser Konfiguration können Sie in der Regel eine höhere Anzahl privater Endpunkte verbinden, gelten jedoch weiterhin Grenzwerte. Diese Grenzwerte können bestimmen, wie viele Mandanten Sie mithilfe von Private Link mit Ihren Ressourcen verbinden können. Überprüfen Sie Azure-Abonnement- und Dienstbeschränkungen, Kontingente und Einschränkungen, um die Grenzwerte für die Anzahl der Endpunkte und Verbindungen zu verstehen.
Darüber hinaus erfordern einige Dienste eine spezielle Netzwerkkonfiguration für die Verwendung von privatem Link. Wenn Sie z. B. private Verknüpfung mit Azure-Anwendungsgateway verwenden, müssen Sie zusätzlich zum Standardsubnetz für die Anwendungsgateway-Ressource ein dediziertes Subnetz bereitstellen.
Testen Sie Ihre Lösung sorgfältig, einschließlich Ihrer Bereitstellungs- und Diagnosekonfiguration, mit aktivierter Konfiguration für private Links. Wenn private Endpunkte für einige Azure-Dienste aktiviert sind, wird der öffentliche Internetdatenverkehr blockiert. Dieses Verhalten kann erfordern, dass Sie Ihre Bereitstellungs- und Verwaltungsprozesse ändern.
Private Verknüpfung in Kombination mit öffentlich zugänglichen Diensten
Sie können sich entscheiden, Ihre Lösung sowohl im Internet bereitzustellen als auch über private Endpunkte verfügbar zu machen. Einige Ihrer Mandanten erfordern z. B. möglicherweise eine private Konnektivität, während andere auf eine öffentliche Internetverbindung angewiesen sind. Berücksichtigen Sie die allgemeine Netzwerktopologie und die Pfade, denen der Datenverkehr jedes Mandanten folgt.
Wenn Ihre Lösung auf virtuellen Maschinen basiert, die sich hinter einem standardmäßigen Load Balancer befinden, können Sie Ihren Endpunkt über den privaten Link-Dienst bereitstellen. In diesem Fall sind eine Webanwendungsfirewall und das Anwendungsrouting wahrscheinlich bereits Teil Ihrer virtualmaschinenbasierten 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 Funktionen dieses Diensts für private Verknüpfungen verwenden, um Ihren Endpunkt verfügbar zu machen.
Wenn Sie andere ins Internet gerichtete Dienste wie Azure Front Door verwenden, ist es wichtig zu überlegen, ob sie private Links für eingehenden Datenverkehr unterstützen. Wenn dies nicht der Fall ist, bedenken Sie, wie Ihr Verkehr durch jeden Pfad zu Ihrer Lösung fließt.
Angenommen, Sie erstellen eine internetorientierte Anwendung, die auf einem Skalierungssatz für virtuelle Computer ausgeführt wird. Sie verwenden Azure Front Door, einschließlich seiner Webanwendungsfirewall (WAF), zur Sicherheits- und Datenverkehrsbeschleunigung, und Sie konfigurieren Front Door, um seinen Datenverkehr über einen privaten Endpunkt an Ihren Back-End-Dienst (Origin) zu senden. Mandant A stellt eine Verbindung zu Ihrer Lösung über einen öffentlichen Endpunkt her, während Mandant B über einen privaten Endpunkt verbindet. 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:
Isolationsmodelle
Private Link wurde entwickelt, um Szenarien zu unterstützen, in denen eine einzelne Anwendungsebene von mehreren separaten Clients verwendet werden kann, z. B. Ihren Mandanten. Wenn Sie die Isolation für private Links in Betracht ziehen, besteht die Hauptsorge hinsichtlich der Anzahl der Ressourcen, die bereitgestellt werden müssen, um Ihre Anforderungen zu unterstützen. Die Mandantenisolationsmodelle, die Sie für private Verknüpfungen verwenden können, sind von dem dienst abhängig, den Sie verwenden.
Isolationsmodelle für den Privaten Link-Dienst
Wenn Sie den Private-Link-Dienst mit virtuellen Maschinen hinter einem Standard-Lastenausgleich verwenden, gibt es mehrere Isolationsmodelle, die Sie berücksichtigen können.
Überlegung | Freigegebener Private Link-Dienst und freigegebener Lastenausgleich | Dedizierter Private-Link-Dienst und dedizierter Load Balancer | Dedizierter Private-Link-Dienst und gemeinsam genutzter Load Balancer |
---|---|---|---|
Komplexität der Bereitstellung | Niedrig | Mittel-hoch, abhängig von der Anzahl der Mieter | Mittel-hoch, abhängig von der Anzahl der Mieter |
Betriebliche Komplexität | Niedrig | Mittelhoch, abhängig von der Anzahl der Ressourcen | Mittelhoch, abhängig von der Anzahl der Ressourcen |
Zu berücksichtigende Grenzwerte | Anzahl privater Endpunkte im selben privaten Linkdienst | Anzahl der Privaten Linkdienste pro Abonnement | Anzahl der Private Link-Dienste pro Load Balancer Standard-Instanz |
Beispielszenario | Große Mehrinstanzenlösung mit gemeinsam genutzter Anwendungsebene | Separate Bereitstellungsstempel für jeden Mandanten | Freigegebene Logikschicht in einem einzelnen Stempel mit großer Anzahl von Mandanten |
In allen drei Modellen hängt der Grad der Datenisolation und Leistung von den anderen Elementen Ihrer Lösung ab, und die Bereitstellung des Privaten Links-Diensts wirkt sich nicht wesentlich auf diese Faktoren aus.
Der gemeinsame Private-Link-Dienst und der gemeinsame Standard-Lastenausgleicher
Möglicherweise sollten Sie einen gemeinsamen privaten Linkdienst bereitstellen, der mit einem standardmäßigen Lastenausgleicher verbunden ist. Jeder Ihrer Mandanten kann einen privaten Endpunkt erstellen und es verwenden, um eine Verbindung mit Ihrer Lösung herzustellen.
Eine einzelne Private Link-Dienstinstanz unterstützt eine große Anzahl privater Endpunkte. Wenn Sie den Grenzwert ausschöpfen, können Sie weitere Private Link-Dienste bereitstellen, obwohl es auch Beschränkungen für die Anzahl der Private Link-Dienste gibt, die Sie auf einem einzelnen Load Balancer 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.
Dedizierter Private Link-Dienst und dedizierter Standard-Load-Balancer pro Mandant
Sie können für jeden Mandanten einen spezifischen Private-Link-Dienst und einen spezifischen Lastenausgleich bereitstellen. Dieser Ansatz ist sinnvoll, wenn Sie über einen dedizierten Satz virtueller Computer für jeden Mandanten verfügen, z. B. wenn Ihre Mandanten strenge Complianceanforderungen haben.
Dedizierter Private Link-Dienst pro Mandant und gemeinsam genutzter Standard-Lastenausgleich
Sie können auch dedizierte Private Link-Dienstinstanzen für jeden Mandanten mit einem gemeinsamen Standardlastenausgleich bereitstellen. Dieses Modell ist jedoch unwahrscheinlich, dass es einen erheblichen Nutzen bietet. Da es eine Beschränkung für die Anzahl der privaten Link-Dienste gibt, die Sie für einen einzelnen Standard-Load-Balancer bereitstellen können, ist dieses Modell wahrscheinlich nicht über eine kleine Mehrmandantenlö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 erhöhen, die Ihre Lösung auf einem freigegebenen Load Balancer unterstützen kann.
Isolationsmodelle für Azure PaaS-Dienste mit privaten Endpunkten
Wenn Sie Azure-Plattform as a Service (PaaS)-Dienste bereitstellen und Mandanten den Zugriff auf diese Dienste mit privaten Endpunkten ermöglichen möchten, sollten Sie die Funktionen und Einschränkungen des jeweiligen Diensts berücksichtigen. Überlegen Sie außerdem, ob Ihre Anwendungsebenenressourcen einem bestimmten Mandanten zugeordnet sind oder ob sie zwischen Mandanten gemeinsam genutzt werden.
Wenn Sie einen dedizierten Satz von Anwendungsebenenressourcen für jeden Mandanten bereitstellen, ist es wahrscheinlich, dass Sie einen privaten Endpunkt für diesen Mandanten bereitstellen können, um auf ihre Ressourcen zuzugreifen. Es ist unwahrscheinlich, dass Sie irgendwelche dienstbezogenen Beschränkungen im Zusammenhang mit Private Link ausschöpfen, da jeder Mandant über eigene, ihnen zugeordnete Ressourcen verfügt.
Wenn Sie Anwendungsebenenressourcen zwischen Mandanten freigeben, sollten Sie einen privaten Endpunkt für jeden Mandanten bereitstellen. Es gibt Grenzwerte für die Anzahl privater Endpunkte, die an eine einzelne Ressource angefügt werden können, und diese Grenzwerte unterscheiden sich für jeden Dienst.
Features von Azure Private Link, die Mehrinstanzenfähigkeit unterstützen
Private Link verfügt über mehrere Features, die in einer Mehrinstanzenumgebung hilfreich sind. Die für Sie verfügbaren spezifischen Features hängen jedoch von dem dienst ab, den Sie verwenden. Der grundlegende Azure Private Link-Dienst für virtuelle Computer und Lastenausgleichsgeräte unterstützt alle unten beschriebenen Features. Andere Dienste mit Unterstützung für private Links bieten möglicherweise nur eine Teilmenge dieser Features.
Dienstaliasen
Wenn ein Mandant den Zugriff auf Ihren Dienst mithilfe von privatem Link konfiguriert, muss er in der Lage sein, Ihren Dienst zu identifizieren, damit Azure die Verbindung herstellen kann.
Mit dem Privaten Linkdienst und bestimmten anderen mit privaten Links kompatiblen Azure-Diensten können Sie einen Alias konfigurieren , den Sie Ihren Mandanten bereitstellen. Mithilfe eines Alias vermeiden Sie, Ihre Azure-Abonnement-IDs und Ressourcengruppennamen offenzulegen.
Sichtbarkeit des Diensts
Der Private Link-Dienst ermöglicht es Ihnen, die Sichtbarkeit Ihres privaten Endpunkts zu steuern. Möglicherweise können Sie allen Azure-Kunden erlauben, eine Verbindung mit Ihrem Dienst herzustellen, wenn sie den Alias oder die Ressourcen-ID kennen. Alternativ können Sie den Zugriff auf nur eine Gruppe bekannter Azure-Kunden einschränken.
Sie können auch eine Reihe von vorab genehmigten Azure-Abonnement-IDs angeben, die eine Verbindung mit Ihrem privaten Endpunkt herstellen können. Wenn Sie diesen Ansatz verwenden, überlegen Sie, wie Sie Abonnement-IDs sammeln und autorisieren. Sie können beispielsweise eine Verwaltungs-Benutzeroberfläche in Ihrer Anwendung bereitstellen, um die Abonnement-ID eines Mandanten zu sammeln. Anschließend 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 (wie einem Mandanten) und einem privaten Endpunkt angefordert wurde, erfordert Private Link, dass die Verbindung genehmigt wird. Bis die Verbindung genehmigt wurde, kann der Datenverkehr nicht über die private Endpunktverbindung fließen.
Der Private Link-Dienst unterstützt verschiedene Arten von Genehmigungsflüssen, darunter:
- 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 als manuelle Genehmigung behandelt, und Ihre Anwendung verwendet die Update Private Endpoint Connection API, die Azure CLI oder Azure PowerShell, um eine Verbindung zu genehmigen. Dieser Ansatz kann nützlich sein, wenn Sie über eine Liste von Mandanten verfügen, die für die Verwendung privater Endpunkte autorisiert wurden.
- Automatische Genehmigung, bei der der Private Link-Dienst selbst die Liste der Abonnement-IDs verwaltet, die ihre Verbindungen automatisch genehmigt haben sollen.
Weitere Informationen finden Sie unter Steuern des Dienstzugriffs.
Proxyprotokoll v2
Wenn Sie den Private Link-Dienst verwenden, hat Ihre Anwendung standardmäßig nur Sicht auf eine IP-Adresse, die eine Netzwerkadressenübersetzung (Network Address Translation, NAT) durchlaufen hat. Dieses Verhalten bedeutet, dass Datenverkehr innerhalb Ihres eigenen virtuellen Netzwerks zu fließen scheint.
Mit dem privaten Link können Sie zugriff auf die ursprüngliche Client-IP-Adresse im virtuellen Netzwerk des Mandanten erhalten. Dieses Feature verwendet das TCP-Proxyprotokoll v2.
Angenommen, die Administratoren Ihrer Mandanten müssen IP-adressbasierte Zugriffsbeschränkungen hinzufügen, z. B. Host 10.0.0.10, können auf den Dienst zugreifen, Host 10.0.0.20 kann jedoch nicht. Wenn Sie Proxyprotokoll v2 verwenden, können Sie Ihren Mandanten die Konfiguration dieser Zugriffsbeschränkungen in Ihrer Anwendung ermöglichen. Ihr Anwendungscode muss jedoch die ursprüngliche IP-Adresse des Clients prüfen und die Einschränkungen erzwingen.
Verwandte Ressourcen
- Erklärung und Demos des Azure Private Link-Dienstes aus der Perspektive von Anbietern (SaaS-ISV) und Verbrauchern: Ein Video, das das Azure Private Link-Dienstfeature betrachtet, das Multitenant-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-Proxyprotokoll v2 mit Azure Private Link Service – Deep Dive: Ein Video, das einen umfassenden Einblick in das TCP-Proxyprotokoll v2 bietet, ein erweitertes Feature des Azure Private Link-Diensts. Es ist nützlich in Mehrmandanten- 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.
-
Verwenden von NGINX Plus zum Decodieren des Proxyprotokoll-TLV
linkIdentifier
aus dem Azure Private Link-Dienst: Ein Video, das untersucht, wie NGINX Plus verwendet wird, um das TCP-Proxyprotokoll v2 TLV aus dem Azure Private Link-Dienst abzurufen. Das Video zeigt, wie Sie dann den numerischen Linkbezeichner (linkIdentifier
), auchLINKID
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. - SaaS Private Connectivity-Muster: Eine Beispiellösung, die einen Ansatz veranschaulicht, um die Genehmigung privater Endpunktverbindungen mithilfe von Azure Managed Applications zu automatisieren.
Beitragende
Dieser Artikel wird von Microsoft verwaltet. Sie wurde ursprünglich von den folgenden Mitwirkenden verfasst.
Hauptautoren:
- John Downs | Leitender Softwareentwickler
- Arsen Vladimirskiy | Principal Customer Engineer, FastTrack für Azure
Anderer Mitwirkender:
- Sumeet Mittal | Principal Product Manager, Azure Private Link
Um nicht öffentliche LinkedIn-Profile anzuzeigen, melden Sie sich bei LinkedIn an.
Nächste Schritte
Sehen Sie sich die Netzwerkansätze für Mehrinstanzenfähigkeit an.