הניהול של חומת האש לא קשור רק למארחים הווירטואליים. גם חומות האש של המכונה הווירטואלית (VM) וגם חומות האש הפיזיות של המארח חייבות לאפשר תעבורת נתונים ליציאות שהרכיבים נדרשים כדי לתקשר זה עם זה.
דיאגרמות יציאות
בתמונות הבאות מוצגות הדרישות לגבי יציאות גם למרכז נתונים יחיד וגם להגדרה של כמה מרכז נתונים:
מרכז נתונים יחיד
התמונה הבאה מציגה את דרישות היציאות לכל רכיב 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. למידע נוסף ראו את המאמר מבוא ל-mTLS של Apigee.
פרטי היציאה
הטבלה הבאה מתארת את היציאות שצריך לפתוח בחומות אש, לפי רכיב Edge:
רכיב | נמל | תיאור |
---|---|---|
יציאות HTTP סטנדרטיות | 80, 443 | HTTP בנוסף לכל היציאות האחרות שבהן משתמשים למארחים וירטואליים |
SSO ב-Apigee | 9099 | חיבורים מ-IdP חיצוניים, משרת הניהול ומדפדפנים לצורך אימות. |
קסנדרה | 7000, 9042, 9160 | יציאות Apache Cassandra לתקשורת בין צומתי Cassandra ולגישה באמצעות רכיבי Edge אחרים. |
7199 | יציאת JMX. חייב להיות פתוח לגישה של שרת הניהול. | |
LDAP | 10389 | OpenLDAP |
שרת ניהול | 1099 | יציאת JMX |
4526 | יציאה למטמון מבוזר ושיחות ניהול. ניתן להגדיר את היציאה הזו. | |
5636 | יציאה להתראות לגבי התחייבות להפעלת מונטיזציה. | |
8080 | יציאה לקריאות ל-Edge Management API. לרכיבים האלה נדרשת גישה ליציאה 8080 בשרת הניהול: נתב, מעבד הודעות, UI, Postgres, Apigee SSO (אם מופעל) ו-Qpid. | |
ממשק משתמש לניהול | 9,000 | יציאה לגישת הדפדפן לממשק המשתמש לניהול |
מעבד בקשות | 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 לרכיבי מתווך באותו צומת. בטופולוגיה עם מספר צמתים של Qpid, השרת צריך להיות מסוגל להתחבר לכל המתווכים ביציאה 5672. |
|
8083 | יציאת הניהול המוגדרת כברירת מחדל בשרת Qpid חייבת להיות פתוחה ברכיב כדי לאפשר גישה של שרת הניהול. | |
8090 | יציאת ברירת המחדל של Qpid's Broker; חייבת להיות פתוחה כדי לגשת למסוף הניהול של 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 | משמש באופן פנימי על ידי התאמות של התאמות שיבוצעו (IoKeeper) לאשכול). |
בטבלה הבאה מוצגות אותן היציאות, רשומות במספרים, עם רכיבי המקור והיעד:
מספר יציאה | מטרה | רכיב מקור | רכיב יעד |
---|---|---|---|
virtual_host_port | HTTP בתוספת כל יציאות אחרות שבהן אתה משתמש לתנועת קריאות לממשק ה-API של המארח הווירטואלי. היציאות 80 ו-443 הן הנפוצות ביותר. נתב ההודעות יכול לסיים חיבורי TLS/SSL. | לקוח חיצוני (או מאזן עומסים) | האזנה לנתב ההודעות |
1099 עד 1103 | ניהול JMX | לקוח JMX | Management Server (1099) Message processing (1101) Qpid Server (1102) Postgres Server (1103) |
2181 | תקשורת עם לקוחות שלzokeeper | שרת ניהול נתב מעבד הודעות שרת Qpid שרת Postgres |
שומרי גן חיות |
2888 ו-3888 | ניהול צמתים של גן חיות | שומרי גן חיות | שומרי גן חיות |
4526 | יציאה לניהול RPC | שרת ניהול | שרת ניהול |
4527 | יציאת ניהול RPC להפעלות מבוזרות של מטמון וניהול, ולתקשורת בין נתבים | נתב שרת ניהול |
נתב |
4528 | לקריאות מבוזרות של מטמון בין מעבדי הודעות ולתקשורת מהנתב | שרת ניהול נתב מעבד הודעות |
מעבד בקשות |
4529 | יציאת ניהול RPC לקריאות מבוזרות של מטמון וניהול | שרת ניהול | שרת Qpid |
4530 | יציאת ניהול RPC לקריאות מבוזרות של מטמון וניהול | שרת ניהול | שרת Postgres |
5432 | לקוח Postgres | שרת Qpid | Postgres |
5636 | מונטיזציה | רכיב JMS חיצוני | שרת ניהול |
5672 |
משמש גם לתקשורת בין שרת Qpid לרכיבי מתווך באותו צומת. בטופולוגיה עם מספר צמתים של Qpid, השרת צריך להיות מסוגל להתחבר לכל המתווכים ביציאה 5672. |
שרת Qpid | שרת Qpid |
7000 | תקשורת בין צמתים של Cassandra | קסנדרה | צומת נוסף של Cassandra |
7199 | ניהול JMX. חייב להיות פתוח לגישה של שרת הניהול בצומת Cassandra. | לקוח JMX | קסנדרה |
8080 | יציאת ממשק API לניהול | לקוחות של ממשק API לניהול | שרת ניהול |
8081 עד 8084 |
יציאות ממשק API של רכיבים, המשמשות לשליחת בקשות API ישירות לרכיבים נפרדים. כל רכיב פותח יציאה אחרת. היציאה המדויקת שבה נעשה שימוש תלויה בתצורה אבל חייבת להיות פתוחה ברכיב כדי לאפשר גישה של שרת הניהול |
לקוחות של ממשק API לניהול | נתב (8081) מעבד הודעות (8082) שרת Qpid (8083) שרת Postgres (8084) |
8090 | יציאת הניהול המוגדרת כברירת מחדל ל-Qpid's Broker, לצורך ניהול תורים ומעקב אחריהם. | לקוח דפדפן או API | Qpid Broker (apigee-qpidd) |
8443 | התקשורת בין הנתב ומעבד ההודעות כש-TLS מופעל | נתב | מעבד בקשות |
8998 | התקשורת בין הנתב למעבד ההודעות | נתב | מעבד בקשות |
9000 | יציאת ברירת המחדל של ממשק המשתמש לניהול Edge | דפדפן | שרת ניהול ממשק משתמש |
9042 | תעבורת נתונים מקומית של CQL | נתב מעבד הודעות שרת ניהול |
קסנדרה |
9099 | אימות IdP חיצוני | IDP, דפדפן ושרת ניהול | SSO ב-Apigee |
9160 | Cassandra thrift Client | נתב מעבד הודעות שרת ניהול |
קסנדרה |
10389 | יציאת LDAP | שרת ניהול | OpenLDAP |
15999 | יציאה לבדיקת תקינות. מאזן עומסים משתמש ביציאה הזו כדי לקבוע אם הנתב זמין. | מאזן עומסים | נתב |
59001 | היציאה שבה משתמש כלי השירות apigee-validate כדי לבדוק את התקנת Edge |
apigee-validate | נתב |
59002 | יציאת הנתב שאליה נשלחות בקשות הדפים של SmartDocs | SmartDocs | נתב |
מעבד הודעות משאיר מאגר חיבורים ייעודי פתוח ל-Cassandra, שמוגדר כך שלא יפוג לעולם. כשחומת אש נמצאת בין מעבד הודעות לשרת Cassandra, חומת האש יכולה לסיים את הזמן הקצוב לתפוגה של החיבור. עם זאת, מעבד ההודעות לא נועד לחדש את החיבורים אל Cassandra.
כדי למנוע מצב כזה, Apigee ממליץ ששרת 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