درحال مشاهده اسناد Apigee Edge هستید.
به
اسناد Apigee X بروید. اطلاعات
این مثال نحوه استفاده از «وقثدهنده Apigee برای Envoy» را با Apigee Edge نشان میدهد.
پیشنیازها
| قبلاز شروع: |
|---|
|
|
نمای کلی
این مثال توضیح میدهد که چگونه از «وقثدهنده Apigee برای Envoy» با Apigee Edge برای «ابر عمومی» استفاده کنید. جریان تماسهای پراکسی API ازطریق Envoy که بهعنوان برنامه بومی با Edge اجرا میشود انجام میشود و Edge خدمات مدیریت API را ازطریق «سرویس راه دور Apigee برای Envoy» ارائه میدهد.
شکل زیر معماری پایه برای یکپارچهسازی Apigee Edge را نشان میدهد:

پراکسی Envoy و «سرویس ازراهدور» بهصورت محلی اجرا میشوند. Envoy ترافیک میانای برنامهسازی کاربردی را به سرویس هدف و از آن مدیریت میکند و با «سرویس ازراهدور» ارتباط برقرار میکند. «سرویس راه دور» همچنین با Apigee Edge Cloud ارتباط برقرار میکند تا اطلاعات محصول و پراکسی API را بازیابی کند.
تأمین Apigee Edge
در این مرحله، از «میانای خط فرمان سرویس از دور» برای آمادهسازی داراییهای «سازگار Apigee برای Envoy» در Apigee Edge استفاده خواهید کرد. فرمان آمادهسازی یک پراکسی API را در Apigee Edge مستقر میکند، و همچنین گواهینامهای را در Apigee راهاندازی میکند و اطلاعات اعتباری تولید میکند که «سرویس ازراهدور» از آن برای اتصال ایمن از سیستم شما به Apigee استفاده خواهد کرد.
- به فهرست راهنمای
$CLI_HOMEبروید:cd $CLI_HOME
- متغیرهای محیط زیر را ایجاد کنید. این متغیرها بهعنوان
پارامترهای اسکریپت آمادهسازی استفاده خواهند شد:
export ORG=organization_nameexport ENV=environment_nameexport USER=your_apigee_usernameexport 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 برای Envoy»
میتوانید «سرویس از دور» را هم بهعنوان باینری بومی و هم در Docker اجرا کنید.
اجرای بومی سرویس
فایل اجرایی سرویس را با فایل پیکربندی که توسط فرمان آمادهسازی برونداد شده است اجرا کنید:
$REMOTE_SERVICE_HOME/apigee-remote-service-envoy -c config_file_path/config.yaml
اجرای سرویس در Docker
تصاویر Docker با برچسبهای انتشار منتشر میشوند. برای این نصب، از جدیدترین نسخه استفاده کنید. سه تنوع تصویر برای انتخاب وجود دارد:
| گونه | تصویر |
|---|---|
| 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 |
برای مثال، برای اجرای تصویر 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، این مراحل را دنبال کنید:
- باینری Envoy را بارگیری کنید یا آن را بسازید، یا از Docker استفاده کنید.
- Envoy را بااستفاده از فایل پیکربندی نمونهای که قبلاً برای سرویس
httpbin.orgتولید کردهاید اجرا کنید:envoy -c $CLI_HOME/samples/envoy-config.yaml
آزمودن نصب
- با سرویس
httpbinتماس بگیرید:curl -i http://localhost:8080/httpbin/headers -H "HOST:httpbin.org"
اکنون این سرویس توسط Apigee مدیریت میشود و چون کلید API ارائه ندادهاید، تماس خطای زیر را برمیگرداند.
curl -i http://localhost:8080/httpbin/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_KEYcurl -i http://localhost:8080/httpbin/headers \ -H "HOST:httpbin.org" -H "x-api-key: $APIKEY"تماس باید با وضعیت ۲۰۰ موفقیتآمیز باشد و فهرستی از سرایندها را در پاسخ برگرداند. برای مثال:
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 توضیح داده شده است پیکربندی کرده باشید،
حد سهمیه روی ۵ درخواست در دقیقه تنظیم شده است. چند بار دیگر با سرویس
httpbinتماس بگیرید تا سهمیه را راهاندازی کنید. وقتی سهمیه تمام میشود، خطای وضعیت HTTP 403 برگردانده میشود. - در «واسط کاربر Edge» به Apigee Analytics دسترسی پیدا کنید. به تجزیهوتحلیل > سنجههای API > API عملکرد پراکسی بروید.
- برای اصالتسنجی تماسهای API، نشانههای JWT تولید و استفاده کنید.
- از CLI برای مدیریت، ایجاد نشانها، و کنترل پیوندها استفاده کنید. برای جزئیات «میانای خط فرمان»، مرجع را ببینید.