הצורך לנהל את חומת האש הוא מעבר למארחים הווירטואליים. גם חומות האש של מכונות וירטואליות וגם חומות אש פיזיים של מארחים חייבות לאפשר תעבורת נתונים ליציאות שהרכיבים נדרשים כדי לתקשר זה עם זה.
דיאגרמות יציאות
בתמונות הבאות אפשר לראות את דרישות היציאות של מרכז נתונים יחיד וגם של כמה מרכזי נתונים:
מרכז נתונים יחיד
בתמונה הבאה מוצגות הדרישות ליציאה לכל רכיב 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 | חיבורים מ-IdP חיצוניים, שרת הניהול ודפדפנים לצורך אימות. |
קסנדרה | 7000, 9042, 9160 | יציאות Apache Cassandra לתקשורת בין צומתי Cassandra ולגישה לרכיבי Edge אחרים. |
7199 | יציאת JMX. חייב להיות פתוח לגישה של שרת הניהול. | |
LDAP | 10389 | OpenLDAP |
שרת ניהול | 1099 | יציאת JMX |
4526 | יציאה עבור מטמון מבוזר ושיחות ניהול. ניתן להגדיר את היציאה הזו. | |
5636 | התראות לגבי יציאה למונטיזציה. | |
8080 | יציאה לקריאות ל-Edge Management API. לרכיבים האלה נדרשת גישה ליציאה 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 לשימוש בשכפול של שרת המתנה, צריך לפתוח את יציאה 22 בכל צומת כדי לאפשר גישה ל-SSH. |
1103 | יציאת JMX | |
4530 | עבור שיחות ניהול ומטמון מבוזרות | |
5432 | משמש לתקשורת מ-Qpid/Management Server ל-Postgres | |
8084 | יציאת הניהול המוגדרת כברירת מחדל בשרת Postgres; חייבת להיות פתוחה ברכיב כדי לאפשר גישה של שרת הניהול. | |
QPID | 1102 | יציאת JMX |
4529 | עבור שיחות ניהול ומטמון מבוזרות | |
5672 |
משמש גם לתקשורת בין שרת ה-Qpid לרכיבי המתווך באותו צומת. בטופולוגיות עם צמתים מרובים ב-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 | משמש באופן פנימי על ידי NaturalKeeper לצורך תקשורת באשכול גן החיות (ZooKeeper) |
בטבלה הבאה מוצגות אותן יציאות, רשומות במספרים, עם רכיבי המקור והיעד:
מספר יציאה | מטרה | רכיב מקור | רכיב יעד |
---|---|---|---|
virtual_host_port | HTTP בנוסף לכל יציאות אחרות שבהן אתה משתמש לתנועת קריאות ל-API של מארח וירטואלי. יציאות 80 ו-443 הן הנפוצות ביותר. נתב ההודעות יכול לסיים חיבורי TLS/SSL. | לקוח חיצוני (או מאזן עומסים) | האזנה בנתב ההודעות |
1099 עד 1103 | ניהול JMX | לקוח JMX | Management Server (1099) Messageprocessor (1101) Qpid Server (1102) Postgres Server (1103) |
2181 | תקשורת עם לקוח של שמוצגים בגן החיות | שרת ניהול נתב מעבד הודעות שרת 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 |
יציאות של Component API, המשמשות לשליחת בקשות API ישירות לרכיבים נפרדים. כל רכיב פותח יציאה אחרת. היציאה המדויקת שבה נעשה שימוש תלויה בהגדרה, אך חייבת להיות פתוחה ברכיב כדי לאפשר גישה של שרת הניהול |
לקוחות של ממשק API לניהול | נתב (8081) מעבד הודעות (8082) Qpid Server (8083) Postgres Server (8084) |
8443 | תקשורת בין הנתב למעבד ההודעות כש-TLS מופעל | נתב | מעבד בקשות |
8998 | התקשורת בין הנתב למעבד ההודעות | נתב | מעבד בקשות |
9000 | יציאת ברירת המחדל של ממשק המשתמש לניהול Edge | דפדפן | שרת ניהול ממשק המשתמש |
9042 | העברה מקומית של CQL | נתב מעבד הודעות שרת ניהול |
קסנדרה |
9099 | אימות IDP חיצוני | IDP, דפדפן ושרת ניהול | כניסה יחידה (SSO) ב-Apigee |
9160 | לקוח יקר ל-Kassandra | נתב מעבד הודעות שרת ניהול |
קסנדרה |
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