Edge for Private Cloud גרסה 4.16.09
שימוש במאזן עומסים
התקנת ייצור של API BaaS משתמשת במאזן עומסים בין צומת ה-API BaaS Portal ו-API של BaaS Stack. כשמגדירים את הפורטל, צריך לציין את כתובת ה-IP או את שם ה-DNS של מאזן העומסים, לא של צומתי ה-Stack.
כחלופה למאזן עומסים, אפשר להשתמש ב-DNS סיבובי. במקרה הזה, יוצרת רשומת DNS עם מספר רשומות A שתואמות לכתובות IP של סטאק BaaS. במהלך DNS lookup, שרת ה-DNS מחזיר באופן אוטומטי ערכים של רשומת A בצורה של רובין (round robin).
עם עצירת ביניים אל קסנדרה
כשמתקינים את BaaS, אפשר לחבר את BaaS ו-Edge לאותו אשכול של Cassandra, או ליצור אשכול נפרד של Cassandra עבור BaaS. התקנות BaaS קטנות יותר, כלומר להקטין את נפחי התעבורה, בדרך כלל חולקים אשכול של Cassandra עם Edge.
לקבלת תפוקה וזמינות גבוהים, או כדי להפריד אשכולות של קסנדרה אזורי רשת, 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
סקירה כללית בנושא התקנה
אחרי שמתקינים את כלי השירות apigee-setup בצומת, צריך להשתמש להתקנה של רכיב BaaS אחד או יותר בצומת. מבנה הכלי apigee-setup הוא:
> sudo /opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile
מעבירים קובץ תצורה לכלי השירות apigee-setup שמכיל את הפונקציה מידע על ההתקנה. אם בקובץ התצורה חסר מידע, את הגדרת ה-apigee-setup תתבקשו להזין אותו בשורת הפקודה.
הדרישה היחידה היא שקובץ התצורה יהיה נגיש או קריא 'apigee' משתמש.
לדוגמה, כדי להתקין את מקבץ BaaS של API, משתמשים בפקודה הבאה:
> sudo /opt/apigee/apigee-setup/bin/setup.sh -p b -f myConfig
כלי השירות setup.sh ב-Apigee תומכת במספר אפשרויות להתקנת רכיבי 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 עם 10 צמתים. ערוך את הקובץ הזה לפי הצורך בהגדרות האישיות שלכם. כדי לכלול את הקובץ הזה, משתמשים באפשרות -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 (לא שמות DNS) כוללים את הצירוף ':dc,ra' שמציין את מרכז הנתונים והמארז של צומת של קסנדרה. לדוגמה: '192.168.124.201:1,1 = מרכז נתונים 1 ואזור מארז/זמינות 1, וגם '192.168.124.204:2,1 = מרכז נתונים 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 |
בסביבת ייצור, אלו כתובת ה-URL והיציאה של מאזן העומסים
לפני צומתי ה-API BaaS Stack, בפורמט: בסביבת בדיקה או פיתוח, שבה יש לכם רק מקבץ BaaS אחד של API. צומת, יכול להיות כתובת ה-URL ומספר היציאה של צומת API BaaS Stack, באופן הבא: http://stackIPorDNS:8080 מספר היציאה של שרת API BaaS Stack הוא 8080. |
BAAS_PORTAL_URL |
כתובת ה-URL ומספר היציאה של מאזן העומסים, אם קיים מאזן עומסים לפני הפורטל,
בפורמט הזה: |
BAAS_PORTAL_LISTEN_PORT |
מספר היציאה של שרת API BaaS Portal הוא 9000. אם השקע הזה לא זמין, לציין יציאה אחרת. אם מגדירים את BAAS_PORTAL_URL לכתובת ה-URL של צומת של פורטל, מספרי היציאות צריכים להיות זהים בשני הנכסים. |
אופציונלי – התקנת Cassandra: מכונה 8, 9 ו 10
אפשר לחבר את BaaS API לאותו אשכול Cassandra שבו משתמש Edge ו-Apigee מומלץ להשתמש באשכולות נפרדים.
אשכול Cassandra יכול להשתמש באימות, או שניתן להשבית אימות של Cassandra. צפייה הפעלת אימות של Cassandra עבור עוד.
- התקנת כלי השירות apigee-setup בצומת באמצעות או תהליך אחר שהוא לא אינטרנט. בהתקנת כלי ההגדרה של Edge apigee-setup עוד.
- בשורת הפקודה, מריצים את סקריפט ההגדרה:
> /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
האפשרות -p c מציינת להתקין את Cassandra.
קובץ התצורה חייב להיות נגיש או קריא באמצעות ה-apigee משתמש.
ההגדרה משלימה את ההגדרה של מאגר הנתונים בצומת.
שימו לב ש-JMX מופעל כברירת מחדל עבור Cassandra. הגישה מרחוק של JMX אל Cassandra לא נדרשת סיסמה. אפשר להגדיר את Cassandra להשתמש באימות עבור JMX. מידע נוסף זמין במאמר איך עוקבים
הגדרה של משימת cron של Cassandra
הגדרה של משימת cron שמשתמשת ב-nodetool כדי לנקות מנעולים כך שיפעלו כל שעה בכל צומת של Cassandra.
אם יש כמה צמתים של Cassandra, צריך לקזז את משימת ה-cron בכל שרת בחמש דקות כך שכל הצמתים לא נשטפים בו-זמנית.
משימת ה-cron חייבת להריץ את הפקודה הבאה:
/opt/apigee/apigee-cassandra/bin/nodetool -h IP_address flush Apigee_Baas_Locks
כאשר IP_address הוא כתובת ה-IP של צומת Cassandra.
מתקינים את ElasticSearch: מכונה 1, 2 ו-3
כדי להתקין את ElasticSearch:
- התקנת כלי ההגדרה של Edge apigee בצומת באמצעות חיבור לאינטרנט או ללא חיבור לאינטרנט התהליך. למידע נוסף, ראו התקנת Edge apigee-setup גבוהה יותר.
- בשורת הפקודה, מריצים את סקריפט ההגדרה:
> /opt/apigee/apigee-setup/bin/setup.sh -p e -f configFile
האפשרות ' -p e' מציינת להתקין את ElasticSearch.
קובץ התצורה חייב להיות נגיש או קריא באמצעות ה-apigee משתמש. - (אופציונלי) אם מתקינים את ElasticSearch בצומת עצמאי, כלומר הוא לא מותקן
באמצעות Stack BaaS של API, ואז תוכלו לשנות את אפשרות ברירת המחדל לזיכרון כדי להגדיל את הזיכרון שהוקצה
ElasticSearch מ-4GB עד 6GB:
- פותחים את /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 מחדש
התצורה משלימה את ההגדרה בצומת.
התקנת סטאק API של BaaS: מכונה 4, 5 ו-6
כדי להתקין את מקבץ BaaS של API:
- התקנת כלי ההגדרה של Edge apigee בצומת באמצעות חיבור לאינטרנט או ללא חיבור לאינטרנט התהליך. למידע נוסף, ראו התקנת Edge apigee-setup גבוהה יותר.
- בשורת הפקודה, מריצים את סקריפט ההגדרה:
> /opt/apigee/apigee-setup/bin/setup.sh -p b -f configFile
האפשרות -p b מציינת להתקין API BaaS Stack.
קובץ התצורה חייב להיות נגיש או קריא באמצעות ה-apigee משתמש.
אחרי שמנהל ההתקנה מאחזר את פרטי הכניסה הנכונים של האדמין, הוא מתקין את Tomcat ויוצר API מרחבי מפתחות BaaS, ומגדיר את סטאק ה-API BaaS בשרת. גם ב-SMTP מוגדר לאפשר ממשק המשתמש כדי לשלוח הודעות אימייל לאישור הסיסמה.
התקנת פורטל API של BaaS: מכונה 7
כדי להתקין את פורטל BaaS API:
- התקנת כלי ההגדרה של Edge apigee בצומת באמצעות חיבור לאינטרנט או ללא חיבור לאינטרנט התהליך. למידע נוסף, ראו התקנת Edge apigee-setup גבוהה יותר.
- בשורת הפקודה, מריצים את סקריפט ההגדרה:
> /opt/apigee/apigee-setup/bin/setup.sh -p p -f configFile
האפשרות -p p מציינת להתקין את פורטל API BaaS.
קובץ התצורה חייב להיות נגיש או קריא באמצעות ה-apigee משתמש.
מנהל ההתקנה מפעיל את שרת האינטרנט Nginx ולאחר מכן מסיים את פתיחת פורטל ה-API BaaS הגדרה אישית.
חשוב לרשום את כתובת ה-URL של פורטל ה-API BaaS. זו כתובת ה-URL שמזינים בדפדפן כדי לגשת ממשק המשתמש של פורטל API BaaS.
הגדרת צומתי API BaaS למקבץ או מאזן עומסים בפורטל
אם תכללו מאזן עומסים לפני צמתים של Stack או פורטל, צריך להגדיר את הצמתים עם כתובת ה-URL הנכונה של מאזן העומסים. לדוגמה, לצומתי הערימה נדרש הערך הזה כאשר:
- הכללת כתובת URL בתגובות בבקשות BaaS API.
- הוספת קישורים בתבניות אימייל בעת איפוס סיסמה או שליחת הודעה אחרת התראות.
- הפניית משתמשים לדפי פורטל ספציפיים.
אם משתמשים במאזן עומסים לפני צומתי המקבץ, צריך להגדיר את המאפיינים הבאים ב- /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 בכתובת ה-URL של הטעינה. איזון. אם מאזן העומסים מוגדר לשימוש ב-TLS, צריך להשתמש בפרוטוקול HTTPS. רק אתם צריך לכלול את היציאה אם משתמשים ביציאה לא סטנדרטית, כלומר יציאה שאינה יציאה 80 ל-HTTP ויציאה 443 ל-HTTPS.
בנוסף, צריך להגדיר את המאפיין הבא ב-/opt/apigee/customer/application/portal.properties אם משתמשים במאזן עומסים לפני צומתי המקבץ:
baas.portal.config.overrideUrl=http://localhost:8080
מחליפים את הכתובת http://localhost:8080 בכתובת ה-URL של מאזן עומסים ל-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 בכתובת ה-URL של מאזן עומסים. אם מאזן העומסים מוגדר לשימוש ב-TLS, צריך להשתמש בפרוטוקול HTTPS. שלך צריכה לכלול את היציאה רק אם משתמשים ביציאה לא סטנדרטית, כלומר יציאה 80 ל-HTTP ויציאה 443 ל-HTTPS.
אחרי שעורכים את usergrid.properties ואת portal.properties:
- הגדרת הצומת של המקבץ:
> /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid configuration - פורסים את השינויים ב-Tomcat:
> /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid deploy - הפעלה מחדש של מקבץ BaaS:
> /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid הפעלה מחדש - אם שיניתם את portal.properties, עליכם להגדיר
הצומת של הפורטל:
> /<inst_root>/apigee/apigee-service/bin/apigee-service baas-portal configuration - פורסים את השינויים:
> /<inst_root>/apigee/apigee-service/bin/apigee-service baas-portal deploy - הפעלה מחדש של פורטל BaaS:
> /<inst_root>/apigee/apigee-service/bin/apigee-service baas-portal מחדש
הצטרפות לארגון חדש
קליטת משתמשים חדשים היא התהליך של יצירת מנהל ארגון ומנהל מערכת בארגון. אחרי כשאתם יוצרים את מנהל הארגון והארגון, תוכלו להתחבר לפורטל BaaS Portal ממשק משתמש ושליחה של בקשות ל-API ל-REST של BaaS API.
כשיוצרים ארגון, כתובת האימייל של מנהל הארגון:
- חייבת להיות שונה מכתובת האימייל של מנהל המערכת.
- חייב להיות ייחודי מבין כל הארגונים האחרים. כלומר, אי אפשר ליצור שני ארגונים עם אותה כתובת אימייל של מנהל החשבון הארגוני. אבל אחרי שיוצרים את לארגון, תוכלו להוסיף עוד מנהלים שניתן לשכפל ארגונים.
כדי להתחיל את תהליך ההצטרפות, צריך להשתמש בסקריפט create_org_and_user.py של Python. הפעלת הסקריפט הזה ללא ארגומנטים בשורת הפקודה גורמת לו להציג לכם הנחיות מידע:
> 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 בדפדפן אינטרנט באמצעות כתובת ה-URL שציינתם בסוף
התקנת כתובת URL של פורטל API BaaS. כדי לגשת לפורטל, צריך להזין את כתובת ה-URL של פורטל BaaS API ב:
הטופס הזה:
http://{portalExternalIP}:9000/
הערה: כתובת ה-IP היא כתובת ה-IP החיצונית/שם המארח החיצוני של מחשב הפורטל. ודאו שהיציאה הזו פתוחה. - כשמסך ההתחברות לפורטל יופיע, תוכלו:
- מתחברים באמצעות שם המשתמש והסיסמה של מנהל המערכת בארגון.
- מתחברים באמצעות שם המשתמש והסיסמה של האדמין.
גישה ל-API ל-REST של BaaS
כדי לגשת ל-API של BaaS ל-REST API, צריך להשתמש בכתובת URL בטופס:
https://{loadBalancerIP}:8080/{your-org}/{your-app}
בסביבת פיתוח, אפשר להתקין את כל רכיבי ה-API BaaS בצומת אחד, כלומר יש לכם מקבץ BaaS אחד של API. לחלופין, יכולה להיות לכם סביבה קטנה עם צומת 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.