Integrieren von Azure Relay in Azure Private Link

Mit Azure Private Link können Sie über einen privaten Endpunkt in Ihrem virtuellen Netzwerk auf Azure-Dienste wie Azure Relay, Azure Service Bus, Azure Event Hubs, Azure Storage und Azure Cosmos DB sowie auf in Azure gehostete Kunden-/Partnerdienste zugreifen. Weitere Informationen finden Sie unter Was ist Azure Private Link?.

Ein privater Endpunkt ist eine Netzwerkschnittstelle, mit der Ihre Workloads, die in einem virtuellen Netzwerk ausgeführt werden, eine private und sichere Verbindung mit einem Dienst herstellen können, der über eine Private Link-Ressource verfügt (z. B. über einen Relaynamespace). Der private Endpunkt verwendet eine private IP-Adresse aus Ihrem VNET und bindet den Dienst dadurch in Ihr VNET ein. Der gesamte für den Dienst bestimmte Datenverkehr kann über den privaten Endpunkt geleitet werden. Es sind also keine Gateways, NAT-Geräte, ExpressRoute-Verbindungen, VPN-Verbindungen oder öffentlichen IP-Adressen erforderlich. Der Datenverkehr zwischen Ihrem virtuellen Netzwerk und dem Dienst wird über das Microsoft-Backbone-Netzwerk übertragen und dadurch vom öffentlichen Internet isoliert. Sie können eine gewünschte Granularitätsebene für die Zugriffssteuerung festlegen, indem Sie Verbindungen mit bestimmten Azure Relay-Namespaces zulassen.

Hinweis

Wenn Sie den Relaylistener über eine private Verbindung verwenden, öffnen Sie die Ports 9400-9599 für die ausgehende Kommunikation zusammen mit den Standardrelayports. Beachten Sie, dass Sie diesen Schritt nur für den Relaylistener ausführen müssen.

Hinzufügen eines privaten Endpunkts über das Azure-Portal

Voraussetzungen

Um einen Azure Relay-Namespace in Azure Private Link zu integrieren, benötigen Sie die folgenden Entitäten oder Berechtigungen:

  • Einen Azure Relay-Namespace
  • Ein virtuelles Azure-Netzwerk
  • Ein Subnetz in dem virtuellen Netzwerk
  • Berechtigungen vom Typ „Besitzer“ oder „Mitwirkender“ für das virtuelle Netzwerk.

Der private Endpunkt und das virtuelle Netzwerk müssen sich in der gleichen Region befinden. Wenn Sie über das Portal eine Region für den privaten Endpunkt auswählen, wird automatisch nach virtuellen Netzwerken in dieser Region gefiltert. Der Namespace kann sich in einer anderen Region befinden.

Der private Endpunkt verwendet eine private IP-Adresse in Ihrem virtuellen Netzwerk.

Konfigurieren des privaten Zugriffs für einen Relay-Namespace

Das folgende Verfahren enthält schrittweise Anleitungen zum Deaktivieren des öffentlichen Zugriffs auf einen Relay-Namespace und anschließendes Hinzufügen eines privaten Endpunkts zum Namespace.

  1. Melden Sie sich beim Azure-Portal an.

  2. Geben Sie in der Suchleiste den Suchbegriff Relays ein.

  3. Wählen Sie in der Liste den Namespace aus, dem Sie einen privaten Endpunkt hinzufügen möchten.

  4. Wählen Sie im linken Menü unter Einstellungen die Registerkarte "Netzwerk" aus.

  5. Wählen Sie auf der Seite Netzwerk unter Öffentlicher Netzwerkzugriff die Option Deaktiviert aus, wenn auf den Namespace nur über private Endpunkte zugegriffen werden soll.

  6. Wählen Sie unter Zulassen, dass vertrauenswürdige Microsoft-Dienste diese Firewall umgehen die Option Ja aus, wenn Sie zulassen möchten, dass vertrauenswürdige Microsoft-Dienste diese Firewall umgehen.

    Screenshot of the Networking page with public network access as Disabled.

  7. Wählen Sie im oberen Seitenbereich die Registerkarte Private Endpunktverbindungen aus.

  8. Wählen Sie im oberen Seitenbereich die Schaltfläche + Privater Endpunkt aus.

    Screenshot showing the selection of the Add private endpoint button on the Private endpoint connections tab of the Networking page.

  9. Führen Sie auf der Seite Grundlagen die folgenden Schritte aus:

    1. Wählen Sie das Azure-Abonnement aus, in dem Sie den privaten Endpunkt erstellen möchten.

    2. Wählen Sie die Ressourcengruppe für die private Endpunktressource aus.

    3. Geben Sie einen Namen für den privaten Endpunkt ein.

    4. Geben Sie einen Namen für die Netzwerkschnittstelle ein.

    5. Wählen Sie eine Region für den privaten Endpunkt aus. Ihr privater Endpunkt muss sich in derselben Region wie Ihr virtuelles Netzwerk befinden, kann aber in einer anderen Region als der Azure Relay-Namespace enthalten sein, mit dem Sie eine Verbindung herstellen.

    6. Wählen Sie unten auf der Seite die Schaltfläche Weiter: Ressource > aus.

      Screenshot showing the Basics page of the Create a private endpoint wizard.

  10. Überprüfen Sie die Einstellungen auf der Seite "Ressource ", und wählen Sie "Weiter: Virtuelles Netzwerk" aus.

    Screenshot showing the Resource page of the Create a private endpoint wizard.

  11. Wählen Sie auf der Seite "Virtuelles Netzwerk " das virtuelle Netzwerk und das Subnetz aus, in dem Sie den privaten Endpunkt bereitstellen möchten. Nur virtuelle Netzwerke im aktuell ausgewählten Abonnement und am aktuell ausgewählten Standort werden in der Dropdownliste aufgeführt.

    Screenshot showing the Virtual Network page of the Create a private endpoint wizard.

    Sie können konfigurieren, ob Sie eine IP-Adresse dynamisch zuweisen oder dem privaten Endpunkt eine IP-Adresse statisch zuweisen möchten.

    Sie können dem privaten Endpunkt auch eine neue oder vorhandene Anwendungssicherheitsgruppe zuordnen.

  12. Wählen Sie "Weiter" aus: DNS, um zur DNS-Seite des Assistenten zu navigieren. Auf der DNS-Seite ist die Einstellung "In private DNZ-Zone integrieren" standardmäßig aktiviert (empfohlen). Sie haben die Möglichkeit, sie zu deaktivieren.

    Screenshot showing the DNS page of the Create a private endpoint wizard.

    Für die Herstellung einer privaten Verbindung mit Ihrem privaten Endpunkt benötigen Sie einen DNS-Eintrag. Es wird empfohlen, den privaten Endpunkt in eine private DNS-Zone zu integrieren. Sie können auch Ihre eigenen DNS-Server verwenden oder DNS-Einträge mithilfe der Hostdateien auf Ihren virtuellen Computern erstellen. Weitere Informationen finden Sie unter DNS-Konfiguration für private Azure-Endpunkte.

  13. Wählen Sie die Schaltfläche Weiter: Tags > unten auf der Seite aus.

  14. Erstellen Sie auf der Seite Tags beliebige Tags (Namen und Werte), die Sie dem privaten Endpunkt und der privaten DNS-Zone zuordnen möchten (wenn Sie diese Option aktiviert haben). Wählen Sie dann am unteren Rand der Seite die Schaltfläche Überprüfen und erstellen aus.

  15. Überprüfen Sie auf der Seite Überprüfen und erstellen alle Einstellungen, und wählen Sie dann Erstellen aus, um den privaten Endpunkt zu erstellen.

  16. Auf der Seite Privater Endpunkt wird der Status der Verbindung mit dem privaten Endpunkt angezeigt. Wenn Sie Besitzer des Relaynamespace sind oder Verwaltungszugriff darauf haben und die Option Verbindung mit einer Azure-Ressource in meinem Verzeichnis herstellen als Verbindungsmethode ausgewählt haben, sollte die Endpunktverbindung automatisch genehmigt sein. Wenn sie sich im Status Ausstehend befindet, lesen Sie den Abschnitt Verwalten eines privaten Endpunkts mit dem Azure-Portal.

    Screenshot showing the Private endpoint page in the Azure portal.

  17. Navigieren Sie zurück zur Netzwerkseite des Namespace, und wechseln Sie zur Registerkarte "Private Endpunktverbindungen". Der private Endpunkt, den Sie erstellt haben, sollte angezeigt werden.

    Screenshot showing the Private endpoint connections tab of the Networking page with the private endpoint you just created.

Hinzufügen eines privaten Endpunkts mit PowerShell

Im folgenden Beispiel wird gezeigt, wie Azure PowerShell verwendet wird, um eine private Endpunktverbindung mit einem Azure Relay-Namespace herzustellen.

Der private Endpunkt und das virtuelle Netzwerk müssen sich in der gleichen Region befinden. Der Azure Relay-Namespace kann sich in einer anderen Region befinden. Außerdem verwendet der private Endpunkt eine private IP-Adresse in Ihrem virtuellen Netzwerk.


$rgName = "<RESOURCE GROUP NAME>"
$vnetlocation = "<VNET LOCATION>"
$vnetName = "<VIRTUAL NETWORK NAME>"
$subnetName = "<SUBNET NAME>"
$namespaceLocation = "<NAMESPACE LOCATION>"
$namespaceName = "<NAMESPACE NAME>"
$peConnectionName = "<PRIVATE ENDPOINT CONNECTION NAME>"

# create resource group
New-AzResourceGroup -Name $rgName -Location $vnetLocation 

# create virtual network
$virtualNetwork = New-AzVirtualNetwork `
                    -ResourceGroupName $rgName `
                    -Location $vnetlocation `
                    -Name $vnetName `
                    -AddressPrefix 10.0.0.0/16

# create subnet with endpoint network policy disabled
$subnetConfig = Add-AzVirtualNetworkSubnetConfig `
                    -Name $subnetName `
                    -AddressPrefix 10.0.0.0/24 `
                    -PrivateEndpointNetworkPoliciesFlag "Disabled" `
                    -VirtualNetwork $virtualNetwork

# update virtual network
$virtualNetwork | Set-AzVirtualNetwork

# create a relay namespace
$namespaceResource = New-AzResource -Location $namespaceLocation -ResourceName $namespaceName -ResourceGroupName $rgName -Properties @{} -ResourceType "Microsoft.Relay/namespaces" 

# create a private link service connection
$privateEndpointConnection = New-AzPrivateLinkServiceConnection `
                                -Name $peConnectionName `
                                -PrivateLinkServiceId $namespaceResource.ResourceId `
                                -GroupId "namespace"

# get subnet object that you'll use in the next step                                
$virtualNetwork = Get-AzVirtualNetwork -ResourceGroupName  $rgName -Name $vnetName
$subnet = $virtualNetwork | Select -ExpandProperty subnets `
                                | Where-Object  {$_.Name -eq $subnetName}  
   
# now, create private endpoint   
$privateEndpoint = New-AzPrivateEndpoint -ResourceGroupName $rgName  `
                                -Name $vnetName   `
                                -Location $vnetlocation `
                                -Subnet  $subnet   `
                                -PrivateLinkServiceConnection $privateEndpointConnection

(Get-AzResource -ResourceId $namespaceResource.ResourceId -ExpandProperties).Properties


Verwalten eines privaten Endpunkts mit dem Azure-Portal

Wenn Sie einen privaten Endpunkt erstellen, muss die Verbindung genehmigt werden. Wenn sich die Ressource (Relaynamespace), für die Sie einen privaten Endpunkt erstellen, in Ihrem Verzeichnis befindet, können Sie die Verbindungsanforderung genehmigen, sofern Sie über Verwaltungsberechtigungen für den Relaynamespace verfügen. Wenn Sie eine Verbindung mit einem Relaynamespace herstellen, für den Sie keinen Verwaltungszugriff besitzen, müssen Sie warten, bis der Besitzer dieser Ressource Ihre Verbindungsanforderung genehmigt hat.

Es gibt vier Möglichkeiten für den Bereitstellungsstatus:

Dienstaktion Zustand des privaten Endpunkts des Dienstconsumers BESCHREIBUNG
Keine Ausstehend Die Verbindung wurde manuell erstellt, und die Genehmigung des Besitzers des Azure Relay-Namespace steht aus.
Genehmigen Genehmigt Die Verbindung wurde automatisch oder manuell genehmigt und ist zur Verwendung bereit.
Reject Rejected (Abgelehnt) Die Verbindung wurde vom Besitzer des Azure Relay-Namespace abgelehnt.
Remove Getrennt Die Verbindung wurde vom Besitzer des Azure Relay-Namespace entfernt, und der private Endpunkt wird informativ und sollte zur Bereinigung gelöscht werden.

Genehmigt die Verbindung eines privaten Endpunkts, lehnt sie ab oder entfernt sie.

  1. Melden Sie sich beim Azure-Portal an.
  2. Geben Sie auf der Suchleiste den Suchbegriff Relay ein.
  3. Wählen Sie den Namespace aus, den Sie verwalten möchten.
  4. Wählen Sie die Registerkarte Netzwerk aus.
  5. Wechseln Sie zu dem entsprechenden Abschnitt unten, der Ihrem gewünschten Vorgang entspricht: Genehmigen, Ablehnen oder Entfernen.

Genehmigen einer Verbindung mit einem privaten Endpunkt

  1. Sollten ausstehende Verbindungen vorhanden sein, wird in der Liste eine Verbindung mit dem Bereitstellungsstatus Ausstehend angezeigt.

  2. Wählen Sie den privaten Endpunkt aus, den Sie genehmigen möchten.

  3. Wählen Sie die Schaltfläche Genehmigen aus.

    Screenshot showing the Approve button on the command bar for the selected private endpoint.

  4. Geben Sie auf der Seite Verbindung genehmigen einen optionalen Kommentar ein, und wählen Sie dann Ja aus. Wenn Sie Nein auswählen, geschieht nichts.

    Screenshot showing the Approve connection page asking for your confirmation.

  5. Der Status der Verbindung sollte in der Liste in Genehmigt geändert werden.

Ablehnen einer Verbindung mit einem privaten Endpunkt

  1. Falls Sie Verbindungen mit einem privaten Endpunkt ablehnen möchten, wählen Sie die gewünschte Endpunktverbindung und anschließend die Schaltfläche Ablehnen aus. Das funktioniert sowohl für ausstehende Anforderungen als auch für bereits vorhandene Verbindungen, die vorher genehmigt wurden.

    Screenshot showing the Reject button on the command bar for the selected private endpoint.

  2. Geben Sie auf der Seite Verbindung ablehnen einen optionalen Kommentar ein, und wählen Sie dann Ja aus. Wenn Sie Nein auswählen, geschieht nichts.

    Screenshot showing the Reject connection page asking for your confirmation.

  3. Der Status der Verbindung sollte in der Liste in Abgelehnt geändert werden.

Entfernen einer Verbindung mit einem privaten Endpunkt

  1. Um eine Verbindung mit einem privaten Endpunkt zu entfernen, wählen Sie sie in der Liste aus, und wählen Sie Entfernen auf der Symbolleiste aus.

    Screenshot showing the Remove button on the command bar for the selected private endpoint.

  2. Wählen Sie auf der Seite Verbindung löschenJa aus, um das Löschen des privaten Endpunkts zu bestätigen. Wenn Sie Nein auswählen, geschieht nichts.

    Screenshot showing the Delete connection page asking you for the confirmation.

  3. Der Status sollte in Getrennt geändert werden. Anschließend wird der Endpunkt nicht in der Liste angezeigt.

Sie sollten überprüfen, ob Ressourcen innerhalb des virtuellen Netzwerks des privaten Endpunkts über dessen private IP-Adresse eine Verbindung mit dem Azure Relay-Namespace herstellen.

Erstellen Sie für diesen Test einen virtuellen Computer. Eine entsprechende Anleitung finden Sie unter Erstellen eines virtuellen Windows-Computers im Azure-Portal.

Gehen Sie auf der Registerkarte Netzwerk wie folgt vor:

  1. Geben Sie ein virtuelles Netzwerk und ein Subnetz an. Wählen Sie das virtuelle Netzwerk aus, in dem Sie den privaten Endpunkt bereitgestellt haben.
  2. Geben Sie eine öffentliche IP-Ressource an.
  3. Wählen Sie für NIC-Netzwerksicherheitsgruppe die Option Keine aus.
  4. Wählen Sie für den LastenausgleichNein aus.

Stellen Sie eine Verbindung mit der VM her, öffnen Sie die Befehlszeile, und führen Sie den folgenden Befehl aus:

nslookup <your-relay-namespace-name>.servicebus.windows.net

Das Ergebnis sollte in etwa wie folgt aussehen.

Non-authoritative answer:
Name:    <namespace-name>.privatelink.servicebus.windows.net
Address:  10.0.0.4 (private IP address associated with the private endpoint)
Aliases:  <namespace-name>.servicebus.windows.net

Einschränkungen und Entwurfsaspekte

Überlegungen zum Entwurf

Begrenzungen

  • Maximale Anzahl privater Endpunkte pro Azure Relay-Namespace: 64.
  • Maximale Anzahl von Azure Relay-Namespaces mit privaten Endpunkten pro Abonnement: 64.
  • Regeln für Netzwerksicherheitsgruppen (NSGs) und benutzerdefinierte Routen gelten nicht für den privaten Endpunkt. Weitere Informationen finden Sie unter Azure Private Link Service: Einschränkungen

Vertrauenswürdige Microsoft-Dienste

Wenn Sie aktivieren, dass vertrauenswürdige Microsoft-Dienste diese Firewalleinstellung umgehen können, erhalten die folgenden Dienste Zugriff auf Ihre Azure Relay-Ressourcen:

Vertrauenswürdiger Dienst Unterstützte Verwendungsszenarien
Azure Machine Learning AML Kubernetes verwendet Azure Relay, um die Kommunikation zwischen AML-Diensten und dem Kubernetes-Cluster zu erleichtern. Azure Relay ist ein vollständig verwalteter Dienst, der eine sichere bidirektionale Kommunikation zwischen Anwendungen bereitstellt, die in verschiedenen Netzwerken gehostet werden. Dies macht es ideal für die Verwendung in privaten Linkumgebungen, bei denen die Kommunikation zwischen Azure-Ressourcen und lokalen Ressourcen eingeschränkt ist.
Azure Arc Azure Arc-fähige Dienste, die den oben aufgeführten Ressourcenanbietern zugeordnet sind, können eine Verbindung mit den Hybridverbindungen in Ihrem Azure Relay-Namespace als Absender herstellen, ohne durch die im Azure Relay-Namespace festgelegten IP-Firewallregeln blockiert zu werden. Microsoft.Hybridconnectivity Der Dienst erstellt die Hybridverbindungen in Ihrem Azure Relay-Namespace und stellt die Verbindungsinformationen für den relevanten Arc-Dienst basierend auf dem Szenario bereit. Diese Dienste kommunizieren nur mit Ihrem Azure Relay-Namespace, wenn Sie Azure Arc verwenden, mit den folgenden Azure Services:

- Azure Kubernetes
– Azure Machine Learning
– Microsoft Purview

Die anderen vertrauenswürdigen Dienste für Azure Relay finden Sie unten:

  • Azure Event Grid
  • Azure IoT Hub
  • Azure Stream Analytics
  • Azure Monitor
  • Azure API Management
  • Azure Synapse
  • Azure-Daten-Explorer
  • Azure IoT Central
  • Azure Healthcare Data Services
  • Azure Digital Twins

Nächste Schritte