এজ মাইক্রোগেটওয়ে সেট আপ এবং কনফিগার করা হচ্ছে

আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন
.info- তে যান।

Edge Microgateway v. 3.1.5 এবং পরবর্তী সংস্করণ

সংক্ষিপ্ত বিবরণ

এই সেটআপ গাইডের ধাপগুলো সম্পন্ন করার পর, আপনার কাছে একটি সম্পূর্ণ কনফিগার করা ও কার্যকর এজ মাইক্রোগেটওয়ে ইনস্টলেশন থাকবে যা এপিআই অনুরোধগুলো প্রসেস করতে সক্ষম। আপনি এজ মাইক্রোগেটওয়ের মাধ্যমে একটি ব্যাকএন্ড টার্গেটে সুরক্ষিত এপিআই কল করে সেটআপটি পরীক্ষা করবেন। এছাড়াও আপনি শিখবেন কীভাবে মাইক্রোগেটওয়েতে একটি স্পাইক অ্যারেস্ট প্লাগইন যোগ করতে হয়।

এই নির্দেশিকাটি নিম্নলিখিত অংশগুলিতে বিভক্ত:

পূর্বশর্ত: Edge Microgateway ইনস্টল করুন

Edge Microgateway ইনস্টল করার নির্দেশাবলী অনুসরণ করুন। ইনস্টলেশন সম্পন্ন হলে, আপনি এই টিউটোরিয়ালের ধাপগুলো অনুসরণ করার জন্য প্রস্তুত হয়ে যাবেন।

পর্ব ১: এজ মাইক্রোগেটওয়ে কনফিগার করুন

এই অংশে আপনি Apigee Edge-এর সাথে যোগাযোগের জন্য Edge Microgateway কনফিগার করতে একটি কমান্ড-লাইন ইন্টারফেস (CLI) কমান্ড ব্যবহার করবেন।

Apigee Edge Cloud কনফিগারেশনের ধাপসমূহ

Apigee Edge Cloud-এর সাথে Edge Microgateway ব্যবহার করতে এই ধাপগুলো অনুসরণ করুন:

  1. Edge মাইক্রোগেটওয়ে চালু করুন (এই ধাপটি আপনাকে শুধুমাত্র একবার করতে হবে):
    edgemicro init
  2. আপনার হোম ডিরেক্টরির .edgemicro নামক একটি সাবডিরেক্টরিতে default.yaml নামের একটি কনফিগারেশন ফাইল রাখা হয়েছে। ফাইলটি যে আছে, তা নিশ্চিত করতে এখন পরীক্ষা করুন:
    ls ~/.edgemicro
    default.yaml

    দ্রষ্টব্য: Edge Microgateway-এর ডকুমেন্টেশনে, আমরা হোম ডিরেক্টরিকে টিল্ড ( ~ ) চিহ্ন দিয়ে বোঝাই, যা একটি UNIX শর্টকাট। আপনি যদি Windows ব্যবহার করেন এবং এমন কোনো শেল চালান যা টিল্ড সমর্থন করে না, তাহলে হোম ডিরেক্টরি উল্লেখকারী কমান্ডগুলিতে টিল্ডের পরিবর্তে আপনাকে উপযুক্ত এনভায়রনমেন্ট ভেরিয়েবল ব্যবহার করতে হবে। উদাহরণস্বরূপ: %USERPROFILE%/.edgemicro .

  3. সকল CLI কমান্ডের একটি হেল্প ফাংশন আছে। edgemicro configure কমান্ডের জন্য হেল্প প্রিন্ট করুন:
    edgemicro configure -h
  4. Edge Microgateway কনফিগার করতে নিম্নলিখিত কমান্ডটি চালান:
    edgemicro configure -o [org] -e [env] -u [username] 

    কোথায়:

    • org: আপনার Edge অর্গানাইজেশনের নাম (আপনাকে অবশ্যই একজন অর্গ অ্যাডমিনিস্ট্রেটর হতে হবে)।
    • env: আপনার প্রতিষ্ঠানের একটি পরিবেশ (যেমন test বা prod)।
    • username: আপনার Apigee অ্যাকাউন্টের সাথে যুক্ত ইমেল ঠিকানা।

      দ্রষ্টব্য: কনফিগার কমান্ড অতিরিক্ত প্যারামিটার ব্যবহারের সুযোগ দেয়। সম্পূর্ণ তালিকার জন্য, Apigee Edge Cloud-এর জন্য Edge Microgateway কনফিগার করা দেখুন।

উদাহরণ

edgemicro configure -o docs -e test -u jdoe@example.com

আউটপুট

./edgemicro configure -o docs -e test -u jdoe@apigee.com
password:
current nodejs version is v12.5.0
current edgemicro version is 3.1.0
password:
file doesn't exist, setting up
Give me a minute or two... this can take a while...
App edgemicro-auth deployed.
checking org for existing KVM
error checking for cert. Installing new cert.
creating KVM
adding private_key
adding public_key
configuring host edgemicroservices-us-east-1.apigee.net for region us-east-1

saving configuration information to: $HOME/.edgemicro/docs-test-config.yaml

vault info:
 -----BEGIN CERTIFICATE-----
MIICpDCCAYwCCQCQ2mJZJGbPPTANBgkqhkiG9w0BAQsFADAUMRIwEAYDVQQDEwls
b2NhbGhvc3QwHhcNMTcwOTA3MjA0ODA4WhcNMTcwOTA4MjA0ODA4WjAUMRIwEAYD
VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDw
yzmqi5CelqqtTr6IaFe1ssrMXEDnNtkBh95U6F5zHLsNQhJcyNUAO9um6FLMSqSd
fTztXfWUZzDgmbb6sfbx/9cqpvQ8TIjxyIz8xGM9H4legRQmsCQoYGkLjpPE5ZOa
wZrI5IaVm8LY6vbopPFwxgKOQ9bphx6k9Na055DmNyZAOTMD+4I0m/RdsrnZnYih
3DaFj1tXHKZI1jfAt/QOif5Nmk4+JckYwF+9HBysWUbbvj/gnBjVYF2Isb7q7oFD
lPGhwFoIebMqHMWD8lG7+9RJDO9dDV6f1g1/9waIrq1D+MoVXos9VMstNrPp0cKF
Ue+lAkct8tylH+2MosF7AgMBAAEwDQYJKoZIhvcNAQELBQADggEBAJMRdcQh3ayy
csVVT4TYwxV7MKWRfhDRz6X+MM9frB+Z7sI4+ZoZbXKOoZI2hSjmbdLpkNR/m9eJ
+1Uk0JKmpSY7Q+1rRrvcHsWNysGf4z+zDJXYECTrtSnXKBXtb9SJ8JAfoZOQD0lA
zmKuJjQMLTdiYMHOBR6ZWnaKaRvrQwGHcQrheJm4a90XgZF6jcRR8CPrBzkmsbCp
IU/Ux3E17wDGYPxjJs5otyQG8rN/88RGyaSeXK8rjKr9D4KFGJeasXBKmTG2afAr
yfBvS4h6s42FCOR/eLpmMllVoO9up71Fa3EtV+aK+FNNY9uMbgUHeLQE7z9nn06q
PTmvExZLkLQ=
-----END CERTIFICATE-----

The following credentials are required to start edge micro
  key: 27ee39567c75e4567a66236cbd4e86d1cc93df6481454301bd5fac4d3497fcbb
  secret: 4618b0008a6185d7327ebf53bee3c50282ccf45a3cceb1ed9828bfbcf1148b47
    

Apigee প্রাইভেট ক্লাউড কনফিগারেশনের ধাপসমূহ

Apigee প্রাইভেট ক্লাউডের সাথে Edge মাইক্রোগেটওয়ে ব্যবহার করতে এই ধাপগুলো অনুসরণ করুন:

  1. Edge মাইক্রোগেটওয়ে চালু করুন (এই ধাপটি আপনাকে শুধুমাত্র একবার করতে হবে):
    edgemicro init
  2. edgemicro private configure কমান্ডের জন্য সাহায্য তথ্য প্রিন্ট করুন। আপনি যেকোনো Edge Microgateway CLI কমান্ড বা কমান্ড অপশনের জন্য এইভাবে সাহায্য প্রিন্ট করতে পারেন।
    edgemicro private configure -h
  3. নিম্নলিখিত কমান্ডটি চালান। এর জন্য আপনার Apigee Edge Private Cloud অ্যাকাউন্টের সাধারণ তথ্য প্রয়োজন: অর্গানাইজেশন নেম, এনভায়রনমেন্ট নেম, ইউজারনেম (ইমেল অ্যাড্রেস), পাসওয়ার্ড, ম্যানেজমেন্ট সার্ভার আইপি এবং রাউটার আইপি। এই কমান্ডটি ব্যবহার করার জন্য আপনাকে অবশ্যই একজন Edge অর্গানাইজেশন অ্যাডমিনিস্ট্রেটর হতে হবে।
    edgemicro private configure -o [org] -e [env] -u [username] -r [runtime_url] -m [mgmt_url] -v [virtual_host]

    কোথায়:

    • org হলো আপনার Edge অর্গানাইজেশনের নাম (আপনাকে অবশ্যই একজন অর্গ অ্যাডমিনিস্ট্রেটর হতে হবে)।
    • env হলো আপনার সংস্থার একটি পরিবেশ (যেমন test বা prod)।
    • runtime_url হলো আপনার প্রাইভেট ক্লাউড ইনস্ট্যান্সের রানটাইম ইউআরএল।
    • mgmt_url হলো আপনার প্রাইভেট ক্লাউড ইনস্ট্যান্সের ম্যানেজমেন্ট সার্ভারের ইউআরএল।
    • username হলো আপনার Apigee অ্যাকাউন্টের সাথে যুক্ত ইমেল ঠিকানা।
    • virtual_host হলো ভার্চুয়াল হোস্ট নামগুলোর একটি কমা-দ্বারা-বিভক্ত তালিকা। এর ডিফল্ট মানগুলো হলো default,secure

উদাহরণ

edgemicro private configure -o docs -e test -u jdoe@example.com -r http://192.162.52.106:9001 -m http://192.162.52.106:8080 -v default

অথবা, যদি আপনার myorg-test.mycompany.com এর মতো একটি ভার্চুয়াল হোস্ট অ্যালিয়াস থাকে, তাহলে আপনি এই ধরনের একটি কমান্ড ব্যবহার করবেন:

edgemicro private configure -o docs -e test -u jdoe@example.com -r myorg-test.mycompany.com -m http://192.162.52.106:8080 -v default

আউটপুট

delete cache config
checking for previously deployed proxies
configuring edgemicro internal proxy
deploying edgemicro internal proxy
deploying  edgemicro-auth  app
copy auth app into tmp dir
copy config into tmp deer
Give me a minute or two... this can take a while...
App edgemicro-auth added to your org. Now adding resources.

checking org for existing KVM
error checking for cert. Installing new cert.
creating KVM
adding private_key
adding public_key
configuring host http://192.168.52.106:9001 for region dc-1

saving configuration information to: $HOME/.edgemicro/jdoe-test-config.yaml
vault info: 
-----BEGIN CERTIFICATE----- 
MIICpDCCAYwCCQDpIvWlpaZJGDANBgkqhkiG9w0BAQFADAUMRIwEAYDVQQDEwls 
b2NhbGhvc3QwHhcNMTYwNDA3MTcxNTM5WhcNMTYwND4MTcxNTM5WjAUMRIwEAYD 
VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAUAA4IBDwAwggEKAoIBAQD3 
OAQ+kf5FH0S0yuj05ITqUODuUJspBPberRMbqOZYHcFswhB0Yvg6JKWsKWBDP9o
Xl96dtgH7xPFRqIU0zI452jkMQ1fPz2mSaGwik245yfBku7olooXKRKTRKOUoXa 
q3Hld/RPxGSsWtiyyYtKex7tuFdq0Knm1EhowdTRGIgjNvudeYMka/XPRXuykhd 
xIDxWj4rdX+4GPx9qT2eTQC5nOAC7XHVL7ys4KqsAiv28vw10u400KstFFS8Qho 
7FaE0bOKLolKKadKyA60ha1XIw/uSTD6ZQFWQ+XM3OaRbXePWXnSZioSxXcZT7L 
hMUKbsRXw/TCvRB51LgNAgMBAAEwDQYJKoZIhvcNAQELBQADgEBAOuR1OmE/W6j 
gRAarJB5EQuTEpI/9Zpg5c5RAGjzLhkazsycn7pal+IymUjCV7D0oIxTVuTM8ZZ 
57kR5hF/C1ZypDN9i+KGP2ovX8WOCCXYtIQECgZPB/L/7/k7BDuKN4vFBvWUe3X 
s2oyjnVWy+ASqsW8gHfj8ekhe22bP240Oqkbyg9SZP9ol1tvJX6+M0thYwcTwAd 
ft929Icey/MOTQC0jB2qm0gnIx/7KInFXfS5KoFRJoGrWDeckr3RdBo2LhnPaeZ 
1gPYIqphZ3HfisF5KlBXoR8oT/Ilym/nq5COlv+3L4tMIk18F7BQZB60SRazifz 
pFkIxepyr/0= 
-----END CERTIFICATE----- 

The following credentials are required to start edge micro 
   key: a3f8f3dfe39158fc3c50b274f0af2234246e0d5f6ea4ad09389b645147151ba3
   secret: 3e9904802fb3c0e8ca408128a11119cf13546d54dac10ace944c097a726a1263

edgemicro configuration complete!
    

ইনস্টলেশন যাচাই করুন

ইনস্টলেশন যাচাই করতে এই কমান্ডটি চালান। যদি কোনো ত্রুটি রিপোর্ট না করা হয়, তাহলে সবকিছু সঠিকভাবে সেট আপ করা হয়েছে এবং আপনি সফলভাবে এজ মাইক্রোগেটওয়ে চালু করতে পারবেন।

edgemicro verify -o [org] -e [env] -k [key] -s [secret]

কোথায়:

  • org হলো আপনার Edge অর্গানাইজেশনের নাম (আপনাকে অবশ্যই একজন অর্গ অ্যাডমিনিস্ট্রেটর হতে হবে)।
  • env হলো আপনার সংস্থার একটি পরিবেশ (যেমন test বা prod)।
  • key হলো সেই কী যা পূর্বে configure কমান্ডের মাধ্যমে ফেরত দেওয়া হয়েছিল।
  • secret হলো সেই কী, যা পূর্বে configure কমান্ডের মাধ্যমে ফেরত দেওয়া হয়েছিল।

উদাহরণ

edgemicro verify -o docs -e test -k 93b01fd21d86331459ae52f624ae9aeb13eb94767ce40a4f621d172cdfb7e8e6 -s c8c755be97cf56c21f8b0156d7132afbd03625bbd85dc34ebfefae4f23fbcb3c

কনফিগারেশন সম্পর্কে

এখন পর্যন্ত করা সমস্ত কনফিগারেশন এজ মাইক্রোগেটওয়েকে অ্যাপিজী এজ-এ নিজেকে বুটস্ট্র্যাপ করার সুযোগ দেয়। বুটস্ট্র্যাপিং সফল হওয়ার পর, এজ মাইক্রোগেটওয়ে অ্যাপিজী এজ থেকে অতিরিক্ত কনফিগারেশন তথ্যের একটি পেলোড সংগ্রহ করে।

এই কনফিগারেশন তথ্য কী কাজে ব্যবহৃত হয়? এই টিউটোরিয়ালের পরবর্তী অংশে আমরা দেখব, Edge Microgateway চালু হওয়ার সময় Apigee Edge থেকে বিশেষ Edge Microgateway-aware API প্রক্সিগুলির একটি তালিকা গ্রহণ করতে হয়। এই টিউটোরিয়ালের পরবর্তী অংশে, আপনি একটি Microgateway-aware প্রক্সি তৈরি করবেন। Edge Microgateway ক্লায়েন্টদের শুধুমাত্র এই Microgateway-aware API প্রক্সিগুলির মাধ্যমে পরিচালিত API-গুলিতে কল করার অনুমতি দেয়, এবং প্রতিটি কলের জন্য ক্লায়েন্টদের (ডিফল্টরূপে) একটি বৈধ নিরাপত্তা টোকেন উপস্থাপন করতে হবে। এই প্রক্সিগুলি সম্পর্কে আরও জানতে, Edge Microgateway-এর Overview- তে " What you need to know about Edge Microgateway-aware proxies " অংশটি দেখুন।

একজন Edge অর্গ অ্যাডমিন হিসেবে, আপনি জেনে আগ্রহী হবেন যে Edge Microgateway-aware প্রক্সিগুলো অন্য যেকোনো প্রক্সির মতোই Edge প্রোডাক্টে যোগ করা যায়। প্রোডাক্ট এবং ডেভেলপার অ্যাপ ব্যবহারের মাধ্যমে, আপনি Edge Microgateway-এর মাধ্যমে কল করা API-গুলোতে অ্যাক্সেস নিয়ন্ত্রণ করতে ক্লায়েন্ট-নির্দিষ্ট সিকিউরিটি টোকেন তৈরি করতে পারেন। এক্ষেত্রেও, Apigee Edge-এর যেকোনো API প্রক্সি, প্রোডাক্ট এবং ডেভেলপার অ্যাপ নিয়ে কাজ করার পদ্ধতির মতোই একই প্যাটার্ন অনুসরণ করা হয়। আপনি যদি প্রোডাক্ট সম্পর্কে আরও জানতে চান, তাহলে Edge ডকুমেন্টেশনের "What is an API product?" অংশটি দিয়ে শুরু করতে পারেন।

এরপরে আমরা দেখব কীভাবে Edge Microgateway-aware প্রক্সি তৈরি করতে হয়, এবং তার পরে আমরা Edge Microgateway চালু করে সেটআপটি পরীক্ষা করব।

পর্ব ২: Apigee Edge-এ এনটিটি তৈরি করুন

এই অংশে, আপনি Edge-এ এই সত্তাগুলো তৈরি করবেন:

  • একটি মাইক্রোগেটওয়ে-অ্যাওয়্যার প্রক্সি - এটি একটি বিশেষ প্রক্সি যা এজ মাইক্রোগেটওয়ে চালু হওয়ার সময় খুঁজে বের করতে পারে। মাইক্রোগেটওয়ে-অ্যাওয়্যার প্রক্সিগুলোর একটি নামকরণের নিয়ম রয়েছে যা আপনাকে অবশ্যই অনুসরণ করতে হবে: নামটি অবশ্যই edgemicro_ দিয়ে শুরু হতে হবে। উদাহরণস্বরূপ, edgemicro_hello বা edgemicro_userinfo । এজ মাইক্রোগেটওয়ে চালু হওয়ার সময়, এটি এজ থেকে সেই একই এজ অর্গানাইজেশন এবং এনভায়রনমেন্টের মাইক্রোগেটওয়ে-অ্যাওয়্যার প্রক্সিগুলোর একটি তালিকা সংগ্রহ করে, যা আপনি এজ মাইক্রোগেটওয়ে চালু করার সময় নির্দিষ্ট করেছিলেন।

    প্রতিটি মাইক্রোগেটওয়ে-অ্যাওয়ার প্রক্সির জন্য, এজ মাইক্রোগেটওয়ে প্রক্সিটির টার্গেট ইউআরএল এবং এর বেস পাথ সংগ্রহ করে। মাইক্রোগেটওয়ে-অ্যাওয়ার প্রক্সিগুলো এজ মাইক্রোগেটওয়ে দ্বারা তৈরি অ্যানালিটিক্স ডেটাকে এজ প্ল্যাটফর্মের কোনো প্রক্সির সাথে যুক্ত করার একটি সুবিধাজনক উপায়ও প্রদান করে। মাইক্রোগেটওয়ে যখন এপিআই কলগুলো পরিচালনা করে, তখন এটি অ্যাসিঙ্ক্রোনাসভাবে অ্যানালিটিক্স ডেটা এজ-এ পুশ করে। অ্যানালিটিক্স ডেটা এজ অ্যানালিটিক্স ইউআই-তে মাইক্রোগেটওয়ে-অ্যাওয়ার প্রক্সির নাম(গুলো)র অধীনে প্রদর্শিত হবে, যেমনটি অন্য যেকোনো প্রক্সির ক্ষেত্রে হয়ে থাকে।
  • একটি প্রোডাক্ট, ডেভেলপার, এবং ডেভেলপার অ্যাপ - Edge Microgateway, OAuth2 অ্যাক্সেস টোকেন বা API কী-এর নিরাপত্তা নিশ্চিত করতে প্রোডাক্ট, ডেভেলপার এবং ডেভেলপার অ্যাপ ব্যবহার করে। Edge Microgateway চালু হওয়ার সময়, এটি আপনার Apigee Edge অর্গানাইজেশন থেকে সমস্ত প্রোডাক্ট কনফিগারেশন ডাউনলোড করে। এটি এই তথ্য ব্যবহার করে API কী বা OAuth2 অ্যাক্সেস টোকেনের মাধ্যমে Edge Microgateway-তে করা API কলগুলো যাচাই করে।

১. Edge-এ একটি Edge Microgateway-aware API প্রক্সি তৈরি করুন।

  1. Apigee Edge-এ আপনার প্রতিষ্ঠানে লগ ইন করুন।
  2. সাইড নেভিগেশন মেনু থেকে Develop > API Proxys নির্বাচন করুন।
  3. + প্রক্সি-তে ক্লিক করুন। 'বিল্ড এ প্রক্সি' উইজার্ডটি চালু হবে।
  4. উইজার্ডের প্রথম পৃষ্ঠায়, রিভার্স প্রক্সি (সবচেয়ে প্রচলিত) নির্বাচন করুন।
  5. পরবর্তী ধাপে যান।
  6. উইজার্ডের Details পেজে, নিম্নলিখিতভাবে কনফিগার করুন। উইজার্ডটি ঠিক যেমন দেখানো হয়েছে, সেভাবেই পূরণ করতে ভুলবেন না:
    • প্রক্সি নাম: edgemicro_hello
    • প্রক্সি বেস পাথ: /hello
    • বিদ্যমান এপিআই: http://mocktarget.apigee.net/
  7. পরবর্তী ধাপে যান।
  8. উইজার্ডের নিরাপত্তা পৃষ্ঠায়, পাস থ্রু (কোনোটিই নয়) নির্বাচন করুন।
  9. পরবর্তী ধাপে যান।
  10. উইজার্ডের ভার্চুয়াল হোস্ট পেজে ডিফল্টগুলো গ্রহণ করুন।
  11. পরবর্তী ধাপে যান।
  12. উইজার্ডের বিল্ড পেজে আপনার প্রক্সি সেটিংস পর্যালোচনা করুন। নিশ্চিত করুন যে টেস্ট এনভায়রনমেন্টটি নির্বাচিত আছে।
  13. বিল্ড এবং ডিপ্লয়-এ ক্লিক করুন।

২. একটি পণ্য তৈরি করুন

  1. সাইড নেভিগেশন মেনু থেকে Publish > API Products নির্বাচন করুন।
  2. + API Product-এ ক্লিক করুন। পণ্যের বিস্তারিত পৃষ্ঠাটি প্রদর্শিত হবে।
  3. পণ্যের বিবরণ পৃষ্ঠাটি নিম্নরূপভাবে পূরণ করুন:
    • নাম: EdgeMicroTestProduct
    • প্রদর্শিত নাম: EdgeMicroTestProduct
    • পরিবেশ: পরীক্ষা এবং উৎপাদন
    • প্রবেশাধিকার: সর্বসাধারণের জন্য
    • মূল অনুমোদনের ধরণ: স্বয়ংক্রিয়
  4. রিসোর্স-এ, +API প্রক্সি-তে ক্লিক করুন।
  5. এজমাইক্রো-অথ নির্বাচন করুন
  6. আবার +API Proxy-তে ক্লিক করুন।
  7. edgemicro_hello নির্বাচন করুন
  8. কাস্টম রিসোর্স নির্বাচন করুন
  9. প্রবেশ করুন /**
  10. আবার + কাস্টম রিসোর্স নির্বাচন করুন।
  11. প্রবেশ করুন /
  12. সংরক্ষণ করুন- এ ক্লিক করুন।

৩. (ঐচ্ছিক) একজন টেস্ট ডেভেলপার তৈরি করুন।

এই টিউটোরিয়ালের জন্য, আপনি পরবর্তী ধাপ অর্থাৎ ডেভেলপার অ্যাপ তৈরির কাজে যেকোনো বিদ্যমান ডেভেলপার ব্যবহার করতে পারেন। তবে আপনি চাইলে, এখনই একটি টেস্ট ডেভেলপার তৈরি করে নিতে পারেন:

  1. সাইড নেভিগেশন মেনু থেকে পাবলিশ > ডেভেলপারস নির্বাচন করুন।
  2. ক্লিক করুন + ডেভেলপার
  3. একজন টেস্ট ডেভেলপার তৈরি করতে ডায়ালগ বক্সটি পূরণ করুন।

৪. একটি ডেভেলপার অ্যাপ তৈরি করুন

আপনি এই অ্যাপের ক্লায়েন্ট ক্রেডেনশিয়াল ব্যবহার করে এজ মাইক্রোগেটওয়ের মাধ্যমে সুরক্ষিত এপিআই কল করবেন:

  1. সাইড নেভিগেশন মেনু থেকে পাবলিশ > অ্যাপস নির্বাচন করুন।
  2. + অ্যাপে ক্লিক করুন। ডেভেলপার অ্যাপের বিবরণ পৃষ্ঠাটি প্রদর্শিত হবে।
  3. ডেভেলপার অ্যাপ পৃষ্ঠাটি নিম্নরূপভাবে পূরণ করুন:
    1. নাম: EdgeMicroTestApp
    2. প্রদর্শিত নাম: EdgeMicroTestApp
    3. ডেভেলপার: আপনি যদি কোনো টেস্ট ডেভেলপার তৈরি করে থাকেন, তবে সেটি নির্বাচন করুন। অথবা, এই টিউটোরিয়ালের জন্য আপনি যেকোনো বিদ্যমান ডেভেলপার ব্যবহার করতে পারেন।
    4. যোগ্যতা:
      1. মেয়াদ শেষ হওয়ার তারিখ নির্বাচন করুন: কখনো নয়
      2. + Product-এ ক্লিক করুন এবং EdgeMicroTestProduct (আপনার এইমাত্র তৈরি করা প্রোডাক্টটি) নির্বাচন করুন।
  4. সংরক্ষণ করুন- এ ক্লিক করুন।
  5. আপনি অ্যাপস তালিকার পাতায় ফিরে এসেছেন।
  6. আপনি এইমাত্র তৈরি করা অ্যাপটি, EdgeMicroTestApp , নির্বাচন করুন।
  7. কনজিউমার কী এবং কনজিউমার সিক্রেট-এর পাশে থাকা 'শো'-তে ক্লিক করুন।

পর্ব ৩: এজ মাইক্রোগেটওয়ে পরিচালনা করুন

এখন যেহেতু আপনার Edge-এ একটি কনফিগার করা Edge Microgateway এবং অন্তত একটি Edge Microgateway-সচেতন প্রক্সি আছে, তাই Edge Microgateway চালু করার সময় এসেছে। একটি Edge Microgateway HTTP সার্ভার আপনার লোকাল মেশিনে চলবে এবং আপনি সরাসরি সেই সার্ভারে API কল করবেন।

১. এজ মাইক্রোগেটওয়ে চালু করুন

Edge Microgateway চালু করতে edgemicro start কমান্ডটি ব্যবহার করুন।

  1. নিশ্চিত করুন যে আপনার কাছে সেই কী-গুলো আছে যা পূর্বে edgemicro configure কমান্ডটি চালানোর সময় ফেরত এসেছিল। সেই আউটপুটটি দেখতে অনেকটা এইরকম ছিল:
    You need key and secret while starting edgemicro instance
    
    key: da4778e7c240a5d4585fc559eaba5083328828bc9f3a7f583e8b73e
    secret: 3aad7439708b4aeb38ee08e82189921ad00e6fc1ba8a8ae9f929ee2
  2. (ঐচ্ছিক) edgemicro start কমান্ডের জন্য সহায়ক তথ্য প্রিন্ট করুন।
    edgemicro start -h
  3. Edge Microgateway চালু করতে, নিম্নলিখিত কমান্ডটি চালান:
    edgemicro start -o [org] -e [env] -k [key] -s [secret]

    কোথায়:

    • org হলো আপনার Edge অর্গানাইজেশনের নাম (আপনাকে অবশ্যই একজন অর্গ অ্যাডমিনিস্ট্রেটর হতে হবে)।
    • env হলো আপনার সংস্থার একটি পরিবেশ (যেমন test বা prod)।
    • key হলো সেই কী যা পূর্বে configure কমান্ডের মাধ্যমে ফেরত দেওয়া হয়েছিল।
    • secret হলো সেই কী, যা পূর্বে configure কমান্ডের মাধ্যমে ফেরত দেওয়া হয়েছিল।

    উদাহরণ

    edgemicro start -o docs -e test -k 701e70e718ce6dc1880616b3c39177d64a88754d615c7a4e1f78b6181d000723 -s 05c14356e42d136b83dd135cf8a18531ff52d7299134677e30ef4e34ab0cc824

    আউটপুট

    স্টার্ট কমান্ডটি Apigee Edge থেকে প্রচুর কনফিগারেশন তথ্য সংগ্রহ করে (যা টার্মিনাল উইন্ডোতে স্ক্রল করে আসে)। আউটপুটে, আপনি আবিষ্কৃত মাইক্রোগেটওয়ে-অ্যাওয়্যার প্রক্সি এবং প্রোডাক্টগুলোর একটি তালিকা দেখতে পাবেন। আউটপুটের শেষে, আপনি এইরকম কিছু দেখতে পাবেন:

    ...
    
    current nodejs version is v12.5.0
    current edgemicro version is 3.1.0
    info: jwk_public_keys download from null returned 200 undefined
    info: jwt_public_key download from https://docs-test.apigee.net/edgemicro-auth/publicKey returned 200 OK
    info: products download from https://docs-test.apigee.net/edgemicro-auth/products returned 200 OK
    info: config download from https://edgemicroservices-us-east-1.apigee.net/edgemicro/bootstrap/organization/docs/environment/test returned 200 OK
    PROCESS PID : 17991
  4. মাইক্রোগেটওয়ের অবস্থা পরীক্ষা করুন। অন্য একটি টার্মিনাল উইন্ডোতে, সেই একই ডিরেক্টরিতে যান যেখানে আপনি Edge Micro শুরু করেছিলেন এবং এই কমান্ডটি প্রবেশ করান:
    edgemicro status
    current nodejs version is v12.5.0
    current edgemicro version is 3.1.0
    edgemicro is running with 8 workers

কী হয়েছে?

Apigee Edge থেকে Edge Microgateway কনফিগারেশন তথ্যের একটি পেলোড ডাউনলোড করে স্থানীয়ভাবে ক্যাশ করা হয়। এই তথ্যের মধ্যে অন্তর্ভুক্ত রয়েছে:

  • আমরা পূর্বে পাবলিক কী তৈরি করে একটি এনক্রিপ্টেড কী ভ্যালু ম্যাপ (KVM)-এ সংরক্ষণ করেছিলাম।
  • সংস্থা/পরিবেশে বিদ্যমান সমস্ত এজ মাইক্রোগেটওয়ে-সচেতন প্রক্সিগুলির একটি উপস্থাপনা। এই সমস্ত প্রক্সিগুলির নামের শুরুতে `edgemicro_` উপসর্গটি রয়েছে।
  • প্রতিষ্ঠান/পরিবেশে বিদ্যমান সকল এপিআই পণ্যের একটি উপস্থাপনা।

এই তথ্যের মাধ্যমে, Edge Microgateway জানতে পারে যে এটি কোন প্রক্সি এবং প্রক্সি পাথগুলো প্রসেস করার অনুমতিপ্রাপ্ত। এটি নিরাপত্তা জোরদার করার জন্য প্রোডাক্টের তথ্য ব্যবহার করে (ঠিক Apigee Edge-এর যেকোনো API প্রক্সির মতোই, যেখানে ডেভেলপার অ্যাপ কী-গুলোর সাথে প্রোডাক্টের একটি সংযোগ থাকে)। আমরা শীঘ্রই Edge Microgateway সুরক্ষিত করার ধাপগুলো নিয়ে আলোচনা করব।

২. এজ মাইক্রোগেটওয়ে পরীক্ষা করুন

Edge Microgateway চালু থাকলে, আপনি প্রক্সিটিকে কল করতে পারেন। আপনি যখন Edge Microgateway চালু করেছিলেন, তখন edgemicro_hello প্রক্সির কনফিগারেশনটি Edge থেকে ডাউনলোড করা হয়েছিল। মনে রাখবেন, প্রক্সির বেসপাথ হলো /hello

Edge Microgateway পরীক্ষা করার জন্য, আমরা বেস পাথ দিয়ে শুরু করি এবং একটি রিসোর্স পাথ /echo যোগ করি। উল্লেখ্য যে, বেস পাথের পরের সবকিছু (যেকোনো কোয়েরি প্যারামিটার সহ) সরাসরি ব্যাকএন্ড টার্গেটে পাঠিয়ে দেওয়া হয়:

curl -i http://localhost:8000/hello/echo
{"error":"missing_authorization","error_description":"Missing Authorization header"}

এই ত্রুটিটি ঘটছে কারণ আপনি অনুরোধের সাথে একটি বৈধ এপিআই কী বা অ্যাক্সেস টোকেন পাঠাননি। ডিফল্টরূপে, এজ মাইক্রোগেটওয়ে প্রতিটি এপিআই কলের জন্য একটি এপিআই কী অথবা একটি অ্যাক্সেস টোকেন চেয়ে থাকে। টিউটোরিয়ালের পরবর্তী ধাপে, আমরা এই এপিআইটিকে সঠিকভাবে সুরক্ষিত করব এবং আপনাকে দেখাবো কিভাবে একটি বৈধ অ্যাক্সেস টোকেন সংগ্রহ করে অনুরোধের সাথে অন্তর্ভুক্ত করতে হয়।

৪. এজ মাইক্রোগেটওয়ে বন্ধ করুন

  1. একটি আলাদা টার্মিনাল উইন্ডোতে, সেই একই ডিরেক্টরিতে cd যেখানে আপনি Edge Microgateway চালু করেছিলেন।
  2. স্টপ কমান্ডটি প্রবেশ করান:
    edgemicro stop

পর্ব ৪: সুরক্ষিত এজ মাইক্রোগেটওয়ে

আপনি একটি এপিআই কী অথবা একটি অ্যাক্সেস টোকেন ব্যবহার করে এজ মাইক্রোগেটওয়ের মাধ্যমে করা এপিআই কলগুলোকে সুরক্ষিত করতে পারেন।

OAuth2 অ্যাক্সেস টোকেন ব্যবহার করে এপিআই কল সুরক্ষিত করুন

OAuth2 অ্যাক্সেস টোকেন দিয়ে API কল প্রমাণীকরণ করতে চাইলে এই ধাপগুলো অনুসরণ করুন:

১. প্রয়োজনীয় চাবিগুলো সংগ্রহ করুন

  1. Edge UI-তে, আপনার পূর্বে তৈরি করা ডেভেলপার অ্যাপটিতে যান। অ্যাপটির নাম ছিল EdgeMicroTestApp।
  2. ডেভেলপার অ্যাপ পেজে, কনজিউমার কী (Consumer Key) এবং কনজিউমার সিক্রেট (Consumer Secret) দেখান এবং সেগুলো কপি করুন। পরবর্তী ধাপে অ্যাক্সেস টোকেন পেতে এই মানগুলো প্রয়োজন হবে।

২. একটি অ্যাক্সেস টোকেন সংগ্রহ করুন।

অ্যাক্সেস টোকেন পাওয়ার দুটি উপায় আছে। আমরা আপনাকে দুটি পদ্ধতিই দেখাবো।

CLI ব্যবহার করে অ্যাক্সেস টোকেন পাওয়া

প্রথম পদ্ধতিটি সুবিধাজনক এবং এটি এই টিউটোরিয়াল জুড়ে ব্যবহৃত প্যাটার্নটি অনুসরণ করে। দ্বিতীয় পদ্ধতিটি সাধারণত সেইসব ক্লায়েন্ট অ্যাপ ডেভেলপারদের জন্য বেশি উপযোগী, যাদের টোকেনের জন্য অনুরোধ করতে হয়। প্রকৃত টোকেন এন্ডপয়েন্টটি edgemicro-auth প্রক্সিতে প্রয়োগ করা হয়েছে, যা আপনি Edge Microgateway কনফিগার করার সময় স্থাপন করেছিলেন।

  1. (ঐচ্ছিক) টোকেন গেট কমান্ডের জন্য সাহায্য দেখুন:
    edgemicro token get -h
  2. Apigee Edge-এ আপনার তৈরি করা ডেভেলপার অ্যাপ থেকে প্রাপ্ত কনজিউমার কী (Consumer Key) এবং কনজিউমার সিক্রেট (Consumer Secret) ভ্যালুগুলো -i এবং -s প্যারামিটারে বসিয়ে টোকেনটি জেনারেট করুন:
    edgemicro token get -o [org] -e [env] -i [consumer_key] -s [consumer_secret]

    কোথায়:

    • org হলো আপনার Edge অর্গানাইজেশনের নাম (আপনাকে অবশ্যই একজন অর্গ অ্যাডমিনিস্ট্রেটর হতে হবে)।
    • env হলো আপনার সংস্থার একটি পরিবেশ (যেমন test বা prod)।
    • consumer_id হলো আপনার পূর্বে তৈরি করা ডেভেলপার অ্যাপের কনজিউমার আইডি।
    • consumer_secret হলো আপনার পূর্বে তৈরি করা ডেভেলপার অ্যাপের কনজিউমার সিক্রেট।

    উদাহরণ

    edgemicro token get -o docs -e test -i G0IAeU864EtBo99NvUbn6Z4CBwVcS2 -s uzHTbwNWvoSmOy

    আউটপুট (নমুনা)

    current nodejs version is v12.5.0
    { token: 'eyJ0eXAiOiJKV1QiLCJhbGciSUzI1NiJ9.eyJhcHBsaWNhdGl
    vbl9uYW1lIjoiNWNiMGY0tOWMzOC00YmJjLWIzNzEtZGMxZTQzOGYxZGMxI
    iwiY2xpZW50X2lkIjoiNVVdBWEdvSU9lbzYwYWV3OTRQN0c1TUFaRTNhSnA
    iLCJzY29wZXMiOltdLCJhcGlfcHJvjdF9saXN0IjpbIsVkZ2VNaWNyb1Rlc
    3RQcm9kdWN0IlmlhdCI6MTQ3ODIwODMzMiwiZXhwIjoxNDc4MjEwMTMxfQ.
    v3Q8Rs0W9FO_XpERwIAMMXhjGamRmmmWgrAy1wJv0-99oajx5ASI5qjNubM
    nCF14xxwlVXHcz1VfedA8Nx7Ih145zhWWuPKL9muzhXXnVBRFeBMeeLqJk4
    QQ7Bhst7xH_68nJSTE20Egu95DHOCUemfrepDFH0VggY4BmzvwLkBNfz_te
    E_YqwKZbpGOLMdKK1vMk0fk0x19SieIMS_aJYeOAklrzUhnFxWJFrsAWsax
    NLx_BbQcZzYfK1JSDUrhRNVBuPHMnGjNA_oHw2J4qa6Hsp62PfchG-DIW_t
    -0BFnYf3rYXmqyNORqFrOMdl4VxqQ' }

(ঐচ্ছিক) এপিআই ব্যবহার করে টোকেন পাওয়া

আপনি যদি curl বা অন্য কোনো HTTP ক্লায়েন্ট ব্যবহার করে Edge প্রক্সি কল করতে অভ্যস্ত হন, তাহলে আপনি জেনে আগ্রহী হবেন যে, আপনি edgemicro টোকেন কমান্ড ব্যবহার না করে সরাসরি টোকেন এন্ডপয়েন্টটি কল করতে পারেন। এখানে একটি curl উদাহরণ দেওয়া হলো। শুধু URL-এ আপনার org এবং environment-এর নাম বসিয়ে দিন, এবং একটি Basic Authentication হেডারে কোলন দিয়ে আলাদা করা Consumer Key:Consumer Secret ভ্যালুগুলো পাস করুন:

curl -i -X POST "http://[org]-[env].apigee.net/edgemicro-auth/token" -d '{ "client_id": "your consumer key", "client_secret": "your consumer secret", "grant_type": "client_credentials" }' -H "Content-Type: application/json"

কোথায়:

  • org হলো আপনার Edge অর্গানাইজেশনের নাম (আপনাকে অবশ্যই একজন অর্গ অ্যাডমিনিস্ট্রেটর হতে হবে)।
  • env হলো আপনার সংস্থার একটি পরিবেশ (যেমন test বা prod)।
  • client_id হলো আপনার পূর্বে তৈরি করা ডেভেলপার অ্যাপের কনজিউমার আইডি।
  • client_secret হলো আপনার পূর্বে তৈরি করা ডেভেলপার অ্যাপের কনজিউমার সিক্রেট।

আউটপুট (নমুনা)

আপনি edgemicro টোকেন CLI কমান্ড ব্যবহার করুন বা curl ব্যবহার করে এন্ডপয়েন্টটি কল করুন, কমান্ডটি একটি স্বাক্ষরিত অ্যাক্সেস টোকেন ফেরত দেয় যা ক্লায়েন্ট কল করার জন্য ব্যবহার করা যেতে পারে। অনেকটা এইরকম:

MIICpDCCAYwCCQDpIvWlpaZJGDANBgkqhkiG9w0BAQFADAUMRIwEAYDVQQDEwls 
b2NhbGhvc3QwHhcNMTYwNDA3MTcxNTM5WhcNMTYwND4MTcxNTM5WjAUMRIwEAYD 
VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAUAA4IBDwAwggEKAoIBAQD3 
OAQ+kf5FH0S0yuj05ITqUODuUJspBPberRMbqOZYHcFsnhB0Yvg6JKWxKWBDP9o
Xl96dtgH7xPFRqIU0zI452jkMQ1fPz2mSaGwik241yfBku7olooXKRKTRKOUoXa
q3Hld/RPxGSsWtiyyYtKex7tuFdq0Knm1EhowdTRGIgjNvudeYMka/XPRXuykhd 
xIDxWj4rdX+4GPx9qT2eTQC5nOAC7XHVL7ys4KqsAiv28vw10u400KstFFS8Qho 
7FaE0bOKLolKKadKyA60ha1XIw/uSTD6ZQFWQ+XM3OaRbXePWXnSZioSxXcZT7L 
hMUKbsRXw/TCvRB51LgNAgMBAAEwDQYJKoZIhvcNAQELBQADgEBAOuR1OmE/W6j 
gRAarJB5EQuTEpI/9Zpg5c5RAGjzLhkazsycn7pal+IymUjCV7D0oIxTVuTM8ZZ 
57kR5hF/C1ZypDN9i+KGP2ovX8WOCCXYtIQECgZPB/L/7/k7BDuKN4vFBvWUe3X 
s2oyjnVWy+ASqsW8gHfj8ekhe22bP240Oqkbyg9SZP9ol1tvJX6+M0thYwcTwAd 
ft929Icey/MOTQC0jB2qm0gnIx/7KInFXfS5KoFRJoGrWDeckr3RdBo2LhnPaeZ 
1gPYIqphZ3HfisF5KlBXoR8oT/Ilym/nq5COlv+3L4tMIk18F7BQZB60SRazifz 
pFkIxepyr/0=
      

৩. এজ মাইক্রোগেটওয়েতে কনফিগারেশন পরীক্ষা করুন।

  1. $HOME/.edgemicro/org-env-config.yaml ফাইলটি খুলুন। যদি এই ফাইলটি খুঁজে না পান, তবে "Where is Edge Microgateway installed" দেখুন।
  2. নিশ্চিত করুন যে এই oauth প্লাগইন প্রোপার্টিগুলো false- এ সেট করা আছে। এগুলো ডিফল্টভাবে false থাকে, কিন্তু আরেকবার যাচাই করে নেওয়া ভালো:
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
  3. এছাড়াও org-env-config.yaml ফাইলে, নিশ্চিত করুন যে oauth প্লাগইনটি plugins:sequence এলিমেন্টে এইভাবে যোগ করা হয়েছে::
    plugins:
       dir: ../plugins
       sequence:
       - oauth
  4. ফাইলটিতে কোনো পরিবর্তন করলে, চলমান Edge Microgateway ইনস্ট্যান্সটিতে সেই পরিবর্তনগুলো পুনরায় লোড করুন । এই কমান্ডটি কোনো ডাউনটাইম ছাড়াই Edge Microgateway-কে পুনরায় কনফিগার করে:
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]

    কোথায়:

    • org হলো আপনার Edge অর্গানাইজেশনের নাম (আপনাকে অবশ্যই একজন অর্গ অ্যাডমিনিস্ট্রেটর হতে হবে)।
    • env হলো আপনার সংস্থার একটি পরিবেশ (যেমন test বা prod)।
    • key হলো সেই কী যা পূর্বে configure কমান্ডের মাধ্যমে ফেরত দেওয়া হয়েছিল।
    • secret হলো সেই কী, যা পূর্বে configure কমান্ডের মাধ্যমে ফেরত দেওয়া হয়েছিল।

    উদাহরণ

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d

৪. নিরাপদে এপিআই কল করুন

অ্যাক্সেস টোকেন হাতে থাকলে, আপনি এখন নিরাপদে এপিআই কল করতে পারবেন। উদাহরণস্বরূপ:

  curl -i -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhcHBsaWNhdGlvbl
9uYW1lIjoiYmU2YmZjYjAtMWQ0Ni00Y2IxLWFiNGQtZTMxNzRlNTAyMDZkIiwiY2xpZW50X2lkIjoiOGxTTTVIRHdyM
VhIT1ZwbmhURExhYW9FVG5STVpwWk0iLCJzY29wZXMiOltdLCJhcGlfcHJvZHVjdF9saXN0IjpbIk1pY3JvZ2F0ZXdh
eVRlQcm9kdWN0Il0sImCI6MTQzNTM0NzY5MiwiZXhwIjoxNDM1MzQ5NDkxfQ.PL30Y6uK1W1f2ONPEsBDB_BT31c6
IsjWGfwpz-p6Vak8r767tAT4mQAjuBpQYv7_IU4DxSrnxXQ_q536QYCP4p4YKfBvyqbnW0Rb2CsPFziy_n8HIczsWO
s0p4czcK63SjONaUpxV9DbfGVJ_-WrSdqrqJB5syorD2YYJPSfrCcgKm-LpJc6HCylElFDW8dHuwApaWcGRSV3l5Wx
4A8Rr-WhTIxDTX7TxkrfI4THgXAo37p3au3_7DPB_Gla5dWTzV4j93xLbXPUbwTHzpaUCFzmPnVuYM44FW5KgvBrV0
64RgPmIFUxSqBWGQU7Z1w2qFmWuaDljrMDoLEreI2g" http://localhost:8000/hello/echo

এপিআইটি মক সার্ভার থেকে হেডার এবং অন্যান্য তথ্য ফেরত দেয়।

এপিআই কী দিয়ে এপিআই সুরক্ষিত করা

অনুমোদনের জন্য এপিআই কী ব্যবহার করতে চাইলে, এই ধাপগুলো অনুসরণ করুন:

১. এপিআই কী সংগ্রহ করুন

  1. Edge UI-তে, আপনার পূর্বে তৈরি করা ডেভেলপার অ্যাপটিতে যান। অ্যাপটির নাম ছিল EdgeMicroTestApp।
  2. ডেভেলপার অ্যাপ পেজে, কনজিউমার কী (Consumer Key) দেখান এবং এটি কপি করুন। এই ভ্যালুটিই হলো এপিআই কী (API key)। অথেনটিকেটেড এপিআই কল করার জন্য আপনি এই কী-টি ব্যবহার করবেন।

২. এজ মাইক্রোগেটওয়েতে কনফিগারেশন পরীক্ষা করুন

  1. $HOME/.edgemicro/org-env-config.yaml. যদি এই ফাইলটি খুঁজে না পান, তবে "Where is Edge Microgateway installed" দেখুন।
  2. নিশ্চিত করুন যে এই oauth প্লাগইন প্রোপার্টিগুলো false- এ সেট করা আছে। এগুলো ডিফল্টভাবে false থাকে, কিন্তু আপনি চাইলে পুনরায় যাচাই করে দেখতে পারেন:
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
  3. এছাড়াও org-env-config.yaml ফাইলে, নিশ্চিত করুন যে oauth প্লাগইনটি plugins:sequence এলিমেন্টে এইভাবে যোগ করা হয়েছে::
    plugins:
       dir: ../plugins
       sequence:
       - oauth
        
  4. ফাইলটিতে কোনো পরিবর্তন করলে, চলমান Edge Microgateway ইনস্ট্যান্সটিতে সেই পরিবর্তনগুলো পুনরায় লোড করুন । এই কমান্ডটি কোনো ডাউনটাইম ছাড়াই Edge Microgateway-কে পুনরায় কনফিগার করে:
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]

    কোথায়:

    • org হলো আপনার Edge অর্গানাইজেশনের নাম (আপনাকে অবশ্যই একজন অর্গ অ্যাডমিনিস্ট্রেটর হতে হবে)।
    • env হলো আপনার সংস্থার একটি পরিবেশ (যেমন test বা prod)।
    • key হলো সেই কী যা পূর্বে configure কমান্ডের মাধ্যমে ফেরত দেওয়া হয়েছিল।
    • secret হলো সেই কী, যা পূর্বে configure কমান্ডের মাধ্যমে ফেরত দেওয়া হয়েছিল।

    উদাহরণ

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c30177d64a88754d615c74e1f78b6181d

৩. একটি এপিআই কী ব্যবহার করে নিরাপদে এপিআই কল করুন।

নিম্নলিখিতভাবে x-api-key হেডার ব্যবহার করে API-কে কল করুন। আপনি ডেভেলপার অ্যাপ থেকে যে কনজিউমার কী (Consumer Key) ভ্যালুটি কপি করেছেন, সেটিই হলো API কী। ডিফল্টরূপে, Edge Microgateway আশা করে যে আপনি x-api-key নামক একটি হেডারে কী-টি পাস করবেন, যেমনটা এখানে দেখানো হয়েছে:

curl -i http://localhost:8000/hello/echo -H "x-api-key: [apikey]"

কোথায়:

  • apikey হলো EdgeMicroTestApp থেকে নেওয়া কনজিউমার কী-এর মান।

উদাহরণস্বরূপ:


curl -i http://localhost:8000/hello/echo -H 'x-api-key: XsU1R4zGXz2ERxd0ilYQ5szwuljr5bB'

এখন আপনার কাছে একটি সম্পূর্ণ কার্যকরী এবং সুরক্ষিত এজ মাইক্রোগেটওয়ে রয়েছে। টিউটোরিয়ালের পরবর্তী অংশে, আমরা এমন প্লাগইনগুলো দেখব যেগুলো এজ মাইক্রোগেটওয়েতে আরও কার্যকারিতা যোগ করে।

পর্ব ৫: একটি স্পাইক অ্যারেস্ট প্লাগইন যোগ করুন

এই অংশে, আমরা আপনার Edge Microgateway ইনস্ট্যান্সে স্পাইক অ্যারেস্ট নামক একটি রেট-লিমিটিং ফিচার যোগ করব।

প্লাগইন বলতে কী বোঝায়?

প্লাগইন হলো একটি Node.js মডিউল যা Edge Microgateway-তে বিভিন্ন কার্যকারিতা যোগ করে। প্লাগইন মডিউলগুলো একটি নির্দিষ্ট প্যাটার্ন অনুসরণ করে এবং Edge Microgateway-এর পরিচিত কোনো স্থানে সংরক্ষিত থাকে, যা মাইক্রোগেটওয়েকে সেগুলোকে স্বয়ংক্রিয়ভাবে খুঁজে বের করতে ও লোড করতে সক্ষম করে। আপনি "প্লাগইন ব্যবহার করুন" অংশে প্লাগইন সম্পর্কে আরও পড়তে পারেন।

স্পাইক অ্যারেস্ট প্লাগইন যোগ করা

একটি স্পাইক অ্যারেস্ট প্লাগইন ট্র্যাফিকের আকস্মিক বৃদ্ধি থেকে সুরক্ষা প্রদান করে। এটি একটি এজ মাইক্রোগেটওয়ে ইনস্ট্যান্স দ্বারা প্রক্রিয়াকৃত অনুরোধের সংখ্যা সীমিত করে।

Edge Microgateway-তে স্পাইক অ্যারেস্ট একটি প্লাগইন মডিউল হিসেবে প্রয়োগ করা হয়েছে। এটি সক্রিয় করতে, আপনাকে Edge Microgateway কনফিগারেশন ফাইলে এটি যুক্ত করতে হবে।

  1. $HOME/.edgemicro/org-env-config.yaml. যদি আপনি এই ফাইলটি খুঁজে না পান, তাহলে Edge Microgateway কোথায় ইনস্টল করা আছে ?
  2. নিম্নলিখিত এলিমেন্টটি যোগ করুন। আপনি এটি ফাইলের যেকোনো জায়গায় যোগ করতে পারেন।
       spikearrest:
          timeUnit: minute   
          allow: 10   
          buffersize: 0   
  3. নিচে দেখানো অনুযায়ী edgemicro:sequence এলিমেন্টে spikearrest যোগ করুন। sequence কনফিগারেশন প্রপার্টিটি Edge Microgateway-কে বলে দেয় যে প্লাগইন মডিউলগুলো কোন ক্রমে এক্সিকিউট হবে।
    edgemicro:
      home: ../gateway
      port: 8000
      max_connections: -1
      max_connections_hard: -1
      logging:
        level: info
        dir: /var/tmp
        stats_log_interval: 60
      plugins:
        dir: ../plugins
      sequence:
        - oauth
        - spikearrest
  4. কনফিগারেশন ফাইলটি সংরক্ষণ করুন।
  5. reload কমান্ড ব্যবহার করে Edge Microgateway রিলোড করুন। আপনাকে অবশ্যই এই কমান্ডটি সেই ডিরেক্টরি থেকে চালাতে হবে যেখান থেকে আপনি Edge Microgateway চালু করেছিলেন।
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]

    কোথায়:

    • org হলো আপনার Edge অর্গানাইজেশনের নাম (আপনাকে অবশ্যই একজন অর্গ অ্যাডমিনিস্ট্রেটর হতে হবে)।
    • env হলো আপনার সংস্থার একটি পরিবেশ (যেমন test বা prod)।
    • key হলো সেই কী যা পূর্বে configure কমান্ডের মাধ্যমে ফেরত দেওয়া হয়েছিল।
    • secret হলো সেই কী, যা পূর্বে configure কমান্ডের মাধ্যমে ফেরত দেওয়া হয়েছিল।

    উদাহরণ

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
  6. দ্রুত পরপর কয়েকবার এপিআই (API) কল করার চেষ্টা করুন। দ্বিতীয়বার কল করার পর, এজ মাইক্রোগেটওয়ে (Edge Microgateway) এই ত্রুটিটি দেখায়:
    {"message":"SpikeArrest engaged","status":503}

এর কারণ হলো, স্পাইক অ্যারেস্ট একটি নির্দিষ্ট সময়সীমার মধ্যে করা যায় এমন কলের সংখ্যাকে সুষমভাবে ভাগ করে দেয়। তাই, এই ক্ষেত্রে আপনি এক মিনিটে ১০টি কল করতে পারেন, অর্থাৎ প্রতি ৬ সেকেন্ডে একটি।

অতিরিক্ত ক্রেডিট: কোটা প্লাগইন যোগ করা

স্পাইক অ্যারেস্ট কনফিগার করার জন্য ব্যবহৃত একই পদ্ধতি অনুসরণ করে, আপনি কোটা প্লাগইনের মতো অন্যান্য প্লাগইনও যোগ করতে পারেন। স্পাইক অ্যারেস্টের মতোই, কোটা প্লাগইনটি প্রতিটি এজ মাইক্রোগেটওয়ে ইনস্টলেশনের সাথে অন্তর্ভুক্ত থাকে। একটি কোটা নির্দিষ্ট করে যে, একটি অ্যাপ একটি নির্দিষ্ট সময়সীমার (মিনিট বা ঘন্টা) মধ্যে কোনো এপিআই-তে কতগুলো অনুরোধ বার্তা জমা দিতে পারবে।

পর্ব ৬: Apigee Edge-এ অ্যানালিটিক্স দেখা

এখন আমাদের একটি সম্পূর্ণ কার্যকরী এজ মাইক্রোগেটওয়ে ইনস্ট্যান্স আছে, চলুন দেখি এটি কী কী করেছে! ডিফল্টরূপে, অ্যানালিটিক্স প্লাগইন মডিউলটি এজ মাইক্রোতে যুক্ত করা থাকে। এই মডিউলটি নীরবে এজ মাইক্রো থেকে অ্যাপিজি এজ-এ অ্যানালিটিক্স ডেটা পাঠায়, যেখানে এজ অ্যানালিটিক্স সিস্টেম এটি ব্যবহার করে। চলুন দেখি:

  1. Apigee Edge-এ আপনার প্রতিষ্ঠানে লগ ইন করুন।
  2. অ্যানালিটিক্স > প্রক্সি পারফরম্যান্স নির্বাচন করুন।
  3. প্রক্সি পারফরম্যান্স ড্যাশবোর্ডে, edgemicro_hello প্রক্সিটি নির্বাচন করুন।
  4. গ্রাফটি আপনাকে প্রক্সির ট্র্যাফিক প্যাটার্ন সম্পর্কে তথ্য দেখায়, যেমন মোট ট্র্যাফিক, গড় প্রতিক্রিয়া সময়, গড় লক্ষ্য প্রতিক্রিয়া সময় এবং আরও অনেক কিছু।

আপনি Edge ডকুমেন্টেশনের Analytics Dashboards হোম পেজে Edge Analytics ড্যাশবোর্ড সম্পর্কে আরও পড়তে পারেন। প্লাগইন সম্পর্কে আরও জানতে, Use plugins দেখুন।