Panduan memulai: Mengamankan traffic ke layanan dengan gcloud CLI
Halaman ini menunjukkan cara men-deploy API di API Gateway untuk mengamankan traffic ke layanan backend.
Gunakan langkah-langkah berikut untuk men-deploy API baru guna mengakses layanan backend di fungsi Cloud Run menggunakan Google Cloud CLI. Panduan memulai ini juga menjelaskan cara menggunakan kunci API untuk melindungi backend Anda dari akses tanpa izin.
Sebelum memulai
Di konsol Google Cloud , buka halaman Dasbor, lalu pilih atau buat project Google Cloud .
Konfirmasi bahwa penagihan diaktifkan untuk project Anda.
Pastikan Google Cloud CLI telah didownload dan diinstal di komputer Anda.
Perbarui komponen
gcloud:gcloud components update
Tetapkan project default. Ganti PROJECT_ID dengan project ID Google Cloud Anda.
gcloud config set project PROJECT_ID
Mengaktifkan layanan yang diperlukan
API Gateway mengharuskan Anda mengaktifkan layanan Google Cloud berikut:
| Nama | Nama layanan |
|---|---|
| API Gateway API | apigateway.googleapis.com |
| Service Management API | servicemanagement.googleapis.com |
| Service Control API | servicecontrol.googleapis.com |
Untuk mengaktifkan layanan yang diperlukan:
Konsol Google Cloud
Di konsol Google Cloud , buka halaman APIs & Services > API Library.
- Di halaman API Library, masukkan nama API yang diperlukan ke dalam kotak penelusuran.
- Di hasil penelusuran, pilih halaman API.
- Di halaman API, klik Enable.
- Ulangi langkah-langkah ini untuk setiap layanan yang tercantum dalam tabel sebelumnya.
Google Cloud CLI
Gunakan perintah berikut untuk mengaktifkan layanan:
gcloud services enable apigateway.googleapis.comgcloud services enable servicemanagement.googleapis.comgcloud services enable servicecontrol.googleapis.com
Untuk mengetahui informasi selengkapnya tentang layanan gcloud, lihat
Layanan gcloud.
Men-deploy backend API
Gateway API berada di depan layanan backend yang di-deploy dan menangani semua permintaan masuk. Dalam panduan memulai ini, API Gateway merutekan panggilan masuk ke backend fungsi Cloud Run bernama helloGET yang berisi fungsi Node.js yang ditunjukkan di bawah.
const functions = require('@google-cloud/functions-framework'); // Register an HTTP function with the Functions Framework that will be executed // when you make an HTTP request to the deployed function's endpoint. functions.http('helloGET', (req, res) => { res.send('Hello World!'); });
Ikuti langkah-langkah di Panduan memulai: Men-deploy fungsi Cloud Run menggunakan Google Cloud CLI untuk mendownload kode contoh fungsi Cloud Run dan men-deploy layanan backend fungsi Cloud Run. Administrator Anda harus memberikan peran tambahan ke akun Anda dan ke akun layanan Cloud Build, seperti yang dijelaskan dalam panduan memulai ini.
Salin Service URL yang ditampilkan saat fungsi Cloud Run di-deploy. Anda akan membutuhkannya saat membuat konfigurasi API pada langkah berikutnya.
Membuat API
Sekarang Anda siap membuat API di API Gateway.
Masukkan perintah berikut, dengan:
- API_ID menentukan nama API Anda. Lihat persyaratan ID API untuk mengetahui pedoman penamaan API.
gcloud api-gateway apis create API_ID
Contoh:
gcloud api-gateway apis create my-api
- API_ID menentukan nama API Anda. Lihat persyaratan ID API untuk mengetahui pedoman penamaan API.
Setelah berhasil diselesaikan, Anda dapat menggunakan perintah berikut untuk melihat detail tentang API baru:
gcloud api-gateway apis describe API_ID
Contoh:
gcloud api-gateway apis describe my-api
Perintah ini menampilkan hal berikut:
createTime: '2020-02-29T21:52:20.297426875Z' displayName: my-api managedService: my-api-123abc456def1.apigateway.my-project.cloud.goog name: projects/my-project/locations/global/apis/my-api state: ACTIVE updateTime: '2020-02-29T21:52:20.647923711Z'
Salin nilai properti managedService. Nilai ini digunakan untuk mengaktifkan API Anda
pada langkah berikutnya.
Membuat konfigurasi API
Sebelum API Gateway dapat digunakan untuk mengelola traffic ke backend API yang di-deploy, API Gateway memerlukan konfigurasi API.
Anda dapat membuat konfigurasi API menggunakan deskripsi OpenAPI yang berisi anotasi khusus untuk menentukan perilaku API Gateway yang dipilih. Untuk mengetahui detail selengkapnya tentang ekstensi OpenAPI yang didukung, lihat artikel berikut:
Deskripsi OpenAPI yang digunakan untuk panduan memulai ini berisi petunjuk perutean ke backend fungsi Cloud Run kami:
OpenAPI 2.0
# openapi-functions.yaml swagger: '2.0' info: title: API_ID optional-string description: Sample API on API Gateway with a Google Cloud Functions backend version: 1.0.0 schemes: - https produces: - application/json paths: /hello: get: summary: Greet a user operationId: hello x-google-backend: address: SERVICE_URL/helloGET responses: '200': description: A successful response schema: type: string
OpenAPI 3.x
# openapi-functions.yaml openapi: