คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X ข้อมูล
ตัวอย่างนี้แสดงวิธีใช้ Apigee Adapter สำหรับ Envoy กับ Apigee Edge
ข้อกำหนดเบื้องต้น
ก่อนเริ่มใช้งาน |
---|
|
ภาพรวม
ตัวอย่างนี้อธิบายวิธีใช้อะแดปเตอร์ Apigee สำหรับ Envoy กับ Apigee Edge สำหรับระบบคลาวด์สาธารณะ การเรียกพร็อกซี API จะส่งผ่าน Envoy ที่ทำงานเป็นแอปพลิเคชันเนทีฟด้วย Edge ซึ่งให้บริการการจัดการ API ผ่านบริการระยะไกลของ Apigee สำหรับ Envoy
การจัดสรร Apigee Edge
ในขั้นตอนนี้ คุณจะใช้ Remote Service 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
$CLI_HOME/apigee-remote-service-cli provision --legacy --mfa $MFA \ --username $USER --password $PASSWORD --organization $ORG --environment $ENV > config.yaml
หากคุณกำลังอัปเกรด ให้ใช้คำสั่งนี้กับแฟล็ก
--force-proxy-install
เพื่อจัดสรร Apigee$CLI_HOME/apigee-remote-service-cli provision --legacy --force-proxy-install --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 สำหรับบริการ Envoy
คุณเรียกใช้บริการระยะไกลเป็นไบนารีแบบเนทีฟหรือบน Docker ก็ได้
เรียกใช้บริการจากเครื่องของคุณเอง
เรียกใช้ไบนารีบริการด้วยไฟล์การกำหนดค่าที่เป็นเอาต์พุตจากคำสั่งการจัดสรร:
$REMOTE_SERVICE_HOME/apigee-remote-service-envoy -c config_file_path/config.yaml
เรียกใช้บริการบน Docker
อิมเมจ Docker เผยแพร่พร้อมแท็กรุ่น ใช้เวอร์ชันล่าสุดสำหรับการติดตั้งนี้ มีรูปภาพ 3 แบบให้เลือก ได้แก่
ความหลากหลาย | รูปภาพ |
---|---|
แบบดิสโทรเลสของ Google | google/apigee-envoy-adapter:v2.0.0 |
Ubuntu | google/apigee-envoy-adapter:v2.0.0-ubuntu |
Ubuntu ที่มี Boring Crypto | google/apigee-envoy-adapter:v2.0.0-boring |
เช่น หากต้องการเรียกใช้อิมเมจ Scratch ด้วย config.yaml
ในเครื่องที่พร้อมใช้งานเป็น /config.yaml
ผ่านตัวต่อเชื่อมวอลุ่ม ให้ใช้คำสั่งนี้
docker run -v ./config.yaml:/config.yaml google/apigee-envoy-adapter:v2.0.0
สร้างไฟล์การกำหนดค่าตัวอย่าง
สร้างไฟล์การกำหนดค่า Envoy โดยใช้ CLI:
- ตรวจสอบว่าคุณอยู่ในไดเรกทอรี
$ENVOY_HOME
- แสดงรายการเทมเพลตการกำหนดค่าที่ใช้ได้ ดังนี้
$CLI_HOME/apigee-remote-service-cli samples templates
เรียกใช้คำสั่ง "ตัวอย่าง" สำหรับ TEMPLATE ให้แทนที่เทมเพลต Envoy ที่รองรับรายการใดรายการหนึ่งต่อไปนี้
$CLI_HOME/apigee-remote-service-cli samples create --template TEMPLATE -c ./config.yaml
คำสั่งจะสร้างไฟล์
./samples/envoy-config.yaml
ดูข้อมูลเพิ่มเติมได้ที่คำสั่งตัวอย่าง
ติดตั้งและเรียกใช้พร็อกซี Envoy
ทำตามขั้นตอนต่อไปนี้เพื่อติดตั้งและเรียกใช้พร็อกซี Envoy
- ดาวน์โหลดไบนารี Envoy หรือสร้างคีย์ดังกล่าว หรือใช้ Docker
- เรียกใช้ Envoy โดยใช้ไฟล์การกำหนดค่าตัวอย่างที่คุณสร้างไว้ก่อนหน้านี้สำหรับบริการ
httpbin.org
:envoy -c ./samples/envoy-config.yaml
ทดสอบการติดตั้ง
- กำหนดค่าผลิตภัณฑ์ API และรับคีย์ API ตามที่อธิบายไว้ในวิธีรับคีย์ API
- เรียกใช้บริการ
httpbin
โดยไม่มีคีย์ API:curl -i http://localhost:8080/headers -H "HOST:httpbin.org"
ตอนนี้บริการได้รับการจัดการโดย Apigee และเนื่องจากคุณไม่ได้ระบุคีย์ API การเรียกแสดงข้อผิดพลาดต่อไปนี้
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
- เรียก API โดยใช้คีย์:
export APIKEY=YOUR_API_KEY
curl -i http://localhost:8080/headers \ -H "HOST:httpbin.org" -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" } }
ขั้นตอนถัดไป
ตอนนี้การรับส่งข้อมูล API ไปยังบริการ httpbin
ได้รับการจัดการโดย Apigee ตัวอย่างฟีเจอร์ที่คุณสำรวจและลองใช้ได้มีดังนี้
- หากคุณกำหนดค่าผลิตภัณฑ์ API ตามที่อธิบายไว้ในวิธีรับคีย์ API ระบบจะตั้งค่าขีดจำกัดโควต้าไว้ที่ 5 คำขอต่อนาที ลองเรียกใช้บริการ
httpbin
อีก 2-3 ครั้งเพื่อเรียกใช้โควต้า เมื่อโควต้าหมด ระบบจะแสดงข้อผิดพลาดสถานะ HTTP 403 - เข้าถึงข้อมูลวิเคราะห์ของ Apigee ใน UI ของ Edge ไปที่วิเคราะห์ > เมตริก API > ประสิทธิภาพพร็อกซี API
- สร้างและใช้โทเค็น JWT เพื่อตรวจสอบสิทธิ์การเรียก API
- ใช้ CLI เพื่อจัดการ สร้างโทเค็น และควบคุมการเชื่อมโยง โปรดดูรายละเอียด CLI ที่ข้อมูลอ้างอิง