Deskripsi: Memahami konfigurasi jaringan cluster Dataproc. Menerapkan rute VPC, aturan firewall, Akses Google Pribadi, dan VPC Bersama untuk deployment yang aman dan hanya menggunakan IP internal.
Halaman ini menjelaskan persyaratan dan opsi konfigurasi jaringan cluster Managed Service untuk Apache Spark.
Persyaratan konektivitas Managed Service untuk Apache Spark
Cluster Managed Service untuk Apache Spark Anda harus berada di jaringan Virtual Private Cloud yang memenuhi persyaratan rute dan firewall untuk mengakses Google API dan resource lainnya secara aman.
Persyaratan rute
Untuk membuat komunikasi antara agen Managed Service untuk Apache Spark yang berjalan di VM cluster dan Managed Service untuk Apache Spark control API, jaringan VPC cluster Managed Service untuk Apache Spark harus memiliki rute ke gateway internet. Hal ini juga diperlukan untuk cluster yang hanya menggunakan IP internal.
Secara default, cluster versi image Managed Service untuk Apache Spark 2.2 dan yang lebih baru menyediakan VM dengan alamat yang hanya menggunakan IP internal. Managed Service untuk Apache Spark secara otomatis mengaktifkan Akses Google Pribadi (PGA) di subnet cluster untuk memungkinkan VM cluster dengan alamat IP internal menjangkau Google API dan layanan menggunakan rute default yang dibuat sistem ke gateway internet default.
| Aturan | Jenis | Rentang IP tujuan | Prioritas | Batas cakupan | Hop berikutnya |
|---|---|---|---|---|---|
default-route-[id] |
Statis | 0.0.0.0/0 |
1000 |
- | Gateway internet default |
PGA memastikan bahwa traffic cluster tidak melintasi internet publik dan tidak meninggalkan pusat data Google (lihat diagram contoh PGA).
Menghapus rute default ke gateway internet tidak direkomendasikan. Jika Anda ingin mengontrol akses jaringan ke internet, gunakan aturan atau kebijakan firewall.
Jika Anda telah menghapus rute default ke gateway internet, Anda harus
menambahkan rute default. Rentang IP tujuan harus berupa 0.0.0.0/0 karena rentang IP untuk Managed Service untuk Apache Spark control API tidak statis.
Persyaratan firewall
Jaringan VPC cluster Managed Service untuk Apache Spark Anda harus secara eksplisit mengizinkan traffic berikut:
Traffic yang dimulai dari VM cluster Managed Service untuk Apache Spark ke Managed Service untuk Apache Spark control API dan VM cluster Managed Service untuk Apache Spark lainnya. Traffic ini diizinkan secara default dari aturan tersirat izinkan semua traffic keluar jaringan VPC. Jika Anda telah menambahkan aturan firewall tolak traffic keluar yang mengganti, buat aturan firewall izinkan traffic keluar.
Traffic respons dari Managed Service untuk Apache Spark control API ke VM cluster Managed Service untuk Apache Spark diizinkan secara default, karena status firewall jaringan VPC.
Traffic yang diterima oleh VM cluster Managed Service untuk Apache Spark dari VM cluster Managed Service untuk Apache Spark lainnya. Traffic ini akan ditolak secara default dari aturan firewall tersirat tolak semua traffic masuk jaringan VPC. Anda harus membuat aturan firewall izinkan traffic masuk.
- Gunakan tag jaringan untuk VM cluster Managed Service untuk Apache Spark Anda sehingga Anda dapat membatasi penerapan aturan firewall yang diperlukan hanya untuk VM cluster Managed Service untuk Apache Spark. Jika tidak menggunakan tag jaringan, Anda dapat menentukan target berdasarkan akun layanan yang digunakan untuk VM cluster. Jika tidak, Anda dapat mengonfigurasi aturan firewall agar berlaku untuk semua VM di jaringan VPC.
- Untuk akses dan konektivitas jaringan yang lebih aman, gunakan tag aman bukan tag jaringan, untuk menentukan sumber dan target aturan firewall.
Membuat aturan firewall izinkan traffic masuk
Jika Anda atau administrator jaringan atau keamanan Anda membuat aturan firewall masuk untuk diterapkan ke jaringan VPC cluster Managed Service untuk Apache Spark, aturan tersebut harus memiliki karakteristik berikut:
Parameter sources menentukan sumber untuk paket. Semua VM cluster Managed Service untuk Apache Spark harus dapat berkomunikasi satu sama lain. Anda dapat mengidentifikasi VM di cluster berdasarkan rentang alamat IP (rentang utama subnet cluster Managed Service untuk Apache Spark), tag jaringan, 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 tag jaringan 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
Managed Service untuk Apache Spark menggunakan layanan yang berjalan di beberapa port. Menentukan semua port membantu layanan berjalan dengan sukses.
Membuat aturan firewall izinkan traffic keluar
Jika Anda atau administrator jaringan atau keamanan Anda membuat aturan firewall keluar untuk diterapkan ke jaringan VPC cluster Managed Service untuk Apache Spark, aturan tersebut harus memiliki karakteristik berikut:
Parameter destinations menentukan tujuan untuk paket. Semua VM cluster Managed Service untuk Apache Spark harus dapat memulai traffic ke satu sama lain dan Managed Service untuk Apache Spark control API. Karena alamat IP control API tidak statis, tujuan harus ditentukan berdasarkan rentang IP
0.0.0.0/0.Target untuk aturan harus mengidentifikasi VM cluster. Target dapat berupa semua VM di jaringan VPC, atau Anda dapat mengidentifikasi VM berdasarkan tag jaringan 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
Managed Service untuk Apache Spark menggunakan layanan yang berjalan di beberapa port. Menentukan semua port membantu layanan berjalan dengan sukses.
Mendiagnosis aturan firewall jaringan VPC
Untuk mengaudit paket yang tidak diproses oleh aturan firewall dengan prioritas lebih tinggi, Anda dapat membuat dua aturan firewall tolak dengan prioritas rendah (65534) berikut. Tidak seperti aturan firewall tersirat, Anda dapat mengaktifkan logging aturan firewall pada setiap aturan prioritas rendah ini:
Aturan tolak traffic masuk (sumber
0.0.0.0/0, semua protokol, semua target di jaringan VPC)Aturan tolak traffic 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 paket yang tidak diproses oleh aturan firewall dengan prioritas lebih tinggi, dan mungkin lebih spesifik. Dua 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 ingin membuat atau mengubah aturan dengan prioritas lebih tinggi untuk mengizinkan paket. Misalnya, jika paket yang dikirim antara VM cluster Managed Service untuk Apache Spark dihilangkan, hal ini dapat menjadi sinyal bahwa aturan firewall Anda harus disesuaikan.
Membuat jaringan VPC
Daripada menggunakan jaringan VPC default, Anda dapat membuat jaringan VPC mode otomatis
atau kustom
Anda sendiri. Saat membuat cluster, Anda akan mengaitkan jaringan dengan cluster.
Lingkungan Assured Workloads: Saat Anda menggunakan lingkungan Assured Workloads untuk kepatuhan terhadap 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 flag ‑‑network.
Cluster akan menggunakan subnetwork 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 flag ‑‑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
networkUri atau subnetworkUri
GceClusterConfig 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 Managed Service untuk Apache Spark dapat menggunakan jaringan VPC Bersama yang ditentukan dalam project host. Project tempat cluster Managed Service untuk Apache Spark dibuat disebut sebagai project layanan.
Temukan nomor project cluster Managed Service untuk Apache Spark:
- Buka halaman IAM & Admin Setelan di Google Cloud konsol. Pilih project tempat Anda akan membuat cluster Managed Service untuk Apache Spark. Salin project ID.
Akun utama dengan peran Admin VPC Bersama harus melakukan langkah-langkah berikut. Lihat petunjuk untuk menyiapkan VPC Bersama untuk mengetahui informasi latar belakang.
Pastikan project host VPC Bersama diaktifkan.
Lampirkan project dengan cluster Managed Service untuk Apache Spark ke project host.
Konfigurasi akun layanan agen layanan Managed Service untuk Apache Spark (
service-[project-number]@dataproc-accounts.iam.gserviceaccount.com) agar memiliki peran Pengguna Jaringan untuk project host:Buka halaman IAM & Admin di Google Cloud konsol.
Gunakan pemilih project untuk memilih project host baru.
Klik Grant Access.
Isi formulir Grant Access:
Add principals: Masukkan akun layanan.
Assign roles: Masukkan "Compute Network" di kotak filter, lalu pilih peran Compute Network User.
Klik Save.
Setelah akun layanan memiliki peran
Network Useruntuk project host, buat cluster yang menggunakan jaringan VPC Bersama.
Membuat cluster yang menggunakan subnetwork VPC di project lain
Cluster Managed Service untuk Apache Spark dapat menggunakan subnetwork VPC Bersama yang ditentukan dalam project host. Project tempat cluster Managed Service untuk Apache Spark dibuat disebut sebagai project layanan.
Temukan nomor project cluster Managed Service untuk Apache Spark:
- Buka halaman IAM & Admin Setelan di Google Cloud konsol. Pilih project tempat Anda akan membuat cluster Managed Service untuk Apache Spark. Salin project ID.
Akun utama dengan peran Admin VPC Bersama harus melakukan langkah-langkah berikut. Lihat petunjuk untuk menyiapkan VPC Bersama untuk mengetahui informasi latar belakang.
Pastikan project host VPC Bersama diaktifkan.
Lampirkan project dengan cluster Managed Service untuk Apache Spark ke project host.
Konfigurasi akun layanan agen layanan Managed Service untuk Apache Spark (
service-[project-number]@dataproc-accounts.iam.gserviceaccount.com) agar memiliki peran Pengguna Jaringan untuk project host:Buka halaman jaringan VPC di konsol. Google Cloud
Gunakan pemilih project untuk memilih project host.
Klik jaringan yang berisi subnetwork yang akan digunakan oleh cluster Managed Service untuk Apache Spark Anda.
Di halaman VPC Network Details, klik kotak centang di samping nama subnetwork yang akan digunakan oleh cluster Anda.
Jika Panel Info tidak terbuka, klik Show Info Panel.
Lakukan langkah-langkah berikut untuk setiap akun layanan:
Di Panel Info, klik Add Principal.
Isi formulir Grant Access:
Add principals: Masukkan akun layanan.
Assign roles: Masukkan "Compute Network" di kotak filter, lalu pilih peran Compute Network User.
Klik Save.
Setelah akun layanan memiliki peran
Network Useruntuk project host, buat cluster yang menggunakan subnetwork VPC Bersama.
Membuat cluster yang hanya menggunakan IP internal
Bagian ini berlaku untuk cluster versi image sebelum 2.2. VM cluster dengan
alamat yang hanya menggunakan IP internal diaktifkan secara default saat membuat cluster Managed Service untuk Apache Spark
dengan versi image 2.2 dan yang lebih baru.
Anda dapat menggunakan Google Cloud konsol, gcloud CLI, atau Dataproc API untuk membuat cluster yang hanya menggunakan alamat IP internal. Perhatikan bahwa Managed Service untuk Apache Spark secara otomatis mengaktifkan Akses Google Pribadi di subnet regional cluster saat hanya menggunakan IP internal diaktifkan untuk mengizinkan koneksi ke Google API dan layanan.
Konsol
Anda dapat membuat cluster Managed Service untuk Apache Spark yang hanya menggunakan alamat IP internal dari halaman Managed Service untuk Apache Spark Buat cluster di Google Cloud konsol. Klik Internal IP only di panel Customize cluster untuk mengaktifkan fitur ini untuk cluster Anda.
gcloud CLI
Anda dapat membuat cluster yang hanya menggunakan alamat IP internal
dengan menggunakan
gcloud dataproc clusters create
perintah dengan flag ‑‑no-address.
gcloud dataproc clusters create CLUSTER_NAME \ --no-address \ --network NETWORK_NAME \ --region=REGION \ ... other args ...
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.
Atau, Anda dapat menggunakan flag ‑‑subnet untuk membuat cluster yang akan menggunakan subnetwork otomatis atau kustom di region tempat cluster akan dibuat. Teruskan ‑‑subnet flag
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 menggunakan kolom
GceClusterConfig.internalIpOnly
sebagai bagian dari permintaan
clusters.create
untuk membuat cluster yang hanya mengaktifkan alamat IP internal.
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
},
...
Mendownload dependensi dengan cluster yang hanya menggunakan IP internal
Secara default, cluster yang hanya menggunakan IP internal tidak memiliki akses ke internet. Oleh karena itu, tugas yang mendownload dependensi dari internet, seperti tugas yang mendownload paket dependensi Spark dari Maven Central, akan gagal. Ada beberapa solusi 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 Managed Service untuk Apache Spark dan Kontrol Layanan VPC
Dengan Kontrol Layanan VPC, administrator dapat menentukan perimeter keamanan di sekitar sumber daya 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 Managed Service untuk Apache Spark:
Untuk menginstal komponen di luar perimeter Kontrol Layanan VPC, buat image kustom Managed Service untuk Apache Spark yang telah menginstal komponen sebelumnya, lalu buat cluster menggunakan image kustom.
Langkah berikutnya
- Untuk memecahkan masalah terkait pembuatan cluster Managed Service untuk Apache Spark Anda, lihat Memecahkan masalah pembuatan cluster.