Edge for Private Cloud גרסה 4.17.05
דרישות חומרה
כדי להשתמש בתשתית עם זמינות גבוהה בסביבה ברמת ייצור, אתם צריכים לעמוד בדרישות המינימליות הבאות לחומרה. בכל תרחישי ההתקנה שמתוארים בקטע טופולוגיות של התקנה, בטבלאות הבאות מפורטות דרישות החומרה המינימליות לרכיבי ההתקנה.
בטבלאות האלה, הדרישות לגבי הדיסק הקשיח הן בנוסף למקום בכונן הקשיח שנדרש למערכת ההפעלה. בהתאם לאפליקציות ולתנועה ברשת, יכול להיות שההתקנה תדרוש יותר או פחות משאבים מאלה שמפורטים בהמשך.
|
רכיב ההתקנה |
RAM |
מעבד (CPU) |
מינימום שטח בדיסק הקשיח |
|---|---|---|---|
|
Cassandra |
16GB |
8 ליבות |
אחסון מקומי בנפח 250GB עם SSD או HDD מהיר שתומך ב-2,000 IOPS |
|
מעבד בקשות/נתב באותו מחשב |
16GB |
8 ליבות |
100GB |
|
Analytics – Postgres/Qpid באותו שרת (לא מומלץ לסביבת ייצור) |
16GB* |
8 ליבות* |
אחסון ברשת*** בנפח 500GB עד 1TB**, רצוי עם קצה עורפי של SSD, שתומך ב-1,000 IOPS או יותר*. |
|
Analytics – Postgres עצמאי |
16GB* |
8 ליבות* |
אחסון ברשת*** בנפח 500GB עד 1TB**, רצוי עם קצה עורפי של SSD, תמיכה ב-1,000 IOPS או יותר*. |
|
Analytics - Qpid standalone |
8GB |
4 ליבות |
אחסון מקומי בנפח 30GB עד 50GB עם SSD או HDD מהיר בהתקנות עם יותר מ-250 TPS, מומלץ להשתמש ב-HDD עם אחסון מקומי שתומך ב-1,000 IOPS. גודל ברירת המחדל של התור ב-Qpid הוא 20GB. אם צריך להוסיף עוד קיבולת, מוסיפים עוד צומתי Qpid. |
|
אחר (OpenLDAP, ממשק משתמש, שרת ניהול) |
4GB |
2 ליבות |
60GB |
|
*התאמת דרישות המערכת של Postgres על סמך הקיבולת:
|
|||
|
**ערך הדיסק הקשיח של Postgres מבוסס על ניתוח הנתונים המובנה שמתועד על ידי Edge. אם מוסיפים ערכים מותאמים אישית לנתוני הניתוח, צריך להגדיל את הערכים האלה בהתאם. כדי להעריך את נפח האחסון הנדרש, אפשר להשתמש בנוסחה הבאה: |
|||
|
*** מומלץ להשתמש באחסון ברשת למסד נתונים של Postgresql כי:
|
|||
בנוסף, אלה דרישות החומרה להתקנת שירותי המונטיזציה:
|
רכיב עם מונטיזציה |
RAM |
מעבד (CPU) |
כונן קשיח |
|---|---|---|---|
|
שרת ניהול (עם שירותי מונטיזציה) |
8GB |
4 ליבות |
60GB |
|
Analytics – Postgres/Qpid באותו שרת |
16GB |
8 ליבות |
אחסון ברשת בנפח 500GB עד 1TB, רצוי עם קצה עורפי של SSD, שתומך ב-1,000 פעולות קלט/פלט לשנייה או יותר, או להשתמש בכלל מהטבלה שלמעלה. |
|
Analytics – Postgres עצמאי |
16GB |
8 ליבות |
אחסון ברשת בנפח 500GB עד 1TB, רצוי עם קצה עורפי של SSD, שתומך ב-1,000 פעולות קלט/פלט לשנייה או יותר, או להשתמש בכלל מהטבלה שלמעלה. |
|
Analytics - Qpid standalone |
8GB |
4 ליבות |
אחסון מקומי בנפח 40GB עד 500GB עם SSD או HDD מהיר בהתקנות עם יותר מ-250 TPS, מומלץ להשתמש ב-HDD עם אחסון מקומי שתומך ב-1,000 IOPS. |
אם אתם רוצים להתקין את API BaaS, אלה דרישות החומרה:
|
רכיב API BaaS |
RAM |
מעבד (CPU) |
כונן קשיח |
|---|---|---|---|
|
ElasticSearch* |
8GB |
4 ליבות |
60 - 80GB |
|
API BaaS Stack * |
8GB |
4 ליבות |
60 - 80GB |
|
API BaaS Portal |
1GB |
2 ליבות |
20GB |
|
Cassandra (אופציונלי – בדרך כלל משתמשים באותו אשכול Cassandra גם ל-Edge וגם ל-API BaaS Services) |
16GB |
8 ליבות |
אחסון מקומי בנפח 250GB עם SSD או HDD מהיר שתומך ב-2,000 IOPS |
|
* אפשר להתקין את ElasticSearch ואת API BaaS Stack באותו צומת. אם כן, צריך להגדיר את ElasticSearch כך שישתמש ב-4GB של זיכרון (ברירת המחדל). אם ElasticSearch מותקן בצומת משלו, צריך להגדיר אותו לשימוש ב-6GB זיכרון. |
|||
הערה:
- אם מערכת הקבצים הבסיסית לא גדולה מספיק להתקנה, מומלץ להעביר את הנתונים לדיסק גדול יותר.
- אם במכונה הותקנה גרסה ישנה יותר של Apigee Edge for Private Cloud, צריך למחוק את התיקייה /tmp/java לפני התקנה חדשה.
- כדי להפעיל את Cassandra, צריך לתת הרשאות הפעלה לתיקייה הזמנית /tmp ברמת המערכת.
- אם המשתמש apigee נוצר לפני ההתקנה, צריך לוודא ש-/home/apigee קיים כספריית הבית והוא בבעלות apigee:apigee.
דרישות למערכת ההפעלה ולתוכנות צד שלישי
הוראות ההתקנה האלה וקובצי ההתקנה שסופקו נבדקו במערכות ההפעלה ובתוכנות הצד השלישי שמפורטות כאן: https://apigee.com/docs/api-services/reference/supported-software.
יצירת משתמש Apigee
תהליך ההתקנה יוצר משתמש במערכת Unix בשם apigee. הספריות והקבצים של Edge נמצאים בבעלות של apigee, וכך גם התהליכים של Edge. כלומר, רכיבי Edge פועלים כמשתמש apigee. אם צריך, אפשר להפעיל רכיבים כמשתמש אחר. דוגמה לכך מופיעה בקטע "Binding the Router to a protected port" במאמר Install Edge components on a node.
ספריית ההתקנה
כברירת מחדל, תוכנית ההתקנה כותבת את כל הקבצים בספרייה /opt/apigee. אי אפשר לשנות את המיקום של הספרייה הזו. אי אפשר לשנות את הספרייה הזו, אבל אפשר ליצור קישור סימבולי כדי למפות את /opt/apigee למיקום אחר, כמו שמתואר בהמשך.
בהוראות שבמדריך הזה, ספריית ההתקנה מצוינת בתור /<inst_root>/apigee, כאשר /<inst_root> הוא /opt כברירת מחדל.
יצירת קישור סימבולי מ-/opt/apigee
לפני שיוצרים את הקישור הסימבולי, צריך ליצור משתמש וקבוצה בשם "apigee". זו אותה קבוצה ואותו משתמש שנוצרו על ידי תוכנת ההתקנה של Edge.
כדי ליצור את הקישור הסימבולי, מבצעים את השלבים הבאים לפני שמורידים את הקובץ bootstrap_4.17.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
Java
לפני ההתקנה, צריך להתקין גרסה נתמכת של Java1.8 בכל מכונה. רשימת ערכות ה-JDK הנתמכות:
https://apigee.com/docs/api-services/reference/supported-software
מוודאים ש-JAVA_HOME מפנה לשורש של ה-JDK של המשתמש שמבצע את ההתקנה.
SELinux
בהתאם להגדרות של SELinux, יכול להיות שיהיו בעיות בהתקנה ובהפעלה של רכיבי Edge. במקרה הצורך, אפשר להשבית את SELinux או להגדיר אותו למצב מתירני במהלך ההתקנה, ואז להפעיל אותו מחדש אחרי ההתקנה. מידע נוסף זמין במאמר התקנת כלי השירות apigee-setup של Edge.
הגדרת רשת
מומלץ לבדוק את הגדרת הרשת לפני ההתקנה. תוכנת ההתקנה מצפה שלכל המכונות יהיו כתובות IP קבועות. כדי לאמת את ההגדרה, משתמשים בפקודות הבאות:
- hostname מחזירה את שם המכונה
- הפקודה hostname -i מחזירה את כתובת ה-IP של שם המארח שאפשר לגשת אליו ממכונות אחרות.
בהתאם לסוג ולגרסה של מערכת ההפעלה, יכול להיות שתצטרכו לערוך את /etc/hosts ואת /etc/sysconfig/network אם שם המארח לא מוגדר בצורה נכונה. למידע נוסף, עיינו במסמכי התיעוד של מערכת ההפעלה הספציפית שלכם.
TCP Wrappers
TCP Wrappers יכול לחסום תקשורת של יציאות מסוימות ולהשפיע על ההתקנה של OpenLDAP, Postgres ו-Cassandra. בצמתים האלה, בודקים את /etc/hosts.allow ואת /etc/hosts.deny כדי לוודא שאין הגבלות על היציאות הנדרשות של OpenLDAP, Postgres ו-Cassandra.
iptables
מוודאים שאין כללי מדיניות של iptables שמונעים קישוריות בין צמתים ביציאות הנדרשות של Edge. אם צריך, אפשר לעצור את iptables במהלך ההתקנה באמצעות הפקודה:
> sudo/etc/init.d/iptables stop
ב-CentOS 7.x:
> systemctl stop firewalld
מוודאים של-Edge Router יש גישה אל /etc/rc.d/init.d/functions
הצמתים של Edge Router ו-BaaS Portal משתמשים בנתב Nginx ודורשים גישת קריאה ל-/etc/rc.d/init.d/functions.
אם תהליך האבטחה שלכם מחייב להגדיר הרשאות ב-/etc/rc.d/init.d/functions, אל תגדירו אותן ל-700, אחרת הנתב לא יופעל. אפשר להגדיר את ההרשאות ל-744 כדי לאפשר גישת קריאה אל /etc/rc.d/init.d/functions.
Cassandra
כל הצמתים של Cassandra צריכים להיות מחוברים לטבעת. Cassandra מאחסנת עותקים משוכפלים של נתונים בכמה צמתים כדי להבטיח אמינות ועמידות בפני תקלות. אסטרטגיית השכפול של כל מרחב מפתחות ב-Edge קובעת את צומתי Cassandra שבהם ממוקמים העותקים המשוכפלים. מידע נוסף זמין במאמר מידע על גורם השכפול ורמת העקביות של Cassandra.
Cassandra מתאימה באופן אוטומטי את גודל ה-Java heap בהתאם לזיכרון הזמין. מידע נוסף זמין במאמר כוונון משאבי Java. במקרה של פגיעה בביצועים או צריכת זיכרון גבוהה.
אחרי שמתקינים את Edge for Private Cloud, אפשר לבדוק אם Cassandra מוגדרת כמו שצריך. לשם כך, בודקים את הקובץ /<inst_root>/apigee/apigee-cassandra/conf/cassandra.yaml. לדוגמה, מוודאים שסקריפט ההתקנה של Edge for Private Cloud הגדיר את המאפיינים הבאים:
- cluster_name
- initial_token
- partitioner
- זרעים
- listen_address
- rpc_address
- snitch
אזהרה: אל תערכו את הקובץ הזה.
מסד נתונים של PostgreSQL
אחרי שמתקינים את Edge, אפשר לשנות את ההגדרות הבאות של מסד הנתונים של PostgreSQL בהתאם לכמות ה-RAM שזמינה במערכת:
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 /<inst_root>/apigee/customer/application/postgresql.properties
אם הקובץ לא קיים, יוצרים אותו. - מגדירים את המאפיינים שמפורטים למעלה.
- שומרים את השינויים.
- מפעילים מחדש את מסד הנתונים של PostgreSQL:
> /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-postgresql restart
מגבלות מערכת
מוודאים שהגדרתם את מגבלות המערכת הבאות בצומתי Cassandra ובצומתי מעבד הבקשות:
- בצומתי Cassandra, מגדירים מגבלות רכות וקשות ל-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
- בצמתים של מעבדי בקשות, מגדירים את המספר המקסימלי של תיאורי קבצים פתוחים ל-64K ב-/etc/security/limits.d/90-apigee-edge-limits.conf , כמו שמוצג בהמשך:
apigee soft nofile 32768
apigee hard nofile 65536
אם צריך, אפשר להגדיל את המגבלה הזו. לדוגמה, אם יש לכם מספר גדול של קבצים זמניים שפתוחים בו-זמנית.
jsvc
"jsvc" הוא תנאי מוקדם לשימוש ב-API BaaS. גרסה 1.0.15-dev מותקנת כשמתקינים את API BaaS.
שירותי אבטחת רשת (NSS)
Network Security Services (NSS) היא קבוצה של ספריות שתומכות בפיתוח של אפליקציות מאובטחות ללקוחות ולשרתים. חשוב לוודא שמותקנת גרסה 3.19 ומעלה של 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 ב-Google Cloud Platform ל-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
כלים
תוכנת ההתקנה משתמשת בכלי UNIX הבאים בגרסה הרגילה, כפי שסופקו על ידי EL5 או EL6.
|
awk |
expr |
lua-socket |
סיבובים לדקה |
חילוץ ZIP |
|
basename |
grep |
ls |
rpm2cpio |
useradd |
|
bash |
hostname |
net-tools |
sed |
wc |
|
bc |
id [מזהה] |
perl (מ-procps) |
sudo |
wget |
|
curl |
libaio |
pgrep (מ-procps) |
tar |
xerces-c |
|
cyrus-sasl
|
libdb-cxx
|
ps | tr | טעים |
|
תאריך |
libibverbs
|
pwd |
uuid |
chkconfig |
| dirname |
librdmacm
|
python | uname | |
| echo |
libxslt
|
הערה:
- קובץ ההפעלה של הכלי useradd נמצא ב-/usr/sbin ושל chkconfig ב-/sbin.
- עם גישת sudo, אתם יכולים לקבל גישה לסביבה של המשתמש שמבצע את הקריאה החוזרת. לדוגמה, בדרך כלל תבצעו קריאה חוזרת ל-"sudo <command>" או ל-"sudo PATH=$PATH:/usr/sbin:/sbin <command>".
- לפני שמתקינים חבילת שירות (תיקון), צריך לוודא שהכלי "תיקון" מותקן.
ntpdate – מומלץ לסנכרן את השעה בשרתים. אם הוא עדיין לא מוגדר, אפשר להשתמש בכלי ntpdate כדי לוודא שהשרתים מסונכרנים מבחינת הזמן. כדי להתקין את הכלי, אפשר להשתמש בפקודה yum install ntp. האפשרות הזו שימושית במיוחד לשכפול הגדרות של OpenLDAP. שימו לב שאתם מגדירים את אזור הזמן של השרת לפי UTC.
openldap 2.4 – ההתקנה המקומית דורשת את OpenLDAP 2.4. אם לשרת יש חיבור לאינטרנט, סקריפט ההתקנה של Edge מוריד ומתקין את OpenLDAP. אם לשרת אין חיבור לאינטרנט, צריך לוודא ש-OpenLDAP כבר מותקן לפני שמריצים את סקריפט ההתקנה של Edge. ב-RHEL/CentOS, אפשר להריץ את הפקודה yum install openldap-clients openldap-servers כדי להתקין את OpenLDAP.
בהתקנות של 13 מארחים ובהתקנות של 12 מארחים עם שני מרכזי נתונים, צריך שכפול של OpenLDAP כי יש כמה צמתים שמארחים את OpenLDAP.
חומות אש ומארחים וירטואליים
המונח "וירטואלי" משמש לעיתים קרובות בתחום ה-IT, וכך גם בפריסה של Apigee Edge for Private Cloud ובמארחים וירטואליים. כדי להבהיר, יש שני שימושים עיקריים למונח "וירטואלי":
- מכונות וירטואליות (VM): לא נדרשות, אבל בחלק מהפריסות משתמשים בטכנולוגיית VM כדי ליצור שרתים מבודדים לרכיבי Apigee. למארחי מכונות וירטואליות, כמו למארחים פיזיים, יכולים להיות ממשקי רשת וחומות אש.
- מארחים וירטואליים: נקודות קצה באינטרנט, בדומה למארח וירטואלי של Apache.
נתב במכונה וירטואלית יכול לחשוף כמה מארחים וירטואליים (כל עוד הם שונים זה מזה בכינוי המארח או ביציאת הממשק שלהם).
לדוגמה, נניח שבשרת פיזי אחד, "A", פועלות שתי מכונות וירטואליות, "VM1" ו-"VM2". נניח ש-VM1 חושפת ממשק אתרנט וירטואלי, שנקרא eth0 בתוך המכונה הווירטואלית, ומוקצית לו כתובת ה-IP 111.111.111.111 על ידי מנגנון הווירטואליזציה או שרת DHCP ברשת. נניח גם ש-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 לשרתי proxy שונים של API שאולי פרסתם. חבילות של שרתי proxy ל-API יכולות לשתף נקודת קצה (endpoint) אם יש להן נתיבי בסיס שונים. לדוגמה, אפשר להגדיר נתיב בסיס אחד בתור 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 עם כתובת ה-URL הבסיסית /salesdemo, המשתמשים ניגשים ל-API הזה באמצעות http://api.mycompany.com:80/salesdemo. אם פורסים את ה-API mycompany עם כתובת ה-URL הבסיסית / , המשתמשים יוכלו לגשת ל-API באמצעות כתובת ה-URL http://api.mycompany.com:80/.
דרישות לגבי יציאות קצה (edge)
הצורך לנהל את חומת האש הוא לא רק למארחים הווירטואליים. חומות האש של המכונה הווירטואלית ושל המארח הפיזי צריכות לאפשר תעבורת נתונים ליציאות שנדרשות לרכיבים כדי לתקשר זה עם זה.
בתמונה הבאה מוצגות דרישות היציאות לכל רכיב של Edge:

הערות לגבי התרשים:
-
*יציאה 8082 במעבד הבקשות צריכה להיות פתוחה לגישה על ידי הנתב רק כשמגדירים TLS/SSL בין הנתב לבין מעבד הבקשות. אם לא מגדירים TLS/SSL בין הנתב למעבד הבקשות, עדיין צריך לפתוח את יציאה 8082 (הגדרת ברירת המחדל) במעבד הבקשות כדי לנהל את הרכיב, אבל הנתב לא צריך גישה אליה.
- היציאות עם הקידומת "M" הן יציאות שמשמשות לניהול הרכיב, והן חייבות להיות פתוחות ברכיב כדי ששרת הניהול יוכל לגשת אליהן.
- הרכיבים הבאים דורשים גישה ליציאה 8080 בשרת הניהול: נתב, מעבד בקשות, ממשק משתמש, Postgres ו-Qpid.
- מעבד הבקשות צריך לפתוח את יציאה 4528 כיציאת הניהול שלו. אם יש לכם כמה מעבדי בקשות, כולם צריכים להיות מסוגלים לגשת זה לזה דרך יציאה 4528 (מסומנת בחץ הלולאה בתרשים שלמעלה ליציאה 4528 במעבד הבקשות). אם יש לכם כמה מרכזי נתונים, היציאה צריכה להיות נגישה מכל מעבדי הבקשות בכל מרכזי הנתונים.
- לא חובה, אבל אפשר לפתוח את יציאה 4527 בנתב כדי לאפשר גישה לכל מעבד בקשות. אחרת, יכול להיות שיופיעו הודעות שגיאה בקובצי היומן של מעבד הבקשות.
- הנתב צריך לפתוח את יציאה 4527 כיציאת הניהול שלו. אם יש לכם כמה נתבים, כולם צריכים להיות מסוגלים לגשת זה לזה דרך יציאה 4527 (מסומנת בחץ הלולאה בתרשים שלמעלה ליציאה 4527 בנתב).
- כדי לתמוך בלחצן Send בכלי המעקב, ממשק המשתמש של Edge צריך גישה לנתב ביציאות שנחשפות על ידי שרתי proxy ל-API.
- שרת הניהול צריך גישה ליציאת JMX בצומתי Cassandra.
- אפשר להגדיר את הגישה ליציאות JMX כך שתידרש הזנה של שם משתמש וסיסמה. מידע נוסף זמין במאמר איך עוקבים אחרי השימוש.
- אפשר גם להגדיר גישת TLS/SSL לחיבורים מסוימים, שיכולים להשתמש ביציאות שונות. מידע נוסף זמין במאמר TLS/SSL.
- אם מגדירים שני צומתי Postgres לשימוש בשכפול של מאסטר-המתנה, צריך לפתוח את יציאה 22 בכל צומת לגישת SSH. אפשר לפתוח יציאות בצמתים ספציפיים כדי לאפשר גישת SSH.
- אפשר להגדיר את שרת הניהול ואת ממשק המשתמש של Edge כך שישלחו אימיילים דרך שרת SMTP חיצוני. אם כן, צריך לוודא שלשרת הניהול ולממשק המשתמש יש גישה ליציאה הנדרשת בשרת ה-SMTP. ב-SMTP ללא TLS, מספר היציאה הוא בדרך כלל 25. ב-SMTP עם TLS, בדרך כלל מדובר ב-465, אבל כדאי לבדוק עם ספק ה-SMTP.
בטבלה הבאה מוצגות היציאות שצריך לפתוח בחומות האש, לפי רכיב Edge:
|
רכיב |
יציאה |
תיאור |
|---|---|---|
|
יציאות HTTP רגילות |
80, 443 |
HTTP וכל יציאה אחרת שמשמשת למארחים וירטואליים |
|
שרת ניהול |
8080 |
יציאה לקריאות ל-API לניהול של Edge. הרכיבים הבאים צריכים גישה ליציאה 8080 בשרת הניהול: נתב, מעבד בקשות, ממשק משתמש, Postgres ו-Qpid. |
|
1099 |
יציאת JMX |
|
|
4526 |
למטמון מבוזר ולקריאות ניהול |
|
|
ממשק משתמש לניהול |
9000 |
יציאה לגישה של הדפדפן לממשק המשתמש של הניהול |
|
מעבד בקשות |
8998 |
יציאת מעבד הבקשות לתקשורת מהנתב |
|
8082 |
יציאת הניהול שמוגדרת כברירת מחדל למעבד הבקשות. היא צריכה להיות פתוחה ברכיב כדי ששרת הניהול יוכל לגשת אליה.
אם מגדירים TLS/SSL בין הנתב למעבד הבקשות, הנתב משתמש בו כדי לבצע בדיקות תקינות במעבד הבקשות.
|
|
|
1101 |
יציאת JMX |
|
|
4528 |
לשיחות ניהול ומטמון מבוזר בין מעבדי בקשות, ולתקשורת מהנתב |
|
|
נתב |
8081 |
יציאת הניהול שמוגדרת כברירת מחדל לנתב, שצריכה להיות פתוחה ברכיב כדי ששרת הניהול יוכל לגשת אליה. |
|
4527 |
למטמון מבוזר ולקריאות ניהול |
|
|
15999 |
יציאה לבדיקת תקינות. מאזן העומסים משתמש ביציאה הזו כדי לקבוע אם הנתב זמין. כדי לקבל את הסטטוס של נתב, מאזן העומסים שולח בקשה ליציאה 15999 בנתב: > curl -v http://<routerIP>:15999/v1/servers/self/reachable אם הנתב זמין, הבקשה מחזירה את הערך HTTP 200. |
|
|
59001 |
היציאה שמשמשת לבדיקת ההתקנה של Edge באמצעות הכלי apigee-validate. כדי להשתמש בכלי הזה, צריך גישה ליציאה 59001 בנתב. מידע נוסף על יציאה 59001 זמין בקטע בדיקת ההתקנה. |
|
|
ZooKeeper |
2181 |
משמש רכיבים אחרים כמו שרת הניהול, הנתב, מעבד הבקשות וכו' |
|
2888, 3888 |
משמש באופן פנימי את ZooKeeper לתקשורת באשכול ZooKeeper (שנקרא ZooKeeper ensemble) |
|
|
Cassandra |
7000, 9042, 9160 |
יציאות Apache Cassandra לתקשורת בין צומתי Cassandra ולגישה על ידי רכיבי Edge אחרים. |
|
7199 |
יציאת JMX. חייב להיות פתוח לגישה על ידי שרת הניהול. |
|
|
Qpid |
5672 |
משמש לתקשורת מהנתב וממעבד הבקשות לשרת Qpid |
|
8083 |
יציאת הניהול שמוגדרת כברירת מחדל בשרת Qpid. היא צריכה להיות פתוחה ברכיב כדי ששרת הניהול יוכל לגשת אליה. |
|
|
1102 |
יציאת JMX |
|
|
4529 |
למטמון מבוזר ולקריאות ניהול |
|
|
Postgres |
5432 |
משמש לתקשורת בין Qpid/Management Server ל-Postgres |
|
8084 |
יציאת הניהול שמוגדרת כברירת מחדל בשרת Postgres. היא צריכה להיות פתוחה ברכיב כדי ששרת הניהול יוכל לגשת אליה. |
|
|
1103 |
יציאת JMX |
|
|
4530 |
למטמון מבוזר ולקריאות ניהול |
|
|
22 |
אם מגדירים שני צומתי Postgres לשימוש בשכפול של מאסטר-המתנה, צריך לפתוח את יציאה 22 בכל צומת לגישת SSH. |
|
|
LDAP |
10389 |
OpenLDAP |
|
SmartDocs |
59002 |
היציאה בנתב Edge שאליה נשלחות בקשות לדפי SmartDocs. |
בטבלה הבאה מוצגות אותן יציאות, לפי סדר מספרי, עם רכיבי המקור והיעד:
|
מספר יציאה |
מטרה |
רכיב המקור |
רכיב היעד |
|---|---|---|---|
|
<virtual host port#> |
HTTP וכל יציאה אחרת שמשמשת לתנועה של קריאות ל-API של מארח וירטואלי. יציאות 80 ו-443 הן הנפוצות ביותר. נתב ההודעות יכול לסיים חיבורי TLS/SSL. |
לקוח חיצוני (או מאזן עומסים) |
מאזין בנתב ההודעות |
|
1099 עד 1103 |
ניהול JMX |
לקוח JMX |
שרת ניהול (1099) מעבד בקשות (1101) שרת Qpid (1102) שרת Postgres (1103) |
|
2181 |
תקשורת בין לקוחות של Zookeeper |
שרת ניהול נתב מעבד בקשות שרת Qpid שרת Postgres |
מטפל בגן חיות |
|
2888 ו-3888 |
ניהול צומתי ביניים של ZooKeeper |
מטפל בגן חיות |
מטפל בגן חיות |
|
4526 |
יציאת ניהול RPC |
שרת ניהול |
שרת ניהול |
| 4527 | יציאת ניהול RPC לקריאות ניהול ומטמון מבוזר, ולתקשורת בין נתבים |
שרת ניהול נתב |
נתב |
|
4528 |
לקריאות של מטמון מבוזר בין מעבדי בקשות, ולתקשורת מהנתב |
שרת ניהול נתב מעבד בקשות |
מעבד בקשות |
| 4529 | יציאת ניהול RPC למטמון מבוזר וקריאות ניהול | שרת ניהול | שרת Qpid |
| 4530 | יציאת ניהול RPC למטמון מבוזר וקריאות ניהול | שרת ניהול | שרת Postgres |
|
5432 |
לקוח Postgres |
שרת Qpid |
Postgres |
|
5672 |
משמש לשליחת ניתוח נתונים מהנתב וממעבד הבקשות ל-Qpid |
נתב מעבד בקשות |
שרת Qpid |
|
7000 |
תקשורת בין צמתים של Cassandra |
Cassandra |
צומת Cassandra אחר |
|
7199 |
ניהול JMX. Management Server צריך לפתוח את הגישה לצומת Cassandra. |
לקוח JMX |
Cassandra |
|
8080 |
יציאת Management API |
לקוחות Management API |
שרת ניהול |
|
8081 עד 8084 |
יציאות של ממשקי API של רכיבים, שמשמשות לשליחת בקשות API ישירות לרכיבים ספציפיים. כל רכיב פותח יציאה אחרת. היציאה המדויקת שבה נעשה שימוש תלויה בהגדרות, אבל היא חייבת להיות פתוחה ברכיב כדי ששרת הניהול יוכל לגשת אליה. |
לקוחות Management API |
נתב (8081) מעבד בקשות (8082) שרת Qpid (8083) שרת Postgres (8084) |
|
8998 |
תקשורת בין הנתב למעבד הבקשות |
נתב |
מעבד בקשות |
|
9000 |
יציאת ברירת המחדל של ממשק המשתמש לניהול Edge |
דפדפן |
שרת ממשק המשתמש לניהול |
|
9042 |
תעבורה מקורית של CQL |
נתב מעבד בקשות שרת ניהול |
Cassandra |
|
9160 |
לקוח Cassandra Thrift |
נתב מעבד בקשות שרת ניהול |
Cassandra |
|
10389 |
יציאת LDAP |
שרת ניהול |
OpenLDAP |
| 15999 |
יציאה לבדיקת תקינות. מאזן העומסים משתמש ביציאה הזו כדי לקבוע אם הנתב זמין. |
מאזן עומסים | נתב |
| 59001 | יציאה שמשמשת את הכלי apigee-validate כדי לבדוק את ההתקנה של Edge | apigee-validate | נתב |
|
59002 |
היציאה של הנתב שאליה נשלחות בקשות לדפי SmartDocs |
SmartDocs |
נתב |
מעבד הבקשות משאיר מאגר חיבורים ייעודי פתוח ל-Cassandra, שמוגדר כך שלעולם לא יסתיים הזמן הקצוב לתפוגה. כשיש חומת אש בין מעבד הבקשות לבין שרת Cassandra, יכול להיות שחומת האש תגרום לזמן הקצוב לתפוגה של החיבור. עם זאת, מעבד הבקשות לא נועד ליצור מחדש חיבורים ל-Cassandra.
כדי למנוע את המצב הזה, מומלץ ששרת Cassandra, מעבד הבקשות והנתבים יהיו באותה רשת משנה, כך שחומת האש לא תהיה מעורבת בפריסה של הרכיבים האלה.
אם יש חומת אש בין הנתב למעבדי הבקשות, ומוגדר בה זמן קצוב לתפוגה של TCP במצב חוסר פעילות, מומלץ:
- מגדירים את net.ipv4.tcp_keepalive_time = 1800 בהגדרות sysctl במערכת ההפעלה Linux, כאשר הערך 1800 צריך להיות נמוך יותר מזמן הקצוב לתפוגה של TCP במצב חוסר פעילות בחומת האש. ההגדרה הזו אמורה לשמור על החיבור במצב פעיל כדי שחומת האש לא תנתק אותו.
- בכל מעבדי הבקשות, עורכים את /<inst_root>/apigee/customer/application/message-processor.properties כדי להוסיף את המאפיין הבא. אם הקובץ לא קיים, יוצרים אותו.
conf_system_cassandra.maxconnecttimeinmillis=-1 - מפעילים מחדש את מעבד הבקשות:
> /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart - בכל הנתבים, עורכים את /<inst_root>/apigee/customer/application/router.properties כדי להוסיף את המאפיין הבא. אם הקובץ לא קיים, יוצרים אותו.
conf_system_cassandra.maxconnecttimeinmillis=-1 - מפעילים מחדש את הנתב:
> /opt/apigee/apigee-service/bin/apigee-service edge-router restart
אם מתקינים את ההגדרה של אשכול עם 12 מארחים ושני מרכזי נתונים, צריך לוודא שהצמתים בשני מרכזי הנתונים יכולים לתקשר דרך היציאות שמוצגות בהמשך:

דרישות היציאות של API BaaS
אם בוחרים להתקין את API BaaS, מוסיפים את הרכיבים API BaaS Stack ו-API BaaS Portal. הרכיבים האלה משתמשים ביציאות שמוצגות באיור הבא:

הערות לגבי התרשים:
- פורטל ה-API BaaS אף פעם לא שולח בקשות ישירות לצומת BaaS Stack. כשמפתח נכנס לפורטל, אפליקציית הפורטל יורדת לדפדפן. אפליקציית Portal שפועלת בדפדפן שולחת בקשות לצמתים של BaaS Stack.
- בהתקנה של API BaaS בסביבת ייצור, משתמשים במאזן עומסים בין הצומת של API BaaS Portal לבין הצמתים של API BaaS Stack. כשמגדירים את הפורטל וכשמבצעים קריאות ל-BaaS API, מציינים את כתובת ה-IP או את שם ה-DNS של מאזן העומסים, ולא של צומתי ה-Stack.
- כל הצמתים של Stack צריכים לפתוח את יציאה 2551 כדי לאפשר גישה מכל הצמתים האחרים של Stack (מסומן על ידי החץ המעגלי בתרשים שלמעלה ליציאה 2551 בצמתים של Stack). אם יש לכם כמה מרכזי נתונים, היציאה צריכה להיות נגישה מכל הצמתים של Stack בכל מרכזי הנתונים.
- צריך להגדיר את כל הצמתים של Baas Stack כך שישלחו אימיילים דרך שרת SMTP חיצוני. ב-SMTP ללא TLS, מספר היציאה הוא בדרך כלל 25. ב-SMTP עם TLS, בדרך כלל מדובר ביציאה 465, אבל כדאי לבדוק את זה עם ספק ה-SMTP.
- אפשר להקצות את צומתי Cassandra ל-API BaaS או לשתף אותם עם Edge.
בטבלה הבאה מוצגות היציאות שצריך לפתוח בחומות האש כברירת מחדל, לפי רכיב:
|
רכיב |
יציאה |
תיאור |
|---|---|---|
|
API BaaS Portal |
9000 |
יציאה לממשק המשתמש של API BaaS |
|
API BaaS Stack |
8080 |
היציאה שבה מתקבלות בקשות ה-API |
| 2551 |
יציאה לתקשורת בין כל הצמתים של Stack. חייבת להיות נגישה לכל שאר צומתי Stack במרכז הנתונים. אם יש לכם כמה מרכזי נתונים, היציאה צריכה להיות נגישה מכל הצמתים של Stack בכל מרכזי הנתונים. |
|
|
ElasticSearch |
9,200 עד 9,400 |
לתקשורת עם API BaaS Stack ולתקשורת בין צומתי ElasticSearch |
רישוי
לכל התקנה של Edge נדרש קובץ רישיון ייחודי שמקבלים מ-Apigee. במהלך ההתקנה של שרת הניהול, תצטרכו לספק את הנתיב לקובץ הרישיון, לדוגמה: /tmp/license.txt.
מנהל ההתקנה מעתיק את קובץ הרישיון אל /<inst_root>/apigee/customer/conf/license.txt.
אם קובץ הרישיון תקין, שרת הניהול מאמת את התפוגה ואת מספר מעבדי הבקשות (MP) המותרים. אם פג התוקף של אחת מהגדרות הרישיון, אפשר למצוא את היומנים במיקום הבא: /<inst_root>/apigee/var/log/edge-management-server/logs. במקרה כזה, אתם יכולים לפנות לתמיכה של Apigee כדי לקבל פרטים על ההעברה.
אם עדיין אין לכם רישיון, אתם יכולים לפנות למחלקת המכירות כאן.