Konfigurasi jaringan Cluster Dataproc

Halaman ini menjelaskan persyaratan dan opsi konfigurasi jaringan cluster Dataproc.

Persyaratan konektivitas Dataproc

Cluster Dataproc Virtual Machine (VM) harus dapat berkomunikasi satu sama lain menggunakan protokol ICMP, TCP (semua port), dan UDP (semua port).

Aturan firewall default-allow-internal jaringan VPC default memenuhi persyaratan konektivitas cluster Dataproc dan memungkinkan traffic masuk dari rentang sumber 10.128.0.0/9 dari semua VM di jaringan VPC sebagai berikut:

Aturan Jaringan Arah Prioritas Rentang sumber Protokol:Porta
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 jaringan default akan diblokir oleh aturan penolakan masuk yang tersirat.

  • Jika menghapus aturan firewall default-allow-internal atau tidak menggunakan jaringan VPC default, Anda harus membuat aturan sendiri yang memenuhi persyaratan konektivitas Dataproc, lalu menerapkannya ke jaringan VPC cluster.

Praktik terbaik: Buat aturan firewall masuk untuk jaringan VPC cluster yang memungkinkan konektivitas ingress hanya di antara VM cluster 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 Anda membuat aturan firewall masuk untuk diterapkan ke jaringan VPC cluster Dataproc, aturan tersebut harus memiliki karakteristik berikut:

  • Parameter sources menentukan sumber paket. Semua VM cluster Dataproc harus dapat saling berkomunikasi. 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. Targetnya dapat berupa semua VM di jaringan VPC, atau Anda dapat mengidentifikasi VM berdasarkan rentang alamat IP, tag target, atau akun layanan target.

  • Aturan ini harus mencakup 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 agar layanan berhasil berjalan.

Mendiagnosis aturan firewall VPC Anda

Untuk mengaudit paket yang tidak diproses oleh aturan firewall berprioritas lebih tinggi, Anda dapat membuat dua aturan penolakan firewall prioritas rendah (65534). Tidak seperti aturan firewall tersirat, Anda dapat mengaktifkan logging aturan firewall pada setiap aturan berprioritas rendah ini:

  1. Aturan penolakan masuk (sumber 0.0.0.0/0, semua protokol, semua target dalam jaringan VPC)

  2. Aturan penolakan traffic keluar (tujuan 0.0.0.0/0, semua protokol, semua target dalam jaringan VPC)

  • Dengan logging aturan prioritas rendah dan aturan firewall ini, Anda dapat mencatat paket yang tidak diproses oleh prioritas yang lebih tinggi, dan yang berpotensi lebih spesifik, aturan firewall. Kedua aturan berprioritas rendah ini juga selaras dengan praktik terbaik keamanan dengan menerapkan strategi "penutupan paket akhir".

  • Periksa log aturan firewall untuk aturan ini guna menentukan apakah Anda perlu membuat atau mengubah aturan dengan prioritas yang lebih tinggi untuk mengizinkan paket. Misalnya, jika paket yang dikirim antara VM cluster Dataproc dihapus, ini dapat menjadi sinyal bahwa aturan firewall Anda perlu disesuaikan.

Membuat jaringan VPC

Daripada menggunakan jaringan VPC default, Anda dapat membuat mode otomatis atau jaringan VPC kustom. Saat membuat cluster, Anda akan mengaitkan jaringan Anda dengan cluster tersebut.

Lingkungan Assured Workloads: Saat Anda menggunakan lingkungan Assured Workloads demi 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

Google Cloud CLI

Gunakan gcloud dataproc clusters create dengan tanda ‑‑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 tanda ‐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 mode otomatis atau subnet jaringan VPC 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,
    },
    ...

Konsol

Pilih jaringan Anda di bagian Konfigurasi jaringan pada panel Customize cluster. Setelah Anda memilih jaringan, pemilih Subnetwork akan menampilkan subnetwork yang tersedia di region yang Anda pilih untuk cluster.

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.

  1. Cari nomor project cluster Dataproc:

    1. Buka halaman Settings IAM & Admin di Konsol Google Cloud. Pilih project tempat Anda akan membuat cluster Dataproc. Salin project ID.
  2. Akun utama dengan peran Admin VPC Bersama harus melakukan langkah-langkah berikut. Lihat petunjuk menyiapkan VPC Bersama untuk mengetahui informasi latar belakang.

    1. Pastikan project host VPC Bersama diaktifkan.

    2. Pasang project dengan cluster Dataproc ke project host.

    3. Ikuti petunjuk dalam sublangkah ini untuk mengonfigurasi kedua akun layanan berikut agar memiliki peran Network User untuk project host:

      1. Buka halaman IAM & Admin di Konsol Google Cloud.

      2. Gunakan pemilih project untuk memilih project host baru.

      3. Klik Grant Access.

      4. Isi formulir Pemberian Akses. Ulangi langkah-langkah ini untuk menambahkan kedua akun layanan tersebut:

        1. Tambahkan akun utama: Masukkan akun layanan.

        2. Menetapkan peran: Masukkan "Jaringan Compute" di kotak filter, lalu pilih peran Pengguna Jaringan Compute.

        3. Klik Save.

  3. Setelah kedua 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.

  1. Cari nomor project cluster Dataproc:

    1. Buka halaman Settings IAM & Admin di Konsol Google Cloud. Pilih project tempat Anda akan membuat cluster Dataproc. Salin project ID.
  2. Akun utama dengan peran Admin VPC Bersama harus melakukan langkah-langkah berikut. Lihat petunjuk menyiapkan VPC Bersama untuk mengetahui informasi latar belakang.

    1. Pastikan project host VPC Bersama diaktifkan.

    2. Pasang project dengan cluster Dataproc ke project host.

    3. Ikuti petunjuk di langkah ini untuk mengonfigurasi kedua akun layanan berikut agar memiliki peran Network User untuk project host:

      1. Buka halaman VPC networks di Google Cloud Console.

      2. Gunakan pemilih project untuk memilih project host.

      3. Klik jaringan yang berisi subnetwork yang akan digunakan cluster Dataproc Anda.

      4. Di halaman VPC Network Details, klik kotak centang di samping nama subnetwork yang akan digunakan cluster Anda.

      5. Jika Panel Info tidak terbuka, klik Tampilkan Panel Info.

      6. Lakukan langkah-langkah berikut untuk setiap akun layanan:

        1. Di Panel Info, klik Add Principal.

        2. Isi di formulir Berikan Akses:

          1. Tambahkan akun utama: Masukkan akun layanan.

          2. Menetapkan peran: Masukkan "Jaringan Compute" di kotak filter, lalu pilih peran Pengguna Jaringan Compute.

          3. Klik Save.

  3. Setelah kedua akun layanan memiliki peran Network User untuk project host, buat cluster yang menggunakan subnetwork VPC bersama.

Membuat cluster Dataproc dengan alamat IP internal saja

Anda dapat membuat cluster Dataproc yang diisolasi dari internet publik dengan instance VM yang berkomunikasi melalui subnetwork IP pribadi (cluster VM tidak diberi alamat IP publik). Untuk melakukannya, subnetwork harus mengaktifkan Akses Google Pribadi agar node cluster dapat mengakses Google API dan layanan Google, seperti Cloud Storage, dari IP internal.

gcloud CLI

Anda dapat membuat cluster Dataproc dengan alamat IP internal hanya dengan 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 tanda ‐‐no-address dan ‐‐subnet: Gunakan tanda ‑‑no-address dengan tanda ‑‑subnet untuk membuat cluster yang akan menggunakan subnetwork khusus atau otomatis di region tempat cluster akan dibuat. Teruskan flag ‑‑subnet ke 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
    },
    ...

Konsol

Anda dapat membuat cluster Dataproc dengan Akses Google Pribadi yang diaktifkan dari halaman Create a cluster pada Dataproc di Konsol Google Cloud. Klik Internal IP only di panel Customize cluster untuk mengaktifkan fitur ini untuk cluster Anda.

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 solusi untuk menghindari masalah ini:

  1. Gunakan Cloud NAT untuk mengaktifkan akses cluster ke internet.

  2. Buat image kustom yang menyertakan dependensi (misalnya, paket dependensi Spark di /usr/lib/spark/jars/).

  3. 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 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 Dataproc: