Anda sedang melihat dokumentasi Apigee Edge.
Buka
Dokumentasi Apigee X. info
Contoh ini menunjukkan cara menggunakan Adaptor Apigee untuk Envoy dengan Apigee Edge.
Prasyarat
Sebelum memulai: |
---|
|
Ringkasan
Contoh ini menjelaskan cara menggunakan Adaptor Apigee untuk Envoy dengan Apigee Edge untuk Cloud Publik. API panggilan proxy mengalir melalui Envoy yang berjalan sebagai aplikasi native dengan Edge yang menyediakan API layanan pengelolaan layanan melalui Apigee Remote Service for Envoy.
Menyediakan Apigee Edge
Pada langkah ini, Anda akan menggunakan Remote Service CLI guna menyediakan Adaptor Apigee untuk aset Envoy Apigee Edge. Perintah penyediaan men-deploy proxy API ke Apigee Edge, dan juga menyiapkan sertifikat pada Apigee dan membuat kredensial yang akan digunakan Remote Service untuk mengamankan hubungkan dari sistem Anda ke Apigee.
- Buka direktori
$CLI_HOME
:cd $CLI_HOME
- Buat variabel lingkungan berikut. Variabel-variabel ini akan
digunakan sebagai
parameter ke skrip penyediaan:
export ORG=organization_name
export ENV=environment_name
export USER=your_apigee_username
export PASSWORD=your_apigee_password
Dalam hal ini:
Variabel Deskripsi organization_name Nama organisasi Apigee Anda. environment_name Nama lingkungan di organisasi Anda. your_apigee_username Nama pengguna akun Apigee Anda. Biasanya nama pengguna adalah alamat email. your_apigee_password Sandi Apigee Anda. - Jalankan perintah berikut untuk menyediakan proxy layanan jarak jauh di Apigee Edge:
Jika Anda tidak melakukan upgrade, gunakan perintah ini untuk menyediakan Apigee:
$CLI_HOME/apigee-remote-service-cli provision --legacy --mfa $MFA \ --username $USER --password $PASSWORD --organization $ORG --environment $ENV > config.yaml
Jika Anda melakukan upgrade, gunakan perintah ini dengan flag
--force-proxy-install
untuk menyediakan Apigee:$CLI_HOME/apigee-remote-service-cli provision --legacy --force-proxy-install --mfa $MFA \ --username $USER --password $PASSWORD --organization $ORG --environment $ENV > config.yaml
- Periksa isi file
config.yaml
. Ini akan terlihat seperti berikut:# Configuration for apigee-remote-service-envoy (platform: SaaS) # generated by apigee-remote-service-cli provision on 2020-08-26 09:43:41 apiVersion: v1 kind: ConfigMap metadata: name: apigee-remote-service-envoy namespace: apigee data: config.yaml: | tenant: internal_api: https://istioservices.apigee.net/edgemicro remote_service_api: https://my-username-test.apigee.net/remote-service org_name: my-org env_name: my-env key: f7e09c32f827cab87b8ce43842ed8467ffd2c58e6f795241e38fe7b1aec7664 secret: 1cb5cca00dfb433cb80b32837451fce4bf694633cddbb73d704517e12b35e75 ...
Nilai kunci dan rahasia digunakan untuk memvalidasi permintaan dari Remote Service Proxy Apigee Edge.
Menjalankan layanan Apigee Remote Service untuk Envoy
Anda dapat menjalankan Layanan Jarak Jauh sebagai biner native atau di Docker.
Menjalankan layanan secara native
Jalankan biner layanan dengan file konfigurasi yang dihasilkan oleh perintah penyediaan:
$REMOTE_SERVICE_HOME/apigee-remote-service-envoy -c config_file_path/config.yaml
Menjalankan layanan di Docker
Image Docker dipublikasikan dengan tag rilis. Untuk penginstalan ini, gunakan versi terbaru. Ada adalah tiga variasi gambar yang dapat dipilih:
Variasi | Gambar |
---|---|
Google distroless | google/apigee-envoy-adapter:v2.0.0 |
Ubuntu | google/apigee-envoy-adapter:v2.0.0-ubuntu |
Ubuntu dengan Boring Crypto | google/apigee-envoy-adapter:v2.0.0-boring |
Misalnya, untuk menjalankan gambar awal dengan config.yaml
lokal yang tersedia sebagai /config.yaml
melalui pemasangan volume, gunakan perintah ini:
docker run -v ./config.yaml:/config.yaml google/apigee-envoy-adapter:v2.0.0
Membuat contoh file konfigurasi
Buat file konfigurasi Envoy menggunakan CLI:
- Pastikan Anda berada di direktori
$ENVOY_HOME
. - Lihat daftar template konfigurasi yang tersedia:
$CLI_HOME/apigee-remote-service-cli samples templates
Jalankan perintah contoh. Untuk TEMPLATE, ganti salah satu template Envoy yang didukung:
$CLI_HOME/apigee-remote-service-cli samples create --template TEMPLATE -c ./config.yaml
Perintah ini membuat file
./samples/envoy-config.yaml
.
Untuk mengetahui informasi selengkapnya, lihat Perintah contoh.
Menginstal dan menjalankan proxy Envoy
Ikuti langkah-langkah berikut untuk menginstal dan menjalankan proxy Envoy:
- Download biner Envoy atau membangunnya, atau gunakan Docker.
- Jalankan Envoy menggunakan contoh file konfigurasi yang Anda buat sebelumnya untuk layanan
httpbin.org
:envoy -c ./samples/envoy-config.yaml
Menguji penginstalan
- Konfigurasi produk API dan dapatkan kunci API seperti yang dijelaskan di Cara mendapatkan kunci API.
- Panggil layanan
httpbin
tanpa kunci API:curl -i http://localhost:8080/headers -H "HOST:httpbin.org"
Layanan sekarang dikelola oleh Apigee, dan karena Anda tidak menyediakan kunci API, panggilan akan mengembalikan {i>error<i} berikut.
curl -i http://localhost:8080/headers -H "HOST:httpbin.org" HTTP/1.1 403 Forbidden date: Tue, 12 May 2020 17:51:36 GMT server: envoy content-length: 0 x-envoy-upstream-service-time: 11
- Lakukan panggilan API menggunakan kunci tersebut:
export APIKEY=YOUR_API_KEY
curl -i http://localhost:8080/headers \ -H "HOST:httpbin.org" -H "x-api-key: $APIKEY"
Panggilan akan berhasil dengan status 200 dan menampilkan daftar header dalam respons. Contoh:
curl -i httpbin.default.svc.cluster.local/headers -H "x-api-key: kyOTalNNLMPfOSy6rnVeclmVSL6pA2zS" HTTP/1.1 200 OK server: envoy date: Tue, 12 May 2020 17:55:34 GMT content-type: application/json content-length: 828 access-control-allow-origin: * access-control-allow-credentials: true x-envoy-upstream-service-time: 301 { "headers": { "Accept": "*/*", "Content-Length": "0", "Host": "httpbin.default.svc.cluster.local", "User-Agent": "curl/7.70.0-DEV", "X-Api-Key": "kyOTalNNLMPfOSy6rneclmVSL6pA2zS", "X-Apigee-Accesstoken": "", "X-Apigee-Api": "httpbin.default.svc.cluster.local", "X-Apigee-Apiproducts": "httpbin", "X-Apigee-Application": "httpbin", "X-Apigee-Authorized": "true", "X-Apigee-Clientid": "kyOTalNNLMPfOSy6rVeclmVSL6pA2zS", "X-Apigee-Developeremail": "user@example.com", "X-Apigee-Environment": "test", "X-Apigee-Organization": "my-org", "X-Apigee-Scope": "", "X-B3-Parentspanid": "1476f9a2329bbdfa", "X-B3-Sampled": "0", "X-B3-Spanid": "1ad5c19bfb4bc96f", "X-B3-Traceid": "6f329a34e8ca07811476f9a2329bbdfa" } }
Langkah berikutnya
Traffic API ke layanan httpbin
kini dikelola oleh Apigee. Berikut
beberapa fitur yang dapat Anda coba dan coba:
- Jika Anda mengonfigurasi produk API seperti yang dijelaskan di
Cara mendapatkan kunci API,
batas kuota ditetapkan menjadi 5 permintaan per menit. Coba panggil layanan
httpbin
beberapa kali lagi untuk memicu kuota. Ketika kuota habis, pesan error 403 status HTTP dikembalikan. - Akses Analisis Apigee di UI Edge. Buka Analyze > Metrik API > API Performa Proxy.
- Membuat dan menggunakan token JWT untuk mengautentikasi panggilan API.
- Gunakan CLI untuk mengelola, membuat token, dan mengontrol binding. Untuk mengetahui detail CLI, lihat Reference.