Menyiapkan gRPC Cloud Endpoints untuk penayangan Knative dengan ESPv2
Halaman ini menunjukkan cara menyiapkan Cloud Endpoints untuk Knative serving. Endpoints menggunakan Extensible Service Proxy V2 (ESPv2) sebagai gateway API. Untuk menyediakan pengelolaan API bagi layanan Knative, Anda men-deploy container ESPv2 bawaan ke layanan Knative yang berjalan di cluster GKE.
Dengan penyiapan ini, ESPv2 mencegat semua permintaan ke layanan Anda dan melakukan pemeriksaan yang diperlukan (seperti autentikasi) sebelum memanggil layanan. Saat layanan merespons, ESPv2 mengumpulkan dan melaporkan telemetri.
Untuk mengetahui ringkasan Endpoint, lihat Tentang Endpoint dan Arsitektur endpoint.
Daftar Tugas
Gunakan daftar tugas berikut saat Anda mengerjakan tutorial. Semua tugas diperlukan untuk menyelesaikan tutorial ini.
Buat Google Cloud project, dan jika Anda belum men-deploy layanan Knative Anda sendiri, deploy layanan contoh. Lihat Sebelum memulai.
Buat cluster GKE dengan layanan Knative diaktifkan.
Deploy contoh gRPC layanan penayangan Knative.
Buat dokumen konfigurasi gRPC API yang menjelaskan Endpoints API Anda, dan konfigurasi rute ke layanan penayangan Knative Anda. Lihat Mengonfigurasi Endpoint.
Deploy dokumen konfigurasi gRPC API untuk membuat layanan terkelola. Lihat Men-deploy konfigurasi Endpoints.
Bangun image Docker ESPv2 baru dengan konfigurasi layanan Endpoints Anda. Lihat Membangun image ESPv2 baru.
Deploy image penyajian Knative ESPv2 baru. Lihat Men-deploy image Cloud Run ESPv2.
Buat pemetaan domain ke layanan penayangan Knative ESPv2.
Uji konfigurasi Anda dengan Mengirim permintaan ke API.
Melacak aktivitas ke layanan Anda. Lihat Melacak aktivitas API.
Biaya
Dalam dokumen ini, Anda akan menggunakan komponen Google Cloudyang dapat ditagih sebagai berikut:
Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda,
gunakan kalkulator harga.
Setelah menyelesaikan tugas yang dijelaskan dalam dokumen ini, Anda dapat menghindari penagihan berkelanjutan dengan menghapus resource yang Anda buat. Untuk mengetahui informasi selengkapnya, baca bagian Pembersihan.
Sebelum memulai
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
- Catat project ID karena akan diperlukan nanti. Di bagian selanjutnya dari halaman ini, project ID ini disebut sebagai ESPv2_PROJECT_ID.
- Download dan instal gcloud CLI.
Pastikan gcloud CLI diberi otorisasi untuk mengakses data dan layanan Anda.
Log in.
gcloud auth login
Di tab browser baru yang terbuka, pilih akun yang memiliki peran Editor atau Pemilik di project Google Cloud yang Anda buat untuk men-deploy ESPv2 ke layanan Knative.
Perbarui komponen
gcloudyang diinstal:gcloud components update
Tetapkan platform ke
gkedan tetapkan setelan project default Anda untukgcloudke project yang baru saja Anda buat:gcloud config set run/platform gke
gcloud config set project ESPv2_PROJECT_IDGanti ESPv2_PROJECT_ID dengan project ID project yang Anda buat.
Tetapkan zona yang diinginkan untuk cluster baru. Anda dapat menggunakan zona tempat GKE didukung, misalnya:
gcloud config set compute/zone ZONE
Ganti ZONE dengan zona Anda. Misalnya, gunakan
us-central1-a. Anda dapat menggunakan zona apa pun yang didukung oleh GKE.Aktifkan API berikut untuk project, yang diperlukan untuk membuat cluster, membangun, dan memublikasikan container ke Artifact Registry:
gcloud services enable container.googleapis.com artifactregistry.googleapis.com cloudbuild.googleapis.com
Menyiapkan command line gcloud
Untuk menyiapkan gcloud CLI untuk penayangan Knative untuk Anthos:
Membuat cluster GKE dengan layanan Knative diaktifkan
Untuk membuat cluster dan mengaktifkannya untuk penayangan Knative di Google Cloud:
Buat cluster baru menggunakan perintah:
gcloud container clusters create CLUSTER_NAME \ --addons=HttpLoadBalancing,CloudRun \ --machine-type=n1-standard-4 \ --num-nodes=3
Ganti CLUSTER_NAME dengan nama yang Anda inginkan untuk cluster Anda.
Meskipun petunjuk ini tidak mengaktifkan penskalaan otomatis cluster untuk mengubah ukuran cluster sesuai permintaan, Knative serving di Google Cloud akan otomatis menskalakan instance dalam cluster.
Tunggu hingga pembuatan cluster selesai. Selama proses pembuatan, Anda akan melihat pesan yang mirip dengan berikut ini:
Creating cluster CLUSTER_NAME...done. Created [https://container.googleapis.com/v1/projects/ESPv2_PROJECT_ID/zones/ZONE/clusters/CLUSTER_NAME].
Output juga menampilkan versi cluster di kolom
NODE_VERSIONoutput. Misalnya1.15.11-gke.1atau1.14.10-gke.27. Catat versi cluster untuk digunakan nanti dalam dokumen ini.Tetapkan default
gclouduntuk menggunakan cluster dan lokasi cluster baru Anda, agar tidak perlu menentukannya saat Anda menggunakan gcloud CLI:gcloud config set run/cluster CLUSTER_NAME
gcloud config set run/cluster_location ZONEGunakan perintah berikut untuk melihat detail tentang cluster baru:
gcloud container clusters describe CLUSTER_NAME
Gunakan perintah berikut untuk mengambil kredensial cluster Anda:
gcloud container clusters get-credentials CLUSTER_NAME
Men-deploy layanan gRPC Cloud Run contoh
Untuk men-deploy container contoh Cloud Run for Anthos "grpc-bookstore" ke cluster yang baru saja Anda buat:
Ikuti langkah-langkah di Panduan memulai gRPC Python untuk menginstal gRPC dan alat gRPC.
Contoh server gRPC ini berisi image Docker yang telah di-build sebelumnya untuk "layanan grpc-bookstore" Python:
gcr.io/endpointsv2/python-grpc-bookstore-server:2. Gunakan perintah berikut untuk men-deploy "grpc-bookstore" ke cluster Anda:gcloud run deploy GRPC_SERVICE \ --image=gcr.io/endpointsv2/python-grpc-bookstore-server:2 \ --platform=gke \ --connectivity=internal \ --use-http2
Perhatikan bahwa Anda menentukannya sebagai layanan internal sehingga layanan tidak dapat diakses secara eksternal.
Ganti GRPC_SERVICE dengan nama yang Anda inginkan untuk layanan Anda. Contoh:
gcloud run deploy grpc-bookstore \ --image=gcr.io/endpointsv2/python-grpc-bookstore-server:2 \ --platform=gke \ --connectivity=internal \ --use-http2
Setelah selesai, pesan berikut akan muncul:
Service [grpc-bookstore] revision [grpc-bookstore-00001-nuk] has been deployed and is serving 100 percent of traffic at http://grpc-bookstore.default.svc.cluster.local
Saat Anda membuat layanan internal, GKE akan membuat nama DNS (
grpc-bookstore.default.svc.cluster.localdalam contoh ini) yang hanya dapat di-resolve untuk permintaan yang berasal dari dalam cluster itu sendiri, bukan untuk permintaan eksternal. Anda tidak dapat mengakses DNS ini secara eksternal dari cluster. Lihat layanan Cloud Run untuk mengetahui informasi selengkapnya.Untuk memverifikasi bahwa layanan Anda berfungsi dengan benar, deploy pod dengan image Docker yang sama ke cluster Anda. Image ini berisi kode klien gRPC untuk "grpc-bookstore" yang dapat Anda gunakan untuk menguji layanan internal.
Gunakan perintah
kubectlberikut untuk men-deploy pod ke cluster yang sama dengan yang Anda deploy sebelumnya:kubectl run grpc --generator=run-pod/v1 \ --image=gcr.io/endpointsv2/python-grpc-bookstore-server:2
Image ini berisi skrip
bookstore_client.pyyang dapat Anda gunakan untuk membuat permintaan klien dari dalam cluster.Catatan: Untuk versi
kubectlyang lebih baru, perintah mungkin mengeluarkan peringatan berikut:Flag --generator has been deprecated, has no effect and will be removed in the future".Anda dapat mengabaikan peringatan tersebut.
Dapatkan nama pod "grpc-bookstore" yang dibuat di cluster saat Anda men-deploy image Docker di langkah sebelumnya:
kubectl get pods
Anda akan melihat output dalam bentuk:
NAME READY STATUS RESTARTS AGE grpc 1/1 Running 0 23h
Dengan
grpadalah nama pod "grpc-bookstore". Pastikan Status pod adalah Running sebelum melanjutkan.Gunakan perintah berikut untuk membuat permintaan klien ke layanan "grpc-bookstore":
kubectl exec grpc -ti -- python3 bookstore_client.py \ --host grpc-bookstore.default.svc.cluster.local --port=80
Perintah ini menjalankan skrip
bookstore_client.pysecara internal di cluster untuk membuat permintaan gRPC ke layanan "grpc-bookstore" di nama hostgrpc-bookstore.default.svc.cluster.local.Jika semuanya berfungsi dengan benar, Anda akan melihat respons dalam bentuk:
ListShelves: shelves { id: 1 theme: "Fiction" } shelves { id: 2 theme: "Fantasy" }
Mengonfigurasi Endpoint
Anda harus memiliki spesifikasi gRPC API yang menjelaskan antarmuka layanan backend dan persyaratan autentikasi.
Tentang menyetel kolom nama spesifikasi gRPC API
Di kolom name spesifikasi gRPC API, Anda menentukan nama layanan Endpoints yang digunakan untuk mengakses layanan penayangan Knative. Nama layanan Endpoints berbentuk nama domain:
API_NAME.endpoints.ESPv2_PROJECT_ID.cloud.goog
Karena nama layanan Endpoints sesuai dengan nama domain, nama tersebut harus mengikuti aturan berikut:
- Hanya boleh berisi huruf kecil, angka, titik, atau tanda pisah.
- Tidak boleh diawali dengan tanda hubung.
- Tidak boleh berisi garis bawah.
Contoh:
grpc-boostore-api.endpoints.ESPv2_PROJECT_ID.cloud.goog
Membuat spesifikasi API gRPC
Contoh bookstore-grpc berisi file yang perlu Anda salin secara lokal dan dikonfigurasi.
Buat direktori baru untuk spesifikasi gRPC API, seperti
my-anthos-grpc. Kemudian, buka direktori tersebut menggunakan perintah cd.Clone repositori git tempat kode klien gRPC dihosting ke direktori baru Anda:
git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git
Ubah direktori kerja Anda:
cd python-docs-samples/endpoints/bookstore-grpc/
Perhatikan bahwa direktori ini berisi file bookstore.proto. File ini menentukan API layanan Bookstore.
Buat file deskriptor protobuf mandiri dari file
.protolayanan Anda:Buat direktori
generated_pb2di bawah direktori kerja Anda.Buat file deskriptor,
api_descriptor.pb, menggunakan compiler buffer protokolprotoc. Jalankan perintah berikut di direktori yang berisibookstore.proto:python3 -m grpc_tools.protoc \ --include_imports \ --include_source_info \ --proto_path=. \ --descriptor_set_out=api_descriptor.pb \ --python_out=generated_pb2 \ --grpc_python_out=generated_pb2 \ bookstore.proto
Dalam perintah sebelumnya,
--proto_pathditetapkan ke direktori kerja saat ini. Di lingkungan build gRPC, jika Anda menggunakan direktori yang berbeda untuk file input.proto, ubah--proto_pathsehingga compiler menelusuri direktori tempat Anda menyimpanbookstore.proto.Ubah file
api_config_anthos.yamldi direktori kerja Anda saat ini (direktori yang sama dengan yang berisibookstore.proto) untuk menambahkan konten berikut ke file:type: google.api.Service config_version: 3 # # Name of the service configuration. # name: API_NAME.endpoints.ESPv2_PROJECT_ID.cloud.goog # # API title to appear in the user interface (Google Cloud console). # title: Bookstore gRPC API In Cloud Run Anthors apis: - name: endpoints.examples.bookstore.Bookstore # # Create a DNS record to map your service name to IP address # endpoints: - name: API_NAME.endpoints.ESPv2_PROJECT_ID.cloud.goog target: IP_ADDRESS # # Specify the backend address to route to # backend: rules: - selector: "*" address: grpc://GRPC_SERVICE.default.svc.cluster.local disable_auth: true # # API usage restrictions. # usage: rules: # ListShelves methods can be called without an API Key. - selector: endpoints.examples.bookstore.Bookstore.ListShelves allow_unregistered_calls: true
Indentasi penting untuk format yaml.
Di kolom
name, tentukan nama domain Cloud Endpoints API yang digunakan untuk mengakses layanan Knative Anda, dalam bentuk:API_NAME.endpoints.ESPv2_PROJECT_ID.cloud.googContoh:
grpc-bookstore-api.endpoints.ESPv2_PROJECT_ID.cloud.googBagian
endpointsmendaftarkan entri DNS untuk layanan Endpoints Anda di domaincloud.goog, dalam bentuk:endpoints: - name: API_NAME.endpoints.ESPv2_PROJECT_ID.cloud.goog target: IP_ADDRESS
IP_ADDRESS adalah IP layanan
istio-ingressuntuk cluster Anda. Untuk menentukan alamat IP ini:Buka halaman Google Kubernetes Engine di konsol Google Cloud :
Klik Services & Ingress di panel navigasi kiri untuk menampilkan daftar layanan.
Jika versi cluster Anda adalah
1.15.3-gke.19atau yang lebih baru,1.14.3-gke.12atau yang lebih baru, atau1.13.10-gke.8atau yang lebih baru, scroll ke bawah ke layananistio-ingress. Untuk semua versi cluster lainnya, scroll ke bawah ke layananistio-ingressgateway.Salin alamat IP eksternal yang ditampilkan di samping Load Balancer, tanpa setelan port, jika ada. Misalnya, jika IP-nya adalah
XX.XXX.XX.XXX:15020, hapus:15020. Abaikan alamat IP lain yang tercantum.
Kolom
addressdi bagianbackendmenentukan nama DNS internal layanan "grpc-bookstore" Cloud Run dengan skema protogrpc://, dan menonaktifkan autentikasi ke layanan ini:address: grpc://GRPC_SERVICE.default.svc.cluster.local disable_auth: true
Contoh:
address: grpc://grpc-bookstore.default.svc.cluster.local disable_auth: true
Hal ini diperlukan karena panggilan dari ESPv2 ke layanan penayangan Knative dilakukan sebagai panggilan internal dari dalam cluster, sehingga autentikasi tidak diperlukan.
Perhatikan nilai properti
titledalam fileapi_config_authos.yaml:title: Bookstore gRPC API In Cloud Run AnthosNilai properti
titlemenjadi nama layanan Endpoints setelah Anda men-deploy konfigurasi.Simpan dokumen gRPC API Anda.
Untuk mengetahui informasi tentang kolom dalam dokumen OpenAPI yang diperlukan Endpoints, lihat Mengonfigurasi Endpoints.
Men-deploy konfigurasi Endpoint
Untuk men-deploy konfigurasi Endpoints, Anda menggunakan perintah gcloud endpoints services deploy. Perintah ini menggunakan Service Management untuk membuat layanan terkelola.
Untuk men-deploy konfigurasi Endpoints:
Pastikan Anda berada di direktori yang berisi dokumen gRPC.
Upload konfigurasi dan buat layanan terkelola.
gcloud endpoints services deploy api_descriptor.pb api_config_anthos.yaml \ --project ESPv2_PROJECT_ID
Tindakan ini akan membuat layanan Endpoints baru dengan nama yang Anda tentukan di kolom
namepada fileapi_config_anthos.yaml. Layanan Endpoints dikonfigurasi sesuai dengan dokumen OpenAPI Anda.Saat membuat dan mengonfigurasi layanan Endpoints, Service Management akan menampilkan informasi ke terminal. Setelah deployment selesai, pesan yang mirip dengan berikut ini akan ditampilkan:
Service Configuration [CONFIG_ID] uploaded for service [API_NAME.endpoints.ESPv2_PROJECT_ID.cloud.goog]
CONFIG_ID adalah ID konfigurasi layanan Endpoints unik yang dibuat oleh deployment. Contoh:
Service Configuration [2019-02-01r0] uploaded for service [grpc-bookstore-api.endpoints.ESPv2_PROJECT_ID.cloud.goog]
ID konfigurasi layanan terdiri dari stempel tanggal yang diikuti dengan nomor revisi. Jika Anda men-deploy
api_config_anthos.yamllagi pada hari yang sama, nomor revisi akan bertambah di ID konfigurasi layanan. Anda dapat melihat konfigurasi layanan dan histori deployment di halaman Endpoints > Services di konsol Google Cloud .Jika Anda menerima pesan error, lihat Memecahkan masalah deployment konfigurasi Endpoints.
Memeriksa layanan yang diperlukan
Minimal, Endpoints dan ESP memerlukan layanan Google berikut diaktifkan:| Nama | Judul |
|---|---|
servicemanagement.googleapis.com |
Service Management API |
servicecontrol.googleapis.com |
Service Control API |
Dalam sebagian besar kasus, perintah gcloud endpoints services deploy mengaktifkan layanan yang diperlukan ini. Namun, perintah gcloud berhasil diselesaikan, tetapi
tidak mengaktifkan layanan yang diperlukan dalam keadaan berikut:
Jika Anda menggunakan aplikasi pihak ketiga seperti Terraform, dan Anda tidak menyertakan layanan ini.
Anda men-deploy konfigurasi Endpoints ke projectGoogle Cloud yang ada dan layanan ini dinonaktifkan secara eksplisit di project tersebut.
Gunakan perintah berikut untuk mengonfirmasi bahwa layanan yang diperlukan sudah diaktifkan:
gcloud services list
Jika Anda tidak melihat layanan yang diperlukan tercantum, aktifkan layanan tersebut:
gcloud services enable servicemanagement.googleapis.com
gcloud services enable servicecontrol.googleapis.comAktifkan juga layanan Endpoints Anda:
gcloud services enable ENDPOINTS_SERVICE_NAME
Untuk menentukan ENDPOINTS_SERVICE_NAME, Anda dapat:
Setelah men-deploy konfigurasi Endpoints, buka halaman Endpoints di Konsol Cloud. Daftar ENDPOINTS_SERVICE_NAME yang mungkin ditampilkan di kolom Nama layanan.
Untuk OpenAPI, ENDPOINTS_SERVICE_NAME adalah yang Anda tentukan di kolom
hostspesifikasi OpenAPI. Untuk gRPC, ENDPOINTS_SERVICE_NAME adalah yang Anda tentukan di kolomnamekonfigurasi gRPC Endpoints.
Untuk mengetahui informasi selengkapnya tentang perintah gcloud, lihat
layanan gcloud.
Membangun image penayangan Knative ESPv2 baru
Buat konfigurasi layanan Endpoints menjadi image Docker ESPv2 baru. Setelah membuat image ini, Anda dapat men-deploy-nya ke cluster.
Untuk membuat konfigurasi layanan menjadi image Docker ESPv2 baru:
Download skrip ini ke komputer lokal tempat gcloud CLI diinstal dan jalankan sebagai:
chmod +x gcloud_build_image
./gcloud_build_image -s API_NAME.endpoints.ESPv2_PROJECT_ID.cloud.goog \ -c CONFIG_ID -p ESPv2_PROJECT_IDSkrip ini menggunakan perintah
gclouduntuk mendownload konfigurasi layanan, membangun konfigurasi layanan menjadi image ESPv2 baru, dan mengupload image baru ke Container Registry project Anda. Skrip otomatis menggunakan rilis ESPv2 terbaru, yang ditunjukkan oleh ESPv2_VERSION dalam nama gambar output. Gambar output diupload ke:gcr.io/ESPv2_PROJECT_ID/endpoints-runtime-serverless:ESPv2_VERSION-API_NAME.endpoints.ESPv2_PROJECT_ID.cloud.goog-CONFIG_ID
Men-deploy image inferensi Knative ESPv2
Deploy image layanan ESPv2 Knative ke cluster Anda:
Deploy layanan penyajian Knative ESPv2 dengan image baru:
gcloud run deploy ESPv2_SERVICE_NAME \ --image="gcr.io/ESPv2_PROJECT_ID/endpoints-runtime-serverless:API_NAME.endpoints.ESPv2_PROJECT_ID.cloud.goog-CONFIG_ID" \ --platform gke \ --use-http2 \ --project=ESPv2_PROJECT_ID
Untuk ESPv2_PROJECT_ID, tentukan nama yang ingin Anda gunakan untuk layanan ESPv2. Dalam contoh ini, tetapkan ESPv2_SERVICE_NAME ke
ESPv2.Jika ingin mengonfigurasi Endpoints untuk menggunakan opsi startup ESPv2 tambahan, seperti mengaktifkan CORS, Anda dapat meneruskan argumen dalam variabel lingkungan
ESPv2_ARGS:gcloud run deploy ESPv2_SERVICE_NAME \ --image="gcr.io/ESPv2_PROJECT_ID/endpoints-runtime-serverless:API_NAME.endpoints.ESPv2_PROJECT_ID.cloud.goog-CONFIG_ID" \ --set-env-vars=ESPv2_ARGS=--cors_preset=basic \ --platform gke --use-http2 \ --project ESPv2_PROJECT_ID
Untuk mengetahui informasi dan contoh selengkapnya tentang cara menyetel variabel lingkungan ESPv2_ARGS, termasuk daftar opsi yang tersedia dan informasi tentang cara menentukan beberapa opsi, lihat Flag Extensible Service Proxy V2.
Membuat pemetaan domain ke layanan penayangan Knative ESPv2
Untuk dapat menghilangkan header host saat Anda membuat permintaan, tambahkan pemetaan domain untuk layanan ESPv2:
Pilih Kelola Domain Kustom.
Pilih Tambahkan Pemetaan.
Dari dropdown, pilih Tambahkan pemetaan domain layanan.
Di kolom Select a service to map to pada pop-up Add mapping, pilih layanan ESPv2 Anda.
Di kolom Enter domain name, tentukan nama domain yang ingin Anda gunakan untuk mengakses layanan Knative melalui Endpoints. Misalnya, tentukan:
API_NAME.endpoints.ESPv2_PROJECT_ID.cloud.goog
Dengan API_NAME adalah nama Endpoints API Anda. Untuk contoh ini, Anda dapat menggunakan "hello-api":
grpc-bookstore-api.endpoints.ESPv2_PROJECT_ID.cloud.goog
Klik Lanjutkan. Ringkasan pemetaan akan muncul.
Pilih Selesai untuk menyimpan pemetaan.
Mengirim permintaan ke API
Untuk mengirim permintaan ke contoh API, Anda dapat menggunakan contoh klien gRPC yang ditulis dalam Python.
Pastikan Anda berada di direktori yang berisi dokumen gRPC, seperti
api_config_anthos.yaml.Instal dependensi:
pip3 install virtualenv
virtualenv envsource env/bin/activatepip3 install -r requirements.txtKirim permintaan ke API contoh:
python3 bookstore_client.py --host API_NAME.endpoints.ESPv2_PROJECT_ID.cloud.goog --port 80
Contoh:
python3 bookstore_client.py --host grpc-bookstore-api.endpoints.ESPv2_PROJECT_ID.cloud.goog --port 80
Jika semuanya berfungsi dengan benar, Anda akan melihat respons dalam bentuk:
ListShelves: shelves { id: 1 theme: "Fiction" } shelves { id: 2 theme: "Fantasy" }
Lihat grafik aktivitas untuk API Anda di halaman Endpoints > Services.
Buka halaman Endpoints Services
Mungkin perlu waktu beberapa saat agar permintaan ditampilkan dalam grafik.
Lihat log permintaan untuk API Anda di halaman Logs Explorer.
Jika Anda tidak mendapatkan respons yang berhasil, lihat Memecahkan masalah error respons.
Anda baru saja men-deploy dan menguji API di Endpoints.
Mengonfigurasi Endpoints API untuk menggunakan HTTPS
Dukungan TLS otomatis dinonaktifkan secara default untuk penayangan Knative di Google Cloud. Oleh karena itu, dalam contoh ini, saat Anda mengakses Endpoints API melalui ESPv2, Anda melakukan panggilan menggunakan HTTP.
Anda dapat mengonfigurasi ESPv2 untuk mendukung permintaan menggunakan HTTPS. Perhatikan bahwa Anda mengonfigurasi dukungan HTTPS di ESPv2, layanan eksternal, bukan di "hello", layanan backend internal.
Untuk mendukung HTTPS dengan ESPv2, Anda harus:
Miliki domain. Jika belum memiliki domain, Anda bisa mendapatkannya dari Google atau dari vendor domain lain.
Buat pemetaan domain untuk layanan ESPv2 Anda dan perbarui data DNS Anda sesuai dengan petunjuk di halaman pemetaan domain.
Jika Anda mendapatkan domain dari Google Domains, gunakan domain tersebut sebagai server DNS Anda. Jika tidak, gunakan Cloud DNS, atau server DNS pilihan Anda. Menggunakan domain dari Google Domains adalah opsi termudah.
Dalam spesifikasi OpenAPI Endpoints:
Tetapkan kolom
nameuntuk merujuk ke domain Anda, bukan ke*.cloud.goog.Hapus tag
endpointsdan dua properti turunannya.
Untuk mengetahui petunjuk dan tutorial lengkapnya, lihat Mengaktifkan HTTPS dan sertifikat TLS otomatis.
Melacak aktivitas API
Lihat grafik aktivitas untuk API Anda di halaman Endpoints > Service di konsol Google Cloud .
Melihat grafik aktivitas Endpoint
Mungkin perlu waktu beberapa saat agar permintaan ditampilkan dalam grafik.
Lihat log permintaan untuk API Anda di halaman Logs Explorer.
Pembersihan
Agar akun Google Cloud Anda tidak dikenai biaya untuk resource yang digunakan pada halaman ini, ikuti langkah-langkah berikut.
Lihat Menghapus API dan instance API untuk mengetahui informasi tentang cara menghentikan layanan yang digunakan oleh tutorial ini.