הצורך לנהל את חומת האש הוא לא רק למארחים הווירטואליים. חומות האש של המכונה הווירטואלית ושל המארח הפיזי צריכות לאפשר תעבורת נתונים ליציאות שנדרשות לרכיבים כדי לתקשר זה עם זה.
תרשימי יציאות
בתמונות הבאות מוצגות דרישות היציאות להגדרות של מרכז נתונים יחיד ושל כמה מרכזי נתונים:
מרכז נתונים אחד
בתמונה הבאה מוצגות דרישות היציאות לכל רכיב Edge בתצורה של מרכז נתונים יחיד:

הערות לגבי התרשים:
- היציאות עם הקידומת "M" הן יציאות שמשמשות לניהול הרכיב, והן חייבות להיות פתוחות ברכיב כדי ששרת הניהול יוכל לגשת אליהן.
- כדי לתמוך בלחצן Send בכלי המעקב, ממשק המשתמש של Edge צריך גישה לנתב ביציאות שנחשפות על ידי שרתי proxy ל-API.
- אפשר להגדיר את הגישה ליציאות JMX כך שתידרש הזנה של שם משתמש וסיסמה. מידע נוסף זמין במאמר איך עוקבים אחרי השימוש.
- אפשר גם להגדיר גישת TLS/SSL לחיבורים מסוימים, שיכולים להשתמש ביציאות שונות. מידע נוסף זמין במאמר בנושא TLS/SSL.
- אתם יכולים להגדיר את שרת הניהול ואת ממשק המשתמש של Edge כך שישלחו אימיילים דרך שרת SMTP חיצוני. אם כן, צריך לוודא שלשרת הניהול ולממשק המשתמש יש גישה ליציאה הנדרשת בשרת ה-SMTP (לא מוצג). ב-SMTP ללא TLS, מספר היציאה הוא בדרך כלל 25. ב-SMTP עם TLS, בדרך כלל מדובר ביציאה 465, אבל כדאי לבדוק את זה עם ספק ה-SMTP.
מרכזי נתונים מרובים
אם מתקינים את התצורה של אשכול עם 12 צמתים ושני מרכזי נתונים, צריך לוודא שהצמתים בשני מרכזי הנתונים יכולים לתקשר דרך היציאות שמוצגות בהמשך:

חשוב לזכור:
- כל שרתי הניהול צריכים להיות מסוגלים לגשת לכל צומתי Cassandra בכל מרכזי הנתונים האחרים.
- כל מעבדי ההודעות בכל מרכזי הנתונים צריכים להיות מסוגלים לגשת זה לזה דרך יציאה 4528.
- לשרת הניהול צריכה להיות גישה לכל מעבדי הבקשות דרך יציאה 8082.
- כל שרתי הניהול וכל צומתי Qpid צריכים להיות מסוגלים לגשת ל-Postgres בכל מרכזי הנתונים האחרים.
- מטעמי אבטחה, מלבד היציאות שמוצגות למעלה ויציאות אחרות שנדרשות לפי דרישות הרשת שלכם, לא אמורות להיות יציאות פתוחות אחרות בין מרכזי הנתונים.
כברירת מחדל, התקשורת בין הרכיבים לא מוצפנת. כדי להוסיף הצפנה, אפשר להתקין את Apigee mTLS. מידע נוסף זמין במאמר מבוא ל-Apigee mTLS.
פרטי בקשת הניוד
בטבלה הבאה מתוארות היציאות שצריך לפתוח בחומות האש, לפי רכיב Edge:
| רכיב | יציאה | תיאור |
|---|---|---|
| יציאות HTTP רגילות | 80, 443 | HTTP וכל יציאה אחרת שמשמשת למארחים וירטואליים |
| מודול SSO ב-Apigee | 9099 | חיבורים מספקי זהויות חיצוניים, משרת הניהול ומדפדפנים לצורך אימות. |
| Cassandra | 7000, 9042, 9160 | יציאות Apache Cassandra לתקשורת בין צומתי Cassandra ולגישה על ידי רכיבי Edge אחרים. |
| 7199 | יציאת JMX. חייב להיות פתוח לגישה על ידי שרת הניהול. | |
| LDAP | 10389 | OpenLDAP |
| שרת ניהול | 1099 | יציאת JMX |
| 4526 | יציאה למטמון מבוזר ולקריאות ניהול. אפשר להגדיר את היציאה הזו. | |
| 5636 | יציאה להתראות על התחייבות למונטיזציה. | |
| 8080 | יציאה לקריאות ל-API לניהול של Edge. הרכיבים האלה דורשים גישה ליציאה 8080 בשרת הניהול: נתב, מעבד בקשות, ממשק משתמש, Postgres, מודול SSO ב-Apigee (אם הוא מופעל) ו-Qpid. | |
| ממשק משתמש לניהול | 9000 | יציאה לגישה של הדפדפן לממשק המשתמש של הניהול |
| מעבד בקשות | 1101 | יציאת JMX |
| 4528 | למטמון מבוזר ולקריאות ניהול בין מעבדי בקשות, ולתקשורת מהנתב ומשרת הניהול.
מעבד הבקשות צריך לפתוח את יציאה 4528 כיציאת הניהול שלו. אם יש לכם כמה מעבדי בקשות, כולם צריכים להיות מסוגלים לגשת זה לזה דרך יציאה 4528 (מסומנת בחץ הלולאה בתרשים שלמעלה ליציאה 4528 במעבד הבקשות). אם יש לכם כמה מרכזי נתונים, היציאה צריכה להיות נגישה מכל מעבדי הבקשות בכל מרכזי הנתונים. |
|
| 8082 |
יציאת הניהול שמוגדרת כברירת מחדל למעבד הבקשות. היא צריכה להיות פתוחה ברכיב כדי ששרת הניהול יוכל לגשת אליה. אם מגדירים TLS/SSL בין הנתב למעבד הבקשות, הנתב משתמש בו כדי לבצע בדיקות תקינות במעבד הבקשות. יציאה 8082 במעבד הבקשות צריכה להיות פתוחה לגישה על ידי הנתב רק כשמגדירים TLS/SSL בין הנתב לבין מעבד הבקשות. אם לא מגדירים TLS/SSL בין הנתב למעבד הבקשות, עדיין צריך לפתוח את יציאה 8082 (הגדרת ברירת המחדל) במעבד הבקשות כדי לנהל את הרכיב, אבל הנתב לא צריך גישה אליה. |
|
| 8443 | כשהפרוטוקול TLS מופעל בין הנתב למעבד הבקשות, צריך לפתוח את יציאה 8443 במעבד הבקשות כדי שהנתב יוכל לגשת אליה. | |
| 8998 | יציאת מעבד הבקשות לתקשורת מהנתב | |
| Postgres | 22 | אם מגדירים שני צומתי Postgres לשימוש ברפליקציה של מאסטר-סטנדביי, צריך לפתוח את יציאה 22 בכל צומת לגישת SSH. |
| 1103 | יציאת JMX | |
| 4530 | למטמון מבוזר ולקריאות ניהול | |
| 5432 | משמש לתקשורת בין Qpid/Management Server ל-Postgres | |
| 8084 | יציאת הניהול שמוגדרת כברירת מחדל בשרת Postgres. היא צריכה להיות פתוחה ברכיב כדי ששרת הניהול יוכל לגשת אליה. | |
| Qpid | 1102 | יציאת JMX |
| 4529 | למטמון מבוזר ולקריאות ניהול | |
| 5672 |
משמש גם לתקשורת בין שרת Qpid לבין רכיבי broker באותו צומת. בטופולוגיות עם כמה צומתי Qpid, השרת חייב להיות מסוגל להתחבר לכל הברוקרים ביציאה 5672. |
|
| 8083 | יציאת הניהול שמוגדרת כברירת מחדל בשרת Qpid. היא צריכה להיות פתוחה ברכיב כדי ששרת הניהול יוכל לגשת אליה. | |
| נתב | 4527 | למטמון מבוזר ולקריאות ניהול.
הנתב צריך לפתוח את יציאה 4527 כיציאת הניהול שלו. אם יש לכם כמה נתבים, כולם צריכים להיות מסוגלים לגשת זה לזה דרך יציאה 4527 (מסומנת בחץ הלולאה בתרשים שלמעלה ליציאה 4527 בנתב). לא חובה, אבל אפשר לפתוח את יציאה 4527 בנתב כדי לאפשר גישה לכל מעבד בקשות. אחרת, יכול להיות שיופיעו הודעות שגיאה בקובצי היומן של מעבד הבקשות. |
| 8081 | יציאת הניהול שמוגדרת כברירת מחדל לנתב, שצריכה להיות פתוחה ברכיב כדי ששרת הניהול יוכל לגשת אליה. | |
| 15999 |
יציאה לבדיקת תקינות. מאזן העומסים משתמש ביציאה הזו כדי לקבוע אם הנתב זמין. כדי לקבל את הסטטוס של נתב, מאזן העומסים שולח בקשה ליציאה 15999 בנתב: curl -v http://routerIP:15999/v1/servers/self/reachable אם הנתב זמין, הבקשה מחזירה את הערך HTTP 200. |
|
| 59001 | היציאה שמשמשת לבדיקת ההתקנה של Edge על ידי הכלי apigee-validate.
כדי להשתמש בכלי הזה, צריך גישה ליציאה 59001 בנתב. מידע נוסף על יציאה 59001 זמין בקטע בדיקת ההתקנה. |
|
| SmartDocs | 59002 | היציאה בנתב Edge שאליה נשלחות בקשות לדפי SmartDocs. |
| ZooKeeper | 2181 | משמש רכיבים אחרים כמו שרת הניהול, הנתב, מעבד הבקשות וכו' |
| 2888, 3888 | משמש באופן פנימי את ZooKeeper לתקשורת באשכול ZooKeeper (שנקרא ZooKeeper ensemble) |
בטבלה הבאה מוצגות אותן יציאות, לפי סדר מספרי, עם רכיבי המקור והיעד:
| מספר יציאה | מטרה | רכיב המקור | רכיב היעד |
|---|---|---|---|
| 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 |
| 5636 | מונטיזציה | רכיב JMS חיצוני | שרת ניהול |
| 5672 |
משמש גם לתקשורת בין שרת Qpid לבין רכיבי broker באותו צומת. בטופולוגיות עם כמה צומתי Qpid, השרת חייב להיות מסוגל להתחבר לכל הברוקרים ביציאה 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) |
| 8443 | תקשורת בין הנתב למעבד הבקשות כש-TLS מופעל | נתב | מעבד בקשות |
| 8998 | תקשורת בין הנתב למעבד הבקשות | נתב | מעבד בקשות |
| 9000 | יציאת ברירת המחדל של ממשק המשתמש לניהול Edge | דפדפן | שרת ממשק המשתמש לניהול |
| 9042 | תעבורה מקורית של CQL | נתב מעבד בקשות שרת ניהול |
Cassandra |
| 9099 | אימות באמצעות ספק זהויות חיצוני | ספק זהויות, דפדפן ושרת ניהול | מודול SSO ב-Apigee |
| 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 במצב חוסר פעילות של חומת האש. ההגדרה הזו אמורה לשמור על החיבור במצב פעיל כדי שחומת האש לא תנתק אותו. - בכל מעבדי הבקשות, עורכים את
/opt/apigee/customer/application/message-processor.propertiesכדי להוסיף את המאפיין הבא. אם הקובץ לא קיים, יוצרים אותו.conf_system_cassandra.maxconnecttimeinmillis=-1
- מפעילים מחדש את מעבד הבקשות:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- בכל הנתבים, עורכים את
/opt/apigee/customer/application/router.propertiesכדי להוסיף את המאפיין הבא. אם הקובץ לא קיים, יוצרים אותו.conf_system_cassandra.maxconnecttimeinmillis=-1
- מפעילים מחדש את הנתב:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart