הצורך בניהול חומת האש לא מוגבל רק למארחים הווירטואליים. גם חומות האש של המארחים הווירטואליים וגם חומות האש של המארחים הפיזיים צריכות לאפשר תעבורת נתונים ביציאות שנדרשות לרכיבים כדי לתקשר ביניהם.
תרשימי יציאות
בתמונות הבאות מוצגות דרישות היציאות גם להגדרה של מרכז נתונים יחיד וגם להגדרה של כמה מרכזי נתונים:
מרכז נתונים יחיד
בתמונה הבאה מוצגות דרישות היציאות לכל רכיב Edge בהגדרה אחת של מרכז נתונים:
הערות לגבי התרשים הזה:
- יציאות עם הקידומת 'M' הן יציאות שמשמשות לניהול הרכיב, וחובה שהן יהיו פתוחות ברכיב כדי ששרת הניהול יוכל לגשת אליהן.
- ממשק המשתמש של Edge דורש גישה לנתב, ביציאות שנחשפו על ידי שרתי proxy של API, כדי לתמוך בלחצן Send בכלי המעקב.
- אפשר להגדיר גישה ליציאות 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 וגם כל יציאה אחרת שבה אתם משתמשים למארחים וירטואליים |
Apigee SSO | 9099 | חיבורים מספק זהויות חיצוני, משרת הניהול ומדפדפנים לצורך אימות. |
Cassandra | 7000, 9042 | יציאות של Apache Cassandra לתקשורת בין צמתים של Cassandra ולגישה של רכיבי Edge אחרים. |
7199 | יציאת JMX. צריכה להיות פתוחה לגישה של שרת הניהול. | |
LDAP | 10389 | OpenLDAP |
שרת ניהול | 1099 | יציאת JMX |
4526 | יציאה לשיחות ניהול ומטמון מבוזר. אפשר להגדיר את השקע הזה. | |
5636 | יציאה לקבלת התראות על התחייבויות למונטיזציה. | |
8080 | יציאה לקריאות ל-API לניהול Edge. לרכיבים הבאים נדרשת גישה ליציאה 8080 בשרת הניהול: נתב, מעבד הודעות, ממשק משתמש, Postgres, Apigee SSO (אם מופעל) ו-Qpid. | |
ממשק משתמש לניהול | 9000 | יציאה לגישה של דפדפן לממשק המשתמש לניהול |
מעבד בקשות | 1101 | יציאת JMX |
4528 | לשמירת מטמון מבוזרת ולקריאות ניהול בין מעבדי ההודעות, ולתקשורת מהנתב ומשרת הניהול.
מעבד הודעות חייב לפתוח את היציאה 4528 כיציאת הניהול שלו. אם יש לכם כמה מעבדי הודעות, כל אחד מהם צריך להיות מסוגל לגשת לשאר המעבדים דרך יציאה 4528 (החץ של הלולאה בתרשים שלמעלה מציין את יציאה 4528 במעבד ההודעות). אם יש לכם כמה מרכזי נתונים, היציאה צריכה להיות נגישה מכל מעבדי ההודעות בכל מרכזי הנתונים. |
|
8082 |
יציאת ניהול שמוגדרת כברירת מחדל לעיבוד הודעות, וצריך שהיא תהיה פתוחה ברכיב כדי ששרת הניהול יוכל לגשת אליה. אם מגדירים TLS/SSL בין הנתב לבין מעבד ההודעות, הנתב משתמש בו כדי לבצע בדיקות תקינות של מעבד ההודעות. יציאה 8082 במעבד ההודעות צריכה להיות פתוחה לגישה של הנתב רק כשמגדירים TLS/SSL בין הנתב לבין מעבד ההודעות. אם לא מגדירים TLS/SSL בין הנתב לבין מעבד ההודעות, יציאת 8082 עדיין צריכה להיות פתוחה במעבד ההודעות כדי לנהל את הרכיב, אבל הנתב לא צריך גישה אליה. |
|
8443 | כש-TLS מופעל בין הנתב לבין מעבד ההודעות, צריך לפתוח את היציאה 8443 במעבד ההודעות כדי שהנתב יוכל לגשת אליה. | |
8998 | יציאת מעבד הבקשות לתקשורת מהנתב | |
Postgres | 22 | אם מגדירים שני צמתים של Postgres לשימוש ברפליקציה של master-standby, צריך לפתוח את יציאה 22 בכל צומת כדי לאפשר גישה ל-SSH. |
1103 | יציאת JMX | |
4530 | לשיחות ניהול ומטמון מבוזרות | |
5432 | משמש לתקשורת מ-Qpid/Management Server אל Postgres | |
8084 | יציאת ניהול שמוגדרת כברירת מחדל בשרת Postgres. היא צריכה להיות פתוחה ברכיב כדי ששרת הניהול יוכל לגשת אליה. | |
Qpid | 1102 | יציאת JMX |
4529 | לשיחות ניהול ומטמון מבוזרות | |
5672 |
משמש גם לתקשורת בין שרת Qpid לבין רכיבי הברוקר באותו צומת. בתצורות עם כמה צמתים של Qpid, השרת צריך להיות מסוגל להתחבר לכל הברוקרים ביציאה 5672. |
|
8083 | יציאת ניהול שמוגדרת כברירת מחדל בשרת Qpid, וצריך שהיא תהיה פתוחה ברכיב כדי ששרת הניהול יוכל לגשת אליה. | |
8090 | יציאת ברירת המחדל של ה-Broker של Qpid. היא צריכה להיות פתוחה כדי לגשת למסוף הניהול או לממשקי ה-API לניהול של ה-Broker למטרות מעקב. | |
נתב | 4527 | לשיחות ניהול ומטמון מבוזרות.
הנתב חייב לפתוח את יציאה 4527 כיציאת הניהול שלו. אם יש לכם כמה נתבים, כל אחד מהם צריך להיות מסוגל לגשת לשאר הנתבים דרך יציאה 4527 (החץ של הלולאה בתרשים שלמעלה מציין את יציאה 4527 בנתב). לא חובה, אבל אפשר לפתוח את יציאה 4527 בנתב כדי לאפשר גישה לכל מעבד הודעות. אחרת, יכול להיות שתראו הודעות שגיאה בקובצי היומן של Message Processor. |
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 |
Zookeeper |
2888 ו-3888 | ניהול צמתים בינאריים ב-Zookeeper | Zookeeper | Zookeeper |
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 | צומת אחר של Cassandra |
7199 | ניהול JMX. צריך להיות פתוח לגישה בצומת 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 | תקשורת בין הנתב לבין מעבד הבקשות | נתב | מעבד בקשות |
9000 | יציאת ברירת המחדל של ממשק המשתמש לניהול Edge | דפדפן | שרת של ממשק משתמש לניהול |
9042 | העברה מקורית של CQL | נתב מעבד בקשות שרת ניהול |
Cassandra |
9099 | אימות IDP חיצוני | IDP, דפדפן ושרת ניהול | Apigee SSO |
10389 | יציאת LDAP | שרת ניהול | OpenLDAP |
15999 | יציאה לבדיקת תקינות. מאזן עומסים משתמש ביציאה הזו כדי לקבוע אם הנתב זמין. | מאזן עומסים | נתב |
59001 | היציאה שבה משתמשת הכלי apigee-validate כדי לבדוק את התקנת Edge |
apigee-validate | נתב |
59002 | יציאת הנתב שאליה נשלחות בקשות לדפי SmartDocs | SmartDocs | נתב |
מעבד ההודעות שומר מאגר קשר ייעודי פתוח ל-Cassandra, שמוגדר לעולם לא לפוג. כשחומת אש נמצאת בין Message Processor לבין שרת Cassandra, חומת האש יכולה להפעיל זמן קצוב לתפוגה של החיבור. עם זאת, מעבד ההודעות לא מיועד ליצירת חיבורים מחדש ל-Cassandra.
כדי למנוע מצב כזה, ב-Apigee ממליצים ששרת Cassandra, מעבד ההודעות והנתבים יהיו באותה תת-רשת, כדי שחומת אש לא תהיה מעורבת בפריסה של הרכיבים האלה.
אם יש חומת אש בין הנתב לבין מעבדי ההודעות, והוגדר לה זמן קצוב לתפוגה של TCP במצב חוסר פעילות, מומלץ לבצע את הפעולות הבאות:
- מגדירים את
net.ipv4.tcp_keepalive_time = 1800
בהגדרות sysctl במערכת ההפעלה Linux, כאשר הערך 1800 צריך להיות נמוך יותר מזמן הקצאת הזמן הקצוב לתפוגה (timeout) של 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