Membuat cek uptime pribadi

Dokumen ini menjelaskan cara mengonfigurasi cek uptime pribadi. Cek uptime pribadi memungkinkan permintaan HTTP ke dalam jaringan Virtual Private Cloud (VPC) pelanggan sambil menerapkan batasan Identity and Access Management (IAM) dan perimeter Kontrol Layanan VPC. Cek uptime pribadi dapat mengirim permintaan melalui jaringan pribadi ke resource seperti virtual machine (VM) atau load balancer internal (ILB) L4.

Alamat IP internal untuk resource di jaringan pribadi dicatat oleh layanan Direktori Layanan dengan akses jaringan pribadi yang diaktifkan. Untuk menggunakan cek uptime pribadi, Anda harus mengonfigurasi akses jaringan pribadi dengan menggunakan produk Direktori Layanan.

Project Google Cloud yang menyimpan cek uptime pribadi dan project Google Cloud yang menyimpan layanan Direktori Layanan dapat merupakan project yang berbeda. Cloud Monitoring dapat digunakan untuk memantau resource di beberapa project Google Cloud dari satu project menggunakan cakupan metrik. Project yang menentukan cek uptime adalah project pencakupan dari cakupan metrik; cakupan metrik adalah daftar semua project yang dipantau project pencakupan. Layanan Direktori Layanan dapat ditentukan dalam project cakupan atau di project dalam cakupan metrik. Untuk mengetahui informasi selengkapnya tentang cakupan metrik, lihat Ringkasan cakupan metrik.

Jaringan pribadi dan resource-nya, seperti VM atau load balancer, juga dapat berada di project Google Cloud yang berbeda. Project ini tidak harus termasuk dalam cakupan metrik project cakupan cek uptime. Layanan Direktori Layanan mengumpulkan metrik waktu beroperasi, sehingga harus berada dalam cakupan metrik, tetapi resource yang dienkapsulasi tidak.

Dokumen ini menjelaskan cara menyiapkan jaringan pribadi dan mengonfigurasi resource Direktori Layanan menggunakan Konsol Google Cloud atau API. Contoh API mengasumsikan bahwa jaringan pribadi dan layanan Direktori Layanan berada dalam project pencakupan cek uptime. Namun, bagian Membuat cek uptime pribadi juga menjelaskan cara menggunakan API untuk membuat cek uptime yang menggunakan layanan Direktori Layanan dalam cakupan metrik.

Untuk mengetahui informasi tentang cara mengonfigurasi cek uptime yang menggunakan alamat IP publik, lihat Membuat cek uptime publik. Untuk mengetahui informasi tentang cara mengelola dan memantau cek uptime Anda, lihat bagian Langkah berikutnya dalam dokumen ini.

Sebelum memulai

  1. Mengaktifkan API berikut:

    • Cloud Monitoring API: monitoring.googleapis.com
    • API Direktori Layanan: servicedirectory.googleapis.com
    • API Jaringan Layanan: servicenetworking.googleapis.com
    • API Compute Engine: compute.googleapis.com

    Anda dapat mengaktifkan API dengan menggunakan gcloud CLI atau Konsol Google Cloud. Tab berikut menjelaskan cara menginstal gcloud CLI dan mengaktifkan Cloud Monitoring API:

    Konsol Google Cloud

    1. Di Konsol Google Cloud, pilih project Google Cloud yang API-nya ingin Anda aktifkan, lalu buka halaman APIs & Services:

      Buka APIs & Services

    2. Klik tombol Enable APIs and Service.

    3. Telusuri "Monitoring".

    4. Di hasil penelusuran, klik ke "Stackdriver Monitoring API".

    5. Jika "API enabled" ditampilkan, berarti API sudah diaktifkan. Jika tidak, klik Enable.

    gcloud CLI

    1. Jika belum menginstal Google Cloud CLI di workstation, lihat Menginstal gcloud CLI.

    2. Untuk melihat apakah Monitoring API diaktifkan, jalankan perintah berikut di workstation Anda, setelah mengganti PROJECT_ID dengan ID project yang API-nya ingin Anda aktifkan:

      gcloud services list --project=PROJECT_ID
      

      Jika monitoring.googleapis.com muncul dalam output, berarti API telah diaktifkan.

    3. Jika API belum diaktifkan, jalankan perintah berikut untuk mengaktifkannya:

      gcloud services enable monitoring --project=PROJECT_ID
      

      Untuk informasi selengkapnya, lihat gcloud services.

    Anda dapat menggunakan langkah yang sama untuk mengaktifkan API lainnya:

    • Untuk menggunakan Konsol Google Cloud, telusuri nama tampilan, misalnya, "Service Directory API".
    • Untuk menggunakan gcloud CLI, tentukan elemen pertama dari nama googleapis.com, misalnya, servicedirectory.
  2. Konfigurasikan saluran notifikasi yang ingin Anda gunakan untuk menerima notifikasi. Sebaiknya buat beberapa jenis saluran notifikasi. Untuk informasi selengkapnya, lihat Membuat dan mengelola saluran notifikasi.

  3. Mengonfigurasi jaringan pribadi dan mengonfigurasi VM atau ILB agar memiliki akses ke jaringan pribadi tersebut. Untuk mengetahui informasi selengkapnya, lihat Akses layanan pribadi.

    Cek pribadi yang menargetkan ILB terbatas pada wilayah dengan pemeriksa waktu beroperasi. Wilayah cek uptime USA mencakup wilayah USA_OREGON, USA_IOWA, dan USA_VIRGINIA. Setiap region USA_* memiliki satu pemeriksa, dan USA menyertakan ketiganya. Wilayah cek uptime lainnya, EUROPE, SOUTH_AMERICA, dan ASIA_PACIFIC, masing-masing memiliki satu pemeriksa. Untuk menghapus batasan ini, Anda harus mengonfigurasi akses global ke load balancer. Untuk mengetahui informasi selengkapnya mengenai cara mengonfigurasi akses global, lihat tab ILB di bagian Mengonfigurasi resource Direktori Layanan dalam dokumen ini.

    Jika Anda berencana memeriksa ILB yang tidak mengizinkan akses global, pilih salah satu region berikut untuk ILB Anda:

    • us-east4
    • us-central1
    • us-west1
    • europe-west1
    • southamerica-east1
    • asia-southeast1
  4. Tentukan antarmuka yang akan digunakan:

    • Konsol Google Cloud: Memungkinkan Anda membuat cek uptime saat VM melayani permintaan. Antarmuka ini akan memandu Anda dalam mengonfigurasi resource Direktori Layanan, memberikan otorisasi pada akun layanan, dan mengonfigurasi aturan firewall jaringan.

    • Antarmuka command line: Anda dapat menggunakan Google Cloud CLI dan Cloud Monitoring API untuk membuat cek uptime pribadi saat ILB dan VM melayani permintaan.

  5. Jika Anda berencana menggunakan command line untuk mengonfigurasi cek uptime pribadi, selesaikan Langkah-langkah prasyarat.

Membuat cek uptime pribadi

Bagian ini menjelaskan cara membuat dan mengonfigurasi cek uptime pribadi untuk layanan Direktori Layanan:

  • Untuk menggunakan konsol Google Cloud, pilih tab Konsol Google Cloud.

  • Untuk menggunakan Cloud Monitoring API dan mengonfigurasi layanan Direktori Layanan agar berada dalam project Google Cloud yang sama dengan cek uptime, pilih tab API: Scoping project.

  • Untuk menggunakan Cloud Monitoring API dan mengonfigurasi layanan Direktori Layanan agar berada dalam project yang dipantau oleh cakupan metrik project pemeriksaan waktu beroperasi, pilih tab API: Monitored project.

Konsol Google Cloud

Untuk membuat cek uptime menggunakan konsol Google Cloud, lakukan langkah berikut:

  1. Di panel navigasi konsol Google Cloud, pilih Monitoring, lalu pilih  Uptime checks:

    Buka Cek uptime

  2. Klik Buat Cek Uptime.

    Membuat dialog cek uptime.

  3. Tentukan cek uptime pribadi:

    1. Pilih protokol, HTTP atau HTTPS. Jangan pilih TCP untuk cek uptime pribadi.

    2. Pilih jenis resource Internal IP.

  4. Jika layanan Direktori Layanan belum dikonfigurasi untuk project Anda, atau jika Anda ingin membuat layanan Direktori Layanan, klik View dan selesaikan panel Private Uptime Check Prerequisites:

    1. Jika diminta, aktifkan Compute Engine API atau Service Directory API. Mungkin perlu waktu satu menit untuk mengaktifkan API.

    2. Luaskan Service Account , jika ditampilkan, lalu klik Create Service Account.

      Jika akun layanan Monitoring tidak ada, akun layanan akan dibuat. Kemudian, Monitoring akan memberikan dua peran Direktori Layanan ke akun layanan.

    3. Luaskan menu Direktori Layanan , lalu lakukan hal berikut:

      1. Luaskan Region , lalu pilih region VM yang melayani permintaan.
      2. Luaskan Namespace , lalu pilih namespace Direktori Layanan yang ada atau klik Create namespace dan buat namespace.
      3. Klik Nama layanan, lalu masukkan nama layanan. Layanan adalah target cek uptime pribadi.
      4. Klik Nama endpoint lalu masukkan nama untuk nama endpoint. Endpoint adalah sepasang alamat IP dan nilai port yang dapat digunakan layanan untuk menangani permintaan. Jika layanan Anda berisi beberapa endpoint, satu endpoint akan dipilih secara acak.
      5. Luaskan Network , lalu pilih jaringan pribadi Anda.
      6. Luaskan Instance , lalu pilih VM di jaringan pribadi yang menayangkan permintaan. Setelah Anda memilih instance, alamat IP internalnya akan ditampilkan.
      7. Klik Done.
    4. Luaskan aturan firewall :

      1. Luaskan Network , lalu pilih jaringan tempat aturan jaringan dikaitkan.

      2. Klik Create Firewall Rules.

        Aturan firewall memungkinkan traffic TCP masuk dari rute 35.199.192.0/19. Rute dari 35.199.192.0/19 mendukung konektivitas ke target penerusan yang menggunakan perutean pribadi. Untuk mengetahui informasi selengkapnya, lihat Rute VPC.

  5. Di panel Private Uptime Check, untuk menentukan layanan Direktori Layanan yang akan digunakan, lakukan salah satu hal berikut:

    • Pilih Gunakan nama layanan yang sepenuhnya memenuhi syarat, lalu masukkan nama layanan yang sepenuhnya memenuhi syarat:

      projects/SERVICE_DIRECTORY_PROJECT_ID/locations/REGION/namespaces/PRIVATE_NAMESPACE/services/PRIVATE_SERVICE
      
    • Pilih Region, Namespace, dan Service menggunakan menu. Jika Anda membuat layanan, kolom ini akan dipilih untuk Anda.

  6. Di panel Private Uptime Check, lengkapi deskripsi target cek uptime:

    1. Opsional: Masukkan komponen jalur untuk permintaan.

      Cek uptime pribadi yang menggunakan protokol HTTP atau HTTPS mengirim permintaan ke http://target/path. Dalam ekspresi ini, target adalah alamat IP internal yang dikonfigurasi di endpoint Direktori Layanan.

      Jika Anda mengosongkan kolom Path atau jika Anda menetapkan nilai ke /, permintaan akan dikeluarkan ke http://target/.

    2. Opsional: Untuk menetapkan seberapa sering cek uptime dijalankan, gunakan kolom Check frekuensi.

    3. Opsional: Untuk memilih region pemeriksa, atau mengonfigurasi autentikasi, header untuk pemeriksaan HTTP dan HTTPS, serta nilai lainnya, klik More target options:

      • Region: Pilih region tempat cek uptime akan menerima permintaan. Cek uptime harus memiliki minimal tiga checker. Ada satu pemeriksa di semua wilayah kecuali Amerika Serikat, yang memiliki tiga Pemeriksa. Setelan default, Global, mencakup semua wilayah.
      • Request Method: Pilih GET atau POST.
      • Body: Untuk pemeriksaan POST HTTP, masukkan isi berenkode URL; Anda harus melakukan encoding sendiri. Untuk semua pemeriksaan lainnya, kosongkan kolom ini.
      • Host header: Jangan menetapkan kolom ini saat mengonfigurasi cek uptime pribadi.
      • Port: Nilai apa pun yang Anda tetapkan di sini akan menggantikan port di konfigurasi endpoint Direktori Layanan Anda. Jangan tetapkan nilai di sini jika Anda ingin menggunakan konfigurasi endpoint.
      • Header Kustom: Menyediakan header kustom dan mengenkripsinya secara opsional. Enkripsi menyembunyikan nilai pada header dalam formulir. Gunakan enkripsi untuk header yang terkait dengan autentikasi yang tidak ingin Anda lihat oleh orang lain.
      • Autentikasi: Masukkan satu nama pengguna dan sandi. Nilai ini dikirim sebagai header Otorisasi. Jika Anda menetapkan nilai di sini, jangan menetapkan header Otorisasi terpisah. Jika Anda menetapkan header Otorisasi, jangan menetapkan nilai di sini. {i>Password<i} selalu tersembunyi dalam bentuk.
  7. Klik Lanjutkan dan konfigurasikan persyaratan respons. Semua setelan di bagian ini memiliki nilai default:

    • Guna menetapkan periode waktu tunggu untuk cek uptime, gunakan kolom Waktu Tunggu Respons. Cek uptime akan gagal saat tidak ada respons yang diterima dari lebih dari satu lokasi dalam periode ini.

    • Untuk mengonfigurasi cek uptime guna melakukan pencocokan konten, pastikan label beralihnya adalah Pencocokan konten diaktifkan:

      • Pilih Response Content Match Type dari menu opsi. Kolom ini menentukan cara konten respons dibandingkan dengan data yang ditampilkan. Misalnya, asumsikan konten respons adalah abcd dan jenis pencocokan konten adalah Berisi. Cek uptime hanya berhasil jika data respons berisi abcd. Untuk mengetahui informasi selengkapnya, baca bagian Memvalidasi data respons.
      • Masukkan Konten respons. Konten respons harus berupa string yang berukuran maksimal 1.024 byte. Di API, kolom ini adalah objek ContentMatcher.
    • Untuk mencegah entri log dibuat karena cek uptime, hapus Log check failed.

    • Untuk cek uptime HTTP, konfigurasikan kode respons yang dapat diterima. Secara default, cek uptime HTTP menandai respons 2xx apa pun sebagai respons yang berhasil.

  8. Klik Lanjutkan dan konfigurasikan kebijakan pemberitahuan dan notifikasi.

    Agar menerima notifikasi saat cek uptime gagal, buat kebijakan pemberitahuan dan konfigurasi saluran notifikasi untuk kebijakan tersebut:

    1. Opsional: Perbarui nama kebijakan pemberitahuan.
    2. Opsional: Di kolom Durasi, pilih berapa lama cek uptime harus gagal sebelum notifikasi dikirim. Secara default, notifikasi dikirim saat setidaknya dua region melaporkan kegagalan cek uptime selama durasi setidaknya satu menit.
    3. Di kotak berlabel Notification channels, luaskan Menu, pilih saluran yang akan ditambahkan, lalu klik OK.

      Di menu tersebut, saluran notifikasi dikelompokkan menurut abjad untuk setiap jenis saluran.

    Jika Anda tidak ingin membuat kebijakan pemberitahuan, pastikan teks tombolnya adalah Do not create an alert.

  9. Klik Continue dan selesaikan cek uptime:

    1. Masukkan judul deskriptif untuk cek uptime.

    2. Opsional: Untuk menambahkan label yang ditentukan pengguna ke cek uptime Anda, lakukan tindakan berikut:

      1. Klik Tampilkan label pengguna.
      2. Di kolom Kunci, masukkan nama untuk label. Nama label harus diawali dengan huruf kecil, serta dapat berisi huruf kecil, angka, garis bawah, dan tanda hubung. Misalnya, masukkan severity.
      3. Di kolom Nilai, masukkan nilai untuk label Anda. Nilai label dapat berisi huruf kecil, angka, garis bawah, dan tanda pisah. Misalnya, masukkan critical.
      4. Untuk setiap label tambahan, klik Add user label, lalu masukkan kunci dan nilai label.
    3. Untuk memverifikasi konfigurasi cek uptime Anda, klik Test. Jika hasilnya tidak sesuai dengan yang Anda harapkan, lihat Pemecahan masalah, perbaiki konfigurasi Anda, lalu ulangi langkah verifikasi.

    4. Klik Create.

API: Project pencakupan

Untuk membuat konfigurasi cek uptime pribadi, buat objek UptimeCheckConfig dan teruskan objek tersebut ke metode uptimeCheckConfigs.create di Cloud Monitoring API.

Objek UptimeCheckConfig untuk cek uptime pribadi berbeda dengan objek untuk cek uptime publik dalam cara berikut:

  • Resource yang dipantau yang ditentukan dalam konfigurasi cek uptime harus berjenis servicedirectory_service. Jenis resource ini memiliki label berikut:

    • project_id: Project ID yang terkait dengan layanan Direktori Layanan.
    • location: Region cloud yang terkait dengan layanan.
    • namespace_name: Namespace Direktori Layanan.
    • service_name: Nama layanan Direktori Layanan.
  • Anda tidak perlu menentukan nilai port dalam konfigurasi cek uptime. Nilai port dari endpoint Direktori Layanan menggantikan nilai apa pun yang ditetapkan dalam konfigurasi pemeriksaan waktu beroperasi, dan pemeriksaan akan gagal jika tidak ada port yang ditentukan dalam konfigurasi Direktori Layanan.

  • Konfigurasi cek uptime harus menentukan kolom checker_type dengan nilai VPC_CHECKERS. Nilai ini diperlukan untuk cek uptime pribadi. Secara default, cek uptime bersifat publik, sehingga cek uptime publik tidak perlu menentukan kolom ini.

Kode JSON berikut mengilustrasikan objek UptimeCheckConfig untuk cek uptime pribadi menggunakan resource Direktori Layanan yang dikonfigurasi untuk instance VM di jaringan pribadi:

{
  "displayName": "private-check-demo",
  "monitoredResource": {
    "type": "servicedirectory_service",
    "labels": {
      "project_id": "SERVICE_DIRECTORY_PROJECT_ID",
      "service_name": "PRIVATE_SERVICE",
      "namespace_name": "PRIVATE_NAMESPACE",
      "location": "REGION"
    }
  },
  "httpCheck": {
    "requestMethod": "GET"
  },
  "period": "60s",
  "timeout": "10s",
  "checker_type": "VPC_CHECKERS"
}'

Untuk membuat cek uptime pribadi saat layanan Direktori Layanan berada dalam project Google Cloud yang sama dengan cek uptime, lakukan hal berikut:

  1. Tetapkan project Google Cloud default untuk gcloud CLI:

    gcloud config set project PROJECT_ID
    
  2. Buat variabel lingkungan untuk menyimpan project ID Anda:

    export PROJECT_ID=$(gcloud config get-value core/project)
    
  3. Buat variabel lingkungan yang menyimpan token akses:

    export TOKEN=`gcloud auth print-access-token`
    
  4. Gunakan alat curl untuk memanggil metode uptimeCheckConfigs.create dan memposting objek konfigurasi ke metode tersebut:

    curl https://monitoring.googleapis.com/v3/projects/${PROJECT_ID}/uptimeCheckConfigs \
    -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
    --request POST --data '{
    "displayName": "private-check-demo",
    "monitoredResource": {
      "type": "servicedirectory_service",
      "labels": {
        "project_id": "'"$PROJECT_ID"'",
        "service_name": "PRIVATE_SERVICE",
        "namespace_name": "PRIVATE_NAMESPACE",
        "location": "REGION"
      }
    },
    "httpCheck": {
      "requestMethod": "GET"
    },
    "period": "60s",
    "timeout": "10s",
    "checker_type": "VPC_CHECKERS"
    }'
    

Jika pembuatan cek uptime gagal, pastikan akun layanan memiliki peran yang diperlukan. Untuk mengetahui informasi selengkapnya, lihat Membuat cek uptime gagal.

API: Project yang dipantau

Untuk membuat konfigurasi cek uptime pribadi, buat objek UptimeCheckConfig dan teruskan objek tersebut ke metode uptimeCheckConfigs.create di Cloud Monitoring API.

Objek UptimeCheckConfig untuk cek uptime pribadi berbeda dengan objek untuk cek uptime publik dalam cara berikut:

  • Resource yang dipantau yang ditentukan dalam konfigurasi cek uptime harus berjenis servicedirectory_service. Jenis resource ini memiliki label berikut:

    • project_id: Project ID yang terkait dengan layanan Direktori Layanan.
    • location: Region cloud yang terkait dengan layanan.
    • namespace_name: Namespace Direktori Layanan.
    • service_name: Nama layanan Direktori Layanan.
  • Anda tidak perlu menentukan nilai port dalam konfigurasi cek uptime. Nilai port dari endpoint Direktori Layanan menggantikan nilai apa pun yang ditetapkan dalam konfigurasi pemeriksaan waktu beroperasi, dan pemeriksaan akan gagal jika tidak ada port yang ditentukan dalam konfigurasi Direktori Layanan.

  • Konfigurasi cek uptime harus menentukan kolom checker_type dengan nilai VPC_CHECKERS. Nilai ini diperlukan untuk cek uptime pribadi. Secara default, cek uptime bersifat publik, sehingga cek uptime publik tidak perlu menentukan kolom ini.

Kode JSON berikut mengilustrasikan objek UptimeCheckConfig untuk cek uptime pribadi menggunakan resource Direktori Layanan yang dikonfigurasi untuk instance VM di jaringan pribadi:

{
  "displayName": "private-check-demo",
  "monitoredResource": {
    "type": "servicedirectory_service",
    "labels": {
      "project_id": "SERVICE_DIRECTORY_PROJECT_ID",
      "service_name": "PRIVATE_SERVICE",
      "namespace_name": "PRIVATE_NAMESPACE",
      "location": "REGION"
    }
  },
  "httpCheck": {
    "requestMethod": "GET"
  },
  "period": "60s",
  "timeout": "10s",
  "checker_type": "VPC_CHECKERS"
}'

Untuk membuat cek uptime pribadi saat layanan Direktori Layanan berada dalam project Google Cloud yang dipantau oleh cakupan metrik project Google Cloud cek uptime, lakukan hal berikut:

  1. Konfigurasikan gcloud CLI untuk menetapkan secara default ke project Google Cloud tempat cek uptime akan dibuat:

    gcloud config set project PROJECT_ID
    
  2. Buat variabel lingkungan untuk menyimpan project ID Anda:

    export PROJECT_ID=$(gcloud config get-value core/project)
    
  3. Buat variabel lingkungan untuk menyimpan project ID dari project Google Cloud tempat layanan Direktori Layanan ditentukan:

    export MONITORED_PROJECT_ID=MONITORED_PROJECT_ID
    

    Project ini harus berada dalam cakupan metrik project cek uptime.

  4. Buat variabel lingkungan yang menyimpan token akses:

    export TOKEN=`gcloud auth print-access-token`
    
  5. Gunakan alat curl untuk memanggil metode uptimeCheckConfigs.create dan memposting objek konfigurasi ke metode tersebut:

    curl https://monitoring.googleapis.com/v3/projects/${PROJECT_ID}/uptimeCheckConfigs \
    -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
    --request POST --data '{
    "displayName": "private-check-demo",
    "monitoredResource": {
      "type": "servicedirectory_service",
      "labels": {
        "project_id": "'"$MONITORED_PROJECT_ID"'",
        "service_name": "PRIVATE_SERVICE",
        "namespace_name": "PRIVATE_NAMESPACE",
        "location": "REGION"
      }
    },
    "httpCheck": {
      "requestMethod": "GET"
    },
    "period": "60s",
    "timeout": "10s",
    "checker_type": "VPC_CHECKERS"
    }'
    

Jika pembuatan cek uptime gagal, pastikan akun layanan memiliki peran yang diperlukan. Untuk mengetahui informasi selengkapnya, lihat Membuat cek uptime gagal.

Mungkin akan ada penundaan hingga 5 menit sebelum hasil cek uptime mulai masuk ke Monitoring. Selama waktu itu, dasbor cek uptime melaporkan status sebagai "tidak ada data yang tersedia".

Langkah-langkah prasyarat

Jika Anda berencana menggunakan antarmuka konsol Google Cloud, buka Membuat cek uptime pribadi. Konsol Google Cloud akan memandu Anda melalui semua langkah prasyarat.

Jika berencana menggunakan command line untuk mengonfigurasi cek uptime pribadi, Anda harus menyelesaikan langkah-langkah berikut sebelum dapat membuat cek uptime

  1. Mengonfigurasi resource Direktori Layanan
  2. Mengizinkan akun layanan
  3. Mengonfigurasi aturan firewall

Mengonfigurasi resource Direktori Layanan

Cek uptime pribadi menentukan ketersediaan resource dengan menggunakan alamat IP internal yang dicatat oleh layanan Direktori Layanan. Anda dapat mengonfigurasi Direktori Layanan untuk resource berikut:

  • VM di jaringan pribadi
  • Load balancer internal L4 (ILB)

Untuk menggunakan cek uptime pribadi, Anda harus mengonfigurasi resource Direktori Layanan berikut:

  • Endpoint: Endpoint adalah sepasang alamat IP dan nilai port yang dapat digunakan oleh layanan untuk menangani permintaan. Jika layanan Anda berisi beberapa endpoint, satu endpoint akan dipilih secara acak.
  • Layanan: Layanan adalah kumpulan endpoint yang menyediakan serangkaian perilaku. Layanan adalah target cek uptime pribadi.
  • Namespace: Namespace menyimpan kumpulan nama layanan dan endpoint terkaitnya. Namespace memungkinkan Anda mengelompokkan layanan bersama untuk pengelolaan yang konsisten.

Anda dapat mengonfigurasi resource ini dengan gcloud CLI atau Google Cloud Console. Saat Anda menggunakan konsol, langkah-langkah konfigurasi akan disertakan dalam dialog Create Uptime Check.

Konsol Google Cloud

Saat menggunakan konsol Google Cloud, setelah memilih Internal IP sebagai jenis resource untuk cek uptime, Anda akan diminta untuk membuat Direktori Layanan dan layanan.

gcloud CLI - VM

Guna mengetahui informasi tentang perintah yang digunakan dalam dokumen ini untuk layanan, namespace, dan endpoint, lihat grup perintah gcloud service-directory.

Untuk membuat resource Direktori Layanan untuk VM, lakukan langkah berikut:

  1. Konfigurasikan Google Cloud CLI agar ditetapkan secara default ke project Google Cloud tempat resource Direktori Layanan akan dibuat:

    gcloud config set project PROJECT_ID
    
  2. Buat variabel lingkungan untuk menyimpan project ID dan nomor project Anda:

    export PROJECT_ID=$(gcloud config get-value core/project)
    
    export PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format='get(projectNumber)')
    
  3. Buat namespace Direktori Layanan:

    gcloud service-directory namespaces create PRIVATE_NAMESPACE --location=REGION
    
  4. Buat layanan Direktori Layanan dalam namespace:

    gcloud service-directory services create PRIVATE_SERVICE \
    --namespace PRIVATE_NAMESPACE --location=REGION
    
  5. Buat variabel lingkungan untuk menyimpan alamat IP VM di jaringan pribadi:

    export INTERNAL_IP=$(gcloud compute instances describe --zone=ZONE \
    PRIVATE_SERVICE_INSTANCE --format='get(networkInterfaces[0].networkIP)')
    
  6. Buat endpoint Direktori Layanan yang berisi alamat IP internal dan port:

    gcloud service-directory endpoints create PRIVATE_ENDPOINT \
    --location=REGION --namespace=PRIVATE_NAMESPACE \
    --service=PRIVATE_SERVICE \
    --network=projects/$PROJECT_NUMBER/locations/global/networks/PRIVATE_CHECK_NETWORK \
    --address=$INTERNAL_IP --port=80
    

gcloud CLI - L4 ILB

Guna mengetahui informasi tentang perintah yang digunakan dalam dokumen ini untuk layanan, namespace, dan endpoint, lihat grup perintah gcloud service-directory.

Anda dapat menggunakan cek uptime pribadi untuk memantau ketersediaan load balancer internal (ILB) L4 dengan membuat resource Direktori Layanan untuk L4 ILB.

Saat membuat L4 ILB baru, Anda dapat menggunakan integrasi otomatis yang disediakan oleh Direktori Layanan. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi load balancer internal di Direktori Layanan untuk mengetahui informasi selengkapnya.

Jika memiliki L4 ILB yang dibuat tanpa menggunakan integrasi otomatis yang disediakan oleh Direktori Layanan, Anda dapat mengonfigurasi resource Direktori Layanan secara manual dengan melakukan tindakan berikut:

  1. Konfigurasikan Google Cloud CLI agar ditetapkan secara default ke project Google Cloud tempat resource Direktori Layanan akan dibuat:

    gcloud config set project PROJECT_ID
    
  2. Buat variabel lingkungan untuk menyimpan project ID dan nomor project Anda:

    export PROJECT_ID=$(gcloud config get-value core/project)
    
    export PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format='get(projectNumber)')
    
  3. Untuk mengizinkan semua pemeriksa waktu beroperasi mentransfer data ke L4 ILB, aktifkan akses global ke ILB:

    gcloud compute forwarding-rules update ILB_FORWARDING_RULE_NAME \
    --region=ILB_REGION --allow-global-access
    

    Jika L4 ILB Anda tidak mengizinkan akses global, metrik waktu beroperasi hanya akan tersedia jika ILB_REGION adalah salah satu dari hal berikut:

    • us-east4
    • us-central1
    • us-west1
    • europe-west1
    • southamerica-east1
    • asia-southeast1
  4. Buat namespace Direktori Layanan:

    gcloud service-directory namespaces create PRIVATE_NAMESPACE_FOR_ILB\
    --location=REGION
    
  5. Buat layanan Direktori Layanan dalam namespace:

    gcloud service-directory services create PRIVATE_SERVICE_FOR_ILB \
    --namespace PRIVATE_NAMESPACE_FOR_ILB --location=REGION
    
  6. Buat variabel lingkungan untuk menyimpan alamat IP load balancer di jaringan pribadi:

    export INTERNAL_IP=$( gcloud compute forwarding-rules describe ILB_FORWARDING_RULE_NAME\
    --region=ILB_REGION --format='get(IPAddress)')
    
  7. Buat endpoint Direktori Layanan yang berisi alamat IP internal dan port:

    gcloud service-directory endpoints create PRIVATE_ENDPOINT_FOR_ILB \
    --location=ILB_REGION --namespace=PRIVATE_NAMESPACE_FOR_ILB \
    --service=PRIVATE_SERVICE_FOR_ILB \
    --network=projects/$PROJECT_NUMBER/locations/global/networks/PRIVATE_CHECK_NETWORK \
    --address=$INTERNAL_IP --port=80
    

Mengizinkan akun layanan

Cek uptime menggunakan akun layanan milik Monitoring untuk mengelola interaksi dengan layanan Direktori Layanan. Nama akun layanan memiliki format berikut:

service-PROJECT_NUMBER@gcp-sa-monitoring-notification.iam.gserviceaccount.com

Akun layanan sudah ada jika project Google Cloud Anda berisi saluran notifikasi. Jika tidak ada, Monitoring akan membuat akun layanan saat Anda membuat cek uptime pribadi. Anda tidak dapat membuat akun layanan ini.

Saat Anda membuat cek uptime pribadi, Monitoring akan mencoba memberikan dua peran Direktori Layanan kepada akun layanan. Namun, saat Anda menggunakan API, setelan project Google Cloud mungkin mencegah Monitoring memberikan peran ke akun layanan. Dalam situasi ini, pembuatan cek uptime gagal.

Bagian ini menjelaskan cara memberikan peran yang diperlukan ke akun layanan yang ada:

Konsol Google Cloud

Saat menggunakan konsol Google Cloud, setelah memilih Internal IP sebagai jenis resource untuk cek uptime, Anda akan diminta untuk melakukan otorisasi pada akun layanan.

API: Project pencakupan

Untuk memberikan peran Direktori Layanan ke akun layanan yang ada, lakukan hal berikut:

  1. Konfigurasikan gcloud CLI untuk menetapkan secara default ke project Google Cloud tempat cek uptime akan dibuat:

    gcloud config set project PROJECT_ID
    
  2. Buat variabel lingkungan untuk menyimpan project ID dan nomor project:

    export PROJECT_ID=$(gcloud config get-value core/project)
    
    export PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format='get(projectNumber)')
    
  3. Jalankan perintah berikut:

    gcloud projects add-iam-policy-binding $PROJECT_ID \
    --member='serviceAccount:service-'$PROJECT_NUMBER'@gcp-sa-monitoring-notification.iam.gserviceaccount.com' \
    --role='roles/servicedirectory.viewer'
    
    gcloud projects add-iam-policy-binding $PROJECT_ID \
    --member='serviceAccount:service-'$PROJECT_NUMBER'@gcp-sa-monitoring-notification.iam.gserviceaccount.com' \
    --role='roles/servicedirectory.pscAuthorizedService'
    

    Perintah sebelumnya memberikan peran berikut ke akun layanan:

    • roles/servicedirectory.viewer
    • roles/servicedirectory.pscAuthorizedService

API: Project yang dipantau

Untuk memberikan peran Direktori Layanan ke akun layanan yang ada, lakukan hal berikut:

  1. Konfigurasikan gcloud CLI untuk menetapkan secara default ke project Google Cloud tempat cek uptime akan dibuat:

    gcloud config set project PROJECT_ID
    
  2. Buat variabel lingkungan untuk menyimpan project ID dan nomor project:

    export PROJECT_ID=$(gcloud config get-value core/project)
    
    export PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format='get(projectNumber)')
    
  3. Buat variabel lingkungan yang menyimpan project ID dari project tempat layanan Direktori Layanan ditentukan:

    export MONITORED_PROJECT_ID=MONITORED_PROJECT_ID
    

    Project ini harus berada dalam cakupan metrik project cek uptime.

  4. Buat variabel lingkungan yang menyimpan project ID project tempat jaringan ditentukan:

    export NETWORK_PROJECT_ID=NETWORK_PROJECT_ID
    

    Project ini tidak perlu berada dalam cakupan metrik project pemeriksaan uptime.

  5. Jalankan perintah berikut:

    gcloud projects add-iam-policy-binding $MONITORED_PROJECT_ID \
    --member='serviceAccount:service-'$PROJECT_NUMBER'@gcp-sa-monitoring-notification.iam.gserviceaccount.com' \
    --role='roles/servicedirectory.viewer'
    
    gcloud projects add-iam-policy-binding $NETWORK_PROJECT_ID \
    --member='serviceAccount:service-'$PROJECT_NUMBER'@gcp-sa-monitoring-notification.iam.gserviceaccount.com' \
    --role='roles/servicedirectory.pscAuthorizedService'
    

    Perintah sebelumnya memberikan peran berikut ke akun layanan:

    • roles/servicedirectory.viewer untuk project yang dipantau, tempat layanan Direktori Layanan dikonfigurasi, $SERVICE_MONITORED_PROJECT_ID.
    • roles/servicedirectory.pscAuthorizedService untuk project tempat jaringan pribadi dikonfigurasi, $NETWORK_PROJECT_ID.

Mengonfigurasi aturan firewall

Anda harus membuat aturan firewall yang mengaktifkan traffic TCP masuk dari rute 35.199.192.0/19. Rute dari 35.199.192.0/19 mendukung konektivitas ke target penerusan yang menggunakan perutean pribadi. Untuk mengetahui informasi selengkapnya, lihat Rute VPC.

Konsol Google Cloud

Saat menggunakan konsol Google Cloud, setelah memilih Internal IP sebagai jenis resource untuk cek uptime, Anda akan diminta untuk mengonfigurasi aturan firewall.

gcloud CLI

Untuk membuat aturan firewall yang mengizinkan traffic TCP masuk melalui firewall untuk akses jaringan pribadi, jalankan perintah berikut:

  1. Konfigurasikan gcloud CLI untuk menetapkan secara default ke project Google Cloud tempat cek uptime akan dibuat:

    gcloud config set project PROJECT_ID
    
  2. Buat variabel lingkungan untuk menyimpan project ID dan nomor project:

    export PROJECT_ID=$(gcloud config get-value core/project)
    
  3. Buat aturan jaringan:

    gcloud compute firewall-rules create PRIVATE_CHECK_NETWORK_HOPE_RULE \
    --network="PRIVATE_CHECK_NETWORK"  \
    --action=allow   --direction=ingress   --source-ranges="35.199.192.0/19" \
    --rules=tcp   --project="$PROJECT_ID"
    

    Di perintah sebelumnya, PRIVATE_CHECK_NETWORK adalah jaringan tempat aturan ini dilampirkan, sedangkan PRIVATE_CHECK_NETWORK_HOPE_RULE adalah nama aturan firewall.

Untuk mengetahui informasi selengkapnya tentang langkah ini, lihat Mengonfigurasi project jaringan.

Batasan

Saat menggunakan cek uptime pribadi, validasi sertifikat SSL akan dinonaktifkan, apa pun konfigurasinya.

Cek uptime pribadi tidak mendukung endpoint yang memiliki pengalihan.

Pemecahan masalah

Bagian ini menjelaskan beberapa error yang mungkin Anda alami saat menggunakan cek uptime pribadi dan memberikan informasi untuk menyelesaikannya.

Pembuatan cek uptime gagal

Setelan project Google Cloud Anda mungkin mencegah modifikasi peran yang ditetapkan ke akun layanan yang digunakan oleh cek uptime untuk mengelola interaksi dengan layanan Direktori Layanan. Dalam situasi ini, pembuatan cek uptime gagal.

Bagian ini menjelaskan cara memberikan peran yang diperlukan akun layanan:

Konsol Google Cloud

Saat Anda menggunakan konsol Google Cloud untuk membuat cek uptime pribadi, konsol Google Cloud akan mengeluarkan perintah untuk memberikan peran Direktori Layanan ke akun layanan.

Untuk mengetahui informasi tentang cara memberikan peran ke akun layanan, lihat Mengizinkan akun layanan.

API: Project pencakupan

Saat pertama kali Anda membuat cek uptime pribadi untuk layanan Direktori Layanan dan resource pribadi dalam satu project Google Cloud, permintaan mungkin berhasil atau gagal. Hasilnya bergantung pada apakah Anda telah menonaktifkan pemberian peran otomatis untuk akun layanan di project Anda:

  • Pembuatan cek uptime pertama akan berhasil jika project Anda mengizinkan pemberian peran otomatis untuk akun layanan. Akun layanan dibuat untuk Anda dan diberi peran yang diperlukan.

  • Pembuatan cek uptime pertama akan gagal jika project Anda tidak mengizinkan pemberian peran otomatis untuk akun layanan. Akun layanan dibuat, tetapi tidak ada peran yang diberikan.

Jika pembuatan cek uptime gagal, lakukan hal berikut:

  1. Izinkan akun layanan.
  2. Tunggu beberapa menit agar izin diterapkan.
  3. Coba buat lagi cek uptime pribadi.

API: Project yang dipantau

Saat pertama kali membuat cek uptime pribadi yang menargetkan layanan Direktori Layanan dalam project yang dipantau atau resource pribadi di project Google Cloud yang berbeda, permintaan tersebut akan gagal dan menyebabkan pembuatan akun layanan Monitoring.

Cara pemberian otorisasi ke akun layanan bergantung pada jumlah project Google Cloud yang Anda gunakan dan hubungannya. Anda mungkin memiliki hingga empat proyek yang terlibat:

  • Project tempat Anda menentukan cek uptime pribadi.
  • Project yang dipantau tempat Anda mengonfigurasi layanan Direktori Layanan.
  • Project tempat Anda mengonfigurasi jaringan VPC.
  • Project tempat resource jaringan seperti VM atau load balancer dikonfigurasi. Project ini tidak memiliki peran dalam otorisasi akun layanan yang dibahas di sini.

Jika pembuatan cek uptime pertama gagal, lakukan hal berikut:

  1. Izinkan akun layanan.
  2. Tunggu beberapa menit agar izin diterapkan.
  3. Coba buat lagi cek uptime pribadi.

Akses ditolak

Cek uptime Anda gagal dengan hasil VPC_ACCESS_DENIED. Hasil ini berarti bahwa beberapa aspek konfigurasi jaringan atau otorisasi akun layanan Anda tidak benar.

Periksa otorisasi akun layanan Anda untuk menggunakan project pencakupan atau project yang dipantau seperti yang dijelaskan dalam Membuat cek uptime gagal.

Untuk mengetahui informasi selengkapnya tentang cara mengakses jaringan pribadi, lihat Mengonfigurasi project jaringan.

Hasil tidak wajar dari cek uptime pribadi

Anda memiliki layanan Direktori Layanan dengan beberapa VM, dan konfigurasi layanan Anda berisi beberapa endpoint. Saat Anda mematikan salah satu VM, cek uptime Anda masih menunjukkan keberhasilan.

Jika konfigurasi layanan Anda berisi beberapa endpoint, salah satunya akan dipilih secara acak. Jika VM yang terkait dengan endpoint yang dipilih sedang berjalan, pemeriksaan waktu beroperasi akan berhasil meskipun salah satu VM sedang tidak aktif.

Header default

Cek uptime Anda menampilkan error atau hasil yang tidak terduga. Hal ini mungkin terjadi jika Anda telah mengganti nilai header default.

Saat permintaan dikirim untuk cek uptime pribadi ke endpoint target, permintaan tersebut mencakup header dan nilai berikut:

Header Nilai
HTTP_USER_AGENT GoogleStackdriverMonitoring-UptimeChecks(https://cloud.google.com/monitoring)
HTTP_CONNECTION keep-alive
HTTP_HOST IP endpoint Direktori Layanan
HTTP_ACCEPT_ENCODING gzip, deflate, br
CONTENT_LENGTH Dihitung dari data postingan waktu beroperasi

Jika Anda mencoba mengganti nilai ini, hal berikut mungkin akan terjadi:

  • Cek uptime melaporkan error
  • Nilai penggantian dihapus dan diganti dengan nilai dalam tabel

Tidak ada data yang terlihat

Anda tidak akan melihat data apa pun di dasbor cek uptime saat cek uptime Anda berada di project Google Cloud yang berbeda dengan layanan Direktori Layanan.

Pastikan project Google Cloud yang berisi cek uptime memantau project Google Cloud yang berisi layanan Direktori Layanan.

Untuk mengetahui informasi selengkapnya tentang cara menampilkan daftar project yang dipantau dan menambahkan project tambahan, lihat Mengonfigurasi cakupan metrik untuk beberapa project.

Langkah selanjutnya