আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন দেখুন। তথ্য
এই উদাহরণে দেখানো হয়েছে কীভাবে Apigee Edge-এর সাথে Apigee Adapter for Envoy ব্যবহার করতে হয়।
পূর্বশর্ত
| শুরু করার আগে: |
|---|
|
|
এক নজরে
এই উদাহরণে কীভাবে পাবলিক ক্লাউডের জন্য Apigee Edge-এর সাথে Apigee Adapter for Envoy ব্যবহার করতে হয় তা ব্যাখ্যা করা হয়েছে। API প্রক্সি কল, Envoy-এর মাধ্যমে ফ্লো করে যা Edge-এর সাথে নেটিভ অ্যাপ্লিকেশন হিসেবে রান করে এবং Envoy-এর জন্য Apigee রিমোট পরিষেবার মাধ্যমে API ম্যানেজমেন্ট পরিষেবা প্রদান করে।
Apigee Edge প্রভিশন করা
এই ধাপে, আপনি Apigee Edge-এ Apigee Adapter for Envoy অ্যাসেট প্রভিশন করার জন্য রিমোট সার্ভিস CLI ব্যবহার করবেন। প্রভিশনিং কমান্ড Apigee Edge-এ একটি API প্রক্সি ডিপ্লয় করে, এছাড়াও, এটি 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 প্রভিশন করতে এই কমান্ড ব্যবহার করুন:
$CLI_HOME/apigee-remote-service-cli provision --legacy --mfa $MFA \ --username $USER --password $PASSWORD --organization $ORG --environment $ENV > config.yaml
আপনি আপগ্রেড করলে, Apigee-এর জন্য প্রভিশন করতে
--force-proxy-installফ্ল্যাগ সহ এই কমান্ড ব্যবহার করুন:$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-এ Remote Service Proxy থেকে আসা অনুরোধ যাচাই করার জন্য কী ও সিক্রেট ভ্যালু ব্যবহার করা হয়।
Envoy পরিষেবার জন্য Apigee Remote Service চালান
আপনি নেটিভ বাইনারি অথবা Docker হিসেবে রিমোট পরিষেবা চালাতে পারবেন।
নেটিভ হিসেবে পরিষেবা রান করানো
প্রভিশনিং কমান্ডের আউটপুট হিসেবে পাওয়া কনফিগারেশন ফাইল সহ পরিষেবা বাইনারি এক্সিকিউট করুন:
$REMOTE_SERVICE_HOME/apigee-remote-service-envoy -c config_file_path/config.yaml
Docker-এ পরিষেবা চালান
রিলিজ ট্যাগ সহ Docker ইমেজ প্রকাশ করা হয়। এই ইনস্টলের জন্য, লেটেস্ট ভার্সন ব্যবহার করুন। বেছে নেওয়ার জন্য তিনটি ছবি ভেরিয়েশন আছে:
| প্রকারভেদ | ছবি |
|---|---|
| Google distroless | google/apigee-envoy-adapter:v2.0.0 |
| Ubuntu | google/apigee-envoy-adapter:v2.0.0-ubuntu |
| Boring Crypto সহ Ubuntu | 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
নমুনা কনফিগারেশন ফাইল তৈরি করা
CLI ব্যবহার করে Envoy কনফিগারেশন ফাইল তৈরি করুন:
- আপনি
$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ফাইল তৈরি করে।
আরও তথ্যের জন্য, Samples কমান্ড দেখুন।
Envoy প্রক্সি ইনস্টল ও রান করা
Envoy প্রক্সি ইনস্টল ও রান করতে এইসব ধাপ অনুসরণ করুন:
- Envoy বাইনারি ডাউনলোড করুন অথবা এটি বিল্ড করুন, অথবা Docker ব্যবহার করুন।
httpbin.orgপরিষেবার জন্য আগে তৈরি করা নমুনা কনফিগারেশন ফাইল ব্যবহার করে Envoy রান করান:envoy -c ./samples/envoy-config.yaml
ইনস্টলেশন পরীক্ষা করা
- API প্রোডাক্ট কনফিগার করুন এবং কীভাবে API কী পাবেন নিবন্ধে যেভাবে বলা হয়েছে সেইভাবে API কী পান।
- API key ছাড়া
httpbinপরিষেবা কল করুন: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_KEYcurl -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" } }
পরবর্তী ধাপ
httpbin পরিষেবায় API ট্রাফিক এখন Apigee ম্যানেজ করে। এখানে
কিছু ফিচার দেওয়া হল যা আপনি এক্সপ্লোর ও ব্যবহার করে দেখতে পারেন:
- আপনি যদি
কীভাবে API কী পাবেন,
লিঙ্কে দেওয়া নির্দেশাবলী অনুযায়ী আপনার API প্রোডাক্ট কনফিগার করে থাকেন, তাহলে কোটা সীমা প্রতি মিনিটে ৫টি অনুরোধ হিসেবে সেট করা হয়েছে। কোটা ট্রিগার করতে
httpbinপরিষেবায় আরও কয়েকবার কল করে দেখুন। কোটা শেষ হয়ে গেলে, HTTP স্ট্যাটাস 403 সমস্যা দেখানো হয়। - Edge UI-তে Apigee Analytics অ্যাক্সেস করুন। বিশ্লেষণ করুন > API মেট্রিক > API প্রক্সি পারফর্ম্যান্স বিকল্পে যান।
- API কল যাচাই করতে JWT টোকেন তৈরি ও ব্যবহার করুন।
- টোকেন ম্যানেজ, তৈরি ও বাইন্ডিং কন্ট্রোল করতে CLI ব্যবহার করুন। CLI সংক্রান্ত বিবরণের জন্য, রেফারেন্স দেখুন।