Anda sedang melihat dokumentasi Apigee Edge.
Buka
dokumentasi Apigee X. info
Contoh ini menunjukkan cara menggunakan Apigee Adapter untuk Envoy dengan Apigee Edge.
Prasyarat
Sebelum memulai: |
---|
|
Ringkasan
Contoh ini menjelaskan cara menggunakan Apigee Adapter untuk Envoy dengan Apigee Edge untuk Public Cloud. Panggilan proxy API mengalir melalui Envoy yang berjalan sebagai aplikasi native dengan Edge yang menyediakan layanan pengelolaan API melalui Apigee Remote Service untuk Envoy.
Gambar berikut menunjukkan arsitektur dasar untuk integrasi Apigee Edge:
Proxy Envoy dan Remote Service berjalan secara lokal. Envoy menangani traffic API ke dan dari layanan target dan berkomunikasi dengan Remote Service. Remote Service juga berkomunikasi dengan Apigee Edge Cloud untuk mengambil informasi produk API dan proxy.
Menyediakan Apigee Edge
Pada langkah ini, Anda akan menggunakan Remote Service CLI untuk menyediakan Apigee Adapter untuk aset Envoy ke Apigee Edge. Perintah penyediaan men-deploy proxy API ke Apigee Edge, dan juga menyiapkan sertifikat di Apigee serta menghasilkan kredensial yang akan digunakan Remote Service untuk terhubung dengan aman dari sistem Anda ke Apigee.
- Buka direktori
$CLI_HOME
:cd $CLI_HOME
- Buat variabel lingkungan berikut. 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
Dengan keterangan:
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:
./apigee-remote-service-cli provision --legacy --mfa $MFA --username $USER --password $PASSWORD \ --organization $ORG --environment $ENV > config.yaml
- Periksa konten file
config.yaml
. Konfigurasinya akan terlihat seperti ini:# 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 ke Apigee Edge.
Menjalankan Apigee Remote Service untuk layanan Envoy
Anda dapat menjalankan Remote Service sebagai biner native atau di Docker.
Menjalankan layanan secara native
Jalankan biner layanan dengan file konfigurasi yang dihasilkan oleh perintah penyediaan:
$CLI_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 tiga variasi gambar yang dapat dipilih:
Variasi | Gambar |
---|---|
Tanpa distro dari Google | gcr.io/distroless/base |
Ubuntu | google/apigee-envoy-adapter:v1.1.0-ubuntu |
Ubuntu dengan Kripto yang Membosan | google/apigee-envoy-adapter:v1.1.0-boring |
Misalnya, untuk menjalankan image scratch 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:v1.1.0
Membuat contoh file konfigurasi
Gunakan perintah apigee-remote-service-cli samples create
untuk menghasilkan contoh file konfigurasi.
Untuk contoh ini, Anda memerlukan file yang dihasilkan ini:
envoy-config.yaml
- Konfigurasi deployment untuk layanan HTTP.
Untuk membuat contoh:
- Buka direktori
$CLI_HOME
. Jalankan perintah ini untuk membuat file:
./apigee-remote-service-cli samples create --template native -c ./config.yaml
File berikut adalah output direktori
./samples
:ls samples envoy-config.yaml
Untuk mengetahui informasi selengkapnya, lihat Perintah sample.
Menginstal dan menjalankan proxy Envoy
Ikuti langkah-langkah berikut untuk menginstal dan menjalankan proxy Envoy:
- Download Envoy binary atau buat Envoy, atau gunakan Docker.
- Jalankan Envoy menggunakan contoh file konfigurasi yang Anda buat sebelumnya untuk layanan
httpbin.org
:envoy -c $CLI_HOME/samples/envoy-config.yaml
Menguji penginstalan
- Panggil layanan
httpbin
:curl -i http://localhost:8080/httpbin/headers
Layanan ini sekarang dikelola oleh Apigee, dan karena Anda tidak memberikan kunci API, panggilan akan menampilkan error berikut.
curl -i http://localhost:8080/httpbin/headers 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
- Konfigurasi produk API dan dapatkan kunci API seperti yang dijelaskan dalam Cara mendapatkan kunci API.
- Lakukan panggilan API menggunakan kunci:
export APIKEY=YOUR_API_KEY
curl -i http://localhost:8080/httpbin/headers -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 jelajahi dan coba:
- Jika Anda mengonfigurasi produk API seperti yang dijelaskan di Cara mendapatkan kunci API, batas kuota telah ditetapkan menjadi 5 permintaan per menit. Coba panggil layanan
httpbin
beberapa kali untuk memicu kuota. Jika kuota habis, error status HTTP 403 akan ditampilkan. - Akses Analisis Apigee di UI Edge. Buka Analyze > API Metrics > API Proxy Performance.
- Membuat dan menggunakan token JWT untuk mengautentikasi panggilan API.
- Gunakan CLI untuk mengelola, membuat token, dan mengontrol binding. Untuk detail CLI, lihat Referensi.