คุณกําลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X info
ตัวอย่างนี้แสดงวิธีใช้อะแดปเตอร์ Apigee สำหรับ Envoy กับ Apigee Edge
ข้อกำหนดเบื้องต้น
ก่อนเริ่มใช้งาน |
---|
|
ภาพรวม
ตัวอย่างนี้อธิบายวิธีใช้ Apigee Adapter สําหรับ Envoy กับ Apigee Edge สําหรับ Public Cloud การเรียกพร็อกซี API จะส่งผ่าน Envoy ที่ทำงานเป็นแอปพลิเคชันเนทีฟ โดยมี Edge ให้บริการจัดการ API ผ่านบริการระยะไกลของ Apigee สำหรับ Envoy
รูปต่อไปนี้แสดงสถาปัตยกรรมพื้นฐานสำหรับการผสานรวม Apigee Edge
พร็อกซี Envoy และบริการระยะไกลทํางานในเครื่อง Envoy จะจัดการการรับส่งข้อมูล API ไปยังและจากบริการเป้าหมาย และสื่อสารกับบริการระยะไกล บริการระยะไกลยังสื่อสารกับ Apigee Edge Cloud เพื่อดึงข้อมูลผลิตภัณฑ์และพร็อกซีของ API ด้วย
จัดสรร Apigee Edge
ในขั้นตอนนี้ คุณจะใช้ CLI บริการระยะไกลเพื่อจัดสรรอะแดปเตอร์ Apigee สำหรับชิ้นงาน Envoy ไปยัง Apigee Edge คำสั่งการจัดสรรจะติดตั้งใช้งานพร็อกซี API ใน Apigee Edge รวมถึงตั้งค่าใบรับรองใน Apigee และสร้างข้อมูลเข้าสู่ระบบที่บริการระยะไกลจะใช้เพื่อเชื่อมต่อจากระบบของคุณกับ Apigee อย่างปลอดภัย
- ไปที่ไดเรกทอรี
$CLI_HOME
โดยทำดังนี้cd $CLI_HOME
- สร้างตัวแปรสภาพแวดล้อมต่อไปนี้ ระบบจะใช้ตัวแปรเหล่านี้เป็นพารามิเตอร์สำหรับสคริปต์การจัดสรร
export ORG=organization_name
export ENV=environment_name
export USER=your_apigee_username
export PASSWORD=your_apigee_password
สถานที่:
ตัวแปร คำอธิบาย organization_name ชื่อองค์กร Apigee environment_name ชื่อของสภาพแวดล้อมในองค์กรของคุณ your_apigee_username ชื่อผู้ใช้บัญชี Apigee โดยปกติแล้วชื่อผู้ใช้จะเป็นอีเมล your_apigee_password รหัสผ่าน Apigee - เรียกใช้คําสั่งต่อไปนี้เพื่อจัดสรรพร็อกซีบริการระยะไกลใน Apigee Edge
./apigee-remote-service-cli provision --legacy --mfa $MFA --username $USER --password $PASSWORD \ --organization $ORG --environment $ENV > config.yaml
- ตรวจสอบเนื้อหาของไฟล์
config.yaml
ซึ่งควรมีลักษณะดังนี้# 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
ระบบจะใช้ค่าคีย์และค่าลับเพื่อตรวจสอบคําขอจากพร็อกซีบริการระยะไกลไปยัง Apigee Edge
เรียกใช้บริการ Apigee Remote Service สำหรับ Envoy
คุณเรียกใช้บริการระยะไกลเป็นไบนารีดั้งเดิมหรือบน Docker ก็ได้
เรียกใช้บริการตั้งแต่ต้น
เรียกใช้ไบนารีของบริการด้วยไฟล์การกําหนดค่าที่แสดงผลโดยคําสั่งการจัดสรร ดังนี้
$CLI_HOME/apigee-remote-service-envoy -c config_file_path/config.yaml
เรียกใช้บริการใน Docker
รูปภาพ Docker จะเผยแพร่ด้วยแท็กรุ่น โปรดใช้เวอร์ชันล่าสุดสำหรับการติดตั้งนี้ รูปภาพมี 3 รูปแบบให้เลือกดังนี้
ความหลากหลาย | รูปภาพ |
---|---|
Google distroless | gcr.io/distroless/base |
Ubuntu | google/apigee-envoy-adapter:v1.1.0-ubuntu |
Ubuntu ที่มี Boring Crypto | google/apigee-envoy-adapter:v1.1.0-boring |
เช่น หากต้องการเรียกใช้อิมเมจสคริปต์ที่ใช้ config.yaml
ในเครื่องเป็น /config.yaml
ผ่านการต่อเชื่อมวอลุ่ม ให้ใช้คำสั่งนี้
docker run -v ./config.yaml:/config.yaml google/apigee-envoy-adapter:v1.1.0
สร้างตัวอย่างไฟล์การกำหนดค่า
ใช้คำสั่ง apigee-remote-service-cli samples create
เพื่อสร้างไฟล์การกำหนดค่าตัวอย่าง
ในตัวอย่างนี้ คุณต้องมีไฟล์ที่สร้างขึ้นต่อไปนี้
envoy-config.yaml
- การกำหนดค่าการทำให้ใช้งานได้สำหรับบริการ HTTP
วิธีสร้างตัวอย่าง
- ไปที่ไดเรกทอรี
$CLI_HOME
เรียกใช้คําสั่งนี้เพื่อสร้างไฟล์
./apigee-remote-service-cli samples create --template native -c ./config.yaml
ไฟล์ต่อไปนี้จะแสดงผลในไดเรกทอรี
./samples
ls samples envoy-config.yaml
ดูข้อมูลเพิ่มเติมได้ที่คำสั่งลองฟัง
ติดตั้งและเรียกใช้พร็อกซี Envoy
ทําตามขั้นตอนต่อไปนี้เพื่อติดตั้งและเรียกใช้พร็อกซี Envoy
- ดาวน์โหลดไบนารีหรือสร้าง Envoy หรือใช้ Docker
- เรียกใช้ Envoy โดยใช้ตัวอย่างไฟล์การกำหนดค่าที่คุณสร้างไว้ก่อนหน้านี้สำหรับบริการ
httpbin.org
envoy -c $CLI_HOME/samples/envoy-config.yaml
ทดสอบการติดตั้ง
- โทรหาบริการ
httpbin
ดังนี้curl -i http://localhost:8080/httpbin/headers
ตอนนี้ Apigee เป็นผู้จัดการบริการนี้ และเนื่องจากคุณไม่ได้ระบุคีย์ API การเรียกจึงแสดงข้อผิดพลาดต่อไปนี้
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
- กำหนดค่าผลิตภัณฑ์ API และรับคีย์ API ตามที่อธิบายไว้ในวิธีรับคีย์ API
- เรียก API โดยใช้คีย์ ดังนี้
export APIKEY=YOUR_API_KEY
curl -i http://localhost:8080/httpbin/headers -H "x-api-key: $APIKEY"
การเรียกใช้ควรดำเนินการสำเร็จโดยมีสถานะ 200 และแสดงรายการส่วนหัวในการตอบกลับ เช่น
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" } }
ขั้นตอนถัดไป
ตอนนี้ Apigee จัดการการรับส่งข้อมูล API ไปยังบริการ httpbin
แล้ว ฟีเจอร์บางส่วนที่คุณสำรวจและลองใช้ได้มีดังนี้
- หากคุณกำหนดค่าผลิตภัณฑ์ API ตามที่อธิบายไว้ในวิธีขอคีย์ API ระบบจะตั้งค่าขีดจำกัดโควต้าเป็น 5 คำขอต่อนาที ลองเรียกใช้บริการ
httpbin
อีก 2-3 ครั้งเพื่อเรียกใช้โควต้า เมื่อโควต้าหมดลง ระบบจะแสดงข้อผิดพลาด 403 ของสถานะ HTTP - เข้าถึง Apigee Analytics ใน UI ของ Edge ไปที่วิเคราะห์ > เมตริก API > ประสิทธิภาพของพร็อกซี API
- สร้างและใช้โทเค็น JWT เพื่อตรวจสอบสิทธิ์การเรียก API
- ใช้ CLI เพื่อจัดการ สร้างโทเค็น และควบคุมการเชื่อมโยง ดูรายละเอียดเกี่ยวกับ CLI ได้ที่ข้อมูลอ้างอิง