דרישות התקנה

Edge for Private Cloud גרסה 4.17.01

דרישות חומרה

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

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

רכיב ההתקנה

RAM

מעבד (CPU)

מינימום שטח בדיסק הקשיח

Cassandra

16GB

8 ליבות

אחסון מקומי בנפח 250GB עם SSD או HDD מהיר שתומך ב-2,000 IOPS

מעבד בקשות/נתב באותו מחשב

8GB או 16GB

‫4 ליבות*

‫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

‫† צריך להתאים את דרישות המערכת של מעבד הבקשות בהתאם לנפח התפוקה:

ההמלצה המינימלית היא 4 ליבות, ו-8 ליבות למערכת עם תפוקה גבוהה. אתם יכולים להריץ בדיקות ביצועים כדי לקבוע את הגודל האופטימלי של ממשקי ה-API.

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

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

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

(מספר בייטים/בקשה) * (בקשות לשנייה) * (שניות לשעה) * (שעות של שימוש בשיא ביום) * (ימים בחודש) * (חודשים של שמירת נתונים) = בייטים של נפח אחסון נדרש

לדוגמה:

(2K בייטים של נתוני ניתוח לכל בקשה) * 100 בקשות/שנייה * 3,600 שניות/שעה * 18 שעות של שימוש בשיא ביום * 30 ימים/חודש * 3 חודשים של שמירת נתונים = 1,194,393,600,000 בייטים או 1,194.4GB.

*** מומלץ להשתמש באחסון ברשת למסד נתונים של 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 (אופציונלי – בדרך כלל משתמשים באותו אשכול Cassandra גם ל-Edge וגם ל-API BaaS Services)

16GB

8 ליבות

אחסון מקומי בנפח 250GB עם SSD או HDD מהיר שתומך ב-2,000 IOPS

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

הערה:

  • אם מערכת הקבצים הבסיסית לא גדולה מספיק להתקנה, מומלץ להעביר את הנתונים לדיסק גדול יותר.
  • אם במכונה הותקנה גרסה ישנה יותר של Apigee Edge for Private Cloud, צריך למחוק את התיקייה ‎/tmp/java לפני התקנה חדשה.
  • כדי להפעיל את Cassandra, צריך לתת הרשאות הפעלה לתיקייה הזמנית ‎/tmp ברמת המערכת.
  • אם המשתמש apigee נוצר לפני ההתקנה, צריך לוודא ש-‎/home/apigee קיים כספריית הבית והוא בבעלות apigee:apigee.

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

הוראות ההתקנה האלה וקובצי ההתקנה שסופקו נבדקו במערכות ההפעלה ובתוכנות הצד השלישי שמפורטות כאן: https://apigee.com/docs/api-services/reference/supported-software.

יצירת משתמש Apigee

תהליך ההתקנה יוצר משתמש במערכת Unix בשם apigee. הספריות והקבצים של Edge נמצאים בבעלות של apigee, וכך גם התהליכים של Edge. כלומר, רכיבי Edge פועלים כמשתמש apigee. אם צריך, אפשר להפעיל רכיבים כמשתמש אחר. דוגמה לכך מופיעה בקטע "Binding the Router to a protected port" במאמר Install Edge components on a node.

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

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

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

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

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

כדי ליצור את הקישור הסימבולי, מבצעים את השלבים הבאים לפני שמורידים את הקובץ bootstrap_4.17.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

לפני ההתקנה, צריך להתקין גרסה נתמכת של Java1.8 בכל מכונה. רשימת ערכות ה-JDK הנתמכות:

https://apigee.com/docs/api-services/reference/supported-software

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

SELinux

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

הגדרת רשת

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

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

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

‫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 מוגדרת כמו שצריך. לשם כך, בודקים את הקובץ /<inst_root>/apigee/apigee-cassandra/conf/cassandra.yaml. לדוגמה, מוודאים שסקריפט ההתקנה של Edge for Private Cloud הגדיר את המאפיינים הבאים:

  • cluster_name
  • initial_token
  • partitioner
  • זרעים
  • 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 /<inst_root>/apigee/customer/application/postgresql.properties

    אם הקובץ לא קיים, יוצרים אותו.
  2. מגדירים את המאפיינים שמפורטים למעלה.
  3. שומרים את השינויים.
  4. מפעילים מחדש את מסד הנתונים של PostgreSQL:
    > ‎/<inst_root>/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 לגרסת מערכת ההפעלה הספציפית שלכם.

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

lua-socket

סיבובים לדקה

חילוץ ZIP

basename

grep

ls

rpm2cpio

useradd

bash

hostname

net-tools

sed

wc

bc

id [מזהה]

perl (מ-procps)

sudo

wget

curl

libaio

‫pgrep (מ-procps)

tar

xerces-c

cyrus-sasl
libdb-cxx
ps tr טעים

תאריך

libibverbs

pwd

uuid

chkconfig

dirname
librdmacm
python uname
echo
libxslt

הערה:

  • קובץ ההפעלה של הכלי useradd נמצא ב-‎/usr/sbin ושל chkconfig ב-‎/sbin.
  • עם גישת sudo, אתם יכולים לקבל גישה לסביבה של המשתמש שמבצע את הקריאה החוזרת. לדוגמה, בדרך כלל תבצעו קריאה חוזרת ל-"sudo <command>" או ל-"sudo PATH=$PATH:/usr/sbin:/sbin <command>".
  • לפני שמתקינים חבילת שירות (תיקון), צריך לוודא שהכלי "תיקון" מותקן.

‫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.

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

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

  • מכונות וירטואליות (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. בכל מעבדי הבקשות, עורכים את /<inst_root>/apigee/customer/application/message-processor.properties כדי להוסיף את המאפיין הבא. אם הקובץ לא קיים, יוצרים אותו.
    conf_system_cassandra.maxconnecttimeinmillis=-1
  3. מפעילים מחדש את מעבד הבקשות:
    > ‎/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  4. בכל הנתבים, עורכים את /<inst_root>/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

9,200 עד 9,400

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

רישוי

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

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

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

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