Menyajikan API dari nama domain Anda

Halaman ini menunjukkan cara menyajikan API dari domain kustom yang Anda miliki, misalnya, example.com.

Sebagai alternatif untuk menggunakan nama domain Anda sendiri, Anda dapat menggunakan nama domain yang dikelola oleh Google. Lihat Menggunakan domain yang dikelola oleh Google untuk informasi selengkapnya.

Sebelum memulai

Mengonfigurasi project API Anda untuk menggunakan nama domain

Ikuti petunjuk pada tab yang sesuai.

Compute Engine

Cara yang direkomendasikan untuk menyalurkan API dari instance Compute Engine adalah dengan menggunakan load balancer di seluruh grup instance. Anda perlu mencadangkan alamat IP eksternal untuk nama domain dan menggunakan alamat IP eksternal tersebut untuk load balancer.

Untuk menayangkan API dari nama domain:

  1. Cadangkan setidaknya satu alamat IP eksternal statis di project Anda:

    Buka halaman Alamat IP Eksternal

    1. Tetapkan nama apa pun yang Anda inginkan untuk alamat IP yang dicadangkan
    2. Untuk Jenis, klik Global.
    3. Untuk Dilampirkan ke, klik Tidak ada. Anda akan melampirkan alamat IP ke load balancer nanti.
  2. Buka akun penyedia domain dan edit setelan domain Anda. Anda harus membuat data A yang berisi nama API, misalnya, myapi.example.com dengan alamat IP eksternal di kolom datanya
  3. Buat grup instance yang menyertakan instance yang menjalankan API dan Extensible Service Proxy (ESP:

    Buka halaman Create a New Instance group

    1. Tetapkan nama yang Anda inginkan untuk grup dan tambahkan deskripsi.
    2. Dari daftar Zone, klik zona yang digunakan oleh instance API Anda.
    3. Dalam daftar Definisi instance, klik Pilih instance yang ada
    4. Di kolom VM Instances, tambahkan instance VM yang menjalankan API.
    5. Klik Create.
  4. Buat dan konfigurasi load balancer HTTP(S):

    Buka halaman Create a New HTTP(S) load balancer

    1. Klik Define a Backend Service > Create or select a backend service.
      Konfigurasi backend
    2. Tetapkan nama dan deskripsi apa pun yang Anda inginkan untuk konfigurasi layanan backend ini.
    3. Di kolom Protocol, pilih protokol yang ingin Anda dukung melalui load balancer, HTTP atau HTTPS.
    4. Dalam daftar Grup instance, klik grup instance Anda.
    5. Di kolom Port Numbers, masukkan 8080.
    6. Klik Health check untuk mengonfigurasi health check:
      • Masukkan nama untuk konfigurasi health check.
      • Tetapkan port 8080.
      • Untuk menyetujui nilai default yang tersisa, klik Save.
    7. Untuk saat ini, terima setelan default untuk konfigurasi lainnya. Anda dapat melakukan perubahan di lain waktu sesuai kebutuhan, seperti port tambahan.
    8. Anda tidak perlu menetapkan apa pun di Aturan host dan jalur. Anda dapat meneruskan semuanya ke API backend dengan menggunakan filter Semua yang tidak cocok default. Artinya, semua traffic ke load balancer diarahkan ke API pada port 8080 (port default) seperti yang dijelaskan pada langkah sebelumnya.
    9. Klik Frontend configuration.
      Konfigurasi frontend
      • Di kolom Protocol, pilih protokol yang ingin Anda dukung melalui load balancer, HTTP atau HTTPS.
      • Dalam daftar IP, klik alamat IP eksternal yang Anda buat sebelumnya.
      • Untuk protokol HTTPS, Anda harus menggunakan SSL. Dalam daftar Sertifikat, klik sertifikat yang diinginkan.
      • Secara opsional, jika Anda ingin mendukung protokol lain, klik Tambahkan port dan IP frontend, tentukan protokol, alamat IP eksternal yang sama, dan port yang berbeda.
    10. Untuk membuat load balancer yang dikonfigurasi sepenuhnya, klik Buat. Jika tombol Create tidak diaktifkan, periksa komponen yang baru saja Anda konfigurasi: tanda centang akan muncul di samping masing-masing komponen konfigurasi. Tanda centang yang hilang berarti Anda belum menyelesaikan konfigurasi.
    11. Setelah perubahan DNS Anda diterapkan, permintaan akan dikirimkan ke API Anda menggunakan load balancer.

GKE

Jika ingin melayani API melalui domain untuk Google Kubernetes Engine (GKE), Anda perlu mengekspos ESP sebagai layanan menggunakan alamat IP eksternal yang ditampilkan untuk setelan DNS domain Anda. Perlu diingat bahwa GKE otomatis melakukan load balancing untuk Anda.

Untuk mengekspos API Anda sebagai layanan:

  1. Jika Anda belum memilikinya, Konfigurasikan layanan Kubernetes untuk backend API Anda. Buat file konfigurasi layanan, service.yaml, dengan konten yang mirip dengan berikut ini:
                apiVersion: v1
                kind: Service
                metadata:
                  name: echo
                spec:
                  ports:
                  - port: 80
                    targetPort: 8081
                    protocol: TCP
                  selector:
                    app: echo-app
                  type: LoadBalancer
                  
    • Ubah label selector agar cocok dengan label backend Anda (app: echo-app dalam contoh ini)
    • Pastikan targetPort cocok dengan port yang digunakan oleh ESP yang dikonfigurasi di backend API Anda. ESP menggunakan port 8081 secara default.
  2. Deploy layanan Kubernetes:
                kubectl apply -f service.yaml
                
  3. Lihat alamat IP eksternal yang ditetapkan ke layanan Anda yang terekspos:
                kubectl get services
                
    Output menampilkan alamat EXTERNAL-IP yang mirip dengan berikut ini:
                NAME         CLUSTER-IP     EXTERNAL-IP      PORT(S)    AGE
                hello-node   10.X.XXX.202   10X.XXX.XX.123   8080/TCP   1m
          
  4. Mengubah IP eksternal yang dihasilkan dari sementara menjadi statis.

    Buka halaman Alamat IP Eksternal

    1. Pilih alamat IP eksternal Anda dari daftar.
    2. Dalam daftar Type, klik Static.
  5. Buka akun penyedia domain dan edit setelan domain Anda. Anda harus membuat data A yang berisi nama API, misalnya, myapi.example.com, dengan alamat IP eksternal di kolom datanya.

Langkah selanjutnya