Networking IP pribadi dengan Looker (Google Cloud core)

Setelah menyiapkan instance Looker (Google Cloud core) agar hanya menggunakan IP pribadi atau IP pribadi dan IP publik, sebaiknya konfigurasi jaringan Anda untuk menggunakan fitur Looker (Google Cloud core) tertentu atau untuk mengizinkan atau membatasi komunikasi dengan layanan eksternal atau internet.

Membatasi pengiriman email ke domain eksternal

Secara default, instance Looker (Google Cloud core) yang hanya menggunakan IP pribadi atau IP pribadi dan publik memungkinkan pengiriman email ke domain eksternal. Untuk membatasi domain tempat pengguna Looker dapat mengirim pengiriman email, Anda dapat menyiapkan daftar domain email yang diizinkan.

Menghubungkan instance Looker IP pribadi (Google Cloud core) ke layanan eksternal

Instance Looker (Google Cloud core) yang hanya menggunakan IP pribadi atau IP pribadi dan publik mungkin memerlukan konfigurasi tambahan agar dapat terhubung ke layanan atau resource di luar jaringan VPC instance. Bagian berikut menjelaskan opsi konfigurasi tambahan.

Terhubung ke VPC lain menggunakan akses layanan pribadi

Untuk menggunakan IP internal agar terhubung ke layanan di VPC lain yang dihosting oleh Google atau pihak ketiga, Anda dapat menggunakan akses layanan pribadi.

Selama pembuatan instance Looker (Google Cloud core), Anda membuat koneksi akses layanan pribadi untuk menghubungkan VPC Anda ke layanan Looker (Google Cloud core). Anda juga dapat memperbarui alokasi IP dari koneksi akses layanan pribadi yang ada tanpa mengganggu traffic.

Untuk menyiapkan koneksi akses layanan pribadi:

  1. Alokasikan rentang IP internal di jaringan VPC Anda.
  2. Siapkan koneksi pribadi antara jaringan VPC Anda dan jaringan produsen layanan, menggunakan rentang IP yang dialokasikan. Koneksi pribadi ini membuat koneksi Peering Jaringan VPC antara VPC Anda dan jaringan lainnya.

Koneksi pribadi adalah hubungan one-to-one antara jaringan VPC Anda dan produsen layanan. Jika satu produsen layanan menawarkan beberapa layanan, Anda hanya memerlukan satu koneksi pribadi untuk semua layanan produsen tersebut.

Menghubungkan ke resource lokal atau layanan pihak ketiga

Anda dapat menggunakan salah satu dari dua opsi berikut untuk menghubungkan instance Looker (Google Cloud core) dengan hanya menggunakan IP pribadi atau IP pribadi dan publik ke resource lokal atau layanan pihak ketiga:

Dengan salah satu metode tersebut, Anda harus melakukan hal berikut:

  • Konfigurasikan rute dinamis di VPC Looker (Google Cloud core) untuk setiap resource lokal.
  • Siapkan iklan rute kustom dari subnet akses layanan pribadi Looker (inti Google Cloud) di semua Cloud Router yang di-deploy di VPC Looker (Google Cloud core).
  • Update firewall lokal untuk mengizinkan traffic dengan subnet Looker (inti Google Cloud).
  • Konfigurasi penerusan DNS, yang akan memungkinkan Looker (Google Cloud core) terhubung ke resource lokal mana pun.

Cloud Interconnect dan Cloud Router

Diagram jaringan berikut menunjukkan cara Cloud Interconnect dan Cloud Router berinteraksi dengan layanan Looker (Google Cloud core) untuk terhubung ke jaringan lokal:

  1. Akses layanan pribadi menghubungkan layanan Looker (Google Cloud core) dengan VPC melalui alamat IP internal menggunakan peering VPC.
  2. Cloud Router menggunakan Border Gateway Protocol (BGP) untuk mengiklankan awalan IP pribadi dan rute dinamis program berdasarkan iklan BGP yang diterimanya dari peer. Cloud Interconnect digunakan untuk terhubung ke jaringan lokal.

Cloud VPN dan Cloud Router

Untuk panduan cara membuat instance Looker IP pribadi dan publik (Google Cloud core) serta menghubungkannya ke database lokal menggunakan VPN dengan ketersediaan tinggi (HA) dan Cloud Router, lihat codelab Menghubungkan Looker Cloud melalui jaringan hybrid.

Menghubungkan ke database yang dihosting oleh penyedia layanan cloud lain

Untuk menyiapkan koneksi pribadi ke database atau layanan yang dihosting oleh penyedia layanan cloud lainnya, project Google Cloud Anda harus dikonfigurasi untuk mengarahkan traffic ke penyedia layanan cloud tersebut agar memungkinkan pertukaran data. Pelajari lebih lanjut cara menghubungkan lingkungan cloud di halaman dokumentasi Pola untuk menghubungkan penyedia layanan cloud lainnya dengan Google Cloud.

Memberikan akses ke instance IP pribadi

Untuk mengizinkan pihak di luar VPC Anda berinteraksi dengan instance Looker (Google Cloud core) yang hanya mengaktifkan IP Pribadi, Anda dapat menyiapkan server proxy dan domain kustom. Bagian selanjutnya memberikan contoh cara menyiapkan server proxy.

Sebelum memulai

Agar dapat menyiapkan server proxy, Anda harus menginstal atau mengupdate Google Cloud CLI ke versi terbaru.

Menyiapkan server proxy

Contoh berikut menunjukkan cara menggunakan command line untuk menyiapkan server proxy NGINX untuk instance Looker (Google Cloud core) yang ada dan mengaktifkan koneksi jaringan IP Pribadi. Meskipun server NGINX dapat dibuat instance-nya dengan konfigurasi IP publik atau IP pribadi (dengan akses VPN diizinkan), contoh ini menunjukkan konfigurasi IP publik.

Anda dapat menggunakan server web apa pun yang dapat dikonfigurasi sebagai server {i>reverse proxy<i}. Anda tidak perlu menyiapkan server NGINX secara khusus.

  1. Buka Cloud Shell.

    Buka Cloud Shell

  2. Buat subnetwork dan VM NGINX Ubuntu 18 dengan IP publik yang diaktifkan di jaringan VPC Anda dengan menjalankan perintah berikut:

    • Tetapkan variabel Anda:

      PROJECT="PROJECT"
      NETWORK="NETWORK"
      SUBNETNAME="SUBNETNAME"
      IP_RANGE=IP_RANGE
      REGION="REGION"
      ZONE="ZONE"
      INSTANCE_NAME="INSTANCE_NAME"
      

      Ganti kode berikut:

      • PROJECT: ID project Google Cloud tempat Anda membuat instance Looker (Google Cloud core).
      • NETWORK: Nama jaringan VPC yang Anda konfigurasi untuk instance Looker (Google Cloud core).
      • SUBNETNAME: Dapat berupa subnet baru yang Anda buat dalam prosedur ini atau subnet apa pun di jaringan VPC Anda; tidak harus sama dengan nama subnet instance Looker (Google Cloud core) Anda.
      • IP_RANGE: Rentang yang tidak berkonflik. Gunakan minimal /22 (misalnya, 10.10.0.0/22).
      • REGION: Region tempat Anda ingin membuat server proxy.
      • ZONE: Zona tempat Anda ingin membuat server proxy. Zona yang tersedia dapat ditentukan dengan menjalankan gcloud compute zones list.
      • INSTANCE_NAME: Nama untuk server proxy.
    • Buat subnet (sebagai alternatif, Anda dapat menggunakan subnet yang dibuat saat membuat jaringan VPC, jika Anda menggunakan mode otomatis untuk membuat jaringan VPC):

      gcloud compute networks subnets create $SUBNETNAME --network=$NETWORK \
      --range=$IP_RANGE --region=$REGION --project=$PROJECT
      
    • Buat instance proxy:

      INSTANCE_EXTERNAL_IP=$(gcloud compute instances create $INSTANCE_NAME \
      --project=$PROJECT --zone=$ZONE --network=$NETWORK --subnet=$SUBNETNAME \
      --format="json" | jq '.[].networkInterfaces[].accessConfigs[].natIP')
      
    • Setelah membuat instance proxy, jalankan perintah berikut untuk membuat alamat IP publik dari instance proxy Anda:

      echo $INSTANCE_EXTERNAL_IP
      

      Catat IP eksternal untuk prosedur selanjutnya.

  3. Buat firewall untuk mengizinkan traffic ke instance Anda di port 80, 443, dan 22 (atau port lain yang akan didengarkan NGINX) dengan menjalankan perintah berikut:

    gcloud compute firewall-rules create managementnet-allow-http-https-ssh \
    --direction=INGRESS --priority=1000 --network=$NETWORK --action=ALLOW \
    --rules=tcp:80,tcp:443,tcp:22 --source-ranges=0.0.0.0/0 --project=$PROJECT
    
  4. Buat data DNS publik menggunakan domain yang Anda inginkan untuk instance Looker (Google Cloud core) dan arahkan ke alamat IP publik VM NGINX yang dihasilkan setelah pembuatan VM. Data ini juga dapat dibuat selama proses penyiapan domain kustom di dalam Konsol Google Cloud.

  5. Buat sertifikat pihak ketiga untuk mengakses URL publik. Contoh ini menggunakan Let's Encrypt NGINX untuk membuat sertifikat Let's Encrypt, tetapi Anda dapat menggunakan sertifikat enkripsi apa pun.

    • Hubungkan ke VM NGINX.

    • Instal alat Let's Encrypt:

      sudo apt-get update
      sudo apt-get install certbot python3-certbot-nginx
      
    • Akses file nginx.config:

      sudo vi /etc/nginx/sites-available/default
      
    • Di file nginx.config, ganti konfigurasi server yang ada untuk menyiapkan server dan port 80 untuk pemrosesan:

      server {
        listen 80 default_server;
        listen [::]:80 default_server;
        root /var/www/html;
        server_name SERVER_NAME;
      }
      

      Ganti SERVER_NAME dengan nama data DNS.

    • Muat ulang NGINX:

      sudo nginx -t && sudo nginx -s reload
      
    • Buat sertifikat:

      sudo certbot --nginx -d SERVER_NAME
      

      Ganti SERVER_NAME dengan nama data DNS.

  6. Di file nginx.config, ganti konfigurasi server dari Langkah 5 dengan konfigurasi server berikut, untuk meneruskan traffic ke instance Looker (Google Cloud core) Anda:

    server {
      listen 443 ssl http2;
      listen [::]:443 ssl http2;
      server_name SERVER_NAME
      ssl_certificate /etc/letsencrypt/live/SERVER_NAME/fullchain.pem;
      ssl_certificate_key /etc/letsencrypt/live/SERVER_NAME/privkey.pem;
      include /etc/letsencrypt/options-ssl-nginx.conf;
      ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
    
      location / {
        set $priv_dns "private.lookerapp";
        proxy_pass https://PRIVATE_IP_ADDRESS/$request_uri;
        proxy_set_header Host $server_name;
        proxy_set_header X-Forwarded-Host $host:$server_port;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_ssl_protocols TLSv1.3;
        proxy_ssl_verify off;
        proxy_http_version 1.1;
        proxy_pass_request_headers on;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_redirect https://$priv_dns/ https://SERVER_NAME/;
      }
    }
    server {
      if ($host = SERVER_NAME) {
        return 301 https://$host$request_uri;
      }
        listen 80 default_server;
        listen [::]:80 default_server;
        server_name SERVER_NAME;
      return 404;
    }
    

    Ganti kode berikut:

    • PRIVATE_IP_ADDRESS: Alamat IP pribadi yang ditetapkan ke instance Looker (Google Cloud core), yang dapat Anda lihat di halaman DETAIL instance di konsol Google Cloud
    • SERVER_NAME: Nama data DNS.
  7. Validasi file nginx.config dan muat ulang:

    sudo nginx -t && sudo nginx -s reload
    
  8. Setelah konfigurasi divalidasi dan traffic dirutekan ke instance Looker (Google Cloud core) dan Anda telah menyiapkan domain kustom, Anda dapat memasukkan domain kustom instance di bagian URI pengalihan yang diotorisasi dari klien OAuth. Kemudian, Anda dapat melihat instance dengan membuka URL instance, menambahkan pengguna, menghubungkan Looker (Google Cloud core) ke database Anda, dan melanjutkan penyiapan instance.

    Apa langkah selanjutnya?