Halaman ini menjelaskan persyaratan dan opsi konfigurasi jaringan cluster Dataproc.
Persyaratan konektivitas Dataproc
Cluster Dataproc Anda harus berada di jaringan VPC yang memenuhi persyaratan rute dan firewall untuk mengakses Google API dan resource lainnya dengan aman.
Persyaratan rute
Agen Dataproc yang berjalan di VM cluster memerlukan rute ke internet untuk mengakses API kontrol Dataproc guna mendapatkan tugas dan melaporkan status. Saat dibuat, jaringan VPC berisi rute default yang dibuat sistem ke internet. Menghapus rute default ke internet tidak direkomendasikan; sebagai gantinya, gunakan firewall untuk mengontrol akses jaringan. Perhatikan bahwa cluster khusus IP internal juga memerlukan rute default ini ke internet untuk mengakses API kontrol Dataproc dan layanan Google lainnya, seperti Cloud Storage, tetapi traffic-nya tidak keluar dari pusat data Google.
Persyaratan firewall
Virtual Machine (VM) cluster Dataproc harus dapat berkomunikasi satu sama lain menggunakan protokol ICMP, TCP (semua port), dan UDP (semua port).
Aturan firewall jaringan VPC default
default-allow-internal
memenuhi persyaratan konektivitas cluster Dataproc
dan mengizinkan traffic masuk dari rentang sumber 10.128.0.0/9
dari
semua VM di jaringan VPC sebagai berikut:
Aturan | Jaringan | Arah | Prioritas | Rentang sumber | Protocols:Ports |
---|---|---|---|---|---|
default-allow-internal |
default |
masuk | 65534 |
10.128.0.0/9 |
tcp:0-65535 ,udp:0-65535 ,icmp |
Jika Anda menghapus aturan firewall
default-allow-internal
, traffic masuk di jaringandefault
akan diblokir oleh aturan tolak traffic masuk implisit.Jika Anda menghapus aturan firewall
default-allow-internal
atau tidak menggunakan jaringan VPCdefault
, Anda harus membuat aturan sendiri yang memenuhi persyaratan konektivitas Dataproc, lalu menerapkannya ke jaringan VPC cluster Anda.
Praktik terbaik: Buat aturan firewall masuk untuk jaringan VPC cluster Anda yang mengizinkan konektivitas masuk hanya di antara VM cluster dengan menggunakan rentang IP sumber atau dengan mengidentifikasi VM cluster berdasarkan tag jaringan atau akun layanan.
Membuat aturan firewall masuk
Jika Anda atau administrator jaringan atau keamanan membuat aturan firewall traffic masuk untuk diterapkan ke jaringan VPC cluster Dataproc, aturan tersebut harus memiliki karakteristik berikut:
Parameter sources menentukan sumber untuk paket. Semua VM cluster Dataproc harus dapat berkomunikasi satu sama lain. Anda dapat mengidentifikasi VM di cluster berdasarkan rentang alamat IP, tag sumber, atau akun layanan yang terkait dengan VM.
Target untuk aturan harus mengidentifikasi VM cluster. Target dapat berupa semua VM di jaringan VPC, atau Anda dapat mengidentifikasi VM berdasarkan rentang alamat IP, tag target, atau akun layanan target.
Aturan harus menyertakan protokol dan port berikut:
- TCP (semua port, 0 hingga 65535)
- UDP (semua port, 0 hingga 65535)
- ICMP
Dataproc menggunakan layanan yang berjalan di beberapa port. Menentukan semua port akan membantu layanan berjalan dengan sukses.
Mendiagnosis aturan firewall VPC
Untuk mengaudit paket yang tidak diproses oleh aturan firewall prioritas lebih tinggi, Anda dapat membuat dua aturan firewall tolak prioritas rendah (65534). Tidak seperti aturan firewall implisit, Anda dapat mengaktifkan logging aturan firewall pada setiap aturan prioritas rendah ini:
Aturan tolak masuk (sumber
0.0.0.0/0
, semua protokol, semua target di jaringan VPC)Aturan penolakan keluar (tujuan
0.0.0.0/0
, semua protokol, semua target di jaringan VPC)
Dengan aturan prioritas rendah dan logging aturan firewall ini, Anda dapat mencatat ke dalam log paket yang tidak diproses oleh aturan firewall dengan prioritas lebih tinggi, dan berpotensi lebih spesifik. Kedua aturan prioritas rendah ini juga selaras dengan praktik terbaik keamanan dengan menerapkan strategi "paket drop akhir".
Periksa log aturan firewall untuk aturan ini guna menentukan apakah Anda perlu membuat atau mengubah aturan prioritas yang lebih tinggi untuk mengizinkan paket. Misalnya, jika paket yang dikirim di antara VM cluster Dataproc dihapus, hal ini dapat menjadi sinyal bahwa aturan firewall Anda perlu disesuaikan.
Membuat jaringan VPC
Daripada menggunakan jaringan VPC default
, Anda dapat membuat jaringan VPC mode otomatis atau kustom Anda sendiri. Saat membuat cluster, Anda mengaitkan jaringan dengan
cluster.
Lingkungan Assured Workloads: Saat Anda menggunakan lingkungan Assured Workloads untuk kepatuhan peraturan, cluster, jaringan VPC-nya, dan bucket Cloud Storage-nya harus berada dalam lingkungan Assured Workloads.
Membuat cluster yang menggunakan jaringan VPC Anda
Konsol
Pilih jaringan Anda di bagian Konfigurasi jaringan di panel Sesuaikan cluster. Setelah Anda memilih jaringan, pemilih Subnetwork akan menampilkan subnetwork yang tersedia di region yang Anda pilih untuk cluster.
Google Cloud CLI
Gunakan
gcloud dataproc clusters create
dengan flag ‑‑network
atau ‑‑subnet
untuk membuat cluster di subnet di jaringan Anda.
Jika Anda menggunakan flag ‑‑network, cluster akan menggunakan subnetwork dengan
nama yang sama dengan jaringan yang ditentukan di region tempat cluster dibuat.
--network example
. Karena jaringan otomatis dibuat dengan subnet di setiap region, dengan setiap subnet diberi nama jaringan, Anda dapat meneruskan nama jaringan VPC mode otomatis ke tanda ‑‑network
.
Cluster akan menggunakan sub-jaringan VPC mode otomatis di
region yang ditentukan dengan flag ‑‑region.
gcloud dataproc clusters create CLUSTER_NAME \ --network NETWORK_NAME \ --region=REGION \ ... other args ...
--subnet example
. Anda dapat menggunakan tanda ‑‑subnet
untuk membuat cluster yang menggunakan subnet jaringan VPC mode otomatis atau kustom di region cluster. Tentukan jalur resource lengkap subnet.
gcloud dataproc clusters create CLUSTER_NAMEW \ --subnet projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME \ --region=REGION \ ... other args ...
REST API
Anda dapat menentukan kolom GceClusterConfig
networkUri atau subnetworkUri sebagai bagian dari permintaan
clusters.create.
Contoh
POST /v1/projects/my-project-id/regions/us-central1/clusters/ { "projectId": "PROJECT_ID", "clusterName": CLUSTER_NAME, "config": { "configBucket": "", "gceClusterConfig": { "subnetworkUri": SUBNET_NAME, }, ...
Membuat cluster yang menggunakan jaringan VPC di project lain
Cluster Dataproc dapat menggunakan jaringan VPC Bersama yang ditentukan dalam project host. Project tempat cluster Dataproc dibuat disebut sebagai project layanan.
Temukan nomor project cluster Dataproc:
- Buka halaman Setelan IAM & Admin di konsol Google Cloud. Pilih project tempat Anda akan membuat cluster Dataproc. Salin project ID.
Akun utama dengan peran Admin VPC Bersama harus melakukan langkah-langkah berikut. Lihat petunjuk untuk menyiapkan VPC Bersama untuk informasi latar belakang.
Pastikan project host VPC Bersama diaktifkan.
Lampirkan project dengan cluster Dataproc ke project host.
Konfigurasikan akun layanan agen layanan Dataproc (
service-[project-number]@dataproc-accounts.
) agar memiliki peran Network User untuk project host:Buka halaman IAM & Admin di konsol Google Cloud.
Gunakan pemilih project untuk memilih project host baru.
Klik Grant Access.
Isi formulir Berikan Akses:
Tambahkan akun utama: Masukkan akun layanan.
Tetapkan peran: Masukkan "Compute Network" di kotak filter, lalu pilih peran Compute Network User.
Klik Simpan.
Setelah akun layanan memiliki peran
Network User
untuk project host, buat cluster yang menggunakan jaringan VPC Bersama.
Membuat cluster yang menggunakan subnetwork VPC di project lain
Cluster Dataproc dapat menggunakan subnetwork VPC Bersama yang ditentukan dalam project host. Project tempat cluster Dataproc dibuat disebut sebagai project layanan.
Temukan nomor project cluster Dataproc:
- Buka halaman Setelan IAM & Admin di konsol Google Cloud. Pilih project tempat Anda akan membuat cluster Dataproc. Salin project ID.
Akun utama dengan peran Admin VPC Bersama harus melakukan langkah-langkah berikut. Lihat petunjuk untuk menyiapkan VPC Bersama untuk informasi latar belakang.
Pastikan project host VPC Bersama diaktifkan.
Lampirkan project dengan cluster Dataproc ke project host.
Konfigurasikan akun layanan agen layanan Dataproc (
service-[project-number]@dataproc-accounts.
) agar memiliki peran Network User untuk project host:Buka halaman VPC networks di Konsol Google Cloud.
Gunakan pemilih project untuk memilih project host.
Klik jaringan yang berisi subnetwork yang akan digunakan oleh cluster Dataproc Anda.
Di halaman VPC Network Details, klik kotak centang di samping nama subnetwork yang akan digunakan cluster Anda.
Jika Panel Info tidak terbuka, klik Tampilkan Panel Info.
Lakukan langkah-langkah berikut untuk setiap akun layanan:
Di Panel Info, klik Tambahkan Akun Utama.
Isi formulir Grant Access:
Tambahkan akun utama: Masukkan akun layanan.
Tetapkan peran: Masukkan "Compute Network" di kotak filter, lalu pilih peran Compute Network User.
Klik Simpan.
Setelah akun layanan memiliki peran
Network User
untuk project host, buat cluster yang menggunakan subnetwork VPC Bersama.
Membuat cluster Dataproc hanya dengan alamat IP internal
Anda dapat membuat cluster Dataproc yang terisolasi dari internet publik yang instance VM-nya berkomunikasi melalui subjaringan IP pribadi (VM cluster tidak diberi alamat IP publik). Untuk melakukannya, subnet harus mengaktifkan Akses Google Pribadi agar node cluster dapat mengakses Google API dan layanan Google, seperti Cloud Storage, dari IP internal.
Konsol
Anda dapat membuat cluster Dataproc dengan Akses Google Pribadi yang diaktifkan dari halaman Create a cluster Dataproc di konsol Google Cloud. Klik Khusus IP internal di panel Sesuaikan cluster untuk mengaktifkan fitur ini untuk cluster Anda.
gcloud CLI
Anda dapat membuat cluster Dataproc dengan alamat IP internal saja
menggunakan perintah
gcloud dataproc clusters create
dengan flag ‑‑no-address
.
Gunakan flag ‑‑no-address dan ‑‑network:
Gunakan flag ‑‑no-address
dengan
flag ‑‑network
untuk membuat cluster yang akan menggunakan
subnetwork dengan nama yang sama dengan jaringan di region
tempat cluster dibuat.
gcloud dataproc clusters create CLUSTER_NAME \ --no-address \ --network NETWORK_NAME \ --region=REGION \ ... other args ...
Misalnya, karena jaringan otomatis dibuat dengan subnet di setiap
region dengan nama yang sama dengan jaringan otomatis, Anda dapat meneruskan nama jaringan otomatis
ke ‑‑network flag
untuk membuat cluster yang akan menggunakan subnetwork otomatis di region cluster.
Gunakan flag ‑‑no-address dan ‑‑subnet:
Gunakan flag ‑‑no-address
dengan
flag ‑‑subnet
untuk membuat
cluster yang akan menggunakan subnetwork otomatis atau kustom di region
tempat cluster akan dibuat. Teruskan flag ‑‑subnet
jalur resource lengkap subnet.
gcloud dataproc clusters create cluster-name \ --no-address \ --subnet projects/project-id/regions/region/subnetworks/subnetwork-name \ --region=region \ ... other args ...
REST API
Anda dapat menetapkan kolom GceClusterConfig
internalIpOnly
ke true
sebagai bagian dari permintaan
clusters.create
untuk mengaktifkan alamat IP internal saja.
Contoh:
POST /v1/projects/my-project-id/regions/us-central1/clusters/ { "projectId": "my-project-id", "clusterName": "example-cluster", "config": { "configBucket": "", "gceClusterConfig": { "subnetworkUri": "custom-subnet-1", "zoneUri": "us-central1-b", "internalIpOnly": true }, ...
Karena secara default, cluster khusus IP internal tidak memiliki akses ke internet, tugas yang mendownload dependensi dari internet, misalnya tugas yang mendownload paket dependensi Spark dari Maven Central, akan gagal. Ada beberapa cara untuk menghindari masalah ini:
Gunakan Cloud NAT untuk mengaktifkan akses cluster ke internet.
Buat image kustom yang menyertakan dependensi (misalnya, paket dependensi Spark di
/usr/lib/spark/jars/
).Upload dependensi ke bucket Cloud Storage, lalu gunakan tindakan inisialisasi untuk mendownload dependensi dari bucket selama pembuatan cluster.
Jaringan Dataproc dan Kontrol Layanan VPC
Dengan Kontrol Layanan VPC, administrator dapat menentukan perimeter keamanan di sekitar resource layanan yang dikelola Google untuk mengontrol komunikasi ke dan di antara beberapa layanan tersebut.
Perhatikan batasan dan strategi berikut saat menggunakan jaringan Kontrol Layanan VPC dengan cluster Dataproc:
Untuk menginstal komponen di luar perimeter Kontrol Layanan VPC, buat image kustom Dataproc yang telah menginstal komponen sebelumnya, lalu buat cluster menggunakan image kustom.
Lihat Langkah khusus Dataproc untuk melindungi menggunakan Kontrol Layanan VPC.