Edge for Private Cloud גרסה 4.16.09
שימוש במאזן עומסים
במהלך התקנה של API BaaS בסביבת ייצור, נעשה שימוש במאזן עומסים בין הצומת של פורטל BaaS של ה-API לבין הצמתים של Stack BaaS ב-API. כשמגדירים את הפורטל, חשוב לציין את כתובת ה-IP או את שם ה-DNS של מאזן העומסים, ולא של צומתי ה-Stack.
כחלופה למאזן עומסים, אפשר להשתמש ב-DNS round-robin. בתרחיש הזה, צריך ליצור רשומת DNS עם מספר רשומות A שתואמות לכתובות IP של ערימת BaaS. במהלך חיפוש DNS, שרת ה-DNS מחזיר באופן אוטומטי ערכי רשומת A באופן סבב.
מתחברים לקסנדרה
כשמתקינים את BaaS, אפשר לחבר את BaaS ואת Edge לאותו אשכול של Cassandra, או ליצור אשכול נפרד של Cassandra עבור BaaS. התקנות BaaS קטנות יותר, כלומר התקנות שנפח התנועה שלהן נמוך יותר, בדרך כלל חולקות אשכול של Cassandra עם Edge.
לגבי תפוקה וזמינות גבוהה, או הפרדת אשכולות של Cassandra לאזורי רשת שונים, ההמלצה של Apigee היא להשתמש באשכולות Cassandra נפרדים. אשכולות נפרדים משפרים את הביצועים אם יש עומסי תנועה גבוהים ב-BaaS.
סנכרון תאריך
עליך לוודא שהתאריך/השעה בכל השרתים צריכים להיות מסונכרנים. אם תוכנית השירות 'ntpdate' לא מוגדרת כבר, היא יכולה לשרת את המטרה הזו, כדי לאמת אם השרתים מסונכרנים בזמן. אפשר להשתמש ב-yum install ntp כדי להתקין את כלי השירות.
אבטחה של Tomcat
מנהל ההתקנה של API BaaS גם מתקין את שרת Apache Tomcat בכל הצמתים של Stack BaaS ב-API, כולל ממשק המשתמש של מנהל המערכת של 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 תומך במספר אפשרויות להתקנת רכיבי BaaS של API. בהוראות שבהמשך עליכם להשתמש באפשרויות העצמאיות (c, e, b ו-p), אבל תוכלו להשתמש באפשרויות שונות בהתאם להגדרת הצומת:
אפשרות |
תיאור |
---|---|
e |
התקנת ElasticSearch בלבד. |
b |
התקנה של API BaaS Stack בלבד, שגם מתקינה את Tomcat. |
p |
אפשר להתקין רק את API BaaS Portal, שמתקין גם את נתב ה-Nginx שישמש כשרת אינטרנט. |
c |
מתקינים את Cassandra בלבד. |
eb |
התקנה של ElasticSearch , API BaaS Stack ו-Tomcat בצומת. |
BP |
מתקינים את ElasticSearch, API BaaS Portal, API BaaS Stack ו-Tomcat. הפורטל כל כך פשוט ואין צורך במשאבים נוספים לשם כך. |
Asa |
התקנה של כל רכיבי ה-API בצומת יחיד (Cassandra, Elasticsearch, API BaaS Stack ו-API BaaS Portal). יש להשתמש באפשרות הזו רק לפיתוח ולבדיקות, ולא לייצור. |
יצירת קובץ תצורה שקט
למטה מוצגת דוגמה לקובץ תצורה שקט של התקנת BaaS של API עם 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' שמציין את מרכז הנתונים ואת מדף האחסון של צומת Cassandra. לדוגמה: ' 192.168.124.201:1,1 = מרכז נתונים 1 ואזור המדף/זמינות 1, ו- '192.168.124.204:2,1 = מרכז נתונים 2 וטווח/זמינות 192.168.124.204:2,1 = מרכז נתונים 2. |
CASS_USERNAME |
שם המשתמש והסיסמה של Cassandra. אם האימות של Cassandra מושבת, עדיין תצטרכו להעביר את הערכים האלה. עם זאת, המערכת תתעלם מהערכים. |
BAAS_CASS_LOCALDC |
שמות האזורים צריכים להיות בפורמט dc-# כאשר # מייצג ערך של מספר שלם. לדוגמה, dc-1, dc-2 וכו'. אם מתחברים לאשכול Cassandra שמותקן באמצעות Edge, אפשר לבקש ממנהל המערכת של Edge את הערך הזה. בהתקנה של מרכז נתונים יחיד ב-Edge, ערך ברירת המחדל הוא dc-1. אם התקנת את Cassandra כחלק מהתקנת ממשקי BaaS של ה-API, במהלך ההתקנה של 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 ומספר היציאה של צומת BaaS Stack של API, בצורה הבאה: http://stackIPorDNS:8080 מספר היציאה של שרת API BaaS Stack הוא 8080. |
BAAS_PORTAL_URL |
כתובת ה-URL ומספר היציאה של מאזן העומסים, אם מוגדר כזה לפני הפורטל,
בטופס: |
BAAS_PORTAL_LISTEN_PORT |
מספר היציאה של השרת של פורטל BaaS API הוא 9000. אם היציאה הזו לא זמינה, יש לציין יציאה אחרת. אם מגדירים את BAAS_PORTAL_URL לכתובת ה-URL של צומת הפורטל, מספרי היציאות חייבים להיות זהים בשני הנכסים. |
אופציונלי – התקנת Cassandra: מכונה 8, 9 ו-10
אפשר לחבר את API BaaS לאותו אשכול של 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: Machine 1, 2 ו-3
כדי להתקין את ElasticSearch:
- מתקינים את הכלי להגדרת Edge apigee בצומת באמצעות הליך אינטרנט או בלי אינטרנט. למידע נוסף, ראו התקנת כלי השירות להגדרת ממשק ה-API של Edge.
- בשורת הפקודה, מריצים את סקריפט ההגדרה:
> /opt/apigee/apigee-setup/bin/setup.sh -p e -f configFile
האפשרות ' -p e' מציינת אם להתקין את ElasticSearch.
קובץ התצורה חייב להיות נגיש או קריא למשתמש "apigee". - (אופציונלי) אם מתקינים את ElasticSearch בצומת עצמאי, כלומר היא לא מותקנת
באמצעות API BaaS Stack, ניתן לשנות את אפשרות ברירת המחדל של הזיכרון כדי להגדיל את הזיכרון שמוקצה ל-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 הפעלה מחדש
ההגדרה משלימה בהצלחה את ההגדרה בצומת.
התקנת מקבץ BaaS של API: מכונה 4, 5 ו-6
כדי להתקין את מקבץ BaaS של ה-API:
- מתקינים את הכלי להגדרת Edge apigee בצומת באמצעות הליך אינטרנט או בלי אינטרנט. למידע נוסף, ראו התקנת כלי השירות להגדרת ממשק ה-API של Edge.
- בשורת הפקודה, מריצים את סקריפט ההגדרה:
> /opt/apigee/apigee-setup/bin/setup.sh -p b -f configFile
האפשרות ' -p b' מציינת אם להתקין את API BaaS Stack.
קובץ התצורה חייב להיות נגיש או קריא למשתמש "apigee".
אחרי שהמתקין מאחזר את פרטי הכניסה הנכונים של האדמין, הוא מתקין את Tomcat, יוצר מרחבי מפתחות BaaS של API ומגדיר את מקבץ BaaS של ה-API בשרת. שרת ה-SMTP גם מוגדר לאפשר לממשק המשתמש לשלוח הודעות אימייל לאישור סיסמה.
התקנה של פורטל BaaS של API: מכונה 7
כדי להתקין את פורטל BaaS של ה-API:
- מתקינים את הכלי להגדרת Edge apigee בצומת באמצעות הליך אינטרנט או בלי אינטרנט. למידע נוסף, ראו התקנת כלי השירות להגדרת ממשק ה-API של Edge.
- בשורת הפקודה, מריצים את סקריפט ההגדרה:
> /opt/apigee/apigee-setup/bin/setup.sh -p p -f configFile
האפשרות ' -p p' מציינת אם להתקין את פורטל BaaS של API.
קובץ התצורה חייב להיות נגיש או קריא למשתמש "apigee".
מנהל ההתקנה מפעיל את שרת האינטרנט של Nginx, ולאחר מכן מסיים את ההגדרה של API BaaS Portal.
רושמים את כתובת ה-URL של פורטל BaaS של ה-API. זו כתובת ה-URL שמזינים בדפדפן כדי לגשת לממשק המשתמש של פורטל BaaS של ה-API.
הגדרה של צומתי BaaS ב-API למאזן עומסים ב-Stack או בפורטל
אם כוללים מאזן עומסים לפני הצמתים ב-Stack או בפורטל, צריך להגדיר בצמתים את כתובת ה-URL הנכונה של מאזן העומסים. לדוגמה, צומתי ה-Stack מחייבים את המידע הזה כאשר:
- הכללת כתובת URL בתשובות בבקשות API של BaaS.
- הוספת קישורים בתבניות אימייל בזמן איפוס סיסמה או שליחת התראות אחרות.
- הפניה אוטומטית של משתמשים לדפים ספציפיים בפורטל.
אם משתמשים במאזן עומסים לפני צומתי 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 בכתובת ה-URL של מאזן העומסים. אם מאזן העומסים מוגדר להשתמש ב-TLS, יש להשתמש בפרוטוקול HTTPS. צריך לכלול את היציאה רק אם משתמשים ביציאה לא סטנדרטית, כלומר יציאה שאינה יציאה 80 ל-HTTP ויציאה 443 ל-HTTPS.
צריך גם להגדיר את המאפיין הבא ב-/opt/apigee/customer/application/portal.properties אם משתמשים במאזן עומסים מול צומתי ה-Stack:
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:
- מגדירים את צומת ה-Stack:
> /<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 Portal:
> /<inst_root>/apigee/apigee-service/bin/apigee-service baas-portal מחדש
תהליך קליטת ארגון חדש
תהליך ההצטרפות הוא תהליך היצירה של ארגון ואדמין בארגון. אחרי שיוצרים את הארגון ואת האדמין של הארגון, אפשר להתחבר לממשק המשתמש של API BaaS Portal ולהגיש בקשות ל-API BaaS REST API.
בעת יצירת ארגון, כתובת האימייל של מנהל המערכת של הארגון:
- חייבת להיות שונה מכתובת האימייל של מנהל המערכת.
- חייב להיות ייחודי בין כל הארגונים האחרים. כלומר, לא ניתן ליצור שני ארגונים עם אותה כתובת אימייל עבור מנהל המערכת בארגון. עם זאת, אחרי יצירת הארגון, אפשר להוסיף עוד אדמינים שניתן להשתמש בהם במספר ארגונים שונים.
כדי לבצע את ההדרכה למשתמשים חדשים, צריך להשתמש בסקריפט Python 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, כדי שרק אדמין ב-sys יוכל להפעיל אותם. - מתחברים ל-API BaaS Portal בדפדפן אינטרנט באמצעות כתובת ה-URL שציינתם בסוף
התקנת כתובת ה-URL של פורטל BaaS של ה-API. כדי לגשת לפורטל, צריך להזין את כתובת ה-URL של פורטל BaaS של ה-API
בצורה הבאה:
http://{portalExternalIP}:9000/
הערה: כתובת ה-IP היא כתובת ה-IP החיצונית/שם המארח של מכשיר הפורטל. יש לוודא שהיציאה פתוחה. - כשמופיע מסך ההתחברות לפורטל, אתם יכולים:
- יש להתחבר באמצעות שם המשתמש והסיסמה של מנהל המערכת בארגון.
- התחבר באמצעות שם המשתמש והסיסמה של מנהל המערכת.
גישה ל-API BaaS REST API
כדי לגשת ל-API BaaS REST, משתמשים בכתובת URL בטופס:
https://{loadBalancerIP}:8080/{your-org}/{your-app}
בסביבת פיתוח, אפשר להתקין את כל רכיבי ה-BAaS של ה-API בצומת אחד. כלומר יש לכם מקבץ BaaS יחיד של API. לחלופין, יכול להיות שאתם משתמשים בסביבה קטנה עם צומת אחד של מקבץ BaaS Stack ב-API וללא מאזן עומסים. בסביבות מהסוגים האלה אפשר לבצע קריאות ל-API ישירות לצומת של Stack BaaS Stack:
curl -v "http://portalExternalIP:8080/status"
למידע נוסף על תחילת השימוש ב-API BaaS Portal, אפשר לעיין במסמכים של Apigee בכתובת: http://apigee.com/docs/content/build-apps-home.