यहां Apigee Edge के दस्तावेज़ देखे जा रहे हैं.
पर जाएं
Apigee X दस्तावेज़. info
इस उदाहरण में, Apigee Edge के साथ Apigee Adapter for Envoy का इस्तेमाल करने का तरीका बताया गया है.
ज़रूरी शर्तें
| शुरू करने से पहले: |
|---|
|
|
खास जानकारी
इस उदाहरण में, Apigee Edge Public Cloud के साथ Apigee Adapter for Envoy का इस्तेमाल करने का तरीका बताया गया है. एपीआई प्रॉक्सी कॉल, Envoy के ज़रिए फ़्लो होती हैं. Envoy, नेटिव ऐप्लिकेशन के तौर पर काम करता है. वहीं, Edge, Envoy के लिए Apigee Remote Service के ज़रिए एपीआई मैनेजमेंट सेवाएं उपलब्ध कराता है.
यहां दी गई इमेज में, Apigee Edge इंटिग्रेशन का बुनियादी आर्किटेक्चर दिखाया गया है:

Envoy प्रॉक्सी और रिमोट सेवा, स्थानीय तौर पर काम कर रही हैं. Envoy, टारगेट सेवा पर आने-जाने वाले एपीआई ट्रैफ़िक को मैनेज करता है और रिमोट सेवा से कम्यूनिकेट करता है. रिमोट सेवा, Apigee Edge Cloud से भी कम्यूनिकेट करती है , ताकि एपीआई प्रॉडक्ट और प्रॉक्सी की जानकारी हासिल की जा सके.
Apigee Edge की सुविधा चालू करना
इस चरण में, Apigee Edge पर Apigee Adapter for Envoy की ऐसेट की सुविधा चालू करने के लिए, रिमोट सेवा के सीएलआई का इस्तेमाल किया जाएगा. सुविधा चालू करने का निर्देश, 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यहां
$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 पर रिमोट सेवा की प्रॉक्सी से मिले अनुरोधों की पुष्टि करने के लिए किया जाता है.
Envoy के लिए Apigee Remote Service की सेवा चलाना
रिमोट सेवा को नेटिव बाइनरी के तौर पर या 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 |
| Boring Crypto के साथ Ubuntu | google/apigee-envoy-adapter:v1.1.0-boring |
उदाहरण के लिए, वॉल्यूम माउंट के ज़रिए /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- एचटीटीपी सेवा के लिए डिप्लॉयमेंट कॉन्फ़िगरेशन.
सैंपल जनरेट करने के लिए:
$CLI_HOMEडायरेक्ट्री पर जाएं.फ़ाइलें जनरेट करने के लिए, यह निर्देश चलाएं:
फ़्लैग तय करें./apigee-remote-service-cli samples create --template native -c ./config.yaml
यहां दी गई फ़ाइलें,
./samplesडायरेक्ट्री में आउटपुट होती हैं:ls samples envoy-config.yaml
ज़्यादा जानकारी के लिए, Samples command देखें.
Envoy प्रॉक्सी को इंस्टॉल और चलाना
Envoy प्रॉक्सी को इंस्टॉल और चलाने के लिए, यह तरीका अपनाएं:
- Envoy की बाइनरी डाउनलोड करें या उसे बनाएं या Docker का इस्तेमाल करें.
httpbin.orgसेवा के लिए, पहले जनरेट की गई सैंपल कॉन्फ़िगरेशन फ़ाइल का इस्तेमाल करके Envoy चलाएं:envoy -c $CLI_HOME/samples/envoy-config.yaml
इंस्टॉलेशन की जांच करना
httpbinसेवा को कॉल करें:curl -i http://localhost:8080/httpbin/headers
अब इस सेवा को Apigee मैनेज कर रहा है. साथ ही, आपने एपीआई पासकोड नहीं दिया है. इसलिए, कॉल करने पर यह गड़बड़ी दिखती है.
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
- एपीआई प्रॉडक्ट कॉन्फ़िगर करें और एपीआई पासकोड पाएं. इसके लिए, एपीआई पासकोड पाने का तरीका लेख पढ़ें.
- पासकोड का इस्तेमाल करके, एपीआई कॉल करें:
export APIKEY=YOUR_API_KEYcurl -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" } }
अगले चरण
httpbin सेवा पर आने वाले एपीआई ट्रैफ़िक को अब Apigee मैनेज कर रहा है. यहां कुछ ऐसी सुविधाएं दी गई हैं जिन्हें एक्सप्लोर और आज़माया जा सकता है:
- अगर आपने
एपीआई पासकोड पाने का तरीका लेख में बताए गए तरीके से, एपीआई प्रॉडक्ट को कॉन्फ़िगर किया है, तो हर मिनट में पांच अनुरोधों की तय सीमा सेट की गई है. तय सीमा को ट्रिगर करने के लिए,
httpbinसेवा को कुछ और बार कॉल करें. तय सीमा खत्म होने पर, एचटीटीपी स्टेटस 403 गड़बड़ी दिखती है. - Edge यूज़र इंटरफ़ेस (यूआई) में, Apigee Analytics को ऐक्सेस करें. विश्लेषण करें > एपीआई के आंकड़े > एपीआई प्रॉक्सी की परफ़ॉर्मेंस पर जाएं.
- एपीआई कॉल की पुष्टि करने के लिए, JWT टोकन जनरेट करें और उनका इस्तेमाल करें.
- टोकन मैनेज करने, बनाने, और बाइंडिंग कंट्रोल करने के लिए, सीएलआई का इस्तेमाल करें. सीएलआई के बारे में ज़्यादा जानने के लिए, रेफ़रंस देखें.