arrow_back

Gateway API: Qwik Start

Login Gabung
Dapatkan akses ke 700+ lab dan kursus

Gateway API: Qwik Start

Lab 1 jam universal_currency_alt 1 Kredit show_chart Pengantar
info Lab ini mungkin menggabungkan alat AI untuk mendukung pembelajaran Anda.
Dapatkan akses ke 700+ lab dan kursus

GSP872

Logo lab mandiri Google Cloud

Ringkasan

Dengan Gateway API, Anda dapat memberikan akses yang aman ke layanan Anda melalui REST API yang ditentukan dengan baik dan konsisten di seluruh layanan Anda, terlepas dari implementasi layanan. API yang konsisten:

  • Memudahkan developer aplikasi untuk menggunakan layanan Anda.
  • Memungkinkan Anda mengubah implementasi layanan backend tanpa memengaruhi API publik.
  • Memungkinkan Anda memanfaatkan fitur penskalaan, pemantauan, dan keamanan yang terintegrasi ke dalam Google Cloud.

Di lab ini, Anda akan men-deploy API di Gateway API untuk mengamankan traffic ke layanan backend.

Penyiapan dan persyaratan

Sebelum mengklik tombol Start Lab

Baca petunjuk ini. Lab memiliki timer dan Anda tidak dapat menjedanya. Timer yang dimulai saat Anda mengklik Start Lab akan menampilkan durasi ketersediaan resource Google Cloud untuk Anda.

Lab interaktif ini dapat Anda gunakan untuk melakukan aktivitas lab di lingkungan cloud sungguhan, bukan di lingkungan demo atau simulasi. Untuk mengakses lab ini, Anda akan diberi kredensial baru yang bersifat sementara dan dapat digunakan untuk login serta mengakses Google Cloud selama durasi lab.

Untuk menyelesaikan lab ini, Anda memerlukan:

  • Akses ke browser internet standar (disarankan browser Chrome).
Catatan: Gunakan jendela Samaran (direkomendasikan) atau browser pribadi untuk menjalankan lab ini. Hal ini akan mencegah konflik antara akun pribadi Anda dan akun siswa yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.
  • Waktu untuk menyelesaikan lab. Ingat, setelah dimulai, lab tidak dapat dijeda.
Catatan: Hanya gunakan akun siswa untuk lab ini. Jika Anda menggunakan akun Google Cloud yang berbeda, Anda mungkin akan dikenai tagihan ke akun tersebut.

Cara memulai lab dan login ke Google Cloud Console

  1. Klik tombol Start Lab. Jika Anda perlu membayar lab, dialog akan terbuka untuk memilih metode pembayaran. Di sebelah kiri ada panel Lab Details yang berisi hal-hal berikut:

    • Tombol Open Google Cloud console
    • Waktu tersisa
    • Kredensial sementara yang harus Anda gunakan untuk lab ini
    • Informasi lain, jika diperlukan, untuk menyelesaikan lab ini
  2. Klik Open Google Cloud console (atau klik kanan dan pilih Open Link in Incognito Window jika Anda menjalankan browser Chrome).

    Lab akan menjalankan resource, lalu membuka tab lain yang menampilkan halaman Sign in.

    Tips: Atur tab di jendela terpisah secara berdampingan.

    Catatan: Jika Anda melihat dialog Choose an account, klik Use Another Account.
  3. Jika perlu, salin Username di bawah dan tempel ke dialog Sign in.

    {{{user_0.username | "Username"}}}

    Anda juga dapat menemukan Username di panel Lab Details.

  4. Klik Next.

  5. Salin Password di bawah dan tempel ke dialog Welcome.

    {{{user_0.password | "Password"}}}

    Anda juga dapat menemukan Password di panel Lab Details.

  6. Klik Next.

    Penting: Anda harus menggunakan kredensial yang diberikan lab. Jangan menggunakan kredensial akun Google Cloud Anda. Catatan: Menggunakan akun Google Cloud sendiri untuk lab ini dapat dikenai biaya tambahan.
  7. Klik halaman berikutnya:

    • Setujui persyaratan dan ketentuan.
    • Jangan tambahkan opsi pemulihan atau autentikasi 2 langkah (karena ini akun sementara).
    • Jangan mendaftar uji coba gratis.

Setelah beberapa saat, Konsol Google Cloud akan terbuka di tab ini.

Catatan: Untuk mengakses produk dan layanan Google Cloud, klik Navigation menu atau ketik nama layanan atau produk di kolom Search. Ikon Navigation menu dan kolom Search

Mengaktifkan Cloud Shell

Cloud Shell adalah mesin virtual yang dilengkapi dengan berbagai alat pengembangan. Mesin virtual ini menawarkan direktori beranda persisten berkapasitas 5 GB dan berjalan di Google Cloud. Cloud Shell menyediakan akses command-line untuk resource Google Cloud Anda.

  1. Klik Activate Cloud Shell Ikon Activate Cloud Shell di bagian atas Konsol Google Cloud.

  2. Klik jendela berikut:

    • Lanjutkan melalui jendela informasi Cloud Shell.
    • Beri otorisasi ke Cloud Shell untuk menggunakan kredensial Anda guna melakukan panggilan Google Cloud API.

Setelah terhubung, Anda sudah diautentikasi, dan project ditetapkan ke Project_ID, . Output berisi baris yang mendeklarasikan Project_ID untuk sesi ini:

Project Cloud Platform Anda dalam sesi ini disetel ke {{{project_0.project_id | "PROJECT_ID"}}}

gcloud adalah alat command line untuk Google Cloud. Alat ini sudah terinstal di Cloud Shell dan mendukung pelengkapan command line.

  1. (Opsional) Anda dapat menampilkan daftar nama akun yang aktif dengan perintah ini:
gcloud auth list
  1. Klik Authorize.

Output:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} Untuk menetapkan akun aktif, jalankan: $ gcloud config set account `ACCOUNT`
  1. (Opsional) Anda dapat menampilkan daftar ID project dengan perintah ini:
gcloud config list project

Output:

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} Catatan: Untuk mendapatkan dokumentasi gcloud yang lengkap di Google Cloud, baca panduan ringkasan gcloud CLI.

Menetapkan region

Tetapkan region project untuk lab ini:

gcloud config set compute/region {{{project_0.default_region | "REGION"}}}

Mengaktifkan API yang diperlukan

  1. Di Konsol Cloud, pada Navigation menu (Ikon Navigation menu), klik APIs & Services > Library.

  2. Mulai ketik "api gateway" di kotak Search, lalu pilih kotak API Gateway API.

  3. Sekarang klik tombol Enable di layar berikutnya.

Tugas 1. Men-deploy backend API

Gateway API berada di depan layanan backend yang di-deploy dan menangani semua permintaan masuk. Di lab ini, Gateway API merutekan panggilan masuk ke backend Cloud Function bernama helloGET yang berisi fungsi yang ditunjukkan di bawah ini:

/** * HTTP Cloud Function. * This function is exported by index.js, and is executed when * you make an HTTP request to the deployed function's endpoint. * * @param {Object} req Cloud Function request context. * More info: https://expressjs.com/en/api.html#req * @param {Object} res Cloud Function response context. * More info: https://expressjs.com/en/api.html#res */ exports.helloGET = (req, res) => { res.send('Hello World!'); };
  1. Di Konsol Cloud, clone repositori sampel Cloud Function:
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git
  1. Ubah ke direktori yang memuat kode contoh Cloud Functions:
cd nodejs-docs-samples/functions/helloworld/helloworldGet
  1. Untuk men-deploy fungsi dengan pemicu HTTP, jalankan perintah berikut di direktori yang berisi fungsi Anda:
gcloud functions deploy helloGET --runtime nodejs20 --trigger-http --allow-unauthenticated --region {{{project_0.default_region | "REGION"}}}
  • Jika diminta, masukkan Y untuk mengaktifkan API.
Catatan: Jika Anda menerima permintaan untuk mengizinkan perintah gcloud dengan kredensial Anda, klik Authorize. Diperlukan waktu beberapa menit untuk men-deploy Cloud Function. Tunggu hingga operasi selesai sebelum melanjutkan. Peringatan: Jika Anda menerima Error sebagai IamPermissionDeniedException, jalankan kembali perintah di atas.

Klik Periksa progres saya untuk memverifikasi tujuan. Men-deploy Backend API

Tugas 2. Menguji backend API

  1. Setelah fungsi selesai di-deploy, catat properti URL httpsTrigger atau temukan menggunakan perintah berikut:
gcloud functions describe helloGET --region {{{project_0.default_region | "REGION"}}}

Output-nya akan terlihat mirip dengan URL di bawah ini, dengan PROJECT_ID adalah nilai yang spesifik untuk project Anda.

  1. Tetapkan PROJECT_ID Anda sebagai variabel:
export PROJECT_ID={{{project_0.project_id}}}
  1. Buka URL untuk memanggil Cloud Function. Anda akan melihat pesan Hello World! sebagai respons:
curl -v https://{{{project_0.default_region | "REGION"}}}-{{{project_0.project_id | "PROJECT_ID"}}}.cloudfunctions.net/helloGET

Klik Periksa progres saya untuk memverifikasi tujuan. Menguji Backend API

Membuat definisi API

Gateway API menggunakan definisi API untuk merutekan panggilan ke layanan backend. Anda dapat menggunakan spesifikasi OpenAPI yang berisi anotasi khusus untuk menentukan perilaku Gateway API yang diinginkan. Spesifikasi OpenAPI untuk panduan memulai ini berisi petunjuk perutean ke backend Cloud Function.

  1. Dari Cloud Shell, kembali ke direktori utama Anda:
cd ~
  1. Buat file baru bernama openapi2-functions.yaml:
touch openapi2-functions.yaml
  1. Salin dan tempel konten spesifikasi OpenAPI yang ditampilkan di bawah ke dalam file yang baru dibuat:
# openapi2-functions.yaml swagger: '2.0' info: title: API_ID description 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: https://{{{project_0.default_region | "REGION"}}}-{{{project_0.project_id | "PROJECT_ID"}}}.cloudfunctions.net/helloGET responses: '200': description: A successful response schema: type: string
  1. Tetapkan variabel lingkungan berikut:
export API_ID="hello-world-$(cat /dev/urandom | tr -dc 'a-z' | fold -w ${1:-8} | head -n 1)"
  1. Jalankan perintah berikut untuk mengganti variabel yang ditetapkan pada langkah terakhir dalam file spesifikasi OpenAPI:
sed -i "s/API_ID/${API_ID}/g" openapi2-functions.yaml sed -i "s/PROJECT_ID/$PROJECT_ID/g" openapi2-functions.yaml

Tugas 3. Membuat gateway

Sekarang Anda siap membuat dan men-deploy gateway di Gateway API.

  1. Di kotak penelusuran teratas, masukkan API Gateway dan pilih dari opsi yang muncul.

  2. Klik Create Gateway. Kemudian, di bagian APIs:

  • Pastikan input Select an API disetel ke Create new API.
  • Untuk Display Name, masukkan Hello World API
  • Untuk API ID, jalankan perintah berikut untuk mendapatkan API ID sekali lagi dan masukkan ke kolom API ID:
export API_ID="hello-world-$(cat /dev/urandom | tr -dc 'a-z' | fold -w ${1:-8} | head -n 1)" echo $API_ID
  1. Di bagian API Config:
  • Pastikan input Select a Config disetel ke Create new API config.
  • Lakukan hal berikut untuk mengupload file openapi2-functions.yaml yang telah dibuat sebelumnya.
  1. Jalankan perintah berikut di Cloud Shell:
cloudshell download $HOME/openapi2-functions.yaml
  1. Klik Download.
Catatan: File openapi2-functions.yaml kini didownload ke komputer lokal Anda.
  1. Pilih Browse dan pilih file dari lokasi download browser:
  • Masukkan Hello World Config di kolom Display Name.
  • Pastikan input Select a Service Account ditetapkan ke Compute Engine default service account.
  1. Di bagian Gateway details:
  • Masukkan Hello Gateway di kolom Display Name.
  • Setel menu drop-down Location ke .
  1. Klik Create Gateway.
Catatan: Operasi Create Gateway akan memerlukan waktu beberapa menit (~10 menit) untuk selesai. Untuk memeriksa status proses pembuatan dan deployment, Anda dapat mengklik ikon Notifikasi di menu navigasi utama untuk menampilkan notifikasi status, seperti yang ditunjukkan pada gambar di bawah. Pastikan status ikon memiliki tanda centang hijau di sampingnya sebelum melanjutkan.

Klik Periksa progres saya untuk memverifikasi tujuan. Membuat Gateway

Menguji Deployment API Anda

Sekarang Anda dapat mengirim permintaan ke API Anda menggunakan URL yang dihasilkan saat deployment gateway Anda.

  1. Di Cloud Shell, masukkan perintah berikut untuk mengambil GATEWAY_URL dari API yang baru dibuat dan dihosting oleh Gateway API:
export GATEWAY_URL=$(gcloud api-gateway gateways describe hello-gateway --location {{{project_0.default_region | "REGION"}}} --format json | jq -r .defaultHostname)
  1. Jalankan perintah berikut untuk memastikan variabel lingkungan GATEWAY_URL telah ditetapkan:
echo $GATEWAY_URL

Jika tidak, berarti Anda harus menunggu lebih lama agar Gateway API dapat di-deploy.

  1. Jalankan perintah curl berikut dan validasi bahwa respons yang ditampilkan adalah Hello World!:
curl -s -w "\n" https://$GATEWAY_URL/hello

Tugas 4. Mengamankan akses menggunakan kunci API

Untuk mengamankan akses ke backend API Anda, Anda dapat membuat kunci API yang terkait dengan project Anda dan memberikan akses kunci tersebut untuk memanggil API Anda. Untuk membuat Kunci API, Anda harus melakukan hal berikut:

  1. Di Konsol Cloud, buka APIs & Services > Credentials.
  2. Pilih Create credentials, lalu pilih API Key dari menu dropdown. Kotak dialog API key created akan menampilkan kunci API yang baru dibuat.

Buat menu drop-down kredensial.

Klik Periksa progres saya untuk memverifikasi tujuan. Mengamankan Akses Menggunakan Kunci API

  1. Salin Kunci API dari dialog, lalu klik close.

  2. Simpan nilai Kunci API di Cloud Shell dengan menjalankan perintah berikut:

export API_KEY=REPLACE_WITH_COPIED_API_KEY

Sekarang, aktifkan dukungan Kunci API untuk layanan Anda.

  1. Di Cloud Shell, dapatkan nama Managed Service (Layanan Terkelola) yang baru saja Anda buat menggunakan perintah berikut:
MANAGED_SERVICE=$(gcloud api-gateway apis list --format json | jq -r .[0].managedService | cut -d'/' -f6) echo $MANAGED_SERVICE
  1. Kemudian, menggunakan nama Managed Service dari API yang baru saja Anda buat, jalankan perintah ini untuk mengaktifkan dukungan kunci API untuk layanan tersebut:
gcloud services enable $MANAGED_SERVICE

Memodifikasi Spesifikasi OpenAPI untuk memanfaatkan Keamanan Kunci API

Di bagian ini, ubah konfigurasi API dari API yang di-deploy untuk menerapkan kebijakan keamanan validasi kunci API pada semua traffic.

  1. Tambahkan jenis security dan bagian securityDefinitions ke file baru bernama openapi2-functions2.yaml seperti yang ditunjukkan di bawah:
touch openapi2-functions2.yaml
  1. Salin dan tempel konten spesifikasi OpenAPI yang ditampilkan di bawah ke dalam file yang baru dibuat:
# openapi2-functions.yaml swagger: '2.0' info: title: API_ID description 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: https://{{{project_0.default_region | "REGION"}}}-{{{project_0.project_id | "PROJECT_ID"}}}.cloudfunctions.net/helloGET security: - api_key: [] responses: '200': description: A successful response schema: type: string securityDefinitions: api_key: type: "apiKey" name: "key" in: "query"
  1. Jalankan perintah berikut untuk mengganti variabel yang ditetapkan pada langkah terakhir dalam file spesifikasi OpenAPI:
sed -i "s/API_ID/${API_ID}/g" openapi2-functions2.yaml sed -i "s/PROJECT_ID/$PROJECT_ID/g" openapi2-functions2.yaml
  1. Download file spesifikasi API yang telah diupdate, Anda akan menggunakannya untuk mengupdate konfigurasi Gateway pada langkah berikutnya:
cloudshell download $HOME/openapi2-functions2.yaml
  1. Klik Download.

Tugas 5. Membuat dan men-deploy konfigurasi API baru ke gateway yang ada

  1. Buka halaman API Gateway di Konsol Cloud. (Klik Navigation Menu > API Gateway.)
  2. Pilih API Anda dari daftar untuk melihat detailnya.
  3. Pilih tab Gateways.
  4. Pilih Hello Gateway dari daftar Gateway yang tersedia.
  5. Klik Edit di bagian atas halaman Gateway.
  6. Di bagian API Config, ubah menu drop-down ke Create new API config.
  7. Klik Browse di kotak input Upload an API Spec dan pilih file openapi2-functions2.yaml.
  8. Masukkan Hello Config untuk Display Name.
  9. Pilih Qwiklabs User Service Account untuk Select a Service Account.
  10. Klik Update.
Catatan: Mungkin perlu waktu beberapa menit agar operasi Update Gateway selesai. Untuk memeriksa status proses pembuatan dan deployment, Anda dapat mengklik ikon Notifikasi di menu navigasi utama untuk menampilkan notifikasi status, seperti yang ditunjukkan pada gambar di bawah. Pastikan status ikon memiliki tanda centang hijau di sampingnya sebelum melanjutkan.

Klik Periksa progres saya untuk memverifikasi tujuan. Membuat dan men-deploy konfigurasi API baru ke gateway yang ada

Tugas 6. Menguji panggilan menggunakan kunci API Anda

  1. Untuk menguji menggunakan kunci API Anda, jalankan perintah berikut:
export GATEWAY_URL=$(gcloud api-gateway gateways describe hello-gateway --location {{{project_0.default_region | "REGION"}}} --format json | jq -r .defaultHostname) curl -sL $GATEWAY_URL/hello

Anda akan melihat respons yang mirip dengan error berikut karena kunci API tidak disertakan dalam panggilan curl: UNAUTHENTICATED:Method doesn't allow unregistered callers (callers without established identity). Please use API Key or other form of API consumer identity to call this API.

  1. Jalankan perintah curl berikut dengan parameter kueri key dan gunakan kunci API yang sebelumnya dibuat untuk memanggil API:
curl -sL -w "\n" $GATEWAY_URL/hello?key=$API_KEY

Jika Anda tidak memiliki variabel lingkungan API_KEY yang disetel, Anda dapat memperoleh kunci API dari menu kiri dengan membuka APIs & Services > Credentials. Kunci akan tersedia di bagian API Keys.

Respons yang ditampilkan dari API sekarang akan menjadi Hello World!.

Catatan: Anda mungkin perlu menjalankan perintah ini lebih dari sekali untuk mendapatkan hasil yang diinginkan.

Klik Periksa progres saya untuk memverifikasi tujuan. Menguji Panggilan Menggunakan Kunci API Anda

Selamat!

Anda telah berhasil melindungi backend API dengan Gateway API. Sekarang Anda dapat mulai mengintegrasikan klien API baru dengan membuat kunci API tambahan.

Sertifikasi dan pelatihan Google Cloud

...membantu Anda mengoptimalkan teknologi Google Cloud. Kelas kami mencakup keterampilan teknis dan praktik terbaik untuk membantu Anda memahami dengan cepat dan melanjutkan proses pembelajaran. Kami menawarkan pelatihan tingkat dasar hingga lanjutan dengan opsi on demand, live, dan virtual untuk menyesuaikan dengan jadwal Anda yang sibuk. Sertifikasi membantu Anda memvalidasi dan membuktikan keterampilan serta keahlian Anda dalam teknologi Google Cloud.

Manual Terakhir Diperbarui pada 9 Oktober 2024

Lab Terakhir Diuji pada 9 Oktober 2024

Hak cipta 2025 Google LLC. Semua hak dilindungi undang-undang. Google dan logo Google adalah merek dagang dari Google LLC. Semua nama perusahaan dan produk lain mungkin adalah merek dagang masing-masing perusahaan yang bersangkutan.

Sebelum memulai

  1. Lab membuat project dan resource Google Cloud untuk jangka waktu tertentu
  2. Lab memiliki batas waktu dan tidak memiliki fitur jeda. Jika lab diakhiri, Anda harus memulainya lagi dari awal.
  3. Di kiri atas layar, klik Start lab untuk memulai

Gunakan penjelajahan rahasia

  1. Salin Nama Pengguna dan Sandi yang diberikan untuk lab tersebut
  2. Klik Open console dalam mode pribadi

Login ke Konsol

  1. Login menggunakan kredensial lab Anda. Menggunakan kredensial lain mungkin menyebabkan error atau dikenai biaya.
  2. Setujui persyaratan, dan lewati halaman resource pemulihan
  3. Jangan klik End lab kecuali jika Anda sudah menyelesaikan lab atau ingin mengulanginya, karena tindakan ini akan menghapus pekerjaan Anda dan menghapus project

Konten ini tidak tersedia untuk saat ini

Kami akan memberi tahu Anda melalui email saat konten tersedia

Bagus!

Kami akan menghubungi Anda melalui email saat konten tersedia

Satu lab dalam satu waktu

Konfirmasi untuk mengakhiri semua lab yang ada dan memulai lab ini

Gunakan penjelajahan rahasia untuk menjalankan lab

Gunakan jendela Samaran atau browser pribadi untuk menjalankan lab ini. Langkah ini akan mencegah konflik antara akun pribadi Anda dan akun Siswa yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.