لبه برای ابر خصوصی نسخه ۴.۱۸.۰۱
الزامات سختافزاری
شما باید حداقل الزامات سختافزاری زیر را برای یک زیرساخت با قابلیت دسترسی بالا در یک محیط عملیاتی برآورده کنید. برای تمام سناریوهای نصب شرح داده شده در توپولوژیهای نصب ، جداول زیر حداقل الزامات سختافزاری برای اجزای نصب را فهرست میکنند.
در این جداول، الزامات هارد دیسک علاوه بر فضای هارد دیسک مورد نیاز سیستم عامل ذکر شده است. بسته به برنامهها و ترافیک شبکه شما، نصب شما ممکن است به منابع بیشتر یا کمتری از آنچه در زیر ذکر شده است، نیاز داشته باشد.
| کامپوننت نصب | رم | پردازنده | حداقل هارد دیسک |
|---|---|---|---|
| کاساندرا | ۱۶ گیگابایت | ۸ هستهای | ۲۵۰ گیگابایت حافظه داخلی با SSD یا HDD پرسرعت با پشتیبانی از ۲۰۰۰ ورودی/خروجی در ثانیه |
| پردازنده/روتر پیام در همان دستگاه | ۱۶ گیگابایت | ۸ هستهای | ۱۰۰ گیگابایت |
| تجزیه و تحلیل - Postgres/Qpid روی همان سرور (برای محیط عملیاتی توصیه نمیشود) | ۱۶ گیگابایت * | ۸ هستهای * | ۵۰۰ گیگابایت - ۱ ترابایت ** فضای ذخیرهسازی شبکه *** ، ترجیحاً با SSD، با پشتیبانی از ۱۰۰۰ ورودی/خروجی در ثانیه یا بالاتر * |
| تجزیه و تحلیل - Postgres مستقل | ۱۶ گیگابایت * | ۸ هستهای * | ۵۰۰ گیگابایت - ۱ ترابایت ** فضای ذخیرهسازی شبکه *** ، ترجیحاً با SSD، با پشتیبانی از ۱۰۰۰ ورودی/خروجی در ثانیه یا بالاتر * |
| تجزیه و تحلیل - Qpid مستقل | ۸ گیگابایت | ۴ هستهای | ۳۰ تا ۵۰ گیگابایت فضای ذخیرهسازی محلی با SSD یا HDD پرسرعت برای نصبهای بیش از ۲۵۰ تراکنش در ثانیه، هارد دیسک با حافظه محلی که از ۱۰۰۰ ورودی/خروجی در ثانیه پشتیبانی میکند، توصیه میشود. اندازه پیشفرض صف Qpid برابر با ۲۰ گیگابایت است. اگر نیاز به افزایش ظرفیت دارید، گرههای Qpid بیشتری اضافه کنید. |
| سایر (OpenLDAP، رابط کاربری، سرور مدیریت) | ۴ گیگابایت | ۲ هستهای | ۶۰ گیگابایت |
* تنظیم الزامات سیستم Postgres بر اساس توان عملیاتی:
- کمتر از 250 تراکنش در ثانیه: 8 گیگابایت، 4 هستهای را میتوان با فضای ذخیرهسازی شبکه مدیریتشده در نظر گرفت *** پشتیبانی از 1000 IOPS یا بالاتر
- بیشتر از 250 تراکنش در ثانیه: 16 گیگابایت، 8 هستهای، فضای ذخیرهسازی شبکه مدیریتشده *** پشتیبانی از 1000 IOPS یا بالاتر
- بیشتر از 1000 TPS: 16 گیگابایت، 8 هستهای، فضای ذخیرهسازی شبکه مدیریتشده *** پشتیبانی از 2000 IOPS یا بالاتر
- بیشتر از 2000 TPS: 32 گیگابایت، 16 هستهای، فضای ذخیرهسازی شبکه مدیریتشده *** پشتیبانی از 2000 IOPS یا بالاتر
- بیشتر از 4000 TPS: 64 گیگابایت، 32 هستهای، فضای ذخیرهسازی شبکه مدیریتشده *** پشتیبانی از 4000 IOPS یا بالاتر
** مقدار هارد دیسک Postgres بر اساس تجزیه و تحلیلهای اولیه ثبت شده توسط Edge است. اگر مقادیر سفارشی را به دادههای تجزیه و تحلیل اضافه کنید، این مقادیر باید بر این اساس افزایش یابند. برای تخمین فضای ذخیرهسازی مورد نیاز از فرمول زیر استفاده کنید:
bytes of storage needed =
(# bytes of analytics data/request) *
(requests/second) *
(seconds/hour) *
(hours of peak usage/day) *
(days/month) *
(months of data retention)
برای مثال:
(2K bytes) * (100 req/sec) * (3600 secs/hr) * (18 peak hours/day) * (30 days/month) * (3 months retention)
= 1,194,393,600,000 bytes or 1194.4 GB
*** ذخیرهسازی شبکه برای پایگاه داده Postgresql توصیه میشود زیرا:
- این امکان را فراهم میکند که در صورت نیاز، اندازه ذخیرهسازی به صورت پویا افزایش یابد.
- IOPS شبکه را میتوان در اکثر زیرسیستمهای محیط/ذخیرهسازی/شبکه امروزی به صورت آنی تنظیم کرد.
- اسنپشاتهای سطح ذخیرهسازی را میتوان به عنوان بخشی از راهحلهای پشتیبانگیری و بازیابی فعال کرد.
علاوه بر این، در صورت تمایل به نصب سرویسهای کسب درآمد، موارد زیر نیازمندیهای سختافزاری را فهرست میکند:
| کامپوننت با قابلیت کسب درآمد | رم | پردازنده | هارد دیسک |
|---|---|---|---|
| سرور مدیریت (با خدمات کسب درآمد) | ۸ گیگابایت | ۴ هستهای | ۶۰ گیگابایت |
| تجزیه و تحلیل - Postgres/Qpid در همان سرور | ۱۶ گیگابایت | ۸ هستهای | ۵۰۰ گیگابایت - ۱ ترابایت فضای ذخیرهسازی شبکه، ترجیحاً با حافظه SSD، با پشتیبانی از ۱۰۰۰ ورودی/خروجی در ثانیه یا بالاتر، یا استفاده از قانون جدول بالا. |
| تجزیه و تحلیل - Postgres مستقل | ۱۶ گیگابایت | ۸ هستهای | ۵۰۰ گیگابایت - ۱ ترابایت فضای ذخیرهسازی شبکه، ترجیحاً با حافظه SSD، با پشتیبانی از ۱۰۰۰ ورودی/خروجی در ثانیه یا بالاتر، یا استفاده از قانون جدول بالا. |
| تجزیه و تحلیل - Qpid مستقل | ۸ گیگابایت | ۴ هستهای | ۴۰ تا ۵۰۰ گیگابایت فضای ذخیرهسازی محلی با SSD یا HDD پرسرعت برای نصبهای بیش از ۲۵۰ تراکنش در ثانیه، هارد دیسک با حافظه محلی که از ۱۰۰۰ ورودی/خروجی در ثانیه پشتیبانی میکند، توصیه میشود. |
در ادامه، الزامات سختافزاری برای نصب API BaaS فهرست شده است:
| کامپوننت API BaaS | رم | پردازنده | هارد دیسک |
|---|---|---|---|
| الاستیکسرچ * | ۸ گیگابایت | ۴ هستهای | ۶۰-۸۰ گیگابایت |
| پشته API BaaS * | ۸ گیگابایت | ۴ هستهای | ۶۰-۸۰ گیگابایت |
| پورتال API BaaS | ۱ گیگابایت | ۲ هستهای | ۲۰ گیگابایت |
| کاساندرا ** | ۱۶ گیگابایت | ۸ هستهای | ۲۵۰ گیگابایت حافظه داخلی با SSD یا HDD پرسرعت با پشتیبانی از ۲۰۰۰ ورودی/خروجی در ثانیه |
* میتوانید ElasticSearch و API BaaS Stack را روی یک گره نصب کنید. در این صورت، ElasticSearch را طوری پیکربندی کنید که از ۴ گیگابایت حافظه (پیشفرض) استفاده کند. اگر ElasticSearch روی گره خودش نصب شده است، آن را طوری پیکربندی کنید که از ۶ گیگابایت حافظه استفاده کند.
** اختیاری؛ معمولاً از یک کلاستر Cassandra برای سرویسهای Edge و API BaaS استفاده میکنید.
الزامات سیستم عامل و نرمافزارهای شخص ثالث
این دستورالعملهای نصب و فایلهای نصب ارائه شده روی سیستم عاملها و نرمافزارهای شخص ثالث ذکر شده در بخش نرمافزارهای پشتیبانیشده و نسخههای پشتیبانیشده آزمایش شدهاند.
ایجاد کاربر apigee
مراحل نصب، یک کاربر سیستم یونیکس به نام 'apigee' ایجاد میکند. دایرکتوریها و فایلهای Edge و همچنین فرآیندهای Edge متعلق به 'apigee' هستند. این بدان معناست که اجزای Edge به عنوان کاربر 'apigee' اجرا میشوند. در صورت لزوم، میتوانید اجزا را به عنوان یک کاربر دیگر اجرا کنید.
دایرکتوری نصب
به طور پیشفرض، نصبکننده تمام فایلها را در دایرکتوری /opt/apigee مینویسد. شما نمیتوانید مکان این دایرکتوری را تغییر دهید. اگرچه نمیتوانید این دایرکتوری را تغییر دهید، میتوانید یک symlink برای نگاشت /opt/apigee به مکان دیگری ایجاد کنید، همانطور که در زیر توضیح داده شده است.
در دستورالعملهای این راهنما، دایرکتوری نصب به صورت /opt/apigee ذکر شده است.
ایجاد یک پیوند نمادین از /opt/apigee
قبل از ایجاد سیملینک، ابتدا باید یک کاربر و گروه به نام "apigee" ایجاد کنید. این همان گروه و کاربری است که توسط نصاب Edge ایجاد شده است.
برای ایجاد سیملینک، قبل از دانلود فایل bootstrap_4.18.01.sh، این مراحل را انجام دهید. شما باید تمام این مراحل را با دسترسی root انجام دهید:
- کاربر و گروه "apigee" را ایجاد کنید:
groupadd -r apigee > useradd -r -g apigee -d /opt/apigee -s /sbin/nologin -c "Apigee platform user" apigee
- یک لینک نمادین از
/opt/apigeeبه ریشه نصب مورد نظر خود ایجاد کنید:ln -Ts /srv/myInstallDir /opt/apigee
که در آن /srv/myInstallDir محل مورد نظر برای فایلهای Edge است.
- مالکیت ریشه نصب و لینک نمادین را به کاربر "apigee" تغییر دهید:
chown -h apigee:apigee /srv/myInstallDir /opt/apigee
جاوا
قبل از نصب، به یک نسخه پشتیبانیشده از جاوا ۱.۸ روی هر دستگاه نیاز دارید. JDKهای پشتیبانیشده در بخش نرمافزارهای پشتیبانیشده و نسخههای پشتیبانیشده فهرست شدهاند.
مطمئن شوید که JAVA_HOME برای کاربری که نصب را انجام میدهد، به ریشه JDK اشاره میکند.
SELinux
بسته به تنظیمات شما برای SELinux، مرورگر اج میتواند در نصب و راهاندازی اجزای اج با مشکلاتی مواجه شود. در صورت لزوم، میتوانید SELinux را غیرفعال کنید یا آن را در حین نصب روی حالت مجاز تنظیم کنید و پس از نصب دوباره آن را فعال کنید. برای اطلاعات بیشتر به نصب ابزار apigee-setup اج مراجعه کنید.
تنظیمات شبکه
توصیه میشود قبل از نصب، تنظیمات شبکه را بررسی کنید. نصبکننده انتظار دارد که همه دستگاهها آدرس IP ثابتی داشته باشند. برای تأیید تنظیمات از دستورات زیر استفاده کنید:
-
hostnameنام دستگاه را برمیگرداند -
hostname -iآدرس IP مربوط به نام میزبان را که میتواند از سایر ماشینها آدرسدهی شود، برمیگرداند.
بسته به نوع و نسخه سیستم عامل شما، اگر نام میزبان به درستی تنظیم نشده باشد، ممکن است مجبور شوید /etc/hosts و /etc/sysconfig/network ویرایش کنید. برای اطلاعات بیشتر به مستندات مربوط به سیستم عامل خاص خود مراجعه کنید.
اگر یک سرور چندین کارت رابط داشته باشد، دستور "hostname -i" لیستی از آدرسهای IP را که با فاصله از هم جدا شدهاند، برمیگرداند. به طور پیشفرض، نصبکننده Edge از اولین آدرس IP برگردانده شده استفاده میکند که ممکن است در همه شرایط صحیح نباشد. به عنوان یک جایگزین، میتوانید ویژگی زیر را در فایل پیکربندی نصب تنظیم کنید:
ENABLE_DYNAMIC_HOSTIP=y
با تنظیم این ویژگی روی "y"، نصبکننده از شما میخواهد که آدرس IP مورد استفاده در فرآیند نصب را انتخاب کنید. مقدار پیشفرض "n" است. برای اطلاعات بیشتر به مرجع فایل پیکربندی Edge مراجعه کنید.
بستهبندیهای TCP
بستههای TCP میتوانند ارتباط برخی از پورتها را مسدود کنند و بر نصب OpenLDAP، Postgres و Cassandra تأثیر بگذارند. در آن گرهها، /etc/hosts.allow و /etc/hosts.deny را بررسی کنید تا مطمئن شوید که هیچ محدودیت پورتی روی پورتهای مورد نیاز OpenLDAP، Postgres و Cassandra وجود ندارد.
آیپیتیبلها
تأیید کنید که هیچ سیاست iptables مانع از اتصال بین گرهها در پورتهای Edge مورد نیاز نمیشود. در صورت لزوم، میتوانید iptables را در حین نصب با استفاده از دستور متوقف کنید:
sudo/etc/init.d/iptables stop
روی CentOS 7.x:
systemctl stop firewalld
اطمینان حاصل کنید که روتر Edge میتواند به /etc/rc.d/init.d/functions دسترسی داشته باشد.
گرههای Edge Router و BaaS Portal از روتر Nginx استفاده میکنند و نیاز به دسترسی خواندن به /etc/rc.d/init.d/functions دارند.
اگر فرآیند امنیتی شما نیاز به تنظیم مجوز برای /etc/rc.d/init.d/functions دارد، آنها را روی ۷۰۰ تنظیم نکنید، در غیر این صورت روتر شروع به کار نخواهد کرد. مجوزها را میتوان روی ۷۴۴ تنظیم کرد تا دسترسی خواندن به /etc/rc.d/init.d/functions فراهم شود.
کاساندرا
تمام گرههای کاساندرا باید به یک حلقه متصل شوند. کاساندرا کپیهای دادهها را روی چندین گره ذخیره میکند تا قابلیت اطمینان و تحمل خطا را تضمین کند. استراتژی تکثیر برای هر فضای کلید Edge، گرههای کاساندرا را که کپیها در آنها قرار میگیرند، تعیین میکند. برای اطلاعات بیشتر، به «فاکتور تکثیر کاساندرا» و «سطح سازگاری» مراجعه کنید.
کاساندرا به طور خودکار اندازه هیپ جاوا خود را بر اساس حافظه موجود تنظیم میکند. برای اطلاعات بیشتر، به بخش تنظیم منابع جاوا مراجعه کنید. در صورت افت عملکرد یا مصرف بالای حافظه.
پس از نصب Edge برای Private Cloud، میتوانید با بررسی فایل /opt/apigee/apigee-cassandra/conf/cassandra.yaml از پیکربندی صحیح Cassandra اطمینان حاصل کنید. به عنوان مثال، مطمئن شوید که اسکریپت نصب Edge برای Private Cloud ویژگیهای زیر را تنظیم کرده است:
-
cluster_name -
initial_token -
partitioner -
seeds -
listen_address -
rpc_address -
snitch
پایگاه داده پستگرسکیوال
پس از نصب Edge، میتوانید تنظیمات پایگاه داده PostgreSQL زیر را بر اساس میزان رم موجود در سیستم خود تنظیم کنید:
conf_postgresql_shared_buffers = 35% of RAM # min 128kB conf_postgresql_effective_cache_size = 45% of RAM conf_postgresql_work_mem = 512MB # min 64kB
برای تنظیم این مقادیر:
- فایل postgresql.properties را ویرایش کنید:
vi /opt/apigee/customer/application/postgresql.properties
اگر فایل وجود ندارد، آن را ایجاد کنید.
- ویژگیهای ذکر شده در بالا را تنظیم کنید.
- ویرایشهای خود را ذخیره کنید.
- پایگاه داده PostgreSQL را مجدداً راه اندازی کنید:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart
محدودیتهای سیستم
مطمئن شوید که محدودیتهای سیستمی زیر را روی گرههای کاساندرا و پردازنده پیام تنظیم کردهاید:
- در گرههای کاساندرا، محدودیتهای نرمافزاری و سختافزاری memlock، nofile و فضای آدرس (as) را برای کاربر نصب (پیشفرض "apigee" است) در
/etc/security/limits.d/90-apigee-edge-limits.confمطابق شکل زیر تنظیم کنید:apigee soft memlock unlimited apigee hard memlock unlimited apigee soft nofile 32768 apigee hard nofile 65536 apigee soft as unlimited apigee hard as unlimited
- در گرههای پردازشگر پیام، حداکثر تعداد توصیفگرهای فایل باز را در
/etc/security/limits.d/90-apigee-edge-limits.confمطابق شکل زیر روی ۶۴ کیلوبایت تنظیم کنید:apigee soft nofile 32768 apigee hard nofile 65536
در صورت لزوم، میتوانید آن محدودیت را افزایش دهید. به عنوان مثال، اگر تعداد زیادی فایل موقت را همزمان باز دارید.
جیاسویسی
"jsvc" پیشنیاز استفاده از API BaaS است. نسخه 1.0.15-dev هنگام نصب API BaaS نصب میشود.
خدمات امنیت شبکه (NSS)
سرویسهای امنیت شبکه (NSS) مجموعهای از کتابخانهها هستند که از توسعه برنامههای کلاینت و سرور با قابلیت امنیتی پشتیبانی میکنند. شما باید مطمئن شوید که NSS نسخه ۳.۱۹ یا بالاتر را نصب کردهاید.
برای بررسی نسخه فعلی خود:
yum info nss
برای بهروزرسانی NSS:
yum update nss
برای اطلاعات بیشتر به این مقاله از RedHat مراجعه کنید.
غیرفعال کردن جستجوی DNS در IPv6 هنگام استفاده از NSCD (Name Service Cache Daemon)
اگر NSCD (Name Service Cache Daemon) را نصب و فعال کرده باشید، پردازشگرهای پیام دو جستجوی DNS انجام میدهند: یکی برای IPv4 و دیگری برای IPv6. هنگام استفاده از NSCD، باید جستجوی DNS را روی IPv6 غیرفعال کنید.
برای غیرفعال کردن جستجوی DNS در IPv6:
- در هر گره پردازشگر پیام، فایل
/etc/nscd.confرا ویرایش کنید. - ویژگی زیر را تنظیم کنید:
enable-cache hosts no
غیرفعال کردن IPv6 در پلتفرم ابری گوگل برای RedHat/CentOS 7
اگر Edge را روی RedHat 7 یا CentOS 7 در Google Cloud Platform نصب میکنید، باید IPv6 را روی تمام گرههای Qpid غیرفعال کنید.
برای دستورالعملهای غیرفعال کردن IPv6، به مستندات RedHat یا CentOS مربوط به نسخه خاص سیستم عامل خود مراجعه کنید. به عنوان مثال، میتوانید:
-
/etc/hostsدر یک ویرایشگر باز کنید. - برای کامنت کردن خط زیر، در ستون اول آن یک کاراکتر "#" وارد کنید:
#::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
- فایل را ذخیره کنید.
AWS AMI
اگر در حال نصب Edge روی یک AWS Amazon Machine Image (AMI) برای Red Hat Enterprise Linux 7.x هستید، ابتدا باید دستور زیر را اجرا کنید:
yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
ابزارها
نصبکننده از ابزارهای یونیکس زیر در نسخه استاندارد که توسط EL5 یا EL6 ارائه شدهاند، استفاده میکند.
اوک | اکسپرس | libxslt | دور در دقیقه | از حالت فشرده خارج کنید |
نام پایه | گرپ | سوکت لوا | rpm2cpi | کاربرافزودن |
ضربه شدید | نام میزبان | LS | سد | توالت فرنگی |
بی سی | شناسه | ابزارهای خالص | سودو | دستور wget |
حلقه زدن | لیبیو | پرل (از procps) | قیر | زرسس-سی |
| کوروش-ساسل | libdb4 | pgrep (از procps) | تر | یام |
تاریخ | libdb-cxx | ص | یویید | chkconfig |
| نام | فعلهای لیبی | پی وی دی | نام | |
| پژواک | لیبردمکم | پایتون |
ntpdate
توصیه میشود زمان سرورها را همگامسازی کنید. اگر قبلاً پیکربندی نشده است، ابزار ntpdate میتواند این کار را انجام دهد، که تأیید میکند آیا سرورها از نظر زمانی همگامسازی شدهاند یا خیر. میتوانید yum install ntp برای نصب این ابزار استفاده کنید. این ابزار به ویژه برای تکرار تنظیمات OpenLDAP مفید است. توجه داشته باشید که منطقه زمانی سرور را بر اساس UTC تنظیم میکنید.
اوپنلدپ ۲.۴
نصب در محل به OpenLDAP 2.4 نیاز دارد. اگر سرور شما به اینترنت متصل باشد، اسکریپت نصب Edge، OpenLDAP را دانلود و نصب میکند. اگر سرور شما به اینترنت متصل نیست، باید قبل از اجرای اسکریپت نصب Edge، مطمئن شوید که OpenLDAP از قبل نصب شده است. در RHEL/CentOS، میتوانید yum install openldap-clients openldap-servers برای نصب OpenLDAP اجرا کنید.
برای نصبهای ۱۳ میزبانه و نصبهای ۱۲ میزبانه با دو مرکز داده، به تکثیر OpenLDAP نیاز دارید زیرا چندین گره میزبان OpenLDAP هستند.
فایروالها و میزبانهای مجازی
اصطلاح virtual معمولاً در عرصه فناوری اطلاعات بیش از حد مورد استفاده قرار میگیرد، و این موضوع در مورد Apigee Edge برای استقرار ابر خصوصی و میزبانهای مجازی نیز صدق میکند. برای روشن شدن موضوع، دو کاربرد اصلی برای اصطلاح virtual وجود دارد:
- ماشینهای مجازی (VM) : الزامی نیست، اما برخی از پیادهسازیها از فناوری VM برای ایجاد سرورهای ایزوله برای اجزای Apigee خود استفاده میکنند. میزبانهای VM، مانند میزبانهای فیزیکی، میتوانند رابطهای شبکه و فایروال داشته باشند.
- میزبانهای مجازی : نقاط پایانی وب، مشابه یک میزبان مجازی آپاچی.
یک روتر در یک ماشین مجازی میتواند میزبانهای مجازی متعددی را در معرض نمایش قرار دهد (تا زمانی که نام مستعار میزبان یا پورت رابط آنها با یکدیگر متفاوت باشد).
به عنوان مثالی از نامگذاری، یک سرور فیزیکی A ممکن است دو ماشین مجازی با نامهای "VM1" و "VM2" را اجرا کند. فرض کنید "VM1" یک رابط اترنت مجازی را در معرض نمایش قرار میدهد که در داخل ماشین مجازی "eth0" نامگذاری میشود و آدرس IP آن توسط ماشین مجازیسازی یا یک سرور DHCP شبکه 111.111.111.111 تعیین میشود؛ و سپس فرض کنید VM2 یک رابط اترنت مجازی را نیز با نام "eth0" در معرض نمایش قرار میدهد و آدرس IP آن 111.111.111.222 تعیین میشود.
ممکن است یک روتر Apigee در هر یک از دو ماشین مجازی داشته باشیم. روترها نقاط پایانی میزبان مجازی را مانند این مثال فرضی در معرض نمایش قرار میدهند:
روتر Apigee در VM1 سه میزبان مجازی را روی رابط eth0 خود (که دارای آدرس IP خاصی است) نمایش میدهد: api.mycompany.com:80 ، api.mycompany.com:443 و test.mycompany.com:80 .
روتر موجود در VM2 آدرس api.mycompany.com:80 را نمایش میدهد (همان نام و پورتی که توسط VM1 نمایش داده شده بود).
سیستم عامل میزبان فیزیکی ممکن است دارای یک فایروال شبکه باشد؛ در این صورت، آن فایروال باید طوری پیکربندی شود که ترافیک TCP را برای پورتهای در معرض دید در رابطهای مجازی ( 111.111.111.111:{80, 443} و 111.111.111.222:80 ) عبور دهد. علاوه بر این، هر سیستم عامل ماشین مجازی ممکن است فایروال مخصوص به خود را در رابط eth0 خود ارائه دهد و این پورتها نیز باید به ترافیک پورتهای 80 و 443 اجازه اتصال دهند.
مسیر پایه سومین مؤلفهای است که در مسیریابی فراخوانیهای API به پروکسیهای API مختلفی که ممکن است مستقر کرده باشید، نقش دارد. بستههای پروکسی API در صورت داشتن مسیرهای پایه مختلف، میتوانند یک نقطه پایانی مشترک داشته باشند. به عنوان مثال، یک مسیر پایه میتواند به صورت http://api.mycompany.com:80/ و دیگری به صورت http://api.mycompany.com:80/salesdemo تعریف شود.
در این حالت، شما به یک متعادلکننده بار یا نوعی مدیر ترافیک نیاز دارید که ترافیک http://api.mycompany.com:80/ را بین دو آدرس IP ( 111.111.111.111 در VM1 و 111.111.111.222 در VM2) تقسیم کند. این عملکرد مختص نصب خاص شما است و توسط گروه شبکه محلی شما پیکربندی میشود.
مسیر پایه هنگام استقرار یک API تنظیم میشود. از مثال بالا، میتوانید دو API، mycompany و testmycompany ، را برای سازمان mycompany-org با میزبان مجازی که نام مستعار میزبان api.mycompany.com و پورت تنظیم شده روی 80 دارد، مستقر کنید. اگر در هنگام استقرار، مسیر پایه را اعلام نکنید، روتر نمیداند درخواستهای ورودی را به کدام API ارسال کند.
با این حال، اگر API testmycompany با آدرس پایه /salesdemo مستقر کنید، کاربران با استفاده از http://api.mycompany.com:80/salesdemo به آن API دسترسی پیدا میکنند. اگر API mycompany خود را با آدرس پایه / مستقر کنید، کاربران شما با آدرس http://api.mycompany.com:80/ به API دسترسی پیدا میکنند.
الزامات درگاه لبه
نیاز به مدیریت فایروال فراتر از میزبانهای مجازی است؛ هم فایروالهای ماشین مجازی و هم فایروالهای میزبان فیزیکی باید ترافیک پورتهای مورد نیاز اجزا برای ارتباط با یکدیگر را فراهم کنند.
تصویر زیر الزامات پورتها برای هر جزء Edge را نشان میدهد:

نکات مربوط به این نمودار:
- * پورت ۸۰۸۲ در پردازشگر پیام فقط باید برای دسترسی روتر باز باشد، زمانی که TLS/SSL را بین روتر و پردازشگر پیام پیکربندی میکنید. اگر TLS/SSL را بین روتر و پردازشگر پیام پیکربندی نکنید، طبق پیکربندی پیشفرض، پورت ۸۰۸۲ همچنان باید روی پردازشگر پیام باز باشد تا بتواند این مؤلفه را مدیریت کند، اما روتر نیازی به دسترسی به آن ندارد.
- پورتهایی که با پیشوند "M" مشخص شدهاند، پورتهایی هستند که برای مدیریت کامپوننت استفاده میشوند و باید روی کامپوننت باز باشند و برای دسترسی توسط سرور مدیریت نیز باید روی کامپوننت باز باشند.
- اجزای زیر نیاز به دسترسی به پورت ۸۰۸۰ در سرور مدیریت دارند: روتر، پردازنده پیام، رابط کاربری، پستگرس و Qpid.
- یک پردازشگر پیام باید پورت ۴۵۲۸ را به عنوان پورت مدیریت خود باز کند. اگر چندین پردازشگر پیام دارید، همه آنها باید بتوانند از طریق پورت ۴۵۲۸ به یکدیگر دسترسی داشته باشند (که با فلش حلقهای در نمودار بالا برای پورت ۴۵۲۸ روی پردازشگر پیام نشان داده شده است). اگر چندین مرکز داده دارید، این پورت باید از همه پردازشگرهای پیام در همه مراکز داده قابل دسترسی باشد.
- اگرچه الزامی نیست، اما میتوانید پورت ۴۵۲۷ را روی روتر برای دسترسی توسط هر پردازشگر پیام (Message Processor) باز کنید. در غیر این صورت، ممکن است پیامهای خطایی را در فایلهای گزارش پردازشگر پیام (Message Processor) مشاهده کنید.
- یک روتر باید پورت ۴۵۲۷ را به عنوان پورت مدیریتی خود باز کند. اگر چندین روتر دارید، همه آنها باید بتوانند از طریق پورت ۴۵۲۷ به یکدیگر دسترسی داشته باشند (در نمودار بالا با فلش حلقهای برای پورت ۴۵۲۷ روی روتر نشان داده شده است).
- رابط کاربری Edge برای پشتیبانی از دکمه ارسال در ابزار ردیابی، نیاز به دسترسی به روتر، روی پورتهای در معرض پروکسیهای API دارد.
- سرور مدیریت نیاز به دسترسی به پورت JMX در گرههای کاساندرا دارد.
- دسترسی به پورتهای JMX را میتوان طوری پیکربندی کرد که نیاز به نام کاربری/رمز عبور داشته باشد. برای اطلاعات بیشتر به نحوه نظارت مراجعه کنید.
- شما میتوانید به صورت اختیاری دسترسی TLS/SSL را برای اتصالات خاصی پیکربندی کنید که میتوانند از پورتهای مختلف استفاده کنند. برای اطلاعات بیشتر به TLS/SSL مراجعه کنید.
- اگر دو گره Postgres را برای استفاده از تکثیر master-standby پیکربندی میکنید، باید پورت ۲۲ را روی هر گره برای دسترسی ssh باز کنید. میتوانید به صورت اختیاری پورتها را روی گرههای جداگانه باز کنید تا دسترسی ssh امکانپذیر شود.
- شما میتوانید سرور مدیریت و رابط کاربری Edge را طوری پیکربندی کنید که ایمیلها را از طریق یک سرور SMTP خارجی ارسال کنند. در این صورت، باید مطمئن شوید که سرور مدیریت و رابط کاربری میتوانند به پورت لازم در سرور SMTP دسترسی داشته باشند. برای SMTP بدون TLS، شماره پورت معمولاً ۲۵ است. برای SMTP با TLS فعال، اغلب ۴۶۵ است، اما با ارائهدهنده SMTP خود مشورت کنید.
جدول زیر پورتهایی را که باید در فایروالها باز باشند، بر اساس کامپوننت Edge نشان میدهد:
| کامپوننت | بندر | توضیحات |
|---|---|---|
| پورتهای استاندارد HTTP | ۸۰، ۴۴۳ | HTTP به علاوه هر پورت دیگری که برای میزبانهای مجازی استفاده میکنید |
| سرور مدیریت | ۸۰۸۰ | فراخوانیهای API مدیریت پورت برای Edge. این اجزا نیاز به دسترسی به پورت ۸۰۸۰ در سرور مدیریت دارند: روتر، پردازنده پیام، رابط کاربری، Postgres و Qpid. |
| ۱۰۹۹ | پورت JMX | |
| ۴۵۲۶ عدد | برای حافظه پنهان توزیعشده و فراخوانیهای مدیریتی | |
| رابط کاربری مدیریت | ۹۰۰۰ | پورت برای دسترسی مرورگر به رابط کاربری مدیریت |
| پردازشگر پیام | ۸۹۹۸ | پورت پردازنده پیام برای ارتباطات از روتر |
| ۸۰۸۲ | پورت مدیریت پیشفرض برای پردازشگر پیام است و باید برای دسترسی توسط سرور مدیریت، روی کامپوننت باز باشد. اگر TLS/SSL را بین روتر و پردازنده پیام پیکربندی کنید، روتر از آن برای بررسی سلامت پردازنده پیام استفاده میکند. | |
| ۱۱۰۱ | پورت JMX | |
| ۴۵۲۸ عدد | برای فراخوانیهای مدیریت و حافظه پنهان توزیعشده بین پردازندههای پیام، و برای ارتباط از روتر و سرور مدیریت | |
| روتر | ۸۰۸۱ | پورت مدیریت پیشفرض برای روتر است و باید برای دسترسی توسط سرور مدیریت، روی قطعه باز باشد. |
| ۴۵۲۷ عدد | برای حافظه پنهان توزیعشده و فراخوانیهای مدیریتی | |
| ۱۵۹۹۹ | پورت بررسی سلامت. یک متعادلکننده بار از این پورت برای تعیین در دسترس بودن روتر استفاده میکند. برای دریافت وضعیت یک روتر، متعادلکننده بار درخواستی را به پورت ۱۵۹۹۹ روی روتر ارسال میکند: curl -v http://routerIP:15999/v1/servers/self/reachable اگر روتر قابل دسترسی باشد، درخواست HTTP 200 را برمیگرداند. | |
| ۵۹۰۰۱ | پورتی که برای آزمایش نصب Edge توسط ابزار apigee-validate استفاده میشود. این ابزار نیاز به دسترسی به پورت ۵۹۰۰۱ روی روتر دارد. برای اطلاعات بیشتر در مورد پورت ۵۹۰۰۱ به بخش «آزمایش نصب» مراجعه کنید. | |
| نگهبان باغ وحش | ۲۱۸۱ | توسط سایر اجزا مانند سرور مدیریت، روتر، پردازنده پیام و غیره استفاده میشود. |
| ۲۸۸۸، ۳۸۸۸ | به صورت داخلی توسط ZooKeeper برای ارتباط خوشه ZooKeeper (که به عنوان گروه ZooKeeper شناخته میشود) استفاده میشود. | |
| کاساندرا | ۷۰۰۰، ۹۰۴۲، ۹۱۶۰ | پورتهای آپاچی کاساندرا برای ارتباط بین گرههای کاساندرا و دسترسی توسط سایر اجزای Edge. |
| ۷۱۹۹ عدد | پورت JMX. باید برای دسترسی سرور مدیریت باز باشد. | |
| کیوپید | ۵۶۷۲ عدد | برای ارتباطات از روتر و پردازنده پیام به سرور Qpid استفاده میشود. |
| ۸۰۸۳ | پورت مدیریت پیشفرض روی سرور Qpid است و برای دسترسی توسط سرور مدیریت باید روی کامپوننت باز باشد. | |
| ۱۱۰۲ | پورت JMX | |
| ۴۵۲۹ | برای حافظه پنهان توزیعشده و فراخوانیهای مدیریتی | |
| پستگرس | ۵۴۳۲ | برای ارتباط از Qpid/Management Server به Postgres استفاده میشود. |
| ۸۰۸۴ عدد | پورت مدیریت پیشفرض روی سرور Postgres است و برای دسترسی توسط سرور مدیریت باید روی کامپوننت باز باشد. | |
| ۱۱۰۳ | پورت JMX | |
| ۴۵۳۰ | برای حافظه پنهان توزیعشده و فراخوانیهای مدیریتی | |
| ۲۲ | اگر دو گره Postgres را برای استفاده از تکثیر master-standby پیکربندی میکنید، باید پورت ۲۲ را روی هر گره برای دسترسی ssh باز کنید. | |
| LDAP | ۱۰۳۸۹ | اوپنلدپ |
| اسمارت داکز | ۵۹۰۰۲ | پورتی در روتر Edge که درخواستهای صفحه SmartDocs به آن ارسال میشوند. |
جدول بعدی همان پورتها را که به صورت عددی فهرست شدهاند، به همراه اجزای منبع و مقصد نشان میدهد:
| شماره پورت | هدف | کامپوننت منبع | کامپوننت مقصد |
|---|---|---|---|
| virtual_host_port | HTTP به علاوه هر پورت دیگری که برای ترافیک فراخوانی API میزبان مجازی استفاده میکنید. پورتهای ۸۰ و ۴۴۳ رایجترین پورتهای مورد استفاده هستند؛ مسیریاب پیام میتواند اتصالات TLS/SSL را خاتمه دهد. | کلاینت خارجی (یا متعادلکننده بار) | شنونده در مسیریاب پیام |
| ۱۰۹۹ تا ۱۱۰۳ | مدیریت JMX | کلاینت JMX | سرور مدیریت (1099) پردازشگر پیام (1101) سرور Qpid (1102) سرور پستگرس (1103) |
| ۲۱۸۱ | ارتباط با مشتری در Zookeeper | سرور مدیریت روتر پردازشگر پیام سرور Qpid سرور پستگرس | متصدی باغ وحش |
| ۲۸۸۸ و ۳۸۸۸ | مدیریت میانگرهها در Zookeeper | متصدی باغ وحش | متصدی باغ وحش |
| ۴۵۲۶ عدد | پورت مدیریت RPC | سرور مدیریت | سرور مدیریت |
| ۴۵۲۷ عدد | پورت مدیریت RPC برای کش توزیعشده و فراخوانیهای مدیریتی و برای ارتباطات بین روترها | سرور مدیریت روتر | روتر |
| ۴۵۲۸ عدد | برای فراخوانیهای کش توزیعشده بین پردازندههای پیام، و برای ارتباط از روتر | سرور مدیریت روتر پردازشگر پیام | پردازشگر پیام |
| ۴۵۲۹ | پورت مدیریت RPC برای حافظه پنهان توزیعشده و فراخوانیهای مدیریتی | سرور مدیریت | سرور Qpid |
| ۴۵۳۰ | پورت مدیریت RPC برای حافظه پنهان توزیعشده و فراخوانیهای مدیریتی | سرور مدیریت | سرور پستگرس |
| ۵۴۳۲ | کلاینت پستگرس | سرور Qpid | پستگرس |
| ۵۶۷۲ عدد | برای ارسال تحلیلها از روتر و پردازنده پیام به Qpid استفاده میشود. | روتر پردازشگر پیام | سرور Qpid |
| ۷۰۰۰ | ارتباطات بین گرهای کاساندرا | کاساندرا | گره کاساندرا دیگر |
| ۷۱۹۹ عدد | مدیریت JMX. باید توسط سرور مدیریت برای دسترسی روی گره کاساندرا باز باشد. | کلاینت JMX | کاساندرا |
| ۸۰۸۰ | پورت API مدیریت | کلاینتهای مدیریت API | سرور مدیریت |
| ۸۰۸۱ تا ۸۰۸۴ | پورتهای API کامپوننت، که برای صدور مستقیم درخواستهای API به کامپوننتهای مجزا استفاده میشوند. هر کامپوننت پورت متفاوتی را باز میکند؛ پورت دقیق مورد استفاده به پیکربندی بستگی دارد، اما برای دسترسی توسط سرور مدیریت باید روی کامپوننت باز باشد. | کلاینتهای مدیریت API | روتر (8081) پردازنده پیام (8082) سرور Qpid (8083) سرور پستگرس (8084) |
| ۸۹۹۸ | ارتباط بین روتر و پردازنده پیام | روتر | پردازشگر پیام |
| ۹۰۰۰ | پورت رابط کاربری پیشفرض مدیریت لبه | مرورگر | سرور رابط کاربری مدیریت |
| ۹۰۴۲ | حمل و نقل بومی CQL | روتر پردازشگر پیام سرور مدیریت | کاساندرا |
| ۹۱۶۰ عدد | مشتری کاساندرا | روتر پردازشگر پیام سرور مدیریت | کاساندرا |
| ۱۰۳۸۹ | پورت LDAP | سرور مدیریت | اوپنلدپ |
| ۱۵۹۹۹ | پورت بررسی سلامت. یک متعادلکننده بار از این پورت برای تعیین در دسترس بودن روتر استفاده میکند. | متعادل کننده بار | روتر |
| ۵۹۰۰۱ | پورتی که توسط ابزار apigee-validate برای آزمایش نصب Edge استفاده میشود | اعتبارسنجی آپیجی | روتر |
| ۵۹۰۰۲ | پورت روتر که درخواستهای صفحه SmartDocs به آن ارسال میشوند | اسمارت داکز | روتر |
یک پردازنده پیام، یک مخزن اتصال اختصاصی را برای کاساندرا باز نگه میدارد که طوری پیکربندی شده است که هرگز دچار وقفه زمانی نشود. وقتی یک فایروال بین یک پردازنده پیام و سرور کاساندرا قرار دارد، فایروال میتواند اتصال را دچار وقفه زمانی کند. با این حال، پردازنده پیام برای برقراری مجدد اتصالات به کاساندرا طراحی نشده است.
برای جلوگیری از این وضعیت، Apigee توصیه میکند که سرور Cassandra، پردازنده پیام و روترها در یک زیرشبکه باشند تا فایروال در استقرار این اجزا دخیل نباشد.
اگر فایروال بین روتر و پردازندههای پیام قرار دارد و دارای زمان انتظار غیرفعال TCP است، توصیههای ما این است:
- در تنظیمات sysctl در سیستم عامل لینوکس، مقدار
net.ipv4.tcp_keepalive_time = 1800قرار دهید، که در آن ۱۸۰۰ باید کمتر از زمان انتظار غیرفعال بودن tcp در فایروال باشد. این تنظیم باید اتصال را در حالت برقرار نگه دارد تا فایروال اتصال را قطع نکند. - در تمام پردازندههای پیام، فایل
/opt/apigee/customer/application/message-processor.propertiesرا ویرایش کنید تا ویژگی زیر اضافه شود. اگر فایل وجود ندارد، آن را ایجاد کنید.conf_system_cassandra.maxconnecttimeinmillis=-1
- پردازشگر پیام را مجدداً راهاندازی کنید:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- در تمام روترها، فایل
/opt/apigee/customer/application/router.propertiesرا ویرایش کنید تا ویژگی زیر اضافه شود. اگر فایل وجود ندارد، آن را ایجاد کنید.conf_system_cassandra.maxconnecttimeinmillis=-1
- روتر را مجدداً راه اندازی کنید:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
اگر پیکربندی خوشهای ۱۲ میزبانه را با دو مرکز داده نصب میکنید، مطمئن شوید که گرههای موجود در دو مرکز داده میتوانند از طریق پورتهای نشان داده شده در زیر ارتباط برقرار کنند:

الزامات پورت API BaaS
اگر تصمیم به نصب API BaaS بگیرید، اجزای API BaaS Stack و API BaaS Portal را اضافه میکنید. این اجزا از پورتهای نشان داده شده در شکل زیر استفاده میکنند:

نکات مربوط به این نمودار:
- پورتال API BaaS هرگز مستقیماً به یک گره BaaS Stack درخواست ارسال نمیکند. وقتی یک توسعهدهنده وارد پورتال میشود، برنامه پورتال در مرورگر دانلود میشود. سپس برنامه پورتال که در مرورگر اجرا میشود، درخواستهایی را به گرههای BaaS Stack ارسال میکند.
- نصب API BaaS در محیط عملیاتی از یک متعادلکننده بار بین گره پورتال API BaaS و گرههای پشته API BaaS استفاده میکند. هنگام پیکربندی پورتال و هنگام برقراری تماسهای API BaaS، آدرس IP یا نام DNS متعادلکننده بار را مشخص میکنید، نه گرههای پشته را.
- تمام گرههای پشته باید پورت ۲۵۵۱ را برای دسترسی از سایر گرههای پشته باز کنند (در نمودار بالا با فلش حلقهای برای پورت ۲۵۵۱ روی گرههای پشته نشان داده شده است). اگر چندین مرکز داده دارید، این پورت باید از تمام گرههای پشته در تمام مراکز داده قابل دسترسی باشد.
- شما باید تمام گرههای Baas Stack را برای ارسال ایمیل از طریق یک سرور SMTP خارجی پیکربندی کنید. برای SMTP بدون TLS، شماره پورت معمولاً ۲۵ است. برای SMTP با قابلیت TLS، اغلب ۴۶۵ است، اما با ارائهدهنده SMTP خود مشورت کنید.
- گرههای کاساندرا میتوانند به API BaaS اختصاص داده شوند، یا میتوانند با Edge به اشتراک گذاشته شوند.
جدول زیر پورتهای پیشفرضی را که باید در فایروالها باز باشند، بر اساس اجزا نشان میدهد:
| کامپوننت | بندر | توضیحات |
|---|---|---|
| پورتال API BaaS | ۹۰۰۰ | پورت برای رابط کاربری API BaaS |
| پشته API BaaS | ۸۰۸۰ | پورتی که درخواستهای API از آن دریافت میشوند |
| ۲۵۵۱ | پورتی برای ارتباط بین تمام گرههای پشته. باید توسط تمام گرههای پشته دیگر در مرکز داده قابل دسترسی باشد. اگر چندین مرکز داده دارید، پورت باید از همه گرههای پشته در همه مراکز داده قابل دسترسی باشد. | |
| الاستیکسرچ | ۹۲۰۰ تا ۹۴۰۰ | برای ارتباط با API BaaS Stack و برای ارتباط بین گرههای ElasticSearch |
صدور مجوز
هر نصب Edge به یک فایل مجوز منحصر به فرد نیاز دارد که از Apigee دریافت میکنید. هنگام نصب سرور مدیریت، باید مسیر فایل مجوز را ارائه دهید، به عنوان مثال /tmp/license.txt.
نصبکننده، فایل لایسنس را در /opt/apigee/customer/conf/license.txt کپی میکند.
اگر فایل لایسنس معتبر باشد، سرور مدیریت، تاریخ انقضا و تعداد پردازنده پیام (MP) مجاز را تأیید میکند. اگر هر یک از تنظیمات لایسنس منقضی شده باشد، میتوانید گزارشها را در مسیر زیر پیدا کنید: /opt/apigee/var/log/edge-management-server/logs . در این صورت میتوانید برای جزئیات مهاجرت با پشتیبانی Apigee Edge تماس بگیرید.
اگر هنوز مجوز ندارید، با فروش Apigee تماس بگیرید.