Edge for Private Cloud نسخه ۴.۱۶.۰۵
استفاده از ترازکننده بار
نصب تولید API BaaS از متعادلکننده بار بین گره «درگاه API BaaS» و گرههای «پشته API BaaS» استفاده میکند. هنگام پیکربندی «پورتال»، نشانی IP یا نام ساناد متعادلکننده بار را مشخص میکنید، نه گرههای Stack.
بهعنوان جایگزینی برای متعادلکننده بار، میتوانید از ساناد نوبتی استفاده کنید. در این سناریو، ورودی سانادی با چندین سابقه A مطابق با نشانیهای IP پشته BaaS ایجاد میکنید. درطول جستجوی ساناد، سرور ساناد بهطور خودکار مقادیر رکورد A را بهصورت نوبتی برمیگرداند.
درحال متصل شدن به Cassandra
هنگام نصب BaaS، میتوانید انتخاب کنید که BaaS و Edge را به همان خوشه Cassandra متصل کنید، یا یک خوشه Cassandra جداگانه برای BaaS ایجاد کنید. نصبهای BaaS کوچکتر، یعنی نصبهایی که حجم ترافیک کمتری دارند، اغلب خوشه Cassandra را با Edge همرسانی میکنند.
برای توان گذرداد و دردسترس بودن بالا، یا برای جدا کردن خوشههای Cassandra در مناطق مختلف شبکه، Apigee توصیه میکند که از خوشههای Cassandra جداگانه استفاده کنید. خوشههای جداگانه عملکرد را درصورت مواجه شدن با بار ترافیک بالا در BaaS به حداکثر میرساند.
همگامسازی تاریخ
باید تاریخ/زمان را در همه سرورها همگامسازی کنید. اگر ازقبل پیکربندی نشده باشد، ابزار کمکی «ntpdate» میتواند برای این منظور استفاده شود که بررسی میکند آیا سرورها ازنظر زمانی همگامسازی شدهاند یا نه. میتوانید از «yum install ntp» برای نصب این ابزار کمکی استفاده کنید.
امنیت Tomcat
نصبکننده API BaaS همچنین سرور Apache Tomcat را روی همه گرههای API BaaS Stack نصب میکند، ازجمله واسط کاربر سرپرست Tomcat. نصبکننده اطلاعات کاربری پیشفرض سرپرست را از admin:admin تغییر نمیدهد.
درصورت لزوم، میتوانید این اطلاعات کاربری را بهعنوان بخشی از ایمنسازی Tomcat تغییر دهید. برای اطلاعات بیشتر، به اینجا مراجعه کنید:
- https://tomcat.apache.org/tomcat-7.0-doc/manager-howto.html
- https://www.owasp.org/index.php/Securing_tomcat
نمای کلی نصب
After you install the Edge the apigee-setup utility on a node, use that utility to install one or more BaaS components on the node. ابزار apigee-setup این فرم را دارد:
> sudo /opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile
فایل پیکربندی را به ابزار کمکی apigee-setup که حاوی اطلاعات مربوط به نصب است ارسال کنید. اگر فایل پیکربندی فاقد هرگونه اطلاعات لازم باشد، ابزار کمکی apigee-setup از شما میخواهد آن را در خط فرمان وارد کنید.
تنها شرط این است که فایل پیکربندی باید برای کاربر «apigee» قابلدسترسی یا خواندن باشد. برای مثال، فایل را در دایرکتوری /tmp در گره قرار دهید.
برای مثال، از فرمان زیر برای نصب API BaaS Stack استفاده کنید:
> sudo /opt/apigee/apigee-setup/bin/setup.sh -p b -f myConfig
برنامه کمکی Apigee setup.sh از چندین گزینه برای نصب مؤلفههای API BaaS پشتیبانی میکند. دستورالعملهای زیر از گزینههای مستقل (c، e، b، و p) استفاده میکنند، اما میتوانید براساس پیکربندی گره خود از گزینههای مختلفی استفاده کنید:
|
گزینه |
شرح |
|---|---|
|
e |
فقط ElasticSearch را نصب کنید. |
|
b |
فقط API BaaS Stack را نصب کنید که Tomcat را نیز نصب میکند. |
|
p |
فقط API BaaS Portal را نصب کنید، که روتر Nginx را نیز برای استفاده بهعنوان سرور وب نصب میکند. |
|
c |
فقط Cassandra را نصب کنید. |
|
eb |
ElasticSearch، API BaaS Stack، و Tomcat را روی گره نصب کنید. |
|
ebp |
ElasticSearch، API BaaS Portal، API BaaS Stack، و Tomcat را نصب کنید. این درگاه بسیار سبک است و به منابع اضافی نیاز ندارد. |
|
asa |
همه مؤلفههای API را در یک گره نصب کنید (Cassandra، Elasticsearch، API BaaS Stack، و API BaaS Portal). از این گزینه فقط برای توسعه و آزمایش استفاده کنید، نه برای تولید. |
درحال ایجاد فایل پیکربندی بیصدا
در زیر نمونهای از فایل پیکربندی بیصدا برای نصب API BaaS با ۱۰ گره نشان داده شده است. این فایل را درصورت لزوم برای پیکربندیتان ویرایش کنید. از گزینه f- برای setup.sh استفاده کنید تا این فایل را اضافه کنید.
# Specify IP address or DNS name of node. IP1=192.168.1.1 # ElasticSearch IP2=192.168.1.2 # ElasticSearch IP3=192.168.1.3 # ElasticSearch IP4=192.168.1.4 # API BaaS Stack IP5=192.168.1.5 # API BaaS Stack IP6=192.168.1.6 # API BaaS Stack IP7=192.168.1.7 # API BaaS Portal IP8=192.168.1.8 # Cassandra (shared with Edge or standalone) IP9=192.168.1.9 # Cassandra (shared with Edge or standalone) IP10=192.168.1.10 # Cassandra (shared with Edge or standalone) # Must resolve to IP address or DNS name of host - not to 127.0.0.1 or localhost. HOSTIP=$(hostname -i) # Define the API BaaS administrator account. AS_ADMIN="superuser" # User name - default is "superuser". AS_ADMIN_EMAIL=stackAdmin@email.com AS_PASSWD=stackAdminPWrod # Only if you are installing Cassandra. # Specify Cassandra configuration information. # Must use IP addresses for CASS_HOSTS, not DNS names. # CASS_HOSTS="$IP8:1,1 $IP9:1,1 $IP10:1,1" # If connecting to existing Cassandra nodes, # specify Cassandra IPs. # Must use IP addresses for CASS_HOSTS, not DNS names. CASS_HOSTS="$IP8 $IP9 $IP10" # Cassandra uname/pword. # Even if Cassandra authentication is disabled, # you must still pass values for these properties. CASS_USERNAME=cassandra # Default value CASS_PASSWORD=cassandra # Default value # Specify BaaS Cassandra connection information. # Specify the data center name. BAAS_CASS_LOCALDC=dc-1 # Default is dc-1. # Replication is in the form "dataCenterName:#CassandraNodes". # For example, for dc-1 with three Cassandra nodes, it is dc-1:3. BAAS_CASS_REPLICATION=dc-1:3 # ElasticSearch IPs or DNS names, separated by spaces. ES_HOSTS="$IP1 $IP2 $IP3" # API BaaS Stack information. # Default cluster name is "apigee_baas" BAAS_USERGRID_CLUSTERNAME="apigee_baas" # URL and port of the load balancer for the API BaaS Stack nodes, # or IP/DNS and port 8080 of a single Stack node with no load balancer. BAAS_USERGRID_URL=http://myloadbalancer:8443 # API BaaS Portal information. # URL and port number of load balancer, if there is one in front of the Portal, # or the URL and port of the Portal node. BAAS_PORTAL_URL="http://$IP7:9000" # Portal port. Default value is 9000. BAAS_PORTAL_LISTEN_PORT=9000 # SMTP information. BaaS requires an SMTP server. SMTPHOST=smtp.gmail.com SMTPPORT=465 SMTPUSER=your@email.com SMTPPASSWORD=yourEmailPassword SMTPSSL=y
جدول زیر حاوی اطلاعات تکمیلی درباره این ویژگیها است:
|
دارایی |
توجه |
|---|---|
|
CASS_HOSTS |
اگر Cassandra را نصب میکنید، IPهای گره Cassandra (نه نامهای ساناد) را مشخص کنید و اصلاحکننده «:dc,ra» را که مرکز داده و قفسه گره Cassandra را مشخص میکند اضافه کنید. برای مثال، «192.168.124.201:1,1» یعنی مرکز داده ۱ و قفسه/منطقه دردسترس ۱، و «192.168.124.204:2,1» یعنی مرکز داده ۲ و قفسه/منطقه دردسترس ۱. |
|
CASS_USERNAME |
نام کاربری و گذرواژه Cassandra. اگر اصالتسنجی Cassandra غیرفعال است، همچنان باید این مقادیر را ارسال کنید. بااینحال، مقادیر نادیده گرفته میشوند. |
|
BAAS_CASS_LOCALDC |
نامهای منطقه باید بهصورت dc-# باشد که # با مقدار عدد صحیح مطابقت دارد. برای مثال، dc-1، dc-2، و غیره. اگر به خوشه Cassandra نصبشده با Edge متصل میشوید، میتوانید این مقدار را از سرپرست سیستم Edge بپرسید. در نصب Edge در یک مرکز داده، مقدار پیشفرض dc-1 است. اگر Cassandra را بهعنوان بخشی از نصب API BaaS نصب کردهاید، درطول نصب Cassandra، اصلاحکننده «:dc,ra» را به نشانیهای IP مربوط به Cassandra اضافه کردهاید. مقدار اول «dc» شماره مرکز داده است. نام مرکز داده رشته «dc-» با شماره مرکز داده بهعنوان پسوند است. |
|
BAAS_CASS_REPLICATION |
قالب «dataCenterName:#CassandraNodes» است. برای مثال، برای dc-1 با سه گره Cassandra، مقدار dc-1:3 است. |
|
BAAS_USERGRID_URL |
در محیط تولید، این نشانی وب و درگاه متعادلکننده بار است که در
جلوی گرههای پشته API BaaS قرار دارد، به شکل: در محیط آزمایشی یا توسعه، که فقط یک گره API BaaS Stack دارید، این میتواند نشانی وب و شماره درگاه گره API BaaS Stack باشد، به شکل: http://stackIPorDNS:8080 شماره درگاه برای سرور API BaaS Stack ۸۰۸۰ است. |
|
BAAS_PORTAL_URL |
نشانی وب و شماره درگاه متعادلکننده بار، اگر در جلوی «درگاه» وجود داشته باشد،
به این شکل: |
|
BAAS_PORTAL_LISTEN_PORT |
شماره درگاه برای سرور درگاه API BaaS ۹۰۰۰ است. اگر این درگاه دردسترس نیست، درگاه دیگری را مشخص کنید. اگر BAAS_PORTAL_URL را روی نشانی وب گره «پورتال» تنظیم میکنید، شماره درگاهها باید برای هر دو ویژگی یکسان باشد. |
اختیاری - نصب Cassandra: ماشین ۸، ۹، و ۱۰
اگرچه میتوانید API BaaS را به همان خوشه Cassandra که Edge استفاده میکند متصل کنید، Apigee توصیه میکند از خوشههای جداگانه استفاده کنید.
خوشه Cassandra میتواند از اصالتسنجی استفاده کند، یا اصالتسنجی Cassandra میتواند غیرفعال شود. برای اطلاعات بیشتر، فعال کردن اصالتسنجی Cassandra را ببینید.
- برنامه کمکی Edge apigee-setup را بااستفاده از روش اینترنتی یا غیر اینترنتی در گره نصب کنید. برای اطلاعات بیشتر، نصب ابزار کمکی apigee-setup در Edge را ببینید.
- در پیامواره فرمان، دستورگان راهاندازی را اجرا کنید:
> /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
گزینه «-p c» مشخص میکند که Cassandra نصب شود.
فایل پیکربندی باید برای کاربر «apigee» قابلدسترسی یا خواندن باشد. برای مثال، فایل را در دایرکتوری /tmp در گره قرار دهید.
پیکربندی با موفقیت راهاندازی پایگاه داده را در گره تکمیل میکند.
توجه داشته باشید که JMX بهطور پیشفرض برای Cassandra فعال است. دسترسی ازراهدور JMX به Cassandra به گذرواژه نیاز ندارد. میتوانید Cassandra را پیکربندی کنید تا از اصالتسنجی برای JMX استفاده کند. برای اطلاعات بیشتر، نحوه پایش را ببینید.
راهاندازی کار زمانبندیشده Cassandra
یک cron job راهاندازی کنید که از nodetool برای پاک کردن قفلها استفاده میکند تا هر ساعت در هر گره Cassandra اجرا شود.
اگر چند گره Cassandra دارید، کار cron را در هر سرور پنج دقیقه جابهجا کنید تا همه گرهها بهطور همزمان پاکسازی نشوند.
کار cron باید فرمان زیر را اجرا کند:
/opt/apigee/apigee-cassandra/bin/nodetool -h IP_address flush Apigee_Baas_Locks
که در آن IP_address نشانی IP گره Cassandra است.
نصب ElasticSearch: ماشین ۱، ۲، و ۳
برای نصب ElasticSearch:
- Install the Edge apigee-setup utility on the node using the internet or non internet procedure. برای اطلاعات بیشتر، نصب ابزار کمکی Edge apigee-setup را ببینید.
- در خط فرمان، دستورگان راهاندازی را اجرا کنید:
> /opt/apigee/apigee-setup/bin/setup.sh -p e -f configFile
گزینه «-p e» مشخص میکند که ElasticSearch نصب شود.
فایل پیکربندی باید برای کاربر «apigee» قابلدسترسی یا خواندن باشد. برای مثال، فایل را در دایرکتوری /tmp در گره قرار دهید. - (اختیاری) اگر ElasticSearch را روی گره مستقل نصب کنید، یعنی با API BaaS Stack نصب نشده باشد، گزینه حافظه پیشفرض را تنظیم کنید تا حافظه اختصاصدادهشده به ElasticSearch از ۴ گیگابایت به ۶ گیگابایت افزایش یابد:
- /opt/apigee/customer/application/elasticsearch.properties را در ویرایشگر باز کنید. اگر این فایل وجود ندارد، آن را ایجاد کنید.
- ویژگی setenv_elasticsearch_max_mem_size
را روی 6g تنظیم کنید (پیشفرض 4g است):
setenv_elasticsearch_max_mem_size=6g - فایل را ذخیره کنید.
- فرمان زیر را اجرا کنید:
> /opt/apigee/apigee-service/bin/apigee-service apigee-elasticsearch restart
پیکربندی راهاندازی را در گره باموفقیت تکمیل میکند.
نصب API BaaS Stack: ماشین ۴، ۵، و ۶
برای نصب کردن API BaaS Stack:
- Install the Edge apigee-setup utility on the node using the internet or non internet procedure. برای اطلاعات بیشتر، نصب ابزار کمکی Edge apigee-setup را ببینید.
- در خط فرمان، دستورگان راهاندازی را اجرا کنید:
> /opt/apigee/apigee-setup/bin/setup.sh -p b -f configFile
گزینه «-p b» مشخص میکند که API BaaS Stack نصب شود.
فایل پیکربندی باید برای کاربر «apigee» قابلدسترسی یا خواندن باشد. برای مثال، فایل را در دایرکتوری /tmp در گره قرار دهید.
پساز اینکه نصبکننده اطلاعات کاربری سرپرست صحیح را واکشی کرد، Tomcat را نصب میکند، فضاهای کلید API BaaS را ایجاد میکند، و پشته API BaaS را در سرور راهاندازی میکند. SMTP نیز پیکربندی شده است تا به رابط کاربری اجازه دهد ایمیلهای تأیید گذرواژه ارسال کند.
نصب درگاه API BaaS: دستگاه ۷
برای نصب کردن API BaaS Portal:
- Install the Edge apigee-setup utility on the node using the internet or non internet procedure. برای اطلاعات بیشتر، نصب ابزار کمکی Edge apigee-setup را ببینید.
- در خط فرمان، دستورگان راهاندازی را اجرا کنید:
> /opt/apigee/setup/bin/setup.sh -p p -f configFile
گزینه «-p p» مشخص میکند که API BaaS Portal نصب شود.
فایل پیکربندی باید برای کاربر «apigee» قابلدسترسی یا خواندن باشد. برای مثال، فایل را در دایرکتوری /tmp در گره قرار دهید.
نصبکننده سرور وب Nginx را راهاندازی میکند و سپس پیکربندی API BaaS Portal را تکمیل میکند.
نشانی وب «درگاه API BaaS» را یادداشت کنید. این نشانی وبی است که برای دسترسی به میانای کاربر «درگاه API BaaS» در مرورگر وارد میکنید.
پیکربندی گرههای API BaaS برای Stack یا ترازکننده بار Portal
اگر توازنگر بار را در جلوی گرههای Stack یا Portal قرار دهید، باید گرهها را با نشانی وب صحیح توازنگر بار پیکربندی کنید. برای مثال، گرههای Stack در شرایط زیر به این اطلاعات نیاز دارند:
- گنجاندن نشانی وب در پاسخها در درخواستهای BaaS API.
- افزودن پیوند در الگوهای ایمیل هنگام بازنشانی گذرواژه یا ارسال اعلانهای دیگر.
- هدایت کاربران به صفحههای خاصی از «درگاه».
اگر از متعادلکننده بار در جلوی گرههای Stack استفاده میکنید، ویژگیهای زیر را در /opt/apigee/customer/application/usergrid.properties تنظیم کنید:
usergrid-deployment_swagger.basepath=http://localhost:8080 usergrid-deployment_usergrid.organization.activation.url=http://localhost:8080/management/organizations/%s/activate usergrid-deployment_usergrid.admin.activation.url=http://localhost:8080/management/users/%s/activate usergrid-deployment_usergrid.admin.resetpw.url=http://localhost:8080/management/users/%s/resetpw usergrid-deployment_usergrid.admin.confirmation.url=http://localhost:8080/management/users/%s/confirm usergrid-deployment_usergrid.user.activation.url=http://localhost:8080/%s/%s/users/%s/activate usergrid-deployment_usergrid.user.confirmation.url=http://localhost:8080/%s/%s/users/%s/confirm usergrid-deployment_usergrid.user.resetpw.url=http://localhost:8080/%s/%s/users/%s/resetpw
http://localhost:8080 را با نشانی وب متعادلکننده بار جایگزین کنید. اگر ترازکننده بار برای استفاده از TLS پیکربندی شده است، از پروتکل HTTPS استفاده کنید. فقط درصورتی باید درگاه را اضافه کنید که از درگاه غیراستاندارد استفاده میکنید، یعنی چیزی غیراز درگاه ۸۰ برای HTTP و درگاه ۴۴۳ برای HTTPS.
اگر از متعادلکننده بار در جلوی گرههای Stack استفاده میکنید، باید ویژگی زیر را نیز در /opt/apigee/customer/application/portal.properties تنظیم کنید:
baas.portal.config.overrideUrl=http://localhost:8080
http://localhost:8080 را با نشانی وب متعادلکننده بار برای Stack جایگزین کنید.
اگر از متعادلکننده بار در جلوی گره «درگاه» استفاده میکنید، ویژگیهای زیر را در usergrid.properties تنظیم کنید:
usergrid-deployment_usergrid.view.management.organizations.organization.activate=http://localhost:9000 usergrid-deployment_usergrid.view.management.organizations.organization.confirm=http://localhost:9000 usergrid-deployment_usergrid.view.management.users.user.activate=http://localhost:9000 usergrid-deployment_usergrid.view.management.users.user.confirm=http://localhost:9000
http://localhost:9000 را با نشانی وب ترازکننده بار جایگزین کنید. اگر ترازکننده بار برای استفاده از TLS پیکربندی شده است، از پروتکل HTTPS استفاده کنید. فقط اگر از درگاه غیراستاندارد استفاده میکنید باید درگاه را اضافه کنید، یعنی چیزی غیراز درگاه ۸۰ برای HTTP و درگاه ۴۴۳ برای HTTPS.
پساز ویرایش usergrid.properties و portal.properties:
- گره Stack را پیکربندی کنید:
> /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid configure - تغییرات را در Tomcat مستقر کنید:
> /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid deploy - Restart the BaaS Stack:
> /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid restart - اگر portal.properties را اصلاح کردید،
گره «درگاه» را پیکربندی کنید:
> /<inst_root>/apigee/apigee-service/bin/apigee-service baas-portal configure - تغییرات را مستقر کنید:
> /<inst_root>/apigee/apigee-service/bin/apigee-service baas-portal deploy - «درگاه BaaS» را بازراهاندازی کنید:
> /<inst_root>/apigee/apigee-service/bin/apigee-service baas-portal restart
آمادهسازی سازمان جدید
آمادهسازی فرایند ایجاد سازمان و سرپرست سازمان است. پساز ایجاد سازمان و سرپرست سازمان، میتوانید به میانای کاربر پورتال API BaaS وارد شوید و به API BaaS REST API درخواست ارسال کنید.
وقتی سازمانی ایجاد میکنید، نشانی ایمیل سرپرست سازمان:
- باید با نشانی ایمیل سرپرست سیستم متفاوت باشد.
- باید در میان همه سازمانهای دیگر منحصربهفرد باشد. یعنی نمیتوانید دو سازمان با نشانی ایمیل یکسان برای سرپرست سازمان ایجاد کنید. اما پساز ایجاد سازمان، میتوانید سرپرستان دیگری اضافه کنید که میتوانند در چندین سازمان تکرار شوند.
برای انجام آمادهسازی، از اسکریپت پایتون create_org_and_user.py استفاده کنید. فراخوانی این اسکریپت بدون آرگومانهای خط فرمان باعث میشود که از شما بخواهد همه اطلاعات را وارد کنید:
> python create_org_and_user.py
یا میتوانید هرکدام یا همه گزینهها را بهعنوان آرگومان خط فرمان ارسال کنید. برای هر اطلاعاتی که از خط فرمان حذف کنید، از شما درخواست میشود:
> python create_org_and_user.py -o '<org name>' > python create_org_and_user.py -o '<org name>' -a '<new admin email>' -p '<new admin password>'
برای ایجاد سازمان:
- فهرست راهنما را به /opt/apigee/baas-usergrid/bin تغییر دهید.
- دستورگان Python create_org_and_user.py را فراخوانی کنید.
از شما خواسته میشود نام کاربری و گذرواژه سرپرست سیستم BaaS را وارد کنید تا فقط سرپرست سیستم بتواند آن را اجرا کند. - بااستفاده از نشانی وبی که در پایان نصب نشانی وب API BaaS Portal یادداشت کردید، در مرورگر وب به سیستم API BaaS Portal وارد شوید. برای دسترسی به درگاه، نشانی وب درگاه API BaaS را در
فرم زیر وارد کنید:
http://{portalExternalIP}:9000/
توجه: IP همان نشانی IP خارجی/نام میزبان دستگاه درگاه است. مطمئن شوید آن درگاه باز باشد. - وقتی صفحه ورود به سیستم پورتال ظاهر شد، میتوانید یکی از کارهای زیر را انجام دهید:
- بااستفاده از نام کاربری و گذرواژه سرپرست سازمان به سیستم وارد شوید.
- بااستفاده از نام کاربری و گذرواژه سرپرست سامانه، به سیستم وارد شوید.
دسترسی به API BaaS REST API
برای دسترسی به API BaaS REST API، از نشانی وب در فرم استفاده کنید:
https://{loadBalancerIP}:8080/{your-org}/{your-app}
در محیط توسعه نرمافزار، میتوانید همه مؤلفههای API BaaS را در یک گره نصب کنید، یعنی یک پشته API BaaS دارید. یا ممکن است محیط کوچکی با یک گره API BaaS Stack و بدون متعادلکننده بار داشته باشید. در این نوع محیطها، میتوانید فراخوانیهای API را مستقیماً به گره API BaaS Stack انجام دهید:
curl -v "http://portalExternalIP:8080/status"
برای اطلاعات بیشتر درباره شروع به کار با API BaaS Portal، به اسناد Apigee در نشانی زیر مراجعه کنید: http://apigee.com/docs/content/build-apps-home.