דרישות לגבי יציאות

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

תרשימי יציאות

בתמונות הבאות מוצגות דרישות היציאות להגדרות של מרכז נתונים יחיד ושל כמה מרכזי נתונים:

מרכז נתונים אחד

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

דרישות היציאות לכל רכיב Edge בהגדרת מרכז נתונים יחיד

הערות לגבי התרשים:

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

כמה מרכזי נתונים

אם מתקינים את ההגדרה המאגדת של 12 צמתים עם שני מרכזי נתונים, צריך לוודא שהצמתים בשני מרכזי הנתונים יכולים לתקשר דרך היציאות שמוצגות בהמשך:

דרישות הניוד לכל צומת בהגדרת אשכול של 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
  • מרכז נתונים יחיד: משמש לשליחת ניתוח נתונים מ-Router ומ-מעבד בקשות ל-Qpid.
  • כמה מרכזי נתונים: משמש לתקשורת בין צמתי Qpid במרכזי נתונים שונים.

משמש גם לתקשורת בין שרת 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
  • מרכז נתונים יחיד: משמש לשליחת ניתוח נתונים מ-Router ומ-מעבד בקשות ל-Qpid.
  • כמה מרכזי נתונים: משמש לתקשורת בין צמתי Qpid במרכזי נתונים שונים.

משמש גם לתקשורת בין שרת 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 במצב המתנה, ההמלצות שלנו הן:

  1. מגדירים את net.ipv4.tcp_keepalive_time = 1800 בהגדרות sysctl במערכת ההפעלה Linux, כאשר הערך 1800 צריך להיות נמוך יותר מזמן הקצוב לתפוגה של TCP במצב חוסר פעילות של חומת האש. ההגדרה הזו אמורה לשמור על החיבור במצב פעיל כדי שחומת האש לא תנתק אותו.
  2. בכל מעבדי ההודעות, עורכים את /opt/apigee/customer/application/message-processor.properties כדי להוסיף את המאפיין הבא. אם הקובץ לא קיים, יוצרים אותו.
    conf_system_cassandra.maxconnecttimeinmillis=-1
  3. מפעילים מחדש את מעבד הבקשות:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  4. בכל הנתבים, עורכים את /opt/apigee/customer/application/router.properties כדי להוסיף את המאפיין הבא. אם הקובץ לא קיים, יוצרים אותו.
    conf_system_cassandra.maxconnecttimeinmillis=-1
  5. מפעילים מחדש את הנתב:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart