Edge for Private Cloud גרסה 4.16.09
שימוש במאזן עומסים
בהתקנה של API BaaS בסביבת ייצור, משתמשים במאזן עומסים בין הצומת של API BaaS Portal לבין הצמתים של API BaaS Stack. כשמגדירים את הפורטל, מציינים את כתובת ה-IP או את שם ה-DNS של מאזן העומסים, ולא של צומתי ה-Stack.
במקום מאזן עומסים, אתם יכולים להשתמש ב-DNS מסוג Round-Robin. בתרחיש הזה, יוצרים רשומת DNS עם כמה רשומות A שתואמות לכתובות ה-IP של מחסנית ה-BaaS. במהלך חיפוש DNS, שרת ה-DNS מחזיר באופן אוטומטי ערכים של רשומת כתובת קבועה בשיטת Round Robin.
התחברות ל-Cassandra
כשמתקינים את BaaS, אפשר לחבר את BaaS ואת Edge לאותו אשכול Cassandra, או ליצור אשכול Cassandra נפרד ל-BaaS. בהתקנות קטנות יותר של BaaS, כלומר כאלה עם נפחי תנועה נמוכים יותר, בדרך כלל יש אשכול Cassandra משותף עם Edge.
כדי להשיג תפוקה וזמינות גבוהות, או כדי להפריד בין אשכולות Cassandra לאזורי רשת שונים, מומלץ להשתמש באשכולות 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 של Edge בצומת, משתמשים בכלי השירות הזה כדי להתקין רכיב BaaS אחד או יותר בצומת. הפורמט של הכלי apigee-setup הוא:
> sudo /opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile
מעבירים קובץ תצורה לכלי apigee-setup שמכיל את המידע על ההתקנה. אם חסר מידע נדרש בקובץ התצורה, הכלי apigee-setup יבקש מכם להזין אותו בשורת הפקודה.
הדרישה היחידה היא שקובץ התצורה יהיה נגיש או קריא למשתמש "apigee".
לדוגמה, משתמשים בפקודה הבאה כדי להתקין את API BaaS Stack:
> 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" שמציין את מרכז הנתונים ואת המדף של צומת Cassandra. לדוגמה, '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, בפורמט: בסביבת בדיקה או פיתוח, שבה יש רק צומת אחד של API BaaS Stack, אפשר להשתמש בכתובת ה-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
אפשר לחבר את API BaaS לאותו אשכול Cassandra שמשמש את Edge, אבל Apigee ממליצה להשתמש באשכולות נפרדים.
אפשר להשתמש באימות באשכול Cassandra, או להשבית את האימות של Cassandra. למידע נוסף, ראו הפעלת אימות של Cassandra.
- מתקינים את כלי השירות apigee-setup של Edge בצומת באמצעות ההליך עם האינטרנט או בלי האינטרנט. מידע נוסף זמין במאמר התקנת כלי השירות apigee-setup של Edge.
- בשורת הפקודה, מריצים את סקריפט ההגדרות:
> /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:
- מתקינים את כלי השירות apigee-setup של Edge בצומת באמצעות ההליך עם האינטרנט או בלי האינטרנט. מידע נוסף זמין במאמר התקנת כלי השירות apigee-setup ב-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 restart
ההגדרה משלימה את תהליך ההגדרה בצומת.
התקנת API BaaS Stack: מכונות 4, 5 ו-6
כדי להתקין את API BaaS Stack:
- מתקינים את כלי השירות apigee-setup של Edge בצומת באמצעות ההליך עם האינטרנט או בלי האינטרנט. מידע נוסף זמין במאמר התקנת כלי השירות apigee-setup ב-Edge.
- בשורת הפקודה, מריצים את סקריפט ההגדרות:
> /opt/apigee/apigee-setup/bin/setup.sh -p b -f configFile
האפשרות "-p b" מציינת שצריך להתקין את API BaaS Stack.
למשתמש apigee צריכה להיות גישה לקובץ התצורה או הרשאת קריאה שלו.
אחרי שמנהל ההתקנה מאחזר את פרטי הכניסה הנכונים של האדמין, הוא מתקין את Tomcat, יוצר מרחבי מפתחות של API BaaS ומגדיר את API BaaS Stack בשרת. SMTP מוגדר גם כדי לאפשר לממשק המשתמש לשלוח הודעות אישור באימייל עם סיסמה.
התקנת API BaaS Portal: מכונה 7
כדי להתקין את פורטל API BaaS:
- מתקינים את כלי השירות apigee-setup של Edge בצומת באמצעות ההליך עם האינטרנט או בלי האינטרנט. מידע נוסף זמין במאמר התקנת כלי השירות apigee-setup ב-Edge.
- בשורת הפקודה, מריצים את סקריפט ההגדרות:
> /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 או של Portal
אם אתם כוללים מאזן עומסים לפני צומתי Stack או Portal, אתם צריכים להגדיר את הצמתים עם כתובת ה-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.
אם אתם משתמשים במאזן עומסים לפני צומתי ה-Stack, אתם צריכים גם להגדיר את המאפיין הבא ב-/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:
- מגדירים את צומת Stack:
> /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid configure - פורסים את השינויים ב-Tomcat:
> /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid deploy - מפעילים מחדש את 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 בארכיטקטורת REST של API BaaS.
כשיוצרים ארגון, כתובת האימייל של מנהל החשבון הארגוני:
- היא חייבת להיות שונה מכתובת האימייל של מנהל המערכת.
- חייב להיות ייחודי מבין כל הארגונים האחרים. כלומר, אי אפשר ליצור שני ארגונים עם אותה כתובת אימייל של מנהל החשבון הארגוני. עם זאת, אחרי שיוצרים את הארגון, אפשר להוסיף עוד אדמינים שאפשר לשכפל בכמה ארגונים.
כדי להגדיר את הארגון, משתמשים בסקריפט 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.
- מפעילים את הסקריפט create_org_and_user.py ב-Python.
תתבקשו להזין את שם המשתמש והסיסמה של מנהל המערכת של BaaS, כדי שרק מנהל מערכת יוכל להריץ אותו. - נכנסים לפורטל API BaaS בדפדפן אינטרנט באמצעות כתובת ה-URL שציינתם בסוף ההתקנה של כתובת ה-URL של פורטל API BaaS. כדי לגשת לפורטל, מזינים את כתובת ה-URL של פורטל API BaaS בפורמט הבא:
http://{portalExternalIP}:9000/
הערה: כתובת ה-IP היא כתובת ה-IP החיצונית או שם המארח של מכונת הפורטל. מוודאים שהיציאה הזו פתוחה. - כשמופיע מסך ההתחברות לפורטל, אתם יכולים:
- מתחברים באמצעות שם המשתמש והסיסמה של מנהל החשבון הארגוני.
- מתחברים באמצעות שם המשתמש והסיסמה של מנהל המערכת.
גישה ל-API בארכיטקטורת REST של API BaaS
כדי לגשת ל-API בארכיטקטורת REST של API BaaS, משתמשים בכתובת URL בפורמט הבא:
https://{loadBalancerIP}:8080/{your-org}/{your-app}
בסביבת פיתוח, אפשר להתקין את כל רכיבי API BaaS בצומת אחד, כלומר יש לכם API BaaS Stack אחד. או שיש לכם סביבה קטנה עם צומת אחד של API BaaS Stack וללא מאזן עומסים. בסביבות מהסוג הזה, אפשר לבצע קריאות ל-API ישירות לצומת של API BaaS Stack:
curl -v "http://portalExternalIP:8080/status"
מידע נוסף על תחילת העבודה עם פורטל API BaaS זמין במסמכי התיעוד של Apigee בכתובת: http://apigee.com/docs/content/build-apps-home.