คุณกำลังดูเอกสารประกอบ Apigee Edge
ไปที่
เอกสารประกอบเกี่ยวกับ Apigee X. ข้อมูล
ตัวอย่างนี้แสดงวิธีใช้อะแดปเตอร์ Apigee สำหรับ Envoy กับ Apigee Edge
ข้อกำหนดเบื้องต้น
ก่อนเริ่มใช้งาน |
---|
|
ภาพรวม
ตัวอย่างนี้อธิบายวิธีใช้อะแดปเตอร์ Apigee สำหรับ Envoy กับ Apigee Edge สำหรับระบบคลาวด์สาธารณะ API การเรียกพร็อกซีจะไหลผ่าน Envoy ซึ่งทำงานเป็นแอปพลิเคชันเนทีฟโดยมี Edge ที่ให้บริการ API ผ่าน Apigee Remote Service สำหรับ Envoy
จัดสรร 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
$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 Remote Service สำหรับ Envoy
คุณเรียกใช้บริการระยะไกลได้ทั้งแบบไบนารีแบบเนทีฟ หรือบน Docker
เรียกใช้บริการตั้งแต่ต้น
เรียกใช้ไบนารีของบริการด้วยไฟล์การกำหนดค่าที่แสดงผลด้วยคำสั่งการจัดสรร ดังนี้
$REMOTE_SERVICE_HOME/apigee-remote-service-envoy -c config_file_path/config.yaml
เรียกใช้บริการบน Docker
อิมเมจ Docker ได้รับการเผยแพร่พร้อมแท็กการเผยแพร่ โปรดใช้เวอร์ชันล่าสุดสำหรับการติดตั้งนี้ มี มีรูปภาพสามรูปแบบให้เลือก:
ความหลากหลาย | รูปภาพ |
---|---|
โหมด Distroless ของ 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 |
ตัวอย่างเช่น หากต้องการเรียกใช้รูปภาพสำหรับขูดกับ 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
โดยไม่ใช้คีย์ APIcurl -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 ที่ข้อมูลอ้างอิง