คุณกำลังดูเอกสารประกอบสำหรับ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X info
ตัวอย่างนี้แสดงวิธีใช้อะแดปเตอร์ Apigee สำหรับ Envoy กับ Apigee Edge
ข้อกำหนดเบื้องต้น
ก่อนเริ่มใช้งาน |
---|
|
ภาพรวม
ตัวอย่างนี้อธิบายวิธีใช้อะแดปเตอร์ Apigee สำหรับ Envoy กับ Apigee Edge สำหรับระบบคลาวด์สาธารณะ การเรียกพร็อกซี API จะส่งผ่าน Envoy ที่ทำงานเป็นแอปพลิเคชันเนทีฟ โดยมี Edge ให้บริการจัดการ API ผ่านบริการระยะไกลของ Apigee สำหรับ Envoy
จัดสรร 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
$CLI_HOME/apigee-remote-service-cli provision --legacy --mfa $MFA \ --username $USER --password $PASSWORD --organization $ORG --environment $ENV > config.yaml
หากจะอัปเกรด ให้ใช้คําสั่งนี้พร้อม Flag
--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 distroless | 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
เรียกใช้คำสั่ง samples สำหรับ TEMPLATE ให้ใช้เทมเพลต Envoy ที่รองรับรายการใดรายการหนึ่งต่อไปนี้
$CLI_HOME/apigee-remote-service-cli samples create --template TEMPLATE -c ./config.yaml
คำสั่งจะสร้างไฟล์
./samples/envoy-config.yaml
ดูข้อมูลเพิ่มเติมได้ที่คำสั่งลองฟัง
ติดตั้งและเรียกใช้พร็อกซี Envoy
ทําตามขั้นตอนต่อไปนี้เพื่อติดตั้งและเรียกใช้พร็อกซี Envoy
- ดาวน์โหลด Binary ของ 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" } }
ขั้นตอนถัดไป
ตอนนี้ Apigee ได้จัดการการรับส่งข้อมูล API ไปยังบริการ httpbin
แล้ว ต่อไปนี้คือฟีเจอร์บางส่วนที่คุณสำรวจและลองใช้ได้
- หากคุณกำหนดค่าผลิตภัณฑ์ API ตามที่อธิบายไว้ในวิธีขอคีย์ API ระบบจะตั้งค่าขีดจำกัดโควต้าเป็น 5 คำขอต่อนาที ลองเรียกใช้
httpbin
บริการอีก 2-3 ครั้งเพื่อเรียกใช้โควต้า เมื่อหมดโควต้าแล้ว ระบบจะแสดงข้อผิดพลาด 403 ของสถานะ HTTP - เข้าถึงข้อมูลวิเคราะห์ Apigee ใน Edge UI ไปที่วิเคราะห์ > เมตริก API > ประสิทธิภาพของ API
- สร้างและใช้โทเค็น JWT เพื่อตรวจสอบสิทธิ์การเรียก API
- ใช้ CLI เพื่อจัดการ สร้างโทเค็น และควบคุมการเชื่อมโยง ดูรายละเอียดเกี่ยวกับ CLI ได้ที่ข้อมูลอ้างอิง