דרישות התקנה

Edge for Private Cloud v4.18.01

דרישות חומרה

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

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

רכיב ההתקנה RAM מעבד (CPU) כונן קשיח מינימלי
Cassandra 16GB 8 ליבות אחסון מקומי בנפח 250GB עם SSD או HDD מהיר שתומך ב-2,000 IOPS
מעבד בקשות/נתב באותו מחשב 16GB 8 ליבות ‫100GB
‫Analytics – ‏Postgres/Qpid באותו שרת (לא מומלץ לסביבת ייצור) ‫16GB‏* 8 ליבות* אחסון ברשת*** בנפח 500GB עד 1TB**, רצוי עם קצה עורפי של SSD, שתומך ב-1,000 IOPS או יותר*
Analytics – Postgres עצמאי ‫16GB‏* 8 ליבות* אחסון ברשת*** בנפח 500GB עד 1TB**, רצוי עם קצה עורפי של SSD, שתומך ב-1,000 IOPS או יותר*
Analytics - Qpid standalone 8GB 4 ליבות אחסון מקומי בנפח 30GB עד 50GB עם SSD או HDD מהיר

בהתקנות עם יותר מ-250 TPS, מומלץ להשתמש ב-HDD עם אחסון מקומי שתומך ב-1,000 IOPS.

גודל ברירת המחדל של התור ב-Qpid הוא 20GB. אם צריך להוסיף עוד קיבולת, מוסיפים עוד צומתי Qpid.

אחר (OpenLDAP, ממשק משתמש, שרת ניהול) 4GB 2 ליבות 60GB

* התאמת דרישות המערכת של Postgres על סמך הקיבולת:

  • פחות מ-250 TPS: אפשר לשקול 8GB,‏ 4 ליבות עם אחסון מנוהל ברשת*** שתומך ב-1,000 IOPS או יותר
  • יותר מ-250 TPS‏: 16GB,‏ 8 ליבות, אחסון מנוהל ברשת*** שתומך ב-1,000 IOPS או יותר
  • יותר מ-1,000 TPS‏: 16GB,‏ 8 ליבות, אחסון מנוהל ברשת*** שתומך ב-2,000 IOPS או יותר
  • יותר מ-2,000 טרנזקציות לשנייה: 32GB,‏ 16 ליבות, אחסון מנוהל ברשת*** שתומך ב-2,000 פעולות קלט/פלט לשנייה או יותר
  • יותר מ-4,000 TPS‏: 64GB,‏ 32 ליבות, אחסון מנוהל ברשת*** שתומך ב-4,000 IOPS או יותר

‫** הערך של הדיסק הקשיח של Postgres מבוסס על ניתוח הנתונים המובנה שמתבצע על ידי Edge. אם מוסיפים ערכים מותאמים אישית לנתוני הניתוח, צריך להגדיל את הערכים האלה בהתאם. כדי להעריך את נפח האחסון הנדרש, אפשר להשתמש בנוסחה הבאה:

bytes of storage needed =

  (# bytes of analytics data/request) *

  (requests/second) *

  (seconds/hour) *

  (hours of peak usage/day) *

  (days/month) *

  (months of data retention)

לדוגמה:

(2K bytes) * (100 req/sec) * (3600 secs/hr) * (18 peak hours/day) * (30 days/month) * (3 months retention)

= 1,194,393,600,000 bytes or 1194.4 GB

*** מומלץ להשתמש באחסון ברשת למסד נתונים של Postgresql כי:

  • הוא מאפשר להגדיל באופן דינמי את נפח האחסון אם וכאשר צריך.
  • אפשר לשנות את ה-IOPS של הרשת תוך כדי תנועה ברוב הסביבות, האחסון ותת-המערכות של הרשת כיום.
  • אפשר להפעיל תמונות מצב ברמת האחסון כחלק מפתרונות הגיבוי והשחזור.

בנוסף, אלה דרישות החומרה להתקנת שירותי המונטיזציה:

רכיב עם מונטיזציה RAM מעבד (CPU) כונן קשיח
שרת ניהול (עם שירותי מונטיזציה) 8GB 4 ליבות 60GB
‫Analytics – ‏Postgres/Qpid באותו שרת 16GB 8 ליבות אחסון ברשת בנפח 500GB עד 1TB, רצוי עם קצה עורפי של SSD, שתומך ב-1,000 פעולות קלט/פלט לשנייה או יותר, או להשתמש בכלל מהטבלה שלמעלה.
Analytics – Postgres עצמאי 16GB 8 ליבות אחסון ברשת בנפח 500GB עד 1TB, רצוי עם קצה עורפי של SSD, שתומך ב-1,000 פעולות קלט/פלט לשנייה או יותר, או להשתמש בכלל מהטבלה שלמעלה.
Analytics - Qpid standalone 8GB 4 ליבות אחסון מקומי בנפח 40GB עד 500GB עם SSD או HDD מהיר

בהתקנות עם יותר מ-250 TPS, מומלץ להשתמש ב-HDD עם אחסון מקומי שתומך ב-1,000 IOPS.

אם אתם רוצים להתקין את API BaaS, אלה דרישות החומרה:

רכיב API BaaS RAM מעבד (CPU) כונן קשיח
ElasticSearch* 8GB 4 ליבות 60-80GB
API BaaS Stack* 8GB 4 ליבות 60-80GB
API BaaS Portal 1GB 2 ליבות 20GB
Cassandra** 16GB 8 ליבות אחסון מקומי בנפח 250GB עם SSD או HDD מהיר שתומך ב-2,000 IOPS

‫* אפשר להתקין את ElasticSearch ואת API BaaS Stack באותו צומת. אם כן, צריך להגדיר את ElasticSearch כך שישתמש ב-4GB של זיכרון (ברירת המחדל). אם ElasticSearch מותקן בצומת משלו, צריך להגדיר אותו כך שישתמש ב-6GB של זיכרון.

‫** אופציונלי; בדרך כלל משתמשים באותו אשכול Cassandra גם לשירותי Edge וגם לשירותי API BaaS.

דרישות למערכת ההפעלה ולתוכנות צד שלישי

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

יצירת משתמש Apigee

תהליך ההתקנה יוצר משתמש במערכת Unix בשם apigee. הספריות והקבצים של Edge נמצאים בבעלות של apigee, וכך גם התהליכים של Edge. כלומר, רכיבי Edge פועלים כמשתמש apigee. אם צריך, אפשר להפעיל רכיבים כמשתמש אחר.

ספריית ההתקנה

כברירת מחדל, תוכנית ההתקנה כותבת את כל הקבצים בספרייה /opt/apigee. אי אפשר לשנות את המיקום של הספרייה הזו. אי אפשר לשנות את הספרייה הזו, אבל אפשר ליצור קישור סימבולי כדי למפות את /opt/apigee למיקום אחר, כמו שמתואר בהמשך.

בהוראות שבמדריך הזה, ספריית ההתקנה מצוינת בתור /opt/apigee.

יצירת קישור סימבולי מ-‎ /opt/apigee

לפני שיוצרים את הקישור הסימבולי, צריך ליצור משתמש וקבוצה בשם "apigee". זו אותה קבוצה ואותו משתמש שנוצרו על ידי תוכנת ההתקנה של Edge.

כדי ליצור את הקישור הסימבולי, מבצעים את השלבים הבאים לפני שמורידים את הקובץ bootstrap_4.18.01.sh. צריך לבצע את כל השלבים האלה כמשתמש root:

  1. יוצרים את המשתמש והקבוצה "apigee":
    groupadd -r apigee > useradd -r -g apigee -d /opt/apigee -s /sbin/nologin -c "Apigee platform user" apigee
  2. יוצרים קישור סימבולי מ-/opt/apigee אל ספריית הבסיס הרצויה להתקנה:
    ln -Ts /srv/myInstallDir /opt/apigee

    כאשר /srv/myInstallDir הוא המיקום הרצוי של קובצי Edge.

  3. משנים את הבעלות על תיקיית הבסיס של ההתקנה והקישור הסימבולי למשתמש apigee:
    chown -h apigee:apigee /srv/myInstallDir /opt/apigee

Java

לפני ההתקנה, צריך להתקין גרסה נתמכת של Java 1.8 בכל מכונה. ערכות ה-JDK הנתמכות מפורטות בקטע תוכנות נתמכות וגרסאות נתמכות.

מוודאים שהמשתנה JAVA_HOME מצביע על הבסיס של ה-JDK של המשתמש שמבצע את ההתקנה.

SELinux

בהתאם להגדרות של SELinux, יכול להיות שיהיו בעיות בהתקנה ובהפעלה של רכיבי Edge. במקרה הצורך, אפשר להשבית את SELinux או להגדיר אותו למצב מתירני במהלך ההתקנה, ואז להפעיל אותו מחדש אחרי ההתקנה. מידע נוסף זמין במאמר התקנת כלי השירות apigee-setup של Edge.

הגדרת רשת

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

  • ‫hostname מחזירה את שם המכונה
  • ‫hostname -i מחזירה את כתובת ה-IP של השם המארח שאפשר לפנות אליו ממכונות אחרות.

בהתאם לסוג ולגרסה של מערכת ההפעלה, יכול להיות שתצטרכו לערוך את /etc/hosts ואת /etc/sysconfig/network אם שם המארח לא מוגדר בצורה נכונה. למידע נוסף, עיינו במסמכי התיעוד של מערכת ההפעלה הספציפית שלכם.

אם לשרת יש כמה כרטיסי ממשק, הפקודה "hostname -i" מחזירה רשימה של כתובות IP שמופרדות ברווחים. כברירת מחדל, תוכנת ההתקנה של Edge משתמשת בכתובת ה-IP הראשונה שמוחזרת, ויכול להיות שהיא לא תהיה נכונה בכל המצבים. לחלופין, אפשר להגדיר את המאפיין הבא בקובץ התצורה של ההתקנה:

ENABLE_DYNAMIC_HOSTIP=y

כשהמאפיין הזה מוגדר כ-"y", תוכנית ההתקנה מבקשת מכם לבחור את כתובת ה-IP שבה תשתמשו כחלק מההתקנה. ערך ברירת המחדל הוא "n". מידע נוסף זמין בחומר עזר בנושא קובץ תצורה של Edge.

‫TCP Wrappers

‫TCP Wrappers יכול לחסום תקשורת של יציאות מסוימות ולהשפיע על ההתקנה של OpenLDAP,‏ Postgres ו-Cassandra. בצמתים האלה, בודקים את /etc/hosts.allow ואת /etc/hosts.deny כדי לוודא שאין הגבלות על היציאות הנדרשות של OpenLDAP,‏ Postgres ו-Cassandra.

iptables

מוודאים שאין כללי מדיניות של iptables שמונעים קישוריות בין צמתים ביציאות הנדרשות של Edge. אם צריך, אפשר לעצור את iptables במהלך ההתקנה באמצעות הפקודה:

sudo/etc/init.d/iptables stop

ב-CentOS 7.x:

systemctl stop firewalld

מוודאים של-Edge Router יש גישה אל ‎ /etc/rc.d/init.d/functions

הצמתים של Edge Router ו-BaaS Portal משתמשים בנתב Nginx ודורשים גישת קריאה ל-/etc/rc.d/init.d/functions.

אם תהליך האבטחה שלכם מחייב להגדיר הרשאות ב-/etc/rc.d/init.d/functions, אל תגדירו אותן ל-700, אחרת הנתב לא יופעל. אפשר להגדיר את ההרשאות ל-744 כדי לאפשר גישת קריאה ל-/etc/rc.d/init.d/functions.

Cassandra

כל הצמתים של Cassandra צריכים להיות מחוברים לטבעת. ‫Cassandra מאחסנת עותקים משוכפלים של נתונים בכמה צמתים כדי להבטיח אמינות ועמידות בפני תקלות. אסטרטגיית השכפול של כל מרחב מפתחות ב-Edge קובעת את צומתי Cassandra שבהם ממוקמים העותקים המשוכפלים. מידע נוסף זמין במאמר מידע על גורם השכפול ורמת העקביות של Cassandra.

‫Cassandra מתאימה באופן אוטומטי את גודל ה-Java heap בהתאם לזיכרון הזמין. למידע נוסף, קראו את המאמר כוונון משאבי Java. במקרה של פגיעה בביצועים או צריכת זיכרון גבוהה.

אחרי שמתקינים את Edge for Private Cloud, אפשר לבדוק אם Cassandra מוגדרת כמו שצריך באמצעות הקובץ /opt/apigee/apigee-cassandra/conf/cassandra.yaml. לדוגמה, מוודאים שסקריפט ההתקנה של Edge for Private Cloud הגדיר את המאפיינים הבאים:

  • cluster_name
  • initial_token
  • partitioner
  • seeds
  • listen_address
  • rpc_address
  • snitch

מסד נתונים של PostgreSQL

אחרי שמתקינים את Edge, אפשר לשנות את ההגדרות הבאות של מסד הנתונים של PostgreSQL בהתאם לכמות ה-RAM שזמינה במערכת:

conf_postgresql_shared_buffers = 35% of RAM      # min 128kB
conf_postgresql_effective_cache_size = 45% of RAM
conf_postgresql_work_mem = 512MB       # min 64kB

כדי להגדיר את הערכים האלה:

  1. עורכים את הקובץ postgresql.properties:
    vi /opt/apigee/customer/application/postgresql.properties

    אם הקובץ לא קיים, יוצרים אותו.

  2. מגדירים את המאפיינים שמפורטים למעלה.
  3. שומרים את השינויים.
  4. מפעילים מחדש את מסד הנתונים של PostgreSQL:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart

מגבלות מערכת

מוודאים שהגדרתם את מגבלות המערכת הבאות בצומתי Cassandra ובצומתי מעבד הבקשות:

  • בצמתים של Cassandra, מגדירים מגבלות רכות וקשות ל-memlock, ל-nofile ולמרחב הכתובות (as) למשתמש ההתקנה (ברירת המחדל היא "apigee") ב-/etc/security/limits.d/90-apigee-edge-limits.conf, כמו שמוצג בהמשך:
    apigee soft memlock unlimited
    apigee hard memlock unlimited
    apigee soft nofile 32768
    apigee hard nofile 65536
    apigee soft as unlimited
    apigee hard as unlimited
  • בצמתים של מעבד הבקשות, מגדירים את המספר המקסימלי של תיאורי קבצים פתוחים ל-64K ב-/etc/security/limits.d/90-apigee-edge-limits.conf, כמו שמוצג בהמשך:
    apigee soft nofile 32768
    apigee hard nofile 65536

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

jsvc

"jsvc" הוא תנאי מוקדם לשימוש ב-API BaaS. גרסה 1.0.15-dev מותקנת כשמתקינים את API BaaS.

שירותי אבטחת רשת (NSS)

‫Network Security Services‏ (NSS) היא קבוצה של ספריות שתומכות בפיתוח של אפליקציות מאובטחות ללקוחות ולשרתים. חשוב לוודא שמותקנת גרסה 3.19 ומעלה של NSS.

כדי לבדוק את הגרסה הנוכחית:

yum info nss

כדי לעדכן את NSS:

yum update nss

מידע נוסף זמין במאמר הזה של RedHat.

השבתת חיפוש DNS ב-IPv6 כשמשתמשים ב-NSCD (‏Name Service Cache Daemon)

אם התקנתם והפעלתם את NSCD (Name Service Cache Daemon), מעבדי הבקשות מבצעים שני חיפושי DNS: אחד ל-IPv4 ואחד ל-IPv6. כשמשתמשים ב-NSCD, צריך להשבית את חיפוש ה-DNS ב-IPv6.

כדי להשבית את חיפוש ה-DNS ב-IPv6:

  1. בכל צומת של מעבד בקשות, עורכים את /etc/nscd.conf
  2. מגדירים את המאפיין הבא:
    enable-cache hosts no

השבתת IPv6 ב-Google Cloud Platform ל-RedHat/CentOS 7

אם אתם מתקינים את Edge ב-RedHat 7 או ב-CentOS 7 ב-Google Cloud Platform, אתם צריכים להשבית את IPv6 בכל צומתי Qpid.

כדי להשבית את IPv6, עיינו במסמכי התיעוד של RedHat או CentOS לגרסת מערכת ההפעלה הספציפית שלכם. לדוגמה, אתם יכולים:

  1. פותחים את /etc/hosts בכלי לעריכת טקסט.
  2. מוסיפים את התו "#" בעמודה הראשונה של השורה הבאה כדי להפוך אותה להערה:
    #::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
  3. שומרים את הקובץ.

AWS AMI

אם אתם מתקינים את Edge ב-AWS Amazon Machine Image (AMI)‎ ל-Red Hat Enterprise Linux 7.x, קודם צריך להריץ את הפקודה הבאה:

yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional

כלים

תוכנת ההתקנה משתמשת בכלי UNIX הבאים בגרסה הרגילה, כפי שסופקו על ידי EL5 או EL6.

awk

expr

libxslt

סיבובים לדקה

חילוץ ZIP

basename

grep

lua-socket

rpm2cpio

useradd

bash

hostname

ls

sed

wc

bc

id [מזהה]

net-tools

sudo

wget

curl

libaio

perl (מ-procps)

tar

xerces-c

cyrus-sasl libdb4 ‫pgrep (מ-procps) tr טעים

תאריך

libdb-cxx

ps

uuid

chkconfig

dirname libibverbs pwd uname  
echo librdmacm python    

ntpdate

מומלץ לסנכרן את השעות של השרתים. אם עדיין לא הגדרתם את זה, אתם יכולים להשתמש בכלי ntpdate כדי לוודא שהשרתים מסונכרנים מבחינת הזמן. אפשר להשתמש ב-yum install ntp כדי להתקין את הכלי. האפשרות הזו שימושית במיוחד לשכפול הגדרות של OpenLDAP. שימו לב שאתם מגדירים את אזור הזמן של השרת לפי UTC.

openldap 2.4

ההתקנה המקומית דורשת את OpenLDAP 2.4. אם לשרת יש חיבור לאינטרנט, סקריפט ההתקנה של Edge מוריד ומתקין את OpenLDAP. אם לשרת אין חיבור לאינטרנט, צריך לוודא ש-OpenLDAP כבר מותקן לפני שמריצים את סקריפט ההתקנה של Edge. ב-RHEL/CentOS, אפשר להריץ את yum install openldap-clients openldap-servers כדי להתקין את OpenLDAP.

בהתקנות של 13 מארחים ובהתקנות של 12 מארחים עם שני מרכזי נתונים, צריך שכפול של OpenLDAP כי יש כמה צמתים שמארחים את OpenLDAP.

חומות אש ומארחים וירטואליים

המונח virtual משמש לעיתים קרובות למטרות שונות בתחום ה-IT, וכך גם בפריסה של Apigee Edge for Private Cloud ובמארחים וירטואליים. כדי להבהיר, יש שני שימושים עיקריים למונח virtual:

  • מכונות וירטואליות (VM): לא נדרשות, אבל בחלק מהפריסות משתמשים בטכנולוגיית VM כדי ליצור שרתים מבודדים לרכיבי Apigee. למארחי מכונות וירטואליות, כמו למארחים פיזיים, יכולים להיות ממשקי רשת וחומות אש.
  • מארחים וירטואליים: נקודות קצה באינטרנט, בדומה למארח וירטואלי של Apache.

נתב במכונה וירטואלית יכול לחשוף כמה מארחים וירטואליים (כל עוד הם שונים זה מזה בכינוי המארח או ביציאת הממשק שלהם).

לדוגמה, בשרת פיזי אחד A יכולות לפעול שתי מכונות וירטואליות, שנקראות VM1 ו-VM2. נניח ש-VM1 חושפת ממשק אתרנט וירטואלי, שנקרא eth0 בתוך המכונה הווירטואלית, ומוקצית לו כתובת ה-IP‏ 111.111.111.111 על ידי מכונות הווירטואליזציה או שרת DHCP ברשת. נניח גם ש-VM2 חושפת ממשק אתרנט וירטואלי שנקרא גם eth0, ומוקצית לו כתובת ה-IP‏ 111.111.111.222.

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

הנתב של Apigee ב-VM1 חושף שלושה מארחים וירטואליים בממשק eth0 שלו (שיש לו כתובת IP ספציפית), api.mycompany.com:80, api.mycompany.com:443 ו-test.mycompany.com:80.

הנתב ב-VM2 חושף את api.mycompany.com:80 (אותו שם ואותה יציאה שנחשפו על ידי VM1).

יכול להיות שלמערכת ההפעלה של המארח הפיזי יש חומת אש ברשת. אם כן, צריך להגדיר את חומת האש הזו כך שתעביר תנועת TCP שמיועדת ליציאות שנחשפות בממשקים הווירטואליים (111.111.111.111:{80, 443} ו-111.111.111.222:80). בנוסף, יכול להיות שלמערכת ההפעלה של כל מכונה וירטואלית יש חומת אש משלה בממשק eth0, וגם היא צריכה לאפשר חיבור של תנועה ביציאות 80 ו-443.

נתיב הבסיס הוא הרכיב השלישי שמעורב בניתוב קריאות ל-API לשרתי proxy שונים של API שאולי פרסתם. חבילות של שרתי proxy ל-API יכולות לשתף נקודת קצה (endpoint) אם יש להן נתיבי בסיס שונים. לדוגמה, אפשר להגדיר נתיב בסיס אחד בתור http://api.mycompany.com:80/ ונתיב בסיס אחר בתור http://api.mycompany.com:80/salesdemo.

במקרה כזה, צריך מאזן עומסים או מנהל תנועה כלשהו שיפצל את התנועה של http://api.mycompany.com:80/ ‎ בין שתי כתובות ה-IP (111.111.111.111 ב-VM1 ו-111.111.111.222 ב-VM2). הפונקציה הזו ספציפית להתקנה שלכם, ומוגדרת על ידי קבוצת הרשת המקומית.

נתיב הבסיס מוגדר כשפורסים API. בדוגמה שלמעלה, אתם יכולים לפרוס שני ממשקי API,‏ mycompany ו-testmycompany, לארגון mycompany-org עם המארח הווירטואלי שיש לו את כינוי המארח api.mycompany.com והיציאה מוגדרת ל-80. אם לא תצהירו על נתיב בסיס בפריסה, הנתב לא יידע לאיזה API לשלוח את הבקשות הנכנסות.

עם זאת, אם פורסים את ה-API‏ testmycompany עם כתובת ה-URL הבסיסית /salesdemo, המשתמשים ניגשים ל-API הזה באמצעות http://api.mycompany.com:80/salesdemo. אם פורסים את ה-API ‏mycompany עם כתובת ה-URL הבסיסית /, המשתמשים ניגשים ל-API באמצעות כתובת ה-URL ‏http://api.mycompany.com:80/.

דרישות לגבי יציאות קצה (edge)

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

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

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

  • ‫* יציאה 8082 במעבד הבקשות צריכה להיות פתוחה לגישה על ידי הנתב רק כשמגדירים TLS/SSL בין הנתב לבין מעבד הבקשות. אם לא מגדירים TLS/SSL בין הנתב למעבד הבקשות, עדיין צריך לפתוח את יציאה 8082 (הגדרת ברירת המחדל) במעבד הבקשות כדי לנהל את הרכיב, אבל הנתב לא צריך גישה אליה.
  • היציאות עם הקידומת "M" הן יציאות שמשמשות לניהול הרכיב, והן חייבות להיות פתוחות ברכיב כדי ששרת הניהול יוכל לגשת אליהן.
  • הרכיבים הבאים דורשים גישה ליציאה 8080 בשרת הניהול: נתב, מעבד בקשות, ממשק משתמש, Postgres ו-Qpid.
  • מעבד הבקשות צריך לפתוח את יציאה 4528 כיציאת הניהול שלו. אם יש לכם כמה מעבדי בקשות, כולם צריכים להיות מסוגלים לגשת זה לזה דרך יציאה 4528 (מסומנת בחץ הלולאה בתרשים שלמעלה ליציאה 4528 במעבד הבקשות). אם יש לכם כמה מרכזי נתונים, היציאה צריכה להיות נגישה מכל מעבדי הבקשות בכל מרכזי הנתונים.
  • לא חובה, אבל אפשר לפתוח את יציאה 4527 בנתב כדי לאפשר גישה לכל מעבד בקשות. אחרת, יכול להיות שיופיעו הודעות שגיאה בקובצי היומן של מעבד הבקשות.
  • הנתב צריך לפתוח את יציאה 4527 כיציאת הניהול שלו. אם יש לכם כמה נתבים, כולם צריכים להיות מסוגלים לגשת זה לזה דרך יציאה 4527 (מסומנת בחץ הלולאה בתרשים שלמעלה ליציאה 4527 בנתב).
  • כדי לתמוך בלחצן Send בכלי המעקב, ממשק המשתמש של Edge צריך גישה לנתב ביציאות שנחשפות על ידי שרתי proxy ל-API.
  • שרת הניהול צריך גישה ליציאת ה-JMX בצומתי Cassandra.
  • אפשר להגדיר את הגישה ליציאות JMX כך שתידרש הזנה של שם משתמש וסיסמה. למידע נוסף, קראו את המאמר איך עוקבים אחרי השימוש.
  • אפשר גם להגדיר גישת TLS/SSL לחיבורים מסוימים, שיכולים להשתמש ביציאות שונות. מידע נוסף זמין במאמר TLS/SSL.
  • אם מגדירים שני צומתי Postgres לשימוש ברפליקציה של מאסטר-סטנדביי, צריך לפתוח את יציאה 22 בכל צומת לגישת SSH. אפשר לפתוח יציאות בצמתים ספציפיים כדי לאפשר גישת SSH.
  • אתם יכולים להגדיר את שרת הניהול ואת ממשק המשתמש של Edge כך שישלחו אימיילים דרך שרת SMTP חיצוני. אם כן, צריך לוודא שלשרת הניהול ולממשק המשתמש יש גישה ליציאה הנדרשת בשרת ה-SMTP. ב-SMTP ללא TLS, מספר היציאה הוא בדרך כלל 25. ב-SMTP עם TLS, בדרך כלל היציאה היא 465, אבל כדאי לבדוק את זה עם ספק ה-SMTP.

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

רכיב יציאה תיאור
יציאות HTTP רגילות 80, 443 HTTP וכל יציאה אחרת שמשמשת למארחים וירטואליים
שרת ניהול 8080 יציאה לקריאות ל-API לניהול של Edge. הרכיבים הבאים צריכים גישה ליציאה 8080 בשרת הניהול: נתב, מעבד בקשות, ממשק משתמש, Postgres ו-Qpid.
1099 יציאת JMX
4526 למטמון מבוזר ולקריאות ניהול
ממשק משתמש לניהול 9000 יציאה לגישה של הדפדפן לממשק המשתמש של הניהול
מעבד בקשות 8998 יציאת מעבד הבקשות לתקשורת מהנתב
8082

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

אם מגדירים TLS/SSL בין הנתב למעבד הבקשות, הנתב משתמש בו כדי לבצע בדיקות תקינות במעבד הבקשות.

1101 יציאת JMX
4528 לשיחות ניהול ומטמון מבוזר בין מעבדי בקשות, ולתקשורת מהנתב ומשרת הניהול
נתב 8081 יציאת הניהול שמוגדרת כברירת מחדל לנתב, שצריכה להיות פתוחה ברכיב כדי ששרת הניהול יוכל לגשת אליה.
4527 למטמון מבוזר ולקריאות ניהול
15999

יציאה לבדיקת תקינות. מאזן העומסים משתמש ביציאה הזו כדי לקבוע אם הנתב זמין.

כדי לקבל את הסטטוס של נתב, מאזן העומסים שולח בקשה ליציאה 15999 בנתב:

curl -v http://routerIP:15999/v1/servers/self/reachable

אם הנתב זמין, הבקשה מחזירה את הערך HTTP 200.

59001 היציאה שמשמשת לבדיקת ההתקנה של Edge על ידי הכלי apigee-validate. כדי להשתמש בכלי הזה, צריך גישה ליציאה 59001 בנתב. מידע נוסף על יציאה 59001 זמין בקטע בדיקת ההתקנה.
ZooKeeper 2181 משמש רכיבים אחרים כמו שרת הניהול, הנתב, מעבד הבקשות וכו'
2888, 3888 משמש באופן פנימי את ZooKeeper לתקשורת באשכול ZooKeeper (שנקרא ZooKeeper ensemble)
Cassandra 7000, 9042, 9160 יציאות Apache Cassandra לתקשורת בין צומתי Cassandra ולגישה על ידי רכיבי Edge אחרים.
7199 יציאת JMX. חייב להיות פתוח לגישה על ידי שרת הניהול.
Qpid 5672 משמש לתקשורת מהנתב וממעבד הבקשות לשרת Qpid
8083 יציאת הניהול שמוגדרת כברירת מחדל בשרת Qpid. היא צריכה להיות פתוחה ברכיב כדי ששרת הניהול יוכל לגשת אליה.
1102 יציאת JMX
4529 למטמון מבוזר ולקריאות ניהול
Postgres 5432 משמש לתקשורת בין Qpid/Management Server ל-Postgres
8084 יציאת הניהול שמוגדרת כברירת מחדל בשרת Postgres. היא צריכה להיות פתוחה ברכיב כדי ששרת הניהול יוכל לגשת אליה.
1103 יציאת JMX
4530 למטמון מבוזר ולקריאות ניהול
22 אם מגדירים שני צומתי Postgres לשימוש בשכפול של מאסטר-המתנה, צריך לפתוח את יציאה 22 בכל צומת לגישת SSH.
LDAP 10389 OpenLDAP
SmartDocs 59002 היציאה בנתב Edge שאליה נשלחות בקשות לדפי SmartDocs.

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

מספר יציאה מטרה רכיב המקור רכיב היעד
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 מטפל בגן חיות מטפל בגן חיות
4526 יציאת ניהול RPC שרת ניהול שרת ניהול
4527 יציאת ניהול RPC לקריאות ניהול ומטמון מבוזר, ולתקשורת בין נתבים שרת ניהול
נתב
נתב
4528 לקריאות של מטמון מבוזר בין מעבדי בקשות, ולתקשורת מהנתב שרת ניהול
נתב
מעבד בקשות
מעבד בקשות
4529 יציאת ניהול RPC למטמון מבוזר וקריאות ניהול שרת ניהול שרת Qpid
4530 יציאת ניהול RPC למטמון מבוזר וקריאות ניהול שרת ניהול שרת Postgres
5432 לקוח Postgres שרת Qpid Postgres
5672

משמש לשליחת ניתוח נתונים מהנתב וממעבד הבקשות ל-Qpid

נתב
מעבד בקשות
שרת Qpid
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)
8998 תקשורת בין הנתב למעבד הבקשות נתב מעבד בקשות
9000 יציאת ברירת המחדל של ממשק המשתמש לניהול Edge דפדפן שרת ממשק המשתמש לניהול
9042 תעבורה מקורית של CQL נתב
מעבד בקשות
שרת ניהול
Cassandra
9160 לקוח Cassandra Thrift נתב
מעבד בקשות
שרת ניהול
Cassandra
10389 יציאת LDAP שרת ניהול OpenLDAP
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

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

דרישות היציאות של API BaaS

אם בוחרים להתקין את API BaaS, מוסיפים את הרכיבים API BaaS Stack ו-API BaaS Portal. הרכיבים האלה משתמשים ביציאות שמוצגות באיור הבא:

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

  • פורטל ה-API BaaS אף פעם לא שולח בקשות ישירות לצומת BaaS Stack. כשמפתח נכנס לפורטל, אפליקציית הפורטל יורדת לדפדפן. אפליקציית Portal שפועלת בדפדפן שולחת בקשות לצמתים של BaaS Stack.
  • בהתקנה של API BaaS בסביבת ייצור, משתמשים במאזן עומסים בין הצומת של API BaaS Portal לבין הצמתים של API BaaS Stack. כשמגדירים את הפורטל וכשמבצעים קריאות ל-BaaS API, מציינים את כתובת ה-IP או את שם ה-DNS של מאזן העומסים, ולא של צומתי ה-Stack.
  • כל הצמתים של Stack צריכים לפתוח את יציאה 2551 כדי לאפשר גישה מכל הצמתים האחרים של Stack (מסומן על ידי חץ הלולאה בתרשים שלמעלה ליציאה 2551 בצמתים של Stack). אם יש לכם כמה מרכזי נתונים, היציאה צריכה להיות נגישה מכל הצמתים של Stack בכל מרכזי הנתונים.
  • צריך להגדיר את כל הצמתים של Baas Stack כך שישלחו אימיילים דרך שרת SMTP חיצוני. ב-SMTP ללא TLS, מספר היציאה הוא בדרך כלל 25. ב-SMTP עם TLS, בדרך כלל מדובר ב-465, אבל כדאי לבדוק עם ספק ה-SMTP.
  • אפשר להקצות את צומתי Cassandra ל-API BaaS או לשתף אותם עם Edge.

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

רכיב יציאה תיאור
API BaaS Portal 9000 יציאה לממשק המשתמש של API BaaS
API BaaS Stack 8080 היציאה שבה מתקבלות בקשות ה-API
2551

יציאה לתקשורת בין כל הצמתים של Stack. חייבת להיות נגישה לכל שאר צומתי Stack במרכז הנתונים.

אם יש לכם כמה מרכזי נתונים, היציאה צריכה להיות נגישה מכל הצמתים של Stack בכל מרכזי הנתונים.

ElasticSearch 9200 עד 9400 לתקשורת עם API BaaS Stack ולתקשורת בין צומתי ElasticSearch

רישוי

לכל התקנה של Edge נדרש קובץ רישיון ייחודי שמקבלים מ-Apigee. במהלך ההתקנה של שרת הניהול, תצטרכו לספק את הנתיב לקובץ הרישיון, לדוגמה: /tmp/license.txt.

ההתקנה מעתיקה את קובץ הרישיון אל /opt/apigee/customer/conf/license.txt.

אם קובץ הרישיון תקין, שרת הניהול מאמת את התפוגה ואת מספר מעבדי הבקשות (MP) המותרים. אם פג התוקף של אחת מהגדרות הרישיון, אפשר למצוא את היומנים במיקום הבא: /opt/apigee/var/log/edge-management-server/logs. במקרה כזה, אתם יכולים לפנות לתמיכה של Apigee Edge כדי לקבל פרטים על ההעברה.

אם עדיין אין לכם רישיון, פנו למחלקת המכירות של Apigee.