Amankan dan isolasi kluster Azure HDInsight dengan Private Link (pratinjau)

Dalam arsitektur jaringan virtual default Azure HDInsight, penyedia sumber (resource provider, RP) HDInsight berkomunikasi dengan kluster menggunakan alamat IP publik. Beberapa skenario memerlukan isolasi jaringan penuh tanpa menggunakan alamat IP publik. Dalam artikel ini, Anda mempelajari tentang kontrol tingkat lanjut yang dapat Anda gunakan untuk membuat kluster HDInsight privat. Untuk informasi tentang cara membatasi lalu lintas ke dan dari kluster Anda tanpa isolasi jaringan lengkap, lihat Kontrol lalu lintas jaringan di Azure HDInsight.

Anda dapat membuat kluster HDInsight privat dengan mengonfigurasi properti jaringan tertentu dalam templat Azure Resource Manager (ARM). Ada dua properti yang Anda gunakan untuk membuat kluster HDInsight privat:

  • Hapus alamat IP publik dengan mengatur resourceProviderConnection ke trafik keluar (outbound).
  • Aktifkan Azure Private Link dan gunakan Titik Akhir Privat dengan mengatur privateLink menjadi diaktifkan.

Hapus alamat IP publik

Secara default, HDInsight RP menggunakan koneksi masuk ke kluster menggunakan IP publik. Ketika resourceProviderConnection properti jaringan diatur menjadi keluar, akan membalikkan koneksi ke HDInsight RP sehingga koneksi selalu dimulai dari dalam kluster ke RP. Tanpa koneksi masuk, tidak perlu tag layanan masuk atau alamat IP publik.

Penyeimbang beban dasar yang digunakan dalam arsitektur jaringan virtual default secara otomatis menyediakan NAT (terjemahan alamat jaringan) publik untuk mengakses dependensi keluar yang diperlukan, seperti HDInsight RP. Jika Anda ingin membatasi konektivitas keluar ke internet publik, Anda dapat mengonfigurasi firewall, tetapi itu bukan persyaratan.

Mengonfigurasi resourceProviderConnection ke trafik keluar juga memungkinkan Anda mengakses sumber daya khusus kluster, seperti Azure Data Lake Storage Gen2 atau metastore eksternal, menggunakan titik akhir privat. Menggunakan titik akhir privat untuk sumber daya ini tidak wajib, tetapi jika Anda berencana untuk memiliki titik akhir privat untuk sumber daya ini, Anda harus mengonfigurasi titik akhir privat dan entri DNS before yang Anda buat kluster HDInsight. Kami sarankan Anda membuat dan menyediakan semua database SQL eksternal yang Anda butuhkan, seperti metastore Apache Ranger, Ambari, Oozie dan Apache Hive, pada waktu pembuatan kluster. Persyaratannya adalah bahwa semua sumber daya ini harus dapat diakses dari dalam subnet kluster, baik melalui titik akhir privat mereka sendiri atau sebaliknya.

Saat menyambungkan ke Azure Data Lake Storage Gen2 melalui Titik Akhir Privat, pastikan akun penyimpanan Gen2 memiliki titik akhir yang diatur untuk ‘blob’ dan ‘dfs’. Untuk informasi lebih lanjut silakan lihat Membuat Titik Akhir Privat.

Diagram berikut menunjukkan seperti apa potensi arsitektur jaringan virtual HDInsight ketika resourceProviderConnection diatur ke keluar (outbound):

Diagram arsitektur HDInsight menggunakan koneksi penyedia sumber daya keluar

Setelah membuat kluster, Anda harus menyiapkan resolusi DNS yang tepat. Catatan DNS nama kanonis (CNAME) berikut ini dibuat di Zona DNS Publik yang dikelola Azure: azurehdinsight.net.

<clustername>    CNAME    <clustername>-int

Untuk mengakses kluster menggunakan kluster FQDN, Anda dapat menggunakan IP privat penyeimbang beban internal secara langsung atau menggunakan Zona DNS Privati Anda sendiri untuk mengambil alih titik akhir kluster yang sesuai dengan kebutuhan Anda. Misalnya, Anda dapat memiliki Zona DNS Privat, azurehdinsight.net. dan tambahkan IP privat Anda sesuai kebutuhan:

<clustername>        A   10.0.0.1
<clustername-ssh>    A   10.0.0.2

Private Link, yang dinonaktifkan secara default, memerlukan pengetahuan jaringan yang luas untuk mengatur Rute Yang Ditentukan Pengguna ( User Defined Route, UDR) dan aturan firewall dengan benar sebelum Anda membuat kluster. Menggunakan pengaturan ini bersifat opsional tetapi hanya tersedia ketika resourceProviderConnectionproperti jaringan diatur ke keluar seperti yang dijelaskan di bagian sebelumnya.

Ketika privateLink diatur ke aktif, penyeimbang beban standar (SLB) internal dibuat, dan Layanan Azure Private Link tersedia untuk setiap SLB. Private Link Service adalah yang memungkinkan Anda mengakses kluster HDInsight dari titik akhir privat.

Penyeimbang beban standar tidak secara otomatis menyediakan NAT keluar publik seperti penyeimbang beban dasar. Anda harus menyediakan solusi NAT Anda sendiri, seperti NAT Virtual Network atau firewall, untuk dependensi keluar. Kluster HDInsight Anda masih memerlukan akses ke dependensi keluarnya. Jika dependensi keluar ini tidak diperbolehkan, pembuatan kluster bisa gagal.

Menyiapkan lingkungan Anda

Untuk berhasil membuat layanan tautan privat, Anda harus secara eksplisit menonaktifkan kebijakan jaringan untuk layanan tautan privat.

Diagram berikut menunjukkan contoh konfigurasi jaringan yang diperlukan sebelum Anda membuat kluster. Dalam contoh ini, semua lalu lintas keluar dipaksa ke Azure Firewall menggunakan UDR dan dependensi keluar yang diperlukan harus "diizinkan" pada firewall sebelum membuat kluster. Untuk kluster Paket Keamanan Perusahaan, konektivitas jaringan ke Azure Active Directory Domain Services dapat disediakan oleh peering VNet.

Diagram lingkungan tautan privat sebelum pembuatan kluster

Setelah menyiapkan jaringan, Anda dapat membuat kluster dengan koneksi penyedia sumber keluar dan tautan pribadi diaktifkan, seperti yang ditunjukkan pada gambar berikut. Dalam konfigurasi ini, tidak ada IP publik dan Layanan Private Link tersedia untuk setiap penyeimbang beban standar.

Diagram lingkungan tautan privat sebelum pembuatan kluster

Mengakses kluster privat

Untuk mengakses kluster privat, Anda dapat menggunakan IP pribadi penyeimbang beban internal secara langsung, atau Anda bisa menggunakan ekstensi DNS Private Link dan Titik Akhir Privat. Saat privateLink pengaturan diatur ke diaktifkan, Anda bisa membuat titik akhir privat Anda sendiri dan mengonfigurasi resolusi DNS melalui zona DNS privat.

Entri Private Link yang dibuat di Zona DNS Publik yang dikelola Azure azurehdinsight.net adalah sebagai berikut:

<clustername>        CNAME    <clustername>.privatelink
<clustername>-int    CNAME    <clustername>-int.privatelink
<clustername>-ssh    CNAME    <clustername>-ssh.privatelink

Gambar berikut menunjukkan contoh entri DNS privat yang diperlukan untuk mengakses kluster dari jaringan virtual yang tidak di-peeringr atau tidak memiliki garis pandang langsung ke penyeimbang beban kluster. Anda dapat menggunakan Azure Private Zone untuk mengambil alih *.privatelink.azurehdinsight.net FQDN dan mengatasi alamat IP titik akhir pribadi Anda sendiri.

Diagram arsitektur tautan privat

Bagaimana cara Membuat Kluster?

Gunakan properti templat ARM

Cuplikan kode JSON berikut ini mencakup dua properti jaringan yang perlu Anda konfigurasikan di template ARM Anda untuk membuat kluster HDInsight privat.

networkProperties: {
    "resourceProviderConnection": "Inbound" | "Outbound",
    "privateLink": "Enabled" | "Disabled"
}

Untuk templat lengkap dengan banyak fitur keamanan perusahaan HDInsight, termasuk Private Link, lihat templat keamanan perusahaan HDInsight.

Gunakan Azure PowerShell

Untuk menggunakan PowerShell, lihat contohnya di sini.

Gunakan Azure CLI

Untuk menggunakan Azure CLI, lihat contohnya di sini.

Langkah berikutnya