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

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

דיאגרמות יציאות

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

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

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

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

הערות בתרשים הזה:

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

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

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

דרישות ליציאות לכל צומת בתצורת אשכולות עם 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 במרכזי נתונים שונים.

משמש גם לתקשורת בין שרת ה-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 במרכזי נתונים שונים.

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

  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