Membuat cek uptime pribadi

Dokumen ini menjelaskan cara mengonfigurasi pemeriksaan uptime pribadi. Pemeriksaan waktu aktif pribadi memungkinkan permintaan HTTP atau TCP ke jaringan Virtual Private Cloud (VPC) pelanggan sekaligus menerapkan batasan Identity and Access Management (IAM) dan perimeter Kontrol Layanan VPC. Pemeriksaan 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 Service Directory dengan akses jaringan pribadi diaktifkan. Untuk menggunakan pemeriksaan uptime pribadi, Anda harus mengonfigurasi akses jaringan pribadi menggunakan produk Service Directory.

Project Google Cloud yang menyimpan pemeriksaan uptime pribadi dan project Google Cloud yang menyimpan layanan Directory Layanan dapat berupa project yang berbeda. Cloud Monitoring memungkinkan Anda memantau resource di beberapa project Google Cloud dari satu project menggunakan cakupan metrik. Project tempat pemeriksaan waktu aktif ditentukan adalah project cakupan dari cakupan metrik; cakupan metrik adalah daftar semua project yang dipantau oleh project cakupan. Layanan Direktori Layanan dapat ditentukan dalam project cakupan atau dalam project dalam cakupan metrik. Untuk 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 berada dalam cakupan metrik project cakupan pemeriksaan uptime. Layanan Direktori Layanan mengumpulkan metrik waktu aktif, sehingga harus berada dalam cakupan metrik, tetapi resource yang dienkapsulasi tidak.

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

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

Sebelum memulai

  1. Mengaktifkan API berikut:

    • Cloud Monitoring API: monitoring.googleapis.com
    • Service Directory API: servicedirectory.googleapis.com
    • Service Networking API: servicenetworking.googleapis.com
    • Compute Engine API: compute.googleapis.com

    Anda dapat mengaktifkan API 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 API & Layanan

    2. Klik tombol Enable APIs and Service.

    3. Telusuri "Pemantauan".

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

    5. Jika "API enabled" ditampilkan, berarti API sudah diaktifkan. Jika belum, klik Aktifkan.

    gcloud CLI

    1. Jika Anda 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, API akan diaktifkan.

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

      gcloud services enable monitoring --project=PROJECT_ID
      

      Untuk informasi selengkapnya, lihat gcloud services.

    Anda dapat menggunakan langkah-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 Anda membuat beberapa jenis saluran notifikasi. Untuk informasi selengkapnya, lihat Membuat dan mengelola saluran notifikasi.

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

    Pemeriksaan pribadi yang menargetkan ILB dibatasi untuk wilayah dengan pemeriksa uptime. Region pemeriksaan uptime USA mencakup region USA_OREGON, USA_IOWA, dan USA_VIRGINIA. Setiap region USA_* memiliki satu pemeriksa, dan USA menyertakan ketiganya. Region pemeriksaan 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 informasi selengkapnya tentang 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 pemeriksaan uptime saat VM melayani permintaan. Antarmuka ini memandu Anda mengonfigurasi resource Direktori Layanan, memberi otorisasi akun layanan, dan mengonfigurasi aturan firewall jaringan.

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

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

Membuat pemeriksaan uptime pribadi

Bagian ini menjelaskan cara membuat dan mengonfigurasi pemeriksaan waktu aktif pribadi layanan Service Directory:

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

  • Untuk menggunakan Cloud Monitoring API dan mengonfigurasi layanan Service Directory agar berada dalam project Google Cloud yang sama dengan pemeriksaan waktu aktif, pilih tab API: Scoping project.

  • Untuk menggunakan Cloud Monitoring API dan mengonfigurasi layanan Service Directory agar berada dalam project yang dipantau oleh cakupan metrik project pemeriksaan waktu aktif, pilih tab API: Project yang dipantau.

Konsol Google Cloud

Untuk membuat pemeriksaan uptime menggunakan konsol Google Cloud, lakukan hal berikut:

  1. Di konsol Google Cloud, buka halaman  Pemeriksaan waktu aktif:

    Buka Cek uptime

    Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.

  2. Klik Buat Cek Uptime.

    Buat dialog pemeriksaan uptime.

  3. Tentukan cek uptime pribadi:

    1. Pilih protokol, yang dapat berupa HTTP, HTTPS, atau TCP.

    2. Pilih jenis resource Internal IP.

  4. Jika Anda tidak memiliki layanan Direktori Layanan yang dikonfigurasi untuk project atau jika Anda ingin membuat layanan Direktori Layanan, klik Lihat dan lengkapi panel Prasyarat Pemeriksaan Waktu Aktif Pribadi:

    1. Jika diminta, aktifkan Compute Engine API atau Service Directory API. Pengaktifan API mungkin memerlukan waktu satu menit.

    2. Luaskan Akun Layanan, jika ditampilkan, lalu klik Buat Akun Layanan.

      Jika akun layanan Monitoring tidak ada, akun tersebut akan dibuat. Kemudian, Monitoring memberikan dua peran Service Directory kepada akun layanan.

    3. Luaskan menu Service Directory , 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 pemeriksaan uptime pribadi.
      4. Klik Endpoint name dan masukkan nama untuk nama endpoint. Endpoint adalah pasangan 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 melayani permintaan. Setelah Anda memilih instance, alamat IP internalnya akan ditampilkan.
      7. Klik Done.
    4. Luaskan Aturan firewall:

      1. Luaskan Network dan pilih jaringan tempat aturan jaringan dilampirkan.

      2. Klik Create Firewall Rules.

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

  5. Di panel Private Uptime Check, untuk menentukan layanan Service Directory 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.

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

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

    2. Opsional: Untuk menetapkan frekuensi pemeriksaan waktu aktif yang dijalankan, gunakan kolom Frekuensi pemeriksaan.

    3. Opsional: Untuk memilih wilayah pemeriksa, atau mengonfigurasi autentikasi, header untuk pemeriksaan HTTP dan HTTPS, dan nilai lainnya, klik Opsi target lainnya:

      • Region: Pilih region tempat pemeriksaan uptime akan menerima permintaan. Pemeriksaan uptime harus memiliki minimal tiga pemeriksa. Ada satu pemeriksa di semua wilayah kecuali Amerika Serikat, yang memiliki tiga pemeriksa. Setelan default, Global, menyertakan semua wilayah.
      • Request Method: Pilih GET atau POST.
      • Isi: Untuk pemeriksaan POST HTTP, masukkan isi yang dienkode URL; Anda harus melakukan encoding sendiri. Untuk semua pemeriksaan lainnya, biarkan kolom ini kosong.
      • Header host: Jangan tetapkan kolom ini saat mengonfigurasi pemeriksaan uptime pribadi.
      • Port: Setiap nilai yang Anda tetapkan di sini akan menggantikan port dalam konfigurasi endpoint Direktori Layanan. Jangan tetapkan nilai di sini jika Anda ingin konfigurasi endpoint digunakan.
      • Header Kustom: Berikan header kustom, dan secara opsional, enkripsi header tersebut. Enkripsi menyembunyikan nilai dalam header dalam formulir. Gunakan enkripsi untuk header yang terkait dengan autentikasi yang tidak ingin Anda tampilkan kepada orang lain.
      • Autentikasi: Masukkan satu nama pengguna dan sandi. Nilai-nilai ini dikirim sebagai header Otorisasi. Jika Anda menetapkan nilai di sini, jangan tetapkan header Otorisasi terpisah; jika Anda menetapkan header Otorisasi, jangan tetapkan nilai di sini. Sandi selalu tersembunyi dalam formulir.
  7. Klik Lanjutkan dan konfigurasikan persyaratan respons. Semua setelan di bagian ini memiliki nilai default:

    • Untuk menetapkan periode waktu tunggu untuk pemeriksaan uptime, gunakan kolom Response Timeout. Pemeriksaan uptime akan gagal jika tidak ada respons yang diterima dari lebih dari satu lokasi dalam periode ini.

    • Untuk mengonfigurasi pemeriksaan waktu aktif guna melakukan pencocokan konten, pastikan label tombolnya adalah Pencocokan konten diaktifkan:

      • Pilih Jenis Pencocokan Konten Respons dari menu opsi. Kolom ini menentukan cara konten respons dibandingkan dengan data yang ditampilkan. Misalnya, anggaplah konten respons adalah abcd dan jenis pencocokan konten adalah Berisi. Pemeriksaan waktu aktif hanya berhasil jika data respons berisi abcd. Untuk informasi selengkapnya, lihat Memvalidasi data respons.
      • Masukkan Konten respons. Isi respons harus berupa string yang tidak lebih dari 1.024 byte. Di API, kolom ini adalah objek ContentMatcher.
    • Untuk mencegah entri log dibuat karena pemeriksaan uptime, hapus Kegagalan pemeriksaan log.

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

  8. Klik Lanjutkan dan konfigurasikan kebijakan pemberitahuan dan notifikasi.

    Untuk mendapatkan 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 Duration, pilih durasi kegagalan pemeriksaan uptime sebelum notifikasi dikirim. Secara default, notifikasi akan dikirim jika setidaknya dua region melaporkan kegagalan pemeriksaan uptime selama durasi minimal satu menit.
    3. Di kotak berlabel Saluran notifikasi, luaskan Menu, pilih saluran yang akan ditambahkan, lalu klik Oke.

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

    Jika Anda tidak ingin membuat kebijakan pemberitahuan, pastikan teks tombol tombol adalah Jangan buat pemberitahuan.

  9. Klik Lanjutkan dan selesaikan pemeriksaan uptime:

    1. Masukkan judul deskriptif untuk pemeriksaan uptime.

    2. Opsional: Untuk menambahkan label yang ditentukan pengguna ke pemeriksaan waktu aktif, lakukan tindakan berikut:

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

    4. Klik Create.

API: Cakupan project

Untuk membuat konfigurasi pemeriksaan uptime pribadi, Anda membuat objek UptimeCheckConfig dan meneruskan objek tersebut ke metode uptimeCheckConfigs.create di Cloud Monitoring API.

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

  • Resource yang dimonitor yang ditentukan dalam konfigurasi pemeriksaan waktu aktif 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 pemeriksaan waktu aktif. Nilai port dari endpoint Direktori Layanan akan menggantikan nilai apa pun yang ditetapkan dalam konfigurasi pemeriksaan waktu aktif, dan pemeriksaan akan gagal jika tidak ada port yang ditentukan dalam konfigurasi Direktori Layanan.

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

Kode JSON berikut mengilustrasikan objek UptimeCheckConfig untuk pemeriksaan waktu aktif 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 pemeriksaan uptime pribadi saat layanan Directory Layanan berada di project Google Cloud yang sama dengan pemeriksaan 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 objek 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 pemeriksaan uptime gagal, pastikan akun layanan memiliki peran yang diperlukan. Untuk mengetahui informasi selengkapnya, lihat Pembuatan pemeriksaan uptime gagal.

API: Project yang dipantau

Untuk membuat konfigurasi pemeriksaan uptime pribadi, Anda membuat objek UptimeCheckConfig dan meneruskan objek tersebut ke metode uptimeCheckConfigs.create di Cloud Monitoring API.

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

  • Resource yang dimonitor yang ditentukan dalam konfigurasi pemeriksaan waktu aktif 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 pemeriksaan waktu aktif. Nilai port dari endpoint Direktori Layanan akan mengganti nilai apa pun yang ditetapkan dalam konfigurasi pemeriksaan waktu aktif, dan pemeriksaan akan gagal jika tidak ada port yang ditentukan dalam konfigurasi Direktori Layanan.

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

Kode JSON berikut mengilustrasikan objek UptimeCheckConfig untuk pemeriksaan waktu aktif 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 pemeriksaan uptime pribadi saat layanan Direktori Layanan berada di project Google Cloud yang dipantau oleh cakupan metrik project Google Cloud pemeriksaan uptime, lakukan hal berikut:

  1. Konfigurasikan gcloud CLI agar secara default menggunakan project Google Cloud tempat pemeriksaan waktu aktif 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 project Google Cloud tempat layanan Direktori Layanan ditentukan:

    export MONITORED_PROJECT_ID=MONITORED_PROJECT_ID
    

    Project ini harus berada dalam cakupan metrik project pemeriksaan 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 objek 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 pemeriksaan uptime gagal, pastikan akun layanan memiliki peran yang diperlukan. Untuk mengetahui informasi selengkapnya, lihat Pembuatan pemeriksaan uptime gagal.

Mungkin ada penundaan hingga 5 menit sebelum hasil pemeriksaan uptime mulai mengalir ke Monitoring. Selama waktu tersebut, dasbor pemeriksaan uptime melaporkan status sebagai "tidak ada data yang tersedia".

Langkah-langkah prasyarat

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

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

  1. Mengonfigurasi resource Direktori Layanan
  2. Memberikan otorisasi ke akun layanan
  3. Mengonfigurasi aturan firewall

Mengonfigurasi resource Direktori Layanan

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

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

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

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

Anda dapat mengonfigurasi resource ini dengan gcloud CLI atau Konsol Google Cloud. 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 pemeriksaan uptime, Anda akan diminta untuk membuat Service Directory dan layanan.

gcloud CLI - VM

Untuk 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 bagi VM, lakukan hal berikut:

  1. Konfigurasikan Google Cloud CLI agar secara default menggunakan 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 di 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

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

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

Saat membuat ILB L4 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 ILB L4 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 secara default menggunakan 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 aktif mentransfer data ke ILB L4, aktifkan akses global ke ILB:

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

    Jika ILB L4 Anda tidak mengizinkan akses global, metrik waktu aktif hanya tersedia jika ILB_REGION adalah salah satu dari 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 di 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
    

Memberikan otorisasi ke akun layanan

Pemeriksaan 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.

Jika akun layanan ini tidak ada, Pemantauan akan membuat akun layanan saat Anda membuat pemeriksaan waktu aktif pribadi. Anda tidak dapat membuat akun layanan ini.

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

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

Konsol Google Cloud

Saat menggunakan konsol Google Cloud, setelah memilih IP Internal sebagai jenis resource untuk pemeriksaan uptime, Anda akan diminta untuk memberikan otorisasi ke akun layanan.

API: Cakupan project

Untuk memberikan peran Service Directory ke akun layanan yang ada, lakukan tindakan berikut:

  1. Konfigurasikan gcloud CLI agar secara default menggunakan project Google Cloud tempat pemeriksaan waktu aktif 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.' \
    --role='roles/servicedirectory.viewer'
    
    gcloud projects add-iam-policy-binding $PROJECT_ID \
    --member='serviceAccount:service-'$PROJECT_NUMBER'@gcp-sa-monitoring-notification.' \
    --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 Service Directory ke akun layanan yang ada, lakukan tindakan berikut:

  1. Konfigurasikan gcloud CLI agar secara default menggunakan project Google Cloud tempat pemeriksaan waktu aktif 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 project tempat layanan Service Directory ditentukan:

    export MONITORED_PROJECT_ID=MONITORED_PROJECT_ID
    

    Project ini harus berada dalam cakupan metrik project pemeriksaan 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 waktu aktif.

  5. Jalankan perintah berikut:

    gcloud projects add-iam-policy-binding $MONITORED_PROJECT_ID \
    --member='serviceAccount:service-'$PROJECT_NUMBER'@gcp-sa-monitoring-notification.' \
    --role='roles/servicedirectory.viewer'
    
    gcloud projects add-iam-policy-binding $NETWORK_PROJECT_ID \
    --member='serviceAccount:service-'$PROJECT_NUMBER'@gcp-sa-monitoring-notification.' \
    --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 pemilihan rute pribadi. Untuk mengetahui informasi selengkapnya, lihat Rute VPC.

Konsol Google Cloud

Saat menggunakan konsol Google Cloud, setelah memilih Internal IP sebagai jenis resource untuk pemeriksaan 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 agar secara default menggunakan project Google Cloud tempat pemeriksaan waktu aktif 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"
    

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

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

Batasan

Saat menggunakan pemeriksaan uptime pribadi, validasi sertifikat SSL akan dinonaktifkan, terlepas dari konfigurasinya.

Pemeriksaan uptime pribadi tidak mendukung endpoint yang memiliki pengalihan.

Pemecahan masalah

Bagian ini menjelaskan beberapa error yang mungkin Anda alami saat menggunakan pemeriksaan waktu aktif pribadi dan memberikan informasi untuk mengatasinya.

Pembuatan cek uptime gagal

Setelan project Google Cloud Anda mungkin mencegah perubahan peran yang ditetapkan ke akun layanan yang digunakan pemeriksaan uptime untuk mengelola interaksi dengan layanan Service Directory. Dalam situasi ini, pembuatan pemeriksaan uptime akan gagal.

Bagian ini menjelaskan cara memberikan peran yang diperlukan akun layanan:

Konsol Google Cloud

Saat Anda menggunakan konsol Google Cloud untuk membuat pemeriksaan 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 Memberikan otorisasi ke akun layanan.

API: Cakupan project

Saat pertama kali membuat pemeriksaan 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 pemeriksaan waktu aktif pertama berhasil jika project Anda mengizinkan pemberian peran otomatis untuk akun layanan. Akun layanan dibuat untuk Anda dan diberi peran yang diperlukan.

  • Pembuatan pemeriksaan waktu aktif pertama gagal jika project Anda tidak mengizinkan pemberian peran otomatis untuk akun layanan. Akun layanan dibuat, tetapi tidak ada peran yang diberikan.

Jika pembuatan pemeriksaan uptime gagal, lakukan hal berikut:

  1. Berikan otorisasi ke akun layanan.
  2. Tunggu beberapa menit hingga izin diterapkan.
  3. Coba buat lagi pemeriksaan uptime pribadi.

API: Project yang dipantau

Saat pertama kali Anda membuat pemeriksaan uptime pribadi yang menargetkan layanan Directory Layanan di project yang dipantau atau resource pribadi di project Google Cloud yang berbeda, permintaan akan gagal dan menghasilkan pembuatan akun layanan Monitoring.

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

  • Project tempat Anda menentukan pemeriksaan 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 pemeriksaan uptime pertama gagal, lakukan tindakan berikut:

  1. Berikan otorisasi ke akun layanan.
  2. Tunggu beberapa menit hingga izin diterapkan.
  3. Coba buat lagi pemeriksaan uptime pribadi.

Akses ditolak

Pemeriksaan uptime Anda gagal dengan hasil VPC_ACCESS_DENIED. Hasil ini berarti beberapa aspek konfigurasi jaringan atau otorisasi akun layanan Anda salah.

Periksa otorisasi akun layanan Anda untuk menggunakan project cakupan atau project yang dipantau seperti yang dijelaskan dalam Pembuatan pemeriksaan waktu aktif gagal.

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

Hasil yang tidak normal dari pemeriksaan uptime pribadi

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

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

Header default

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

Saat permintaan dikirim untuk pemeriksaan uptime pribadi ke endpoint target, permintaan tersebut menyertakan 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 uptime

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

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

Tidak ada data yang terlihat

Anda tidak melihat data apa pun di dasbor pemeriksaan waktu beroperasi saat pemeriksaan waktu beroperasi berada di project Google Cloud yang berbeda dengan layanan Service Directory.

Pastikan project Google Cloud yang berisi pemeriksaan waktu aktif memantau project Google Cloud yang berisi layanan Direktori Layanan.

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

Langkah selanjutnya