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

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

הערה:
- לכל שרתי הניהול צריכה להיות גישה לכל צמתי Cassandra בכל מרכזי הנתונים האחרים.
- כל מעבדי ההודעות בכל מרכזי הנתונים צריכים להיות מסוגלים לגשת זה לזה דרך יציאה 4528.
- לשרת הניהול צריכה להיות גישה לכל מעבדי ההודעות דרך יציאה 8082.
- לכל שרתי הניהול ולכל צמתי Qpid צריכה להיות גישה ל-Postgres בכל מרכזי הנתונים האחרים.
- מטעמי אבטחה, מלבד היציאות שמוצגות למעלה ויציאות אחרות שנדרשות לפי דרישות הרשת שלכם, לא אמורות להיות יציאות פתוחות אחרות בין מרכזי הנתונים.
כברירת מחדל, התקשורת בין הרכיבים לא מוצפנת. כדי להוסיף הצפנה, אפשר להתקין את Apigee mTLS. מידע נוסף זמין במאמר מבוא ל-Apigee mTLS.
פרטי בקשת הניוד
בטבלה הבאה מתוארות היציאות שצריך לפתוח בחומות האש, לפי רכיב Edge:
| רכיב | יציאה | תיאור |
|---|---|---|
| יציאות HTTP רגילות | 80, 443 | HTTP וכל יציאה אחרת שמשמשת למארחים וירטואליים |
| Cassandra | 7000, 9042 | יציאות Apache Cassandra לתקשורת בין צומתי Cassandra ולגישה על ידי רכיבי Edge אחרים. |
| 7199 | יציאת JMX. חייב להיות פתוח לגישה על ידי שרת הניהול. | |
| ממשק משתמש חדש של Edge | 3001 | יציאת ברירת המחדל לגישה של הדפדפן לממשק המשתמש החדש של Edge (edge-management-ui) |
| LDAP | 10389 | SymasLDAP |
| שרת ניהול | 1099 | יציאת JMX |
| 4526 | יציאה למטמון מבוזר ולקריאות ניהול. אפשר להגדיר את היציאה הזו. | |
| 5636 | יציאה להתראות על התחייבות למונטיזציה. | |
| 8080 | יציאה לקריאות ל-API לניהול של Edge. הרכיבים הבאים דורשים גישה ליציאה 8080 בשרת הניהול: Router, מעבד בקשות, New Edge UI, Postgres ו-Qpid. | |
| מעבד בקשות | 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. היא צריכה להיות פתוחה ברכיב כדי ששרת הניהול יוכל לגשת אליה. | |
| 8090 | יציאת ברירת המחדל של Broker של Qpid. היא צריכה להיות פתוחה כדי לגשת למסוף הניהול של Broker או לממשקי ה-API לניהול למטרות מעקב. | |
| נתב | 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 | מטפל בבעלי חיים | מטפל בגן חיות |
| 3001 | יציאת ברירת המחדל של ממשק המשתמש החדש של Edge | דפדפן | ממשק משתמש חדש של Edge (edge-management-ui) |
| 4526 | יציאת ניהול RPC | שרת ניהול | שרת ניהול |
| 4527 | יציאת ניהול RPC למטמון מבוזר ולשיחות ניהול, ולתקשורת בין נתבים | שרת ניהול נתב |
נתב |
| 4528 | לקריאות של מטמון מבוזר בין מעבדי בקשות, ולתקשורת מהנתב | שרת ניהול נתב מעבד בקשות |
מעבד בקשות |
| 4529 | יציאת ניהול RPC למטמון מבוזר וקריאות ניהול | שרת ניהול | שרת Qpid |
| 4530 | יציאת ניהול RPC למטמון מבוזר וקריאות ניהול | שרת ניהול | שרת Postgres |
| 5432 | לקוח Postgres | Qpid Server | Postgres |
| 5636 | מונטיזציה | רכיב JMS חיצוני | שרת ניהול |
| 5672 |
משמש גם לתקשורת בין שרת Qpid לבין רכיבי broker באותו צומת. בטופולוגיות עם כמה צומתי Qpid, השרת חייב להיות מסוגל להתחבר לכל הברוקרים ביציאה 5672. |
שרת Qpid | Qpid Server |
| 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) |
| 8090 | יציאת הניהול שמוגדרת כברירת מחדל ל-Broker של Qpid, לניהול ולמעקב אחרי תורים. | דפדפן או לקוח API | Qpid Broker (apigee-qpidd) |
| 8443 | תקשורת בין הנתב למעבד הבקשות כש-TLS מופעל | נתב | מעבד בקשות |
| 8998 | תקשורת בין הנתב למעבד הבקשות | נתב | מעבד בקשות |
| 9042 | תעבורה מקורית של CQL | נתב מעבד בקשות שרת ניהול |
Cassandra |
| 10389 | יציאת LDAP | שרת ניהול | SymasLDAP |
| 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