Udostępnij za pośrednictwem


Integrowanie usługi Azure Relay z usługą Azure Private Link

Usługa Azure Private Link umożliwia dostęp do usług platformy Azure (na przykład Azure Relay, Azure Service Bus, Azure Event Hubs, Azure Storage i Azure Cosmos DB) oraz hostowanych przez platformę Azure usług klientów/partnerów za pośrednictwem prywatnego punktu końcowego w sieci wirtualnej. Aby uzyskać więcej informacji, zobacz Co to jest usługa Azure Private Link?

Prywatny punkt końcowy to interfejs sieciowy, który umożliwia obciążeniom działającym w sieci wirtualnej łączenie się prywatnie i bezpiecznie z usługą, która ma zasób łącza prywatnego (na przykład przestrzeń nazw usługi Relay). Prywatny punkt końcowy używa prywatnego adresu IP z sieci wirtualnej, efektywnie przenosząc usługę do sieci wirtualnej. Cały ruch do usługi można kierować za pośrednictwem prywatnego punktu końcowego, więc nie są potrzebne żadne bramy, urządzenia NAT, usługa ExpressRoute, połączenia sieci VPN lub publiczne adresy IP. Ruch między siecią wirtualną a usługą odbywa się za pośrednictwem sieci szkieletowej firmy Microsoft, eliminując ekspozycję z publicznego Internetu. Poziom szczegółowości kontroli dostępu można zapewnić, zezwalając na połączenia z określonymi przestrzeniami nazw usługi Azure Relay.

Uwaga

Jeśli używasz odbiornika przekaźnika za pośrednictwem łącza prywatnego, otwórz porty 9400-9599 na potrzeby komunikacji wychodzącej wraz ze standardowymi portami przekaźnika. Należy pamiętać, że należy wykonać ten krok tylko dla odbiornika przekaźnika.

Dodawanie prywatnego punktu końcowego przy użyciu witryny Azure Portal

Wymagania wstępne

Aby zintegrować przestrzeń nazw usługi Azure Relay z usługą Azure Private Link, potrzebne są następujące jednostki lub uprawnienia:

  • Przestrzeń nazw usługi Azure Relay.
  • Sieć wirtualna platformy Azure.
  • Podsieć w sieci wirtualnej.
  • Uprawnienia właściciela lub współautora w sieci wirtualnej.

Prywatny punkt końcowy i sieć wirtualna muszą znajdować się w tym samym regionie. Po wybraniu regionu prywatnego punktu końcowego przy użyciu portalu automatycznie filtruje tylko sieci wirtualne, które znajdują się w tym regionie. Przestrzeń nazw może znajdować się w innym regionie.

Prywatny punkt końcowy używa prywatnego adresu IP w sieci wirtualnej.

Konfigurowanie dostępu prywatnego dla przestrzeni nazw usługi Relay

Poniższa procedura zawiera instrukcje krok po kroku dotyczące wyłączania publicznego dostępu do przestrzeni nazw usługi Relay, a następnie dodawania prywatnego punktu końcowego do przestrzeni nazw.

  1. Zaloguj się w witrynie Azure Portal.

  2. Na pasku wyszukiwania wpisz Relays.

  3. Wybierz przestrzeń nazw z listy, do której chcesz dodać prywatny punkt końcowy.

  4. W menu po lewej stronie wybierz kartę Sieć w obszarze Ustawienia.

  5. Na stronie Sieć w obszarze Dostęp do sieci publicznej wybierz pozycję Wyłączone, jeśli chcesz, aby dostęp do przestrzeni nazw był uzyskiwany tylko za pośrednictwem prywatnych punktów końcowych.

  6. W obszarze Zezwalaj na obejście tej zapory przez zaufane usługi firmy Microsoft wybierz pozycję Tak, jeśli chcesz zezwolić na obejście tej zapory przez zaufane usługi firmy Microsoft.

    Zrzut ekranu przedstawiający stronę Sieć z dostępem do sieci publicznej jako Wyłączone.

  7. Wybierz kartę Połączenia prywatnego punktu końcowego w górnej części strony

  8. Wybierz przycisk + Prywatny punkt końcowy w górnej części strony.

    Zrzut ekranu przedstawiający wybór przycisku Dodaj prywatny punkt końcowy na karcie Połączenia z prywatnym punktem końcowym na stronie Sieć.

  9. Na stronie Podstawowe wykonaj następujące kroki:

    1. Wybierz subskrypcję platformy Azure, w której chcesz utworzyć prywatny punkt końcowy.

    2. Wybierz grupę zasobów dla zasobu prywatnego punktu końcowego.

    3. Wprowadź nazwę prywatnego punktu końcowego.

    4. Wprowadź nazwę interfejsu sieciowego.

    5. Wybierz region dla prywatnego punktu końcowego. Prywatny punkt końcowy musi znajdować się w tym samym regionie co sieć wirtualna, ale może znajdować się w innym regionie niż przestrzeń nazw usługi Azure Relay, z którą nawiązujesz połączenie.

    6. Wybierz przycisk Dalej: Zasób > w dolnej części strony.

      Zrzut ekranu przedstawiający stronę Podstawy kreatora Tworzenia prywatnego punktu końcowego.

  10. Przejrzyj ustawienia na stronie Zasób i wybierz pozycję Dalej: Sieć wirtualna.

    Zrzut ekranu przedstawiający stronę Zasób kreatora Tworzenia prywatnego punktu końcowego.

  11. Na stronie Sieć wirtualna wybierz sieć wirtualną i podsieć, w której chcesz wdrożyć prywatny punkt końcowy. Na liście rozwijanej są wyświetlane tylko sieci wirtualne w aktualnie wybranej subskrypcji i lokalizacji.

    Zrzut ekranu przedstawiający stronę Sieć wirtualna kreatora Tworzenie prywatnego punktu końcowego.

    Możesz skonfigurować, czy chcesz dynamicznie przydzielić adres IP, czy statycznie przydzielić adres IP do prywatnego punktu końcowego

    Możesz również skojarzyć nową lub istniejącą grupę zabezpieczeń aplikacji z prywatnym punktem końcowym.

  12. Wybierz pozycję Dalej: DNS , aby przejść do strony DNS kreatora. Na stronie DNS ustawienie Integracja z prywatną strefą DNZ jest domyślnie włączone (zalecane). Możesz ją wyłączyć.

    Zrzut ekranu przedstawiający stronę DNS kreatora Tworzenia prywatnego punktu końcowego.

    Aby można było połączyć się prywatnie z prywatnym punktem końcowym, wymagany jest rekord DNS. Zalecamy zintegrowanie prywatnego punktu końcowego z prywatną strefą DNS. Możesz również użyć własnych serwerów DNS lub utworzyć rekordy DNS przy użyciu plików hosta na maszynach wirtualnych. Aby uzyskać więcej informacji, zobacz Konfiguracja dns prywatnego punktu końcowego platformy Azure.

  13. Wybierz przycisk Dalej: Tagi > w dolnej części strony.

  14. Na stronie Tagi utwórz tagi (nazwy i wartości), które chcesz skojarzyć z prywatnym punktem końcowym i prywatną strefą DNS (jeśli włączono opcję). Następnie wybierz przycisk Przejrzyj i utwórz w dolnej części strony.

  15. W obszarze Przeglądanie + tworzenie przejrzyj wszystkie ustawienia i wybierz pozycję Utwórz , aby utworzyć prywatny punkt końcowy.

  16. Na stronie Prywatny punkt końcowy można zobaczyć stan połączenia prywatnego punktu końcowego. Jeśli jesteś właścicielem przestrzeni nazw usługi Relay lub masz dostęp do zarządzania nim i wybrano opcję Połącz z zasobem platformy Azure w moim katalogu dla metody Połączenie, połączenie punktu końcowego powinno zostać automatycznie zatwierdzone. Jeśli jest w stanie oczekiwania , zobacz sekcję Zarządzanie prywatnymi punktami końcowymi przy użyciu witryny Azure Portal .

    Zrzut ekranu przedstawiający stronę Prywatnego punktu końcowego w witrynie Azure Portal.

  17. Wróć do strony Sieć przestrzeni nazw i przejdź do karty Połączenia prywatnego punktu końcowego. Powinien zostać wyświetlony utworzony prywatny punkt końcowy.

    Zrzut ekranu przedstawiający kartę Połączenia prywatnego punktu końcowego na stronie Sieć z właśnie utworzonym prywatnym punktem końcowym.

Dodawanie prywatnego punktu końcowego przy użyciu programu PowerShell

W poniższym przykładzie pokazano, jak za pomocą programu Azure PowerShell utworzyć połączenie prywatnego punktu końcowego z przestrzenią nazw usługi Azure Relay.

Prywatny punkt końcowy i sieć wirtualna muszą znajdować się w tym samym regionie. Przestrzeń nazw usługi Azure Relay może znajdować się w innym regionie. Prywatny punkt końcowy używa prywatnego adresu IP w sieci wirtualnej.


$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


Zarządzanie prywatnymi punktami końcowymi przy użyciu witryny Azure Portal

Podczas tworzenia prywatnego punktu końcowego połączenie musi zostać zatwierdzone. Jeśli zasób (przestrzeń nazw usługi Relay), dla którego tworzysz prywatny punkt końcowy, znajduje się w katalogu, możesz zatwierdzić żądanie połączenia, pod warunkiem, że masz uprawnienia do zarządzania w przestrzeni nazw usługi Relay. Jeśli łączysz się z przestrzenią nazw usługi Relay, dla której nie masz dostępu do zarządzania, musisz poczekać, aż właściciel tego zasobu zatwierdzi żądanie połączenia.

Istnieją cztery stany aprowizacji:

Akcja w usłudze Stan prywatnego punktu końcowego odbiorcy usługi Opis
None Oczekiwanie Połączenie jest tworzone ręcznie i oczekuje na zatwierdzenie od właściciela przestrzeni nazw usługi Azure Relay.
Zatwierdzanie Zatwierdzona Połączenie zostało automatycznie lub ręcznie zatwierdzone i jest gotowe do użycia.
Odrzuć Odrzucona Połączenie zostało odrzucone przez właściciela przestrzeni nazw usługi Azure Relay.
Usuń Odłączony Połączenie zostało usunięte przez właściciela przestrzeni nazw usługi Azure Relay, prywatny punkt końcowy staje się informacyjny i powinien zostać usunięty w celu oczyszczenia.

Zatwierdzanie, odrzucanie lub usuwanie prywatnego połączenia punktu końcowego

  1. Zaloguj się w witrynie Azure Portal.
  2. Na pasku wyszukiwania wpisz Relay.
  3. Wybierz przestrzeń nazw, którą chcesz zarządzać.
  4. Wybierz kartę Sieć.
  5. Przejdź do odpowiedniej sekcji poniżej na podstawie operacji, którą chcesz: zatwierdzić, odrzucić lub usunąć.

Zatwierdzanie połączenia prywatnego punktu końcowego

  1. Jeśli istnieją oczekujące połączenia, zostanie wyświetlone połączenie z komunikatem Oczekujące w stanie aprowizacji.

  2. Wybierz prywatny punkt końcowy, który chcesz zatwierdzić

  3. Wybierz przycisk Zatwierdź.

    Zrzut ekranu przedstawiający przycisk Zatwierdź na pasku poleceń dla wybranego prywatnego punktu końcowego.

  4. Na stronie Zatwierdź połączenie wprowadź opcjonalny komentarz i wybierz pozycję Tak. Jeśli wybierzesz pozycję Nie, nic się nie stanie.

    Zrzut ekranu przedstawiający stronę Zatwierdź połączenie z prośbą o potwierdzenie.

  5. Na liście powinien zostać wyświetlony stan połączenia zmieniony na Zatwierdzone.

Odrzucanie połączenia prywatnego punktu końcowego

  1. Jeśli istnieją jakiekolwiek połączenia prywatnego punktu końcowego, które chcesz odrzucić, niezależnie od tego, czy jest to oczekujące żądanie, czy istniejące połączenie, które zostało zatwierdzone wcześniej, wybierz połączenie punktu końcowego i wybierz przycisk Odrzuć .

    Zrzut ekranu przedstawiający przycisk Odrzuć na pasku poleceń dla wybranego prywatnego punktu końcowego.

  2. Na stronie Odrzucanie połączenia wprowadź opcjonalny komentarz i wybierz pozycję Tak. Jeśli wybierzesz pozycję Nie, nic się nie stanie.

    Zrzut ekranu przedstawiający stronę Odrzucanie połączenia z prośbą o potwierdzenie.

  3. Na liście powinien zostać wyświetlony stan połączenia zmieniony Odrzucono.

Usuwanie połączenia prywatnego punktu końcowego

  1. Aby usunąć połączenie prywatnego punktu końcowego, wybierz je na liście, a następnie wybierz pozycję Usuń na pasku narzędzi.

    Zrzut ekranu przedstawiający przycisk Usuń na pasku poleceń dla wybranego prywatnego punktu końcowego.

  2. Na stronie Usuwanie połączenia wybierz pozycję Tak, aby potwierdzić usunięcie prywatnego punktu końcowego. Jeśli wybierzesz pozycję Nie, nic się nie stanie.

    Zrzut ekranu przedstawiający stronę Usuń połączenie z prośbą o potwierdzenie.

  3. Powinien zostać wyświetlony stan zmieniony na Rozłączone. Następnie punkt końcowy nie będzie widoczny na liście.

Należy sprawdzić, czy zasoby w sieci wirtualnej prywatnego punktu końcowego łączą się z przestrzenią nazw usługi Azure Relay za pośrednictwem jego prywatnego adresu IP.

Na potrzeby tego testu utwórz maszynę wirtualną, wykonując kroki opisane w temacie Tworzenie maszyny wirtualnej z systemem Windows w witrynie Azure Portal

Na karcie Sieć :

  1. Określ sieć wirtualną i podsieć. Wybierz sieć wirtualną, w której wdrożono prywatny punkt końcowy.
  2. Określ zasób publicznego adresu IP.
  3. W polu Sieciowa grupa zabezpieczeń karty sieciowej wybierz pozycję Brak.
  4. W obszarze Równoważenie obciążenia wybierz pozycję Nie.

Połącz się z maszyną wirtualną i otwórz wiersz polecenia i uruchom następujące polecenie:

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

Powinien zostać wyświetlony wynik podobny do poniższego.

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

Ograniczenia i zagadnienia dotyczące projektowania

Uwagi dotyczące projektowania

  • Aby uzyskać informacje o cenach, zobacz Cennik usługi Azure Private Link.

Ograniczenia

  • Maksymalna liczba prywatnych punktów końcowych na przestrzeń nazw usługi Azure Relay: 64.
  • Maksymalna liczba przestrzeni nazw usługi Azure Relay z prywatnymi punktami końcowymi na subskrypcję: 64.
  • Reguły sieciowej grupy zabezpieczeń i trasy zdefiniowane przez użytkownika nie mają zastosowania do prywatnego punktu końcowego. Aby uzyskać więcej informacji, zobacz Azure Private Link Service: Limitations (Usługa Azure Private Link: ograniczenia)

Zaufane usługi firmy Microsoft

Po włączeniu ustawienia Zezwalaj na zaufane usługi firmy Microsoft ominięcia tego ustawienia zapory następujące usługi otrzymują dostęp do zasobów usługi Azure Relay:

Zaufana usługa Obsługiwane scenariusze użycia
Azure Machine Learning Usługa AML Kubernetes używa usługi Azure Relay do ułatwienia komunikacji między usługami AML i klastrem Kubernetes. Azure Relay to w pełni zarządzana usługa, która zapewnia bezpieczną dwukierunkową komunikację między aplikacjami hostowanymi w różnych sieciach. Dzięki temu idealnie nadaje się do użycia w środowiskach łącza prywatnego, w których komunikacja między zasobami platformy Azure i zasobami lokalnymi jest ograniczona.
Azure Arc Usługi z obsługą usługi Azure Arc skojarzone z powyższymi dostawcami zasobów będą mogły łączyć się z połączeniami hybrydowymi w przestrzeni nazw usługi Azure Relay jako nadawcą bez blokowania reguł zapory adresów IP ustawionych w przestrzeni nazw usługi Azure Relay. Microsoft.Hybridconnectivity usługa tworzy połączenia hybrydowe w przestrzeni nazw usługi Azure Relay i udostępnia informacje o połączeniu z odpowiednią usługą Arc na podstawie scenariusza. Te usługi komunikują się tylko z przestrzenią nazw usługi Azure Relay, jeśli używasz usługi Azure Arc, z następującymi usługami platformy Azure:

— Azure Kubernetes
— Azure Machine Learning
— Microsoft Purview

Inne zaufane usługi dla usługi Azure Relay można znaleźć poniżej:

  • Azure Event Grid
  • Azure IoT Hub
  • Azure Stream Analytics
  • Azure Monitor
  • Usługa Azure API Management
  • Azure Synapse
  • Azure Data Explorer
  • Azure IoT Central
  • Azure Healthcare Data Services
  • Azure Digital Twins

Uwaga

W wersji 2021-11-01 lub nowszej zestawu SDK usługi Microsoft Relay właściwość "trustedServiceAccessEnabled" jest dostępna we właściwościach Microsoft.Relay/namespaces/networkRuleSets, aby włączyć dostęp do zaufanej usługi.

Aby zezwolić na zaufane usługi w szablonach usługi Azure Resource Manager, uwzględnij tę właściwość w szablonie:

"trustedServiceAccessEnabled": "True"

Na przykład na podstawie podanego powyżej szablonu usługi ARM możemy zmodyfikować ją tak, aby zawierała tę właściwość Zestawu reguł sieciowych dla włączenia zaufanych usług:

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "namespaces_name": {
            "defaultValue": "contosorelay0215",
            "type": "String"
        }
    },
    "variables": {},
    "resources": [
        {
            "type": "Microsoft.Relay/namespaces",
            "apiVersion": "2021-11-01",
            "name": "[parameters('namespaces_name')]",
            "location": "East US",
            "sku": {
                "name": "Standard",
                "tier": "Standard"
            },
            "properties": {}
        },
        {
            "type": "Microsoft.Relay/namespaces/authorizationrules",
            "apiVersion": "2021-11-01",
            "name": "[concat(parameters('namespaces_sprelayns0215_name'), '/RootManageSharedAccessKey')]",
            "location": "eastus",
            "dependsOn": [
                "[resourceId('Microsoft.Relay/namespaces', parameters('namespaces_sprelayns0215_name'))]"
            ],
            "properties": {
                "rights": [
                    "Listen",
                    "Manage",
                    "Send"
                ]
            }
        },
        {
            "type": "Microsoft.Relay/namespaces/networkRuleSets",
            "apiVersion": "2021-11-01",
            "name": "[concat(parameters('namespaces_sprelayns0215_name'), '/default')]",
            "location": "East US",
            "dependsOn": [
                "[resourceId('Microsoft.Relay/namespaces', parameters('namespaces_sprelayns0215_name'))]"
            ],
            "properties": {
                "trustedServiceAccessEnabled": "True",
                "publicNetworkAccess": "Enabled",
                "defaultAction": "Deny",
                "ipRules": [
                    {
                        "ipMask": "172.72.157.204",
                        "action": "Allow"
                    },
                    {
                        "ipMask": "10.1.1.1",
                        "action": "Allow"
                    },
                    {
                        "ipMask": "11.0.0.0/24",
                        "action": "Allow"
                    }
                ]
            }
        }
    ]
}

Następne kroki