شما در حال مشاهده مستندات Apigee Edge هستید.
به مستندات Apigee X مراجعه کنید . اطلاعات
میکروگیتوی اج نسخه ۳.۳.x
نمای کلی
پس از تکمیل مراحل این راهنمای راهاندازی، یک نصب کاملاً پیکربندیشده و کارآمد Edge Microgateway خواهید داشت که قادر به پردازش درخواستهای API است. شما با برقراری تماسهای API امن از طریق Edge Microgateway به یک هدف backend، تنظیمات را آزمایش خواهید کرد. همچنین یاد خواهید گرفت که چگونه یک افزونه spike arrest به Microgateway اضافه کنید.
این راهنما به این بخشها تقسیم شده است:
- پیشنیاز: نصب Edge Microgateway
- بخش ۱: پیکربندی Edge Microgateway
- بخش ۲: ایجاد موجودیتها در Apigee Edge
- بخش ۳: بهرهبرداری از Edge Microgateway
- بخش ۴: میکروگیتوی لبه امن
- بخش ۵: افزونه Spike Arrest را اضافه کنید
- قسمت 6: مشاهده دادههای تحلیلی در Apigee Edge
پیشنیاز: نصب Edge Microgateway
دستورالعملهای موجود در بخش نصب Edge Microgateway را دنبال کنید. پس از اتمام نصب، آماده خواهید بود تا مراحل این آموزش را دنبال کنید.
بخش ۱: پیکربندی Edge Microgateway
در این بخش، شما از یک رابط خط فرمان (CLI) برای پیکربندی Edge Microgateway جهت ارتباط با Apigee Edge استفاده خواهید کرد.
- اگر از Apigee Edge Cloud استفاده میکنید، مراحل پیکربندی Apigee Edge Cloud را دنبال کنید.
- اگر از Apigee Private Cloud استفاده میکنید، مراحل Apigee Edge Private Cloud را دنبال کنید.
مراحل پیکربندی Apigee Edge Cloud
برای استفاده از Edge Microgateway با Apigee Edge Cloud، این مراحل را دنبال کنید:
- مقداردهی اولیه Edge Microgateway (شما فقط باید این مرحله را یک بار انجام دهید):
edgemicro init
- یک فایل پیکربندی به نام
default.yamlدر دایرکتوری خانگی شما و در زیرشاخهای به نام.edgemicroقرار داده شده است. اکنون بررسی کنید که آیا این فایل وجود دارد یا خیر:ls ~/.edgemicro default.yaml
توجه: در مستندات Edge Microgateway، ما با استفاده از علامت tilde (
~) به دایرکتوری خانگی اشاره میکنیم که یک میانبر یونیکس است. اگر از ویندوز استفاده میکنید، اگر پوستهای را اجرا میکنید که از tilde پشتیبانی نمیکند، باید متغیر محیطی مناسب را در دستوراتی که به دایرکتوری خانگی اشاره میکنند، جایگزین tilde کنید. برای مثال:%USERPROFILE%/.edgemicro. - تمام دستورات CLI دارای یک تابع راهنما هستند. برای دستور پیکربندی edgemicro، راهنمای آن را چاپ کنید:
edgemicro configure -h
- برای پیکربندی 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
برای استفاده از Edge Microgateway با Apigee Private Cloud، این مراحل را دنبال کنید:
- مقداردهی اولیه Edge Microgateway (شما فقط باید این مرحله را یک بار انجام دهید):
edgemicro init
- اطلاعات راهنما را برای دستور edgemicro private configure چاپ کنید. میتوانید از این طریق برای هر دستور یا گزینه دستوری Edge Microgateway CLI راهنما چاپ کنید.
edgemicro private configure -h
- دستور زیر را اجرا کنید. این دستور به اطلاعات استانداردی در مورد حساب کاربری 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 شما است (شما باید مدیر org باشید). -
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!
نصب را تأیید کنید
برای تأیید نصب، این دستور را اجرا کنید. اگر هیچ خطایی گزارش نشد، همه چیز به درستی تنظیم شده است و میتوانید Edge Microgateway را با موفقیت شروع کنید.
edgemicro verify -o [org] -e [env] -k [key] -s [secret]
کجا:
-
orgنام سازمان Edge شما است (شما باید مدیر org باشید). -
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-aware را از Apigee Edge دریافت کند. در بخش بعدی این آموزش، شما یک پروکسی Microgateway-aware ایجاد خواهید کرد. Edge Microgateway کلاینتها را محدود میکند تا فقط APIهایی را که توسط این پروکسیهای API Microgateway-aware ارائه میشوند، فراخوانی کنند و کلاینتها (به طور پیشفرض) ملزم به ارائه یک توکن امنیتی معتبر برای هر فراخوانی هستند. برای مطالعه بیشتر در مورد این پروکسیها، به بخش « آنچه باید در مورد پروکسیهای Edge Microgateway-aware بدانید » در مرور کلی Edge Microgateway مراجعه کنید.
به عنوان یک مدیر Edge org، جالب خواهد بود بدانید که پروکسیهای سازگار با Edge Microgateway را میتوان مانند هر پروکسی دیگری به محصولات Edge اضافه کرد. با استفاده از محصولات و برنامههای توسعهدهنده، میتوانید توکنهای امنیتی مخصوص مشتری را برای کنترل دسترسی به APIهایی که از طریق Edge Microgateway فراخوانی میشوند، تولید کنید. باز هم، الگوهای مربوطه مشابه کار با هر پروکسی API، محصولات و برنامههای توسعهدهنده در Apigee Edge هستند. اگر میخواهید در مورد محصولات مطالعه کنید، با بخش «محصول API چیست؟» در مستندات Edge شروع کنید.
در ادامه نحوه ایجاد پروکسیهای آگاه از Edge Microgateway را بررسی خواهیم کرد و پس از آن، Edge Microgateway را اجرا کرده و تنظیمات را آزمایش خواهیم کرد.
بخش ۲: ایجاد موجودیتها در Apigee Edge
در این بخش، این موجودیتها را در Edge ایجاد خواهید کرد:
- یک پروکسی آگاه از microgateway - این یک پروکسی ویژه است که Edge Microgateway میتواند هنگام راهاندازی آن را کشف کند. پروکسیهای آگاه از Microgateway یک قرارداد نامگذاری دارند که باید از آن پیروی کنید: نام باید با
edgemicro_شروع شود. به عنوان مثالedgemicro_helloیاedgemicro_userinfo. وقتی Edge Microgateway شروع میشود، لیستی از پروکسیهای آگاه از microgateway را از همان سازمان و محیط Edge که هنگام شروع Edge Microgateway مشخص کردهاید، از Edge بازیابی میکند.
برای هر پروکسیِ آگاه از microgateway، Edge Microgatway آدرس اینترنتی (URL) هدف پروکسی و مسیر پایه آن را بازیابی میکند. پروکسیهای آگاه از Microgateway همچنین راهی مناسب برای مرتبط کردن دادههای تحلیلی تولید شده توسط Edge Microgateway با یک پروکسی در پلتفرم Edge ارائه میدهند. همانطور که Microgateway فراخوانیهای API را مدیریت میکند، دادههای تحلیلی را به صورت غیرهمزمان به Edge ارسال میکند. دادههای تحلیلی در رابط کاربری Edge Analytics تحت نام(های) پروکسیِ آگاه از microgateway نمایش داده میشوند، همانطور که برای هر پروکسی دیگری نیز نمایش داده میشود. - یک محصول، توسعهدهنده و برنامه توسعهدهنده - Edge Microgateway از محصولات، توسعهدهندگان و برنامههای توسعهدهنده برای فعال کردن توکن دسترسی OAuth2 یا امنیت کلید API استفاده میکند. وقتی Edge Microgateway شروع به کار میکند، تمام پیکربندیهای محصول را از سازمان Apigee Edge شما دانلود میکند. از این اطلاعات برای تأیید فراخوانیهای API انجام شده از طریق Edge Microgateway با کلیدهای API یا توکنهای دسترسی OAuth2 استفاده میکند.
۱. یک پروکسی API آگاه از Edge Microgateway روی Edge ایجاد کنید.
- وارد سازمان خود در Apigee Edge شوید.
- در منوی ناوبری کناری، گزینه توسعه > پروکسیهای API را انتخاب کنید.
- روی + Proxy کلیک کنید. ویزارد ساخت پروکسی فراخوانی میشود.
- در صفحه اول ویزارد، گزینه Reverse proxy (رایجترین) را انتخاب کنید.
- روی بعدی کلیک کنید.
- در صفحه جزئیات ویزارد، به صورت زیر پیکربندی کنید. حتماً ویزارد را دقیقاً مطابق شکل پر کنید:
- نام پروکسی: edgemicro_hello
- مسیر پایه پروکسی: /hello
- API موجود: http://mocktarget.apigee.net/
- روی بعدی کلیک کنید.
- در صفحه امنیت ویزارد، گزینه عبور (بدون رمز) را انتخاب کنید.
- روی بعدی کلیک کنید.
- در صفحه میزبانهای مجازی ویزارد، مقادیر پیشفرض را بپذیرید.
- روی بعدی کلیک کنید.
- در صفحه ساخت ویزارد، تنظیمات پروکسی خود را بررسی کنید. مطمئن شوید که محیط آزمایشی انتخاب شده است.
- روی ساخت و استقرار کلیک کنید.
۲. یک محصول API ایجاد کنید
- در منوی ناوبری کناری، گزینه انتشار > محصولات API را انتخاب کنید.
- روی + محصول API کلیک کنید .
- جزئیات محصول نشان داده شده در جدول زیر را وارد کنید:
میدان توضیحات نام محصول EdgeMicroTest نام نمایشی محصول آزمایشی Edge Microgatway محیط زیست آزمون دسترسی عمومی نوع تأیید کلید خودکار - در بخش منابع API، پروکسی API که اخیراً ایجاد کردهاید و پروکسی edgemicro-auth را اضافه کنید:
- edgemicro_hello
- edgemicro-auth
- روی ذخیره کلیک کنید.
۳. یک توسعهدهنده ایجاد کنید
برای اهداف این آموزش، میتوانید از هر توسعهدهندهی موجود برای مرحلهی بعدی، یعنی ایجاد یک برنامهی توسعهدهنده، استفاده کنید. اما اگر مایل هستید، همین حالا یک توسعهدهندهی آزمایشی ایجاد کنید:
- در منوی ناوبری کناری، گزینهی انتشار > توسعهدهندگان را انتخاب کنید.
- روی + توسعهدهنده کلیک کنید.
- برای ایجاد یک توسعهدهندهی آزمایشی، کادر محاورهای را پر کنید.
۴. یک اپلیکیشن توسعهدهنده ایجاد کنید
شما قصد دارید از اعتبارنامههای کلاینت این برنامه برای برقراری تماسهای API امن از طریق Edge Microgateway استفاده کنید:
- در منوی ناوبری کناری، گزینهی انتشار > برنامهها را انتخاب کنید.
- روی + برنامه کلیک کنید. صفحه جزئیات برنامه توسعهدهنده ظاهر میشود.
- صفحه برنامه توسعهدهندگان را به صورت زیر پر کنید:
- نام: EdgeMicroTestApp
- نام نمایشی: EdgeMicroTestApp
- توسعهدهنده: اگر یک توسعهدهنده آزمایشی ایجاد کردهاید، آن را انتخاب کنید. یا میتوانید از هر توسعهدهنده موجود برای اهداف این آموزش استفاده کنید.
- مدارک تحصیلی:
- انقضا را انتخاب کنید: هرگز .
- روی + Product کلیک کنید و EdgeMicroTestProduct (محصولی که تازه ایجاد کردهاید) را انتخاب کنید.
- روی ذخیره کلیک کنید.
- شما به صفحه لیست برنامهها برگشتهاید.
- برنامهای که تازه ایجاد کردهاید، یعنی EdgeMicroTestApp ، را انتخاب کنید.
- روی «نمایش» در کنار کلید مصرفکننده و راز مصرفکننده کلیک کنید.

بخش ۳: بهرهبرداری از Edge Microgateway
اکنون که یک Edge Microgateway پیکربندی شده و حداقل یک پروکسی Edge Microgateway-aware در Edge دارید، زمان آن رسیده است که Edge Microgateway را راهاندازی کنید. یک سرور HTTP Edge Microgateway روی دستگاه محلی شما اجرا میشود و شما مستقیماً فراخوانیهای API را به آن سرور انجام خواهید داد.
۱. شروع Edge Microgateway
برای شروع Edge Microgateway از دستور edgemicro start استفاده کنید.
- مطمئن شوید که کلیدهایی را که قبلاً هنگام اجرای دستور پیکربندی edgemicro برگردانده شده بودند، دارید. خروجی آن چیزی شبیه به این بود:
You need key and secret while starting edgemicro instance key: da4778e7c240a5d4585fc559eaba5083328828bc9f3a7f583e8b73e secret: 3aad7439708b4aeb38ee08e82189921ad00e6fc1ba8a8ae9f929ee2
- (اختیاری) اطلاعات راهنما را برای دستور
edgemicro startچاپ کنید.edgemicro start -h
- برای شروع Edge Microgateway، دستور زیر را اجرا کنید:
edgemicro start -o [org] -e [env] -k [key] -s [secret]
کجا:
-
orgنام سازمان Edge شما است (شما باید مدیر org باشید). -
envیک محیط در سازمان شما (مانند test یا prod) است. -
keyکلیدی است که قبلاً توسط دستور configure برگردانده شده است. -
secretکلیدی است که قبلاً توسط دستور configure برگردانده شده است.
مثال
edgemicro start -o docs -e test -k 701e70e718ce6dc1880616b3c39177d64a88754d615c7a4e1f78b6181d000723 -s 05c14356e42d136b83dd135cf8a18531ff52d7299134677e30ef4e34ab0cc824
خروجی
دستور start اطلاعات پیکربندی زیادی را از Apigee Edge (که به پنجره ترمینال منتقل میشود) بازیابی میکند. در خروجی، لیستی از پروکسیها و محصولات microgateway-aware که کشف شدهاند را مشاهده خواهید کرد. در انتهای خروجی، باید چیزی شبیه به این را ببینید:
... 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
-
- وضعیت microgateway را بررسی کنید. در یک پنجره ترمینال دیگر، با دستور cd به همان دایرکتوری که Edge Micro را در آن اجرا کردهاید بروید و این دستور را وارد کنید:
edgemicro status current nodejs version is v12.5.0 current edgemicro version is 3.1.0 edgemicro is running with 8 workers
چه اتفاقی افتاده؟
یک payload از اطلاعات پیکربندی Edge Microgateway از Apigee Edge دانلود شده و به صورت محلی ذخیره میشود. این اطلاعات شامل موارد زیر است:
- کلید عمومی که قبلاً ایجاد و در یک نقشه کلید-مقدار رمزگذاری شده (KVM) ذخیره کردهایم.
- نمایشی از تمام پروکسیهای Edge Microgateway-aware که در سازمان/محیط وجود دارند. همه اینها پروکسیهایی هستند که با پیشوند edgemicro_ نامگذاری شدهاند.
- نمایشی از تمام محصولات API موجود در سازمان/محیط.
با این اطلاعات، Edge Microgateway میداند که مجاز به پردازش کدام پروکسیها و مسیرهای پروکسی است. این سرویس از اطلاعات محصول برای اجرای امنیت استفاده میکند (دقیقاً مشابه کاری که هر پروکسی API در Apigee Edge انجام میدهد، جایی که کلیدهای برنامه توسعهدهنده با محصولات مرتبط هستند). به زودی مراحل ایمنسازی Edge Microgateway را بررسی خواهیم کرد.
۲. تست میکروگیتوی لبه
با اجرای Edge Microgateway، میتوانید پروکسی را فراخوانی کنید. پیکربندی پروکسی edgemicro_hello هنگام شروع Edge Microgateway از Edge دانلود شده است. به یاد داشته باشید، مسیر پایه پروکسی /hello است.
برای آزمایش Edge Microgateway، با مسیر پایه شروع میکنیم و یک مسیر منبع /echo اضافه میکنیم. توجه داشته باشید که هر چیزی بعد از مسیر پایه (از جمله هر پارامتر پرس و جو) به سادگی به هدف backend منتقل میشود:
curl -i http://localhost:8000/hello/echo
{"error":"missing_authorization","error_description":"Missing Authorization header"}این خطا به این دلیل رخ میدهد که شما یک کلید API یا توکن دسترسی معتبر را به همراه درخواست ارسال نکردهاید. به طور پیشفرض، Edge Microgateway در هر فراخوانی API به یک کلید API یا یک توکن دسترسی نیاز دارد. در مرحله بعدی آموزش، این API را به درستی ایمن خواهیم کرد و به شما نشان خواهیم داد که چگونه یک توکن دسترسی معتبر را دریافت کرده و آن را به درخواست اضافه کنید.
۴. توقف میکروگیتوی اج
- در یک پنجره ترمینال جداگانه،
cdبه همان دایرکتوری که Edge Microgateway را در آن اجرا کردهاید، بروید. - دستور توقف را وارد کنید:
edgemicro stop
بخش ۴: میکروگیتوی لبه امن
شما میتوانید با استفاده از یک کلید API یا یک توکن دسترسی، تماسهای API انجام شده از طریق Edge Microgateway را ایمن کنید.
فراخوانیهای API را با یک توکن دسترسی OAuth2 ایمن کنید
اگر میخواهید فراخوانیهای API را با توکن دسترسی OAuth2 احراز هویت کنید، این مراحل را دنبال کنید:
۱. کلیدهای مورد نیاز را دریافت کنید
- در رابط کاربری Edge، به برنامه توسعهدهندهای که قبلاً ایجاد کردهاید بروید. نام برنامه EdgeMicroTestApp بود.
- در صفحه برنامه توسعهدهندگان، کلید مصرفکننده و راز مصرفکننده را نمایش داده و آنها را کپی کنید. این مقادیر برای دریافت توکن دسترسی در مرحله بعدی مورد نیاز هستند.
۲. یک توکن دسترسی دریافت کنید
دو راه برای دریافت توکن دسترسی وجود دارد. ما هر دو روش را به شما نشان خواهیم داد.
استفاده از رابط خط فرمان (CLI) برای دریافت توکن دسترسی
روش اول راحت است و از الگویی که در طول آموزش استفاده کردهایم پیروی میکند. روش دوم عموماً برای توسعهدهندگان برنامههای کلاینت که نیاز به درخواست توکن دارند، مفیدتر است. نقطه پایانی توکن واقعی در پروکسی edgemicro-auth پیادهسازی شده است که هنگام پیکربندی Edge Microgateway مستقر شده است.
- (اختیاری) مشاهدهی راهنمای دستور token get :
edgemicro token get -h
- توکن را تولید کنید و مقادیر Consumer Key و Consumer Secret خود را از برنامه توسعهدهندهای که در Apigee Edge ایجاد کردهاید، در پارامترهای -i و -s جایگزین کنید:
edgemicro token get -o [org] -e [env] -i [consumer_key] -s [consumer_secret]
کجا:
-
orgنام سازمان Edge شما است (شما باید مدیر org باشید). -
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 ، مستقیماً نقطه پایانی token را فراخوانی کنید. در اینجا یک مثال curl آورده شده است. فقط نامهای org و environment خود را در 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 شما است (شما باید مدیر org باشید). -
envیک محیط در سازمان شما (مانند test یا prod) است. -
client_idشناسه مصرفکننده در برنامه توسعهدهندهای است که قبلاً ایجاد کردهاید. -
client_secretهمان راز مصرفکننده در برنامه توسعهدهندهای است که قبلاً ایجاد کردهاید.
خروجی (نمونه)
این دستور، چه از دستور edgemicro token 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=
۳. پیکربندی Edge Microgateway را بررسی کنید
- فایل
$HOME/.edgemicro/org-env-config.yamlباز کنید. اگر نمیتوانید این فایل را پیدا کنید، به بخش «محل نصب Edge Microgateway» مراجعه کنید. - مطمئن شوید که این ویژگیهای افزونهی oauth روی false تنظیم شدهاند. آنها بهطور پیشفرض false هستند، اما بهتر است دوباره بررسی کنید:
oauth: allowNoAuthorization: false allowInvalidAuthorization: false
- همچنین در فایل
org-env-config.yaml، مطمئن شوید که افزونه oauth به عنصرplugins:sequenceاضافه شده است، مانند این::plugins: dir: ../plugins sequence: - oauth
- اگر تغییری در فایل ایجاد کردید، تغییرات را در نمونه در حال اجرای Edge Microgateway بارگذاری مجدد کنید . این دستور Edge Microgateway را با زمان خرابی صفر پیکربندی میکند:
edgemicro reload -o [org] -e [env] -k [key] -s [secret]
کجا:
-
orgنام سازمان Edge شما است (شما باید مدیر org باشید). -
envیک محیط در سازمان شما (مانند test یا prod) است. -
keyکلیدی است که قبلاً توسط دستور configure برگردانده شده است. -
secretکلیدی است که قبلاً توسط دستور configure برگردانده شده است.
مثال
edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
-
۴. فراخوانی امن 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 برای مجوز استفاده کنید، این مراحل را دنبال کنید:
۱. دریافت کلید API
- در رابط کاربری Edge، به برنامه توسعهدهندهای که قبلاً ایجاد کردهاید بروید. نام برنامه EdgeMicroTestApp بود.
- در صفحه برنامه توسعهدهندگان، کلید مصرفکننده را نمایش داده و آن را کپی کنید. این مقدار، کلید API است. شما از این کلید برای برقراری تماسهای API احراز هویت شده استفاده خواهید کرد.
۲. پیکربندی را در Edge Microgateway بررسی کنید
- فایل
$HOME/.edgemicro/org-env-config.yaml.اگر نمیتوانید این فایل را پیدا کنید، به بخش «محل نصب Edge Microgateway» مراجعه کنید. - مطمئن شوید که این ویژگیهای افزونهی oauth روی false تنظیم شدهاند. آنها بهطور پیشفرض false هستند، اما در صورت تمایل میتوانید دوباره بررسی کنید:
oauth: allowNoAuthorization: false allowInvalidAuthorization: false
- همچنین در فایل
org-env-config.yaml، مطمئن شوید که افزونه oauth به عنصرplugins:sequenceاضافه شده است، مانند این::plugins: dir: ../plugins sequence: - oauth - اگر تغییری در فایل ایجاد کردید، تغییرات را در نمونه در حال اجرای Edge Microgateway بارگذاری مجدد کنید . این دستور Edge Microgateway را با زمان خرابی صفر پیکربندی میکند:
edgemicro reload -o [org] -e [env] -k [key] -s [secret]
کجا:
-
orgنام سازمان Edge شما است (شما باید مدیر org باشید). -
envیک محیط در سازمان شما (مانند test یا prod) است. -
keyکلیدی است که قبلاً توسط دستور configure برگردانده شده است. -
secretکلیدی است که قبلاً توسط دستور configure برگردانده شده است.
مثال
edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c30177d64a88754d615c74e1f78b6181d
-
۳. با استفاده از کلید API، API را به صورت امن فراخوانی کنید
API را با هدر x-api-key به صورت زیر فراخوانی کنید. مقدار 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 کاملاً کارآمد و امن دارید. در بخش بعدی آموزش، نگاهی به افزونههایی خواهیم انداخت که به Edge Microgateway قابلیت اضافه میکنند.
بخش ۵: افزودن افزونهی Spike Arrest
در این بخش، یک ویژگی محدودکننده سرعت به نام spike arrest به نمونه Edge Microgateway شما اضافه خواهیم کرد.
افزونهها چه هستند؟
افزونه، یک ماژول Node.js است که قابلیتی را به Edge Microgateway اضافه میکند. ماژولهای افزونه از یک الگوی ثابت پیروی میکنند و در مکانی ذخیره میشوند که برای Edge Microgateway شناخته شده است و به microgateway این امکان را میدهد که آنها را به طور خودکار کشف و بارگذاری کند. میتوانید اطلاعات بیشتر در مورد افزونهها را در بخش « استفاده از افزونهها» مطالعه کنید.
افزودن افزونهی جلوگیری از اسپایک
یک افزونهی جلوگیری از افزایش ناگهانی ترافیک، از افزایش ناگهانی ترافیک جلوگیری میکند. این افزونه تعداد درخواستهای پردازششده توسط یک نمونهی Edge Microgateway را کاهش میدهد.
در Edge Microgateway، قابلیت Spike arrest به عنوان یک ماژول افزونه پیادهسازی شده است. برای فعالسازی آن، باید آن را به فایل پیکربندی Edge Microgateway اضافه کنید.
- فایل
$HOME/.edgemicro/org-env-config.yaml.اگر نمیتوانید این فایل را پیدا کنید، Edge Microgateway کجا نصب شده است ؟ - عنصر زیر را اضافه کنید. میتوانید آن را در هر جایی از فایل اضافه کنید.
spikearrest: timeUnit: minute allow: 10 buffersize: 0 - همانطور که در زیر نشان داده شده است،
spikearrestبه عنصرedgemicro:sequenceاضافه کنید. ویژگی پیکربندی 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
- فایل پیکربندی را ذخیره کنید.
- با دستور reload، Edge Microgateway را مجدداً بارگذاری کنید. شما باید این دستور را از دایرکتوری که Edge Microgateway را در آن اجرا کردهاید، اجرا کنید.
edgemicro reload -o [org] -e [env] -k [key] -s [secret]
کجا:
-
orgنام سازمان Edge شما است (شما باید مدیر org باشید). -
envیک محیط در سازمان شما (مانند test یا prod) است. -
keyکلیدی است که قبلاً توسط دستور configure برگردانده شده است. -
secretکلیدی است که قبلاً توسط دستور configure برگردانده شده است.
مثال
edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
-
- چندین بار پشت سر هم و سریع API را فراخوانی کنید. پس از دومین فراخوانی، Edge Microgateway این خطا را برمیگرداند:
{"message":"SpikeArrest engaged","status":503}
دلیل این امر این است که قطع ناگهانی سیگنال، تعداد تماسهایی را که میتوان در واحد زمانی مشخص شده برقرار کرد، هموار میکند. بنابراین، در این حالت، میتوانید 10 تماس در دقیقه یا هر 6 ثانیه یک تماس برقرار کنید.
اعتبار اضافی: اضافه کردن افزونه سهمیه
با پیروی از همان الگویی که برای پیکربندی spike arrest استفاده شد، میتوانید افزونههای دیگری مانند افزونه quota را اضافه کنید. مانند spike arrest، افزونه quota با هر نصب Edge Microgateway همراه است. quota تعداد پیامهای درخواستی را که یک برنامه مجاز است در یک بازه زمانی مشخص (دقیقه یا ساعت) به یک API ارسال کند، مشخص میکند.
بخش ششم: مشاهده تحلیلها در Apigee Edge
اکنون یک نمونه Edge Microgateway کاملاً کاربردی داریم، بیایید ببینیم چه کار میکند! به طور پیشفرض، ماژول افزونه تحلیلی به Edge Micro اضافه شده است. این ماژول بیسروصدا دادههای تحلیلی را از Edge Micro به Apigee edge منتقل میکند، جایی که توسط سیستم Edge Analytics مصرف میشود. بیایید ببینیم:
- وارد سازمان خود در Apigee Edge شوید.
- تجزیه و تحلیل > عملکرد پروکسی را انتخاب کنید.
- در داشبورد عملکرد پروکسی، پروکسی edgemicro_hello را انتخاب کنید.
- این نمودار اطلاعاتی در مورد الگوهای ترافیک پروکسی، مانند کل ترافیک، میانگین زمان پاسخ، میانگین زمان پاسخ هدف و موارد دیگر را به شما نشان میدهد.
میتوانید اطلاعات بیشتر در مورد داشبوردهای Edge Analytics را در صفحه اصلی Analytics Dashboards در مستندات Edge مطالعه کنید. برای کسب اطلاعات بیشتر در مورد افزونهها، به بخش « استفاده از افزونهها» مراجعه کنید.