راه اندازی و پیکربندی Edge Microgateway

شما در حال مشاهده اسناد Apigee Edge هستید.
به مستندات Apigee X بروید .
اطلاعات

Edge Microgateway نسخه 3.1.5 و بالاتر

نمای کلی

پس از تکمیل مراحل در این راهنمای راه‌اندازی، یک نصب Edge Microgateway کاملاً پیکربندی‌شده و فعال خواهید داشت که قادر به پردازش درخواست‌های API است. راه‌اندازی را با برقراری تماس‌های ایمن API از طریق Edge Microgateway به هدف باطنی آزمایش خواهید کرد. همچنین یاد خواهید گرفت که چگونه یک پلاگین دستگیری اسپایک را به Microgateway اضافه کنید.

این راهنما به این بخش ها تقسیم می شود:

پیش نیاز: Edge Microgateway را نصب کنید

دستورالعمل‌های نصب Edge Microgateway را دنبال کنید. وقتی نصب را کامل کردید، آماده انجام مراحل این آموزش خواهید بود.

قسمت 1: Edge Microgateway را پیکربندی کنید

در این قسمت از یک دستور رابط خط فرمان (CLI) برای پیکربندی Edge Microgateway برای برقراری ارتباط با Apigee Edge استفاده خواهید کرد.

مراحل پیکربندی Apigee Edge Cloud

برای استفاده از Edge Microgateway با Apigee Edge Cloud این مراحل را دنبال کنید:

  1. Edge Microgateway را راه اندازی کنید (فقط باید این مرحله را یک بار انجام دهید):
    edgemicro init
  2. یک فایل پیکربندی به نام فایل default.yaml در دایرکتوری اصلی شما در یک زیر شاخه به نام .edgemicro قرار داده شد. اکنون بررسی کنید تا مطمئن شوید این فایل وجود دارد:
    ls ~/.edgemicro
    default.yaml

    توجه: در اسناد Edge Microgateway، ما به دایرکتوری خانه با علامت ( ~ ) اشاره می کنیم که یک میانبر یونیکس است. اگر از ویندوز استفاده می‌کنید، اگر پوسته‌ای را اجرا می‌کنید که از tilde پشتیبانی نمی‌کند، باید متغیر محیطی مناسب را برای tilde در دستوراتی که به فهرست اصلی ارجاع می‌دهند، جایگزین کنید. به عنوان مثال: %USERPROFILE%/.edgemicro .

  3. تمام دستورات CLI دارای یک تابع کمک هستند. راهنمای چاپ دستور پیکربندی edgemicro :
    edgemicro configure -h
  4. برای پیکربندی Edge Microgateway دستور زیر را اجرا کنید:
    edgemicro configure -o [org] -e [env] -u [username] 

    کجا:

    • org: نام سازمان Edge شما (شما باید یک مدیر سازمان باشید).
    • env: یک محیط در سازمان شما (مانند test یا prod).
    • username: آدرس ایمیل مرتبط با حساب Apigee شما.

      توجه: دستور configure پارامترهای اضافی را اجازه می دهد. برای فهرست کامل، پیکربندی Edge Microgateway برای Apigee Edge Cloud را ببینید.

مثال

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 Private Cloud

برای استفاده از Edge Microgateway با Apigee Private Cloud این مراحل را دنبال کنید:

  1. Edge Microgateway را راه اندازی کنید (فقط باید این مرحله را یک بار انجام دهید):
    edgemicro init
  2. اطلاعات راهنما را برای دستور پیکربندی خصوصی edgemicro چاپ کنید. می‌توانید از این طریق راهنما را برای هر دستور یا دستور Edge Microgateway CLI چاپ کنید.
    edgemicro private configure -h
  3. دستور زیر را اجرا کنید. به اطلاعات استانداردی در مورد حساب Apigee Edge Private Cloud شما نیاز دارد: نام سازمان، نام محیط، نام کاربری (آدرس ایمیل)، رمز عبور، IP سرور مدیریت و IP روتر. برای استفاده از این دستور باید یک مدیر سازمان 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 URL زمان اجرا برای نمونه ابر خصوصی شما است.
    • mgmt_url 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!
    

نصب را تایید کنید

برای تایید نصب این دستور را اجرا کنید. اگر هیچ خطایی گزارش نشود، همه چیز به درستی تنظیم شده است و شما می توانید Edge Microgateway را با موفقیت راه اندازی کنید.

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 محموله ای از اطلاعات پیکربندی اضافی را از Apigee Edge بازیابی می کند.

این اطلاعات پیکربندی برای چه استفاده می شود؟ همانطور که در قسمت بعدی این آموزش متوجه خواهیم شد، هنگامی که Edge Microgateway شروع به کار می کند، باید لیستی از پراکسی های API ویژه Edge Microgateway را از Apigee Edge دریافت کند. در قسمت بعدی این آموزش، یک پروکسی آگاه از Microgateway ایجاد خواهید کرد. Edge Microgateway مشتریان را به فراخوانی فقط APIهایی که توسط این پراکسی‌های API آگاه از Microgateway ارائه می‌شوند محدود می‌کند و کلاینت‌ها (به‌طور پیش‌فرض) باید برای هر تماس یک کد امنیتی معتبر ارائه کنند. برای خواندن اطلاعات بیشتر در مورد این پراکسی‌ها، به « آنچه باید درباره پراکسی‌های آگاه از Edge Microgateway بدانید » در نمای کلی Edge Microgateway مراجعه کنید.

به عنوان یک مدیر Edge org، علاقه مند خواهید بود بدانید که پروکسی های آگاه از Edge Microgateway را می توان مانند هر پراکسی دیگری به محصولات Edge اضافه کرد. از طریق استفاده از محصولات و برنامه‌های توسعه‌دهنده، می‌توانید توکن‌های امنیتی خاص مشتری را برای کنترل دسترسی به APIهایی که از طریق Edge Microgateway نامیده می‌شوند، ایجاد کنید. مجدداً، الگوهای مربوط به کار با هر پروکسی API، محصول و برنامه توسعه دهنده در Apigee Edge یکسان است. اگر می‌خواهید محصولات را مطالعه کنید، با محصول API چیست؟ در مستندات Edge.

در ادامه نحوه ایجاد پراکسی های Edge Microgateway را توضیح خواهیم داد و پس از آن، Edge Microgateway را راه اندازی کرده و تنظیمات را آزمایش می کنیم.

بخش 2: ایجاد موجودیت در Apigee Edge

در این قسمت، این موجودیت ها را در Edge ایجاد خواهید کرد:

  • یک پروکسی آگاه از میکرو گیت - این یک پروکسی ویژه است که Edge Microgateway می تواند هنگام راه اندازی آن را کشف کند. پروکسی‌های آگاه از Microgateway یک قرارداد نامگذاری دارند که باید از آن پیروی کنید: نام باید با edgemicro_ باشد. به عنوان مثال edgemicro_hello یا edgemicro_userinfo . هنگامی که Edge Microgateway راه اندازی می شود، لیستی از پراکسی های آگاه از microgateway را از همان سازمان Edge و محیطی که هنگام راه اندازی Edge Microgateway مشخص کرده اید، بازیابی می کند.

    Edge Microgatway برای هر پروکسی آگاه از میکرو گیت، URL هدف پروکسی و مسیر اصلی آن را بازیابی می کند. پروکسی‌های آگاه از Microgateway همچنین یک راه مناسب برای مرتبط کردن داده‌های تحلیلی تولید شده توسط Edge Microgateway با یک پراکسی در پلتفرم Edge ارائه می‌کنند. همانطور که Microgateway تماس‌های API را مدیریت می‌کند، داده‌های تحلیلی را به‌طور ناهمزمان به Edge منتقل می‌کند. داده‌های Analytics در رابط کاربری Edge Analytics تحت نام(های) پروکسی آگاه از microgateway، مانند هر پروکسی دیگری نشان داده می‌شوند.
  • یک محصول، برنامه‌نویس و برنامه‌نویس - Edge Microgateway از محصولات، توسعه‌دهندگان و برنامه‌های توسعه‌دهنده برای فعال کردن رمز دسترسی OAuth2 یا امنیت کلید API استفاده می‌کند. هنگامی که Edge Microgateway راه اندازی می شود، تمام پیکربندی های محصول را از سازمان Apigee Edge شما دانلود می کند. از این اطلاعات برای تأیید تماس‌های API استفاده شده از طریق Edge Microgateway با کلیدهای API یا نشانه‌های دسترسی OAuth2 استفاده می‌کند.

1. یک پروکسی Edge Microgateway-aware API در Edge ایجاد کنید

  1. در Apigee Edge به سازمان خود وارد شوید.
  2. Develop > API Proxies را در منوی ناوبری کناری انتخاب کنید.
  3. روی + Proxy کلیک کنید. جادوگر Build a Proxy فراخوانی می شود.
  4. در اولین صفحه جادوگر، Reverse proxy (متداول ترین) را انتخاب کنید.
  5. روی Next کلیک کنید.
  6. در صفحه جزئیات ویزارد، به صورت زیر پیکربندی کنید. حتماً ویزارد را دقیقاً مطابق شکل پر کنید:
    • نام پروکسی: edgemicro_hello
    • مسیر پایه پروکسی: /hello
    • API موجود: http://mocktarget.apigee.net/
  7. روی Next کلیک کنید.
  8. در صفحه امنیت جادوگر، Pass through (none) را انتخاب کنید.
  9. روی Next کلیک کنید.
  10. در صفحه Virtual Hosts ویزارد، پیش فرض ها را بپذیرید.
  11. روی Next کلیک کنید.
  12. در صفحه ساخت جادوگر، تنظیمات پراکسی خود را بررسی کنید. مطمئن شوید که محیط تست انتخاب شده است.
  13. روی Build and Deploy کلیک کنید.

2. یک محصول ایجاد کنید

  1. انتشار > محصولات API را در منوی ناوبری کناری انتخاب کنید.
  2. روی + محصول API کلیک کنید. صفحه جزئیات محصول ظاهر می شود.
  3. صفحه مشخصات محصول را به صورت زیر پر کنید:
    • نام: EdgeMicroTestProduct
    • نام نمایشی: EdgeMicroTestProduct
    • محیط: تست و تولید
    • دسترسی: عمومی
    • نوع تایید کلید: اتوماتیک
  4. در منابع، روی +API Proxy کلیک کنید
  5. edgemicro-auth را انتخاب کنید
  6. دوباره روی +API Proxy کلیک کنید.
  7. edgemicro_hello را انتخاب کنید
  8. + منبع سفارشی را انتخاب کنید
  9. را وارد کنید /**
  10. دوباره + Custom Resource را انتخاب کنید.
  11. وارد کنید /
  12. روی ذخیره کلیک کنید.

3. (اختیاری) یک توسعه دهنده آزمایشی ایجاد کنید

برای هدف این آموزش، می‌توانید از هر توسعه‌دهنده موجود برای مرحله بعدی یعنی ایجاد یک برنامه توسعه‌دهنده استفاده کنید. اما در صورت تمایل، اکنون یک توسعه دهنده آزمایشی ایجاد کنید:

  1. در منوی ناوبری کناری ، Publish > Developers را انتخاب کنید.
  2. روی + Developer کلیک کنید.
  3. برای ایجاد یک توسعه دهنده آزمایشی، کادر گفتگو را پر کنید.

4. یک برنامه توسعه دهنده ایجاد کنید

می‌خواهید از اعتبار مشتری این برنامه برای برقراری تماس‌های امن API از طریق Edge Microgateway استفاده کنید:

  1. انتشار > برنامه ها را در منوی ناوبری کناری انتخاب کنید.
  2. روی + برنامه کلیک کنید. صفحه Developer App Details ظاهر می شود.
  3. صفحه برنامه Developer App را به صورت زیر پر کنید:
    1. نام: EdgeMicroTestApp
    2. نام نمایشی: EdgeMicroTestApp
    3. توسعه دهنده: اگر یک توسعه دهنده آزمایشی ایجاد کرده اید، آن را انتخاب کنید. یا، می‌توانید از هر توسعه‌دهنده موجود برای هدف این آموزش استفاده کنید.
    4. اعتبارنامه:
      1. انقضا: هرگز را انتخاب کنید.
      2. روی + Product کلیک کنید و EdgeMicroTestProduct را انتخاب کنید (محصولی که ایجاد کردید)
  4. روی ذخیره کلیک کنید.
  5. شما دوباره به صفحه لیست برنامه ها بازگشته اید.
  6. برنامه ای را که ایجاد کرده اید، EdgeMicroTestApp را انتخاب کنید.
  7. روی نمایش در کنار کلید مصرف کننده و راز مصرف کننده کلیک کنید.

قسمت 3: Microgateway Edge را اجرا کنید

اکنون که یک Edge Microgateway پیکربندی شده و حداقل یک پروکسی Edge Microgateway آگاه در Edge دارید، زمان راه‌اندازی Edge Microgateway فرا رسیده است. یک سرور HTTP Edge Microgateway بر روی دستگاه محلی شما اجرا می شود و شما تماس های API را مستقیماً با آن سرور برقرار خواهید کرد.

1. Edge Microgateway را راه اندازی کنید

برای راه اندازی 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

    خروجی

    دستور start اطلاعات پیکربندی زیادی را از 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

چه اتفاقی افتاد؟

محموله ای از اطلاعات پیکربندی Edge Microgateway از Apigee Edge دانلود شده و به صورت محلی ذخیره می شود. این اطلاعات شامل:

  • کلید عمومی که قبلاً در یک نقشه ارزش کلیدی رمزگذاری شده (KVM) ایجاد و ذخیره کرده بودیم.
  • نمایشی از تمام پراکسی های Edge Microgateway که در سازمان/محیط وجود دارند. اینها همه پروکسی هایی هستند که با پیشوند edgemicro_ نامگذاری شده اند.
  • نمایشی از تمام محصولات API موجود در سازمان/محیط.

با این اطلاعات، Edge Microgateway می‌داند کدام پروکسی‌ها و مسیرهای پراکسی مجاز به پردازش است. از اطلاعات محصول برای اعمال امنیت استفاده می کند (دقیقاً به همان روشی که هر پروکسی API در Apigee Edge انجام می دهد، جایی که کلیدهای برنامه توسعه دهنده با محصولات ارتباط دارند). به زودی مراحل ایمن سازی Edge Microgateway را طی خواهیم کرد.

2. Microgateway Edge را تست کنید

با اجرای 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"}

این خطا به این دلیل رخ می دهد که شما یک کلید API معتبر یا نشانه دسترسی همراه با درخواست ارسال نکرده اید. به طور پیش فرض، Edge Microgateway به یک کلید API یا یک نشانه دسترسی در هر تماس API نیاز دارد. در مرحله بعدی آموزش، این API را به درستی ایمن می‌کنیم و به شما نشان می‌دهیم که چگونه یک نشانه دسترسی معتبر دریافت کنید و آن را با درخواست اضافه کنید.

4. Edge Microgateway را متوقف کنید

  1. در یک پنجره ترمینال جداگانه، cd به همان دایرکتوری که Edge Microgateway را راه اندازی کرده اید، وارد کنید.
  2. دستور توقف را وارد کنید:
    edgemicro stop

قسمت 4: Microgateway لبه ایمن

می‌توانید تماس‌های API برقرار شده از طریق Edge Microgateway را با استفاده از یک کلید API یا یک نشانه دسترسی ایمن کنید.

تماس‌های API ایمن با رمز دسترسی OAuth2

اگر می‌خواهید تماس‌های API را با یک نشانه دسترسی OAuth2 احراز هویت کنید، این مراحل را دنبال کنید:

1. کلیدهای مورد نیاز را دریافت کنید

  1. در رابط کاربری Edge، به برنامه توسعه دهنده ای که قبلا ایجاد کرده اید بروید. نام برنامه EdgeMicroTestApp بود.
  2. در صفحه Developer App، Consumer Key و Consumer Secret را نشان داده و آنها را کپی کنید. این مقادیر برای به دست آوردن نشانه دسترسی در مرحله بعد مورد نیاز است.

2. یک نشانه دسترسی دریافت کنید

دو راه برای دریافت توکن دسترسی وجود دارد. ما هر دو روش را به شما نشان خواهیم داد.

استفاده از CLI برای دریافت رمز دسترسی

روش اول راحت است و از الگویی که در طول آموزش استفاده کرده ایم پیروی می کند. روش دوم به طور کلی برای توسعه دهندگان برنامه های مشتری که نیاز به درخواست توکن دارند مفیدتر است. نقطه پایانی رمز واقعی در پروکسی edgemicro-auth که هنگام پیکربندی Edge Microgateway به کار گرفته شد، پیاده سازی می شود.

  1. (اختیاری) مشاهده راهنمایی برای دستور token get :
    edgemicro token get -h
  2. توکن را ایجاد کنید و مقادیر کلید مصرف کننده و Consumer Secret را از برنامه توسعه دهنده ای که در Apigee Edge ایجاد کرده اید در پارامترهای -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' }

(اختیاری) استفاده از API برای دریافت رمز

اگر به فراخوانی پراکسی‌های Edge با استفاده از curl یا کلاینت HTTP دیگر عادت دارید، جالب است بدانید که می‌توانید به‌جای استفاده از دستور edgemicro token ، نقطه پایانی نشانه را مستقیماً فراخوانی کنید. در اینجا یک مثال فر است. فقط نام سازمان و محیط خود را در URL جایگزین کنید و مقادیر Consumer Key:Consumer Secret را که با کولون جدا شده اند را در یک هدر Basic Authentication ارسال کنید:

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 راز مصرف کننده در برنامه توسعه دهنده ای است که قبلا ایجاد کرده اید.

خروجی (نمونه)

این دستور، چه از دستور CLI edgemicro token استفاده کرده باشید و چه با استفاده از 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=
      

3. تنظیمات را در Edge Microgateway بررسی کنید

  1. فایل $HOME/.edgemicro/org-env-config.yaml باز کنید. اگر نمی‌توانید این فایل را پیدا کنید ، Edge Microgateway کجا نصب شده است را ببینید.
  2. مطمئن شوید که این ویژگی های پلاگین oauth روی 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

4. به طور ایمن با API تماس بگیرید

با در دست داشتن یک نشانه دسترسی، اکنون می توانید تماس API را به صورت ایمن انجام دهید. به عنوان مثال:

  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

API سرصفحه ها و سایر اطلاعات را از سرور ساختگی برمی گرداند.

ایمن سازی API با یک کلید API

اگر می خواهید از یک کلید API برای مجوز استفاده کنید، این مراحل را دنبال کنید:

1. کلید API را دریافت کنید

  1. در رابط کاربری Edge، به برنامه توسعه دهنده ای که قبلا ایجاد کرده اید بروید. نام برنامه EdgeMicroTestApp بود.
  2. در صفحه Developer App، Consumer Key را نشان داده و آن را کپی کنید. این مقدار کلید API است. از این کلید برای برقراری تماس های API احراز هویت شده استفاده خواهید کرد.

2. تنظیمات را در Edge Microgateway بررسی کنید

  1. فایل $HOME/.edgemicro/org-env-config.yaml. اگر نمی‌توانید این فایل را پیدا کنید ، Edge Microgateway کجا نصب شده است را ببینید.
  2. مطمئن شوید که این ویژگی های پلاگین oauth روی 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

3. با یک کلید API به طور ایمن با API تماس بگیرید

API را با هدر x-api-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'

اکنون یک Microgateway Edge کاملاً کارآمد و ایمن دارید. در قسمت بعدی آموزش، نگاهی به پلاگین هایی خواهیم داشت که قابلیت هایی را به Edge Microgateway اضافه می کنند.

قسمت 5: افزونه Spike Arrest را اضافه کنید

در این قسمت، ما یک ویژگی محدود کننده نرخ به نام دستگیری اسپایک را به نمونه Edge Microgateway شما اضافه می کنیم.

پلاگین ها چیست؟

پلاگین یک ماژول Node.js است که قابلیت هایی را به Edge Microgateway اضافه می کند. ماژول‌های پلاگین از یک الگوی ثابت پیروی می‌کنند و در مکانی که به Edge Microgateway شناخته می‌شود ذخیره می‌شوند و به microgateway امکان می‌دهند آنها را به طور خودکار کشف و بارگذاری کند. می‌توانید در مورد افزونه‌ها در استفاده از افزونه‌ها بیشتر بخوانید.

افزودن پلاگین دستگیری سنبله

یک پلاگین دستگیری سنبله در برابر افزایش ترافیک محافظت می کند. تعداد درخواست های پردازش شده توسط یک نمونه Edge Microgateway را کاهش می دهد.

در Edge Microgateway، Spike arrest به عنوان یک ماژول پلاگین پیاده سازی شده است. برای فعال کردن آن، باید آن را به فایل پیکربندی Edge Microgateway اضافه کنید.

  1. فایل $HOME/.edgemicro/org-env-config.yaml. اگر نمی توانید این فایل را پیدا کنید Edge Microgateway کجا نصب شده است .
  2. عنصر زیر را اضافه کنید. می توانید آن را در هر جایی از فایل اضافه کنید.
       spikearrest:
          timeUnit: minute   
          allow: 10   
          buffersize: 0   
  3. همانطور که در زیر نشان داده شده است، spikearrest به عنصر edgemicro:sequence اضافه کنید. ویژگی sequence configuration ترتیب اجرای ماژول های افزونه را به 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. Edge Microgateway را با دستور reload مجدد بارگذاری کنید. شما باید این دستور را از دایرکتوری که 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}

دلیل آن این است که دستگیری اسپایک تعداد تماس هایی را که می توان در واحد زمانی مشخص شده برقرار کرد، هموار می کند. بنابراین، در این حالت می توانید 10 تماس در دقیقه یا هر 6 ثانیه یک تماس برقرار کنید.

اعتبار اضافی: افزودن افزونه سهمیه

با پیروی از همان الگوی مورد استفاده برای پیکربندی دستگیری اسپیک، می‌توانید افزونه‌های دیگری مانند افزونه سهمیه اضافه کنید. مانند دستگیری اسپایک، پلاگین سهمیه در هر نصب Edge Microgateway گنجانده شده است. سهمیه تعداد پیام های درخواستی را مشخص می کند که یک برنامه مجاز است در یک بازه زمانی مشخص (دقیقه یا ساعت) به یک API ارسال کند.

قسمت 6: مشاهده تجزیه و تحلیل در Apigee Edge

ما اکنون یک نمونه Edge Microgateway کاملاً کارآمد داریم، بیایید ببینیم چه کار کرده است! به طور پیش فرض، ماژول افزونه تجزیه و تحلیل به Edge Micro اضافه می شود. این ماژول به‌طور بی‌صدا داده‌های تحلیلی را از Edge Micro به Apigee edge منتقل می‌کند، جایی که توسط سیستم Edge Analytics مصرف می‌شود. بیایید ببینیم:

  1. در Apigee Edge به سازمان خود وارد شوید.
  2. Analytics > عملکرد پروکسی را انتخاب کنید.
  3. در داشبورد Proxy Performance، پروکسی edgemicro_hello را انتخاب کنید.
  4. نمودار اطلاعاتی در مورد الگوهای ترافیک پراکسی مانند کل ترافیک، میانگین زمان پاسخگویی، میانگین زمان پاسخ هدف و موارد دیگر به شما نشان می دهد.

می توانید اطلاعات بیشتری در مورد داشبوردهای Edge Analytics در صفحه اصلی Analytics Dashboards در مستندات Edge بخوانید. برای کسب اطلاعات بیشتر در مورد افزونه ها، به استفاده از افزونه ها مراجعه کنید