คุณกําลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบเกี่ยวกับ Apigee Xข้อมูล
ตัวอย่างนี้แสดงวิธีใช้ Apigee Adapter สําหรับ 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 Adapter สำหรับชิ้นงาน 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
โดยที่
$MFA
คือโทเค็นการให้สิทธิ์แบบหลายปัจจัยของ Apigee - ตรวจสอบเนื้อหาของไฟล์
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 รูปแบบให้เลือกดังนี้
ความหลากหลาย | รูปภาพ |
---|---|
โหมด Distroless ของ Google | gcr.io/distroless/base |
Ubuntu | google/apigee-envoy-adapter:v1.1.0-ubuntu |
Ubuntu ที่มี Boring Crypto | google/apigee-envoy-adapter:v1.1.0-boring |
เช่น หากต้องการเรียกใช้อิมเมจ Scratch ด้วย 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
- ดาวน์โหลด Binary ของ 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 ครั้งเพื่อเรียกใช้โควต้า เมื่อโควต้าหมด ระบบจะแสดงข้อผิดพลาดสถานะ HTTP 403 - เข้าถึง Apigee Analytics ใน UI ของ Edge ไปที่วิเคราะห์ > เมตริก API > ประสิทธิภาพของ API
- สร้างและใช้โทเค็น JWT เพื่อตรวจสอบสิทธิ์การเรียก API
- ใช้ CLI เพื่อจัดการ สร้างโทเค็น และควบคุมการเชื่อมโยง ดูรายละเอียดเกี่ยวกับ CLI ได้ที่ข้อมูลอ้างอิง