Włączanie usługi Private Link w klastrze usługi HDInsight
W tym artykule dowiesz się, jak używać usługi Azure Private Link do łączenia się z klastrem usługi HDInsight prywatnie w sieciach za pośrednictwem sieci szkieletowej firmy Microsoft. Ten artykuł stanowi rozszerzenie artykułu Ograniczanie łączności klastra w usłudze Azure HDInsight, który koncentruje się na ograniczaniu łączności publicznej. Jeśli chcesz, aby łączność publiczna z klastrami usługi HDInsight lub w klastrach usługi HDInsight i zasobach zależnych ograniczała łączność klastra, postępując zgodnie z wytycznymi w temacie Kontrolowanie ruchu sieciowego w usłudze Azure HDInsight.
Usługa Private Link może być używana w scenariuszach obejmujących wiele sieci, w których komunikacja równorzędna sieci wirtualnych nie jest dostępna ani włączona.
Uwaga
Ograniczenie łączności publicznej jest wymaganiem wstępnym dla włączenia usługi Private Link i nie powinno być uznawane za tę samą funkcję.
Używanie usługi Private Link do nawiązywania połączenia z klastrem usługi HDInsight jest funkcją opcjonalną i jest domyślnie wyłączone. Funkcja jest dostępna tylko wtedy, gdy resourceProviderConnection
właściwość sieci jest ustawiona na ruch wychodzący, zgodnie z opisem w artykule Ograniczanie łączności klastra w usłudze Azure HDInsight.
Po privateLink
ustawieniu jako włączonego tworzone są wewnętrzne standardowe moduły równoważenia obciążenia (SLB), a usługa Azure Private Link jest aprowizowana dla każdego modułu SLB. Usługa Private Link umożliwia dostęp do klastra usługi HDInsight z prywatnych punktów końcowych.
Kroki wdrażania łącza prywatnego
Pomyślnie utworzono klaster usługi Private Link, więc przedstawiliśmy je tutaj. Wykonaj każde z poniższych kroków, aby upewnić się, że wszystko jest poprawnie skonfigurowane.
Krok 1. Tworzenie wymagań wstępnych
Aby rozpocząć, wdróż następujące zasoby, jeśli jeszcze ich nie utworzono. Musisz mieć co najmniej jedną grupę zasobów, dwie sieci wirtualne i sieciową grupę zabezpieczeń, aby dołączyć ją do podsieci, w której zostanie wdrożony klaster usługi HDInsight, jak pokazano poniżej.
Type | Nazwisko | Purpose |
---|---|---|
Grupa zasobów | hdi-privlink-rg | Służy do utrzymywania wspólnych zasobów razem |
Sieć wirtualna | hdi-privlink-cluster-vnet | Sieć wirtualna, w której zostanie wdrożony klaster |
Sieć wirtualna | hdi-privlink-client-vnet | Sieć wirtualna, z której klienci będą łączyć się z klastrem |
Sieciowa grupa zabezpieczeń | hdi-privlink-cluster-vnet-nsg | Domyślna sieciowa grupa zabezpieczeń zgodnie z wymaganiami wdrożenia klastra |
Uwaga
Można po prostu wdrożyć sieciową grupę zabezpieczeń. Nie musimy modyfikować żadnych reguł sieciowej grupy zabezpieczeń na potrzeby wdrażania klastra.
Krok 2. Konfigurowanie podsieci usługi HDInsight
- Wyłącz parametr privateLinkServiceNetworkPolicies w podsieci. Aby wybrać źródłowy adres IP dla usługi Private Link, wymagane jest jawne ustawienie
privateLinkServiceNetworkPolicies
wyłączenia w podsieci. Postępuj zgodnie z podanymi tutaj instrukcjami wyłączania zasad sieciowych dla usług Private Link. - Włącz punkty końcowe usługi w podsieci. W przypadku pomyślnego wdrożenia klastra usługi HDInsight usługi Private Link zalecamy dodanie
Microsoft.SQL
punktów końcowych usługiMicrosoft.Storage
, i doMicrosoft.KeyVault
podsieci przed wdrożeniem klastra. Punkty końcowe usługi kierują ruch bezpośrednio z sieci wirtualnej do usługi w sieci szkieletowej platformy Microsoft Azure. Zachowywanie ruchu w sieci szkieletowej platformy Azure umożliwia kontynuowanie inspekcji i monitorowania wychodzącego ruchu internetowego z sieci wirtualnych za pośrednictwem tunelowania wymuszanego, bez wywierania wpływu na ruch usługi.
Krok 3. Wdrażanie bramy translatora adresów sieciowych lub zapory
Moduły równoważenia obciążenia w warstwie Standardowa nie zapewniają publicznej translatora adresów sieciowych wychodzących jako podstawowe moduły równoważenia obciążenia. Ponieważ klastry usługi Private Link używają standardowych modułów równoważenia obciążenia, należy zapewnić własne rozwiązanie NAT, takie jak brama translatora adresów sieciowych lub translator adresów sieciowych dostarczany przez zaporę, aby łączyć się publicznymi zależnościami usługi HDInsight ruchu wychodzącego.
Wdrażanie bramy translatora adresów sieciowych (opcja 1)
Możesz zdecydować się na użycie bramy translatora adresów sieciowych, jeśli nie chcesz konfigurować zapory ani wirtualnego urządzenia sieciowego (WUS) dla translatora adresów sieciowych. Aby rozpocząć, dodaj bramę translatora adresów sieciowych (z nowym publicznym adresem IP w sieci wirtualnej) do skonfigurowanej podsieci sieci wirtualnej. Ta brama jest odpowiedzialna za tłumaczenie prywatnego wewnętrznego adresu IP na adresy publiczne, gdy ruch musi znajdować się poza siecią wirtualną.
Aby rozpocząć pracę z podstawową konfiguracją:
Wyszukaj frazę "Bramy translatora adresów sieciowych" w witrynie Azure Portal i kliknij pozycję Utwórz.
Użyj następujących konfiguracji w bramie translatora adresów sieciowych. (W tym miejscu nie uwzględniamy wszystkich konfiguracji, więc można użyć wartości domyślnych).
Config Wartość Nazwa bramy translatora adresów sieciowych hdi-privlink-nat-gateway Prefiksy publicznego adresu IP Tworzenie nowego prefiksu publicznego adresu IP Nazwa prefiksu publicznego adresu IP hdi-privlink-nat-gateway-prefix Rozmiar prefiksu publicznego adresu IP /28 (16 adresów) Sieć wirtualna hdi-privlink-cluster-vnet Nazwa podsieci domyślna Po zakończeniu wdrażania bramy translatora adresów sieciowych możesz przejść do następnego kroku.
Konfigurowanie zapory (opcja 2)
Aby rozpocząć pracę z podstawową konfiguracją:
- Dodaj nową podsieć o nazwie AzureFirewallSubnet do sieci wirtualnej.
- Użyj nowej podsieci, aby skonfigurować nową zaporę i dodać zasady zapory.
- Użyj prywatnego adresu IP nowej zapory jako
nextHopIpAddress
wartości w tabeli tras. - Dodaj tabelę tras do skonfigurowanej podsieci sieci wirtualnej.
Klaster usługi HDInsight nadal potrzebuje dostępu do jego zależności wychodzących. Jeśli te zależności wychodzące nie są dozwolone, tworzenie klastra może zakończyć się niepowodzeniem. Aby uzyskać więcej informacji na temat konfigurowania zapory, zobacz Kontrolowanie ruchu sieciowego w usłudze Azure HDInsight.
Krok 4. Wdrażanie klastra łącza prywatnego
Na tym etapie wszystkie wymagania wstępne powinny być już spełnione i wszystko powinno być gotowe do wdrożenia klastra usługi Private Link. Na poniższym diagramie przedstawiono przykład konfiguracji sieci wymaganej przed utworzeniem klastra. W tym przykładzie cały ruch wychodzący jest wymuszany do usługi Azure Firewall za pośrednictwem trasy zdefiniowanej przez użytkownika. Wymagane zależności wychodzące powinny być dozwolone na zaporze przed utworzeniem klastra. W przypadku klastrów pakietu Enterprise Security komunikacja równorzędna sieci wirtualnych może zapewnić łączność sieciową z usługami Microsoft Entra Domain Services.
Tworzenie klastra
Poniższy fragment kodu JSON zawiera dwie właściwości sieci, które należy skonfigurować w szablonie usługi Azure Resource Manager, aby utworzyć prywatny klaster usługi HDInsight:
networkProperties: {
"resourceProviderConnection": "Outbound",
"privateLink": "Enabled"
}
Aby uzyskać kompletny szablon z wieloma funkcjami zabezpieczeń przedsiębiorstwa usługi HDInsight, w tym usługą Private Link, zobacz Szablon zabezpieczeń przedsiębiorstwa usługi HDInsight.
Aby utworzyć klaster przy użyciu programu PowerShell, zobacz przykład.
Aby utworzyć klaster przy użyciu interfejsu wiersza polecenia platformy Azure, zobacz przykład.
Krok 5.Tworzenie prywatnych punktów końcowych
Platforma Azure automatycznie tworzy usługę łącza prywatnego dla modułów równoważenia obciążenia systemu Ambari i protokołu SSH podczas wdrażania klastra usługi Private Link. Po wdrożeniu klastra utwórz dwa prywatne punkty końcowe w sieciach wirtualnych klienta: jeden dla systemu Ambari, a drugi na potrzeby dostępu za pomocą protokołu SSH. Następnie połącz je z usługami łączy prywatnych, które zostały utworzone w ramach wdrożenia klastra.
Aby utworzyć prywatne punkty końcowe:
Otwórz witrynę Azure Portal i wyszukaj ciąg "Private link".
W wynikach kliknij ikonę Link prywatny.
Kliknij pozycję "Utwórz prywatny punkt końcowy" i użyj następujących konfiguracji, aby skonfigurować prywatny punkt końcowy systemu Ambari:
Config Wartość Nazwisko hdi-privlink-cluster Typ zasobu Microsoft.Network/privateLinkServices Zasób gateway-* (Ta wartość powinna być zgodna z identyfikatorem wdrożenia usługi HDI klastra, na przykład gateway-4eafe3a2a67e4cd88762c22a55fe4654) Sieć wirtualna hdi-privlink-client-vnet Podsieć domyślna Powtórz ten proces, aby utworzyć kolejny prywatny punkt końcowy dla dostępu SSH przy użyciu następujących konfiguracji:
Config Wartość Nazwisko hdi-privlink-cluster-ssh Typ zasobu Microsoft.Network/privateLinkServices Zasób headnode-* (Ta wartość powinna być zgodna z identyfikatorem wdrożenia usługi HDI klastra, na przykład headnode-4eafe3a2a67e4cd88762c22a55fe4654) Sieć wirtualna hdi-privlink-client-vnet Podsieć domyślna
Ważne
Jeśli używasz klastra Platformy KafkaRestProxy HDInsight, wykonaj te dodatkowe kroki, aby włączyć prywatne punkty końcowe.
Po utworzeniu prywatnych punktów końcowych należy wykonać tę fazę instalacji. Jeśli nie zanotujesz prywatnych adresów IP przypisanych do punktów końcowych, wykonaj poniższe kroki:
- Otwórz sieć wirtualną klienta w witrynie Azure Portal.
- Kliknij kartę "Prywatne punkty końcowe".
- Powinny zostać wyświetlone zarówno interfejsy ambari, jak i ssh Network.
- Kliknij każdy z nich i przejdź do bloku "Konfiguracja DNS", aby wyświetlić prywatny adres IP.
- Zanotuj te adresy IP, ponieważ są one wymagane do nawiązania połączenia z klastrem i prawidłowego skonfigurowania systemu DNS.
Krok 6: Konfigurowanie systemu DNS do połączeń za pomocą prywatnych punktów końcowych
Aby uzyskać dostęp do klastrów prywatnych, można skonfigurować rozpoznawanie nazw DNS za pośrednictwem prywatnych stref DNS. Wpisy usługi Private Link utworzone w publicznej strefie azurehdinsight.net
DNS zarządzanej przez platformę Azure są następujące:
<clustername> CNAME <clustername>.privatelink
<clustername>-int CNAME <clustername>-int.privatelink
<clustername>-ssh CNAME <clustername>-ssh.privatelink
Na poniższej ilustracji przedstawiono przykład prywatnych wpisów DNS skonfigurowanych w celu umożliwienia dostępu do klastra z sieci wirtualnej, która nie jest równorzędna lub nie ma bezpośredniego widoku do klastra. Strefę prywatną usługi Azure DNS można użyć do zastąpienia *.privatelink.azurehdinsight.net
w pełni kwalifikowanych nazw domen (FQDN) i rozpoznawania prywatnych adresów IP punktów końcowych w sieci klienta. Konfiguracja jest dostępna <clustername>.azurehdinsight.net
tylko w tym przykładzie, ale jest również rozszerzana na inne punkty końcowe klastra.
Aby skonfigurować rozpoznawanie nazw DNS za pośrednictwem strefy Prywatna strefa DNS:
Utwórz strefę usługi Azure Prywatna strefa DNS. (W tym miejscu nie uwzględniamy wszystkich konfiguracji, wszystkie inne konfiguracje pozostają w wartościach domyślnych)
Config Wartość Nazwisko privatelink.azurehdinsight.net Dodaj zestaw rekordów do strefy Prywatna strefa DNS dla systemu Ambari.
Config Wartość Nazwisko YourPrivateLinkClusterName Typ A — rekord aliasu na adres IPv4 TTL 1 Jednostka TTL Godziny Adres IP Prywatny adres IP prywatnego punktu końcowego dla dostępu systemu Ambari Dodaj zestaw rekordów do strefy Prywatna strefa DNS dla protokołu SSH.
Config Wartość Nazwisko YourPrivateLinkClusterName-ssh Typ A — rekord aliasu na adres IPv4 TTL 1 Jednostka TTL Godziny Adres IP Prywatny adres IP prywatnego punktu końcowego na potrzeby dostępu SSH
Ważne
Jeśli używasz klastra usługi HDInsight platformy KafkaRestProxy, wykonaj następujące dodatkowe kroki, aby skonfigurować usługę DNS w celu nawiązania połączenia za pośrednictwem prywatnego punktu końcowego.
Skojarz prywatną strefę DNS z siecią wirtualną klienta, dodając łącze sieci wirtualnej.
- Otwórz prywatną strefę DNS w witrynie Azure Portal.
- Kliknij kartę "Łącza sieci wirtualnej".
- Kliknij przycisk "Dodaj".
- Podaj szczegóły: Nazwa łącza, Subskrypcja i Sieć wirtualna (sieć wirtualna klienta)
- Kliknij przycisk Zapisz.
Krok 7. Sprawdzanie łączności klastra
Ostatnim krokiem jest przetestowanie łączności z klastrem. Ponieważ ten klaster jest izolowany lub prywatny, nie możemy uzyskać dostępu do klastra przy użyciu publicznego adresu IP lub nazwy FQDN. Zamiast tego mamy kilka opcji:
- Konfigurowanie dostępu sieci VPN do sieci wirtualnej klienta z sieci lokalnej
- Wdrażanie maszyny wirtualnej w sieci wirtualnej klienta i uzyskiwanie dostępu do klastra z tej maszyny wirtualnej
W tym przykładzie wdrożymy maszynę wirtualną w sieci wirtualnej klienta przy użyciu następującej konfiguracji w celu przetestowania łączności.
Config | Wartość |
---|---|
Virtual machine name | hdi-privlink-client-vm |
Obraz | Windows 10 Pro, wersja 2004 — Gen1 |
Publiczne porty ruchu przychodzącego | Zezwalaj na wybrane porty |
Wybierz porty wejściowe | RDP (3389) |
Potwierdzam, że mam kwalifikującą się licencję systemu Windows 10... | Zaznaczone |
Sieć wirtualna | hdi-privlink-client-vnet |
Podsieć | domyślna |
Po wdrożeniu maszyny wirtualnej klienta można przetestować dostęp zarówno do systemu Ambari, jak i protokołu SSH.
Aby przetestować dostęp systemu Ambari:
- Otwórz przeglądarkę internetową na maszynie wirtualnej.
- Przejdź do standardowej nazwy FQDN klastra:
https://<clustername>.azurehdinsight.net
- Jeśli interfejs użytkownika systemu Ambari zostanie załadowany, konfiguracja jest poprawna dla dostępu systemu Ambari.
Aby przetestować dostęp do protokołu SSH:
- Otwórz wiersz polecenia, aby uzyskać okno terminalu.
- W oknie terminalu spróbuj nawiązać połączenie z klastrem przy użyciu protokołu SSH:
ssh sshuser@<clustername>.azurehdinsight.net
(Zastąp ciąg "sshuser" użytkownikiem SSH utworzonym dla klastra) - Jeśli możesz nawiązać połączenie, konfiguracja jest poprawna dla dostępu za pomocą protokołu SSH.
Zarządzanie prywatnymi punktami końcowymi dla usługi HDInsight
Możesz użyć prywatnych punktów końcowych dla klastrów usługi Azure HDInsight, aby umożliwić klientom w sieci wirtualnej bezpieczny dostęp do klastra za pośrednictwem usługi Private Link. Ruch sieciowy między klientami w sieci wirtualnej a klastrem usługi HDInsight przechodzi przez sieć szkieletową firmy Microsoft, eliminując narażenie z publicznego Internetu.
Użytkownik usługi Private Link (na przykład Azure Data Factory) może wybrać jedną z dwóch metod zatwierdzania połączeń:
- Automatyczne: jeśli użytkownik usługi ma uprawnienia kontroli dostępu opartej na rolach (RBAC) na platformie Azure w zasobie usługi HDInsight, użytkownik może wybrać metodę automatycznego zatwierdzania. W takim przypadku, gdy żądanie osiągnie zasób usługi HDInsight, nie jest wymagana żadna akcja z zasobu usługi HDInsight, a połączenie zostanie automatycznie zatwierdzone.
- Ręczne: jeśli użytkownik usługi nie ma uprawnień RBAC platformy Azure w zasobie usługi HDInsight, użytkownik może wybrać metodę ręcznego zatwierdzania. W takim przypadku żądanie połączenia jest wyświetlane w zasobach usługi HDInsight jako Oczekujące. Aby można było ustanowić połączenia, zasób usługi HDInsight musi ręcznie zatwierdzić żądanie.
Aby zarządzać prywatnymi punktami końcowymi, w widoku klastra w witrynie Azure Portal przejdź do sekcji Sieć w obszarze Zabezpieczenia i sieć. W tym miejscu można wyświetlić wszystkie istniejące połączenia, stany połączenia i szczegóły prywatnego punktu końcowego.
Możesz również zatwierdzić, odrzucić lub usunąć istniejące połączenia. Podczas tworzenia połączenia prywatnego można określić, z którymi podźródłami usługi HDInsight (na przykład bramą lub węzłem głównym), z którymi chcesz się połączyć.
W poniższej tabeli przedstawiono różne akcje zasobów usługi HDInsight i wynikowe stany połączenia dla prywatnych punktów końcowych. Zasób usługi HDInsight może również zmienić stan połączenia prywatnego punktu końcowego w późniejszym czasie bez interwencji użytkownika. Akcja spowoduje zaktualizowanie stanu punktu końcowego po stronie konsumenta.
Akcja dostawcy usług | Stan prywatnego punktu końcowego odbiorcy usługi | Opis |
---|---|---|
None | Oczekiwanie | Połączenie jest tworzone ręcznie i oczekuje na zatwierdzenie przez właściciela zasobu usługi Private Link. |
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 zasobu usługi Private Link. |
Usuń | Odłączony | Połączenie zostało usunięte przez właściciela zasobu usługi Private Link. Prywatny punkt końcowy staje się informacyjny i powinien zostać usunięty w celu oczyszczenia. |