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

Edge for Private Cloud v4.18.05

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

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

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

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

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

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

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

  • יציאות עם הקידומת 'M' הן יציאות שמשמשות לניהול הרכיב, וחובה שהן יהיו פתוחות ברכיב כדי ששרת הניהול יוכל לגשת אליהן.
  • כדי לתמוך בלחצן שליחה בכלי המעקב, לממשק המשתמש של 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 בכל מרכזי הנתונים האחרים.
  • מטעמי אבטחה, מלבד היציאות שצוינו למעלה וכל יציאה אחרת שנדרשת בהתאם לדרישות הרשת שלכם, אסור לפתוח יציאות אחרות בין מרכזי הנתונים.

פרטי היציאה

בטבלה הבאה מתוארים היציאות שצריך לפתוח בחומות האש, לפי רכיב Edge:

רכיב יציאה תיאור
יציאות HTTP רגילות 80, 443 HTTP וגם כל יציאה אחרת שבה אתם משתמשים למארחים וירטואליים
Cassandra 7000, ‏ 9042, ‏ 9160 יציאות של Apache Cassandra לתקשורת בין צמתים של Cassandra ולגישה של רכיבי Edge אחרים.
7199 יציאת JMX. צריך להיות פתוח לגישה של שרת הניהול.
LDAP 10389 OpenLDAP
שרת ניהול 1099 יציאת JMX
4526 יציאה למטמון מבוזר ולשיחות ניהול. אפשר להגדיר את השקע הזה.
8080 יציאה לקריאות ל-API לניהול Edge. לרכיבים הבאים נדרשת גישה ליציאה 8080 בשרת הניהול: נתב, מעבד הודעות, ממשק משתמש, Postgres ו-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 במרכזי נתונים שונים.
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 משמש באופן פנימי את ZoomKeeper לאשכול שלzoKeeper (שנקרא 'אוסף תנועת ששומרים')

בטבלה הבאה מוצגים אותם יציאות, ממוספרות, עם רכיבי המקור והיעד:

מספר יציאה מטרה רכיב המקור רכיב יעד
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
5672
  • מרכז נתונים יחיד: משמש לשליחת ניתוח נתונים מהנתב וממעבד ההודעות אל Qpid.
  • מספר מרכזי נתונים: משמשת לתקשורת בין צמתים של Qpid במרכזי נתונים שונים.
שרת Qpid שרת Qpid
7000 תקשורת בין צמתים ב-Cassandra קסנדרה צומת אחר של Cassandra
7199 ניהול JMX. צריך להיות פתוח לגישה של שרת הניהול בצומת Cassandra. לקוח JMX קסנדרה
8080 יציאת ה-Management API לקוחות Management API שרת ניהול
8081 עד 8084

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

לקוחות Management API נתב (8081)
מעבד הודעות (8082)
שרת Qpid (8083)
שרת Postgres (8084)
8443 תקשורת בין הנתב לבין מעבד ההודעות כש-TLS מופעל נתב מעבד בקשות
8998 תקשורת בין הנתב לבין מעבד הבקשות נתב מעבד בקשות
9000 יציאת ברירת המחדל של ממשק המשתמש לניהול Edge דפדפן שרת של ממשק משתמש לניהול
9042 העברה מקומית של CQL נתב
מעבד בקשות
שרת ניהול
Cassandra
9160 לקוח Thrift של Cassandra נתב
מעבד הודעות
שרת ניהול
Cassandra
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