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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. מגדירים את net.ipv4.tcp_keepalive_time = 1800 בהגדרות sysctl במערכת ההפעלה Linux, כאשר הערך 1800 צריך להיות נמוך יותר מזמן הקצאת הזמן הקצוב לתפוגה (timeout) של 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