יש להתקין SSO ב-Apigee לזמינות גבוהה

אתם מתקינים כמה מכונות של מודול SSO ב-Apigee כדי להשיג זמינות גבוהה בשני תרחישים:

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

התקנה של שני מודולי SSO ב-Apigee באותו מרכז נתונים

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

  • שני המופעים של מודול SSO ב-Apigee צריכים להיות מחוברים לאותו שרת Postgres. ‫Apigee ממליצה להשתמש בשרת Postgres ייעודי למודול SSO ב-Apigee, ולא באותו שרת Postgres שהתקנתם עם Edge.
  • שני המופעים של מודול SSO ב-Apigee חייבים להשתמש באותו זוג מפתחות JWT, כפי שצוין במאפיינים SSO_JWT_SIGNING_KEY_FILEPATH ו-SSO_JWT_VERIFICATION_KEY_FILEPATH בקובץ התצורה. מידע נוסף על הגדרת המאפיינים האלה זמין במאמר התקנה והגדרה של מודול SSO ב-Apigee.
  • צריך להגדיר מאזן עומסים לפני שני המופעים של מודול ה-SSO ב-Apigee:
    • מאזן העומסים חייב לתמוך ב-cookie stickiness שנוצר על ידי האפליקציה, וקובץ ה-Cookie של הסשן חייב להיות בשם JSESSIONID.
    • מגדירים את מאזן העומסים כך שיבצע בדיקת תקינות של TCP או HTTP במודול SSO ב-Apigee. ב-TCP, משתמשים בכתובת ה-URL של מודול ה-SSO ב-Apigee:
      http_or_https://edge_sso_IP_DNS:9099

      מציינים את היציאה שהוגדרה על ידי מודול ה-SSO ב-Apigee. יציאה 9099 היא ברירת המחדל.

      ב-HTTP, צריך לכלול את /healthz:

      http_or_https://edge_sso_IP_DNS:9099/healthz
    • חלק מההגדרות של מאזן העומסים תלויות בהפעלה של HTTPS במודול SSO ב-Apigee. מידע נוסף מופיע בקטעים הבאים.

גישת HTTP ל-SSO ב-Apigee

אם אתם משתמשים בגישת HTTP למודול SSO ב-Apigee, צריך להגדיר את מאזן העומסים כך:

  • משתמשים במצב HTTP כדי להתחבר למודול SSO ב-Apigee.
  • האזנה לאותה יציאה כמו מודול SSO ב-Apigee.

    כברירת מחדל, מודול ה-SSO ב-Apigee מאזין לבקשות HTTP ביציאה 9099. אפשר גם להשתמש ב-SSO_TOMCAT_PORT כדי להגדיר את היציאה של ה-SSO ב-Apigee. אם השתמשתם ב-SSO_TOMCAT_PORT כדי לשנות את יציאת ה-SSO ב-Apigee מיציאת ברירת המחדל, ודאו שמאזן העומסים מאזין ליציאה הזו.

לדוגמה, בכל מודול SSO ב-Apigee, מגדירים את היציאה ל-9033 על ידי הוספת השורה הבאה לקובץ התצורה:

SSO_TOMCAT_PORT=9033

לאחר מכן מגדירים את מאזן העומסים כך שיאזין ליציאה 9033 ויעביר בקשות למכונה של Edge SSO ביציאה 9033. כתובת ה-URL הציבורית של מודול SSO ב-Apigee בתרחיש הזה היא:

http://LB_DNS_NAME:9033

גישה ל-HTTPS למודול SSO ב-Apigee

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

SSO_TOMCAT_PROFILE=SSL_TERMINATION

אפשר גם להגדיר את היציאה שמשמשת את מודול SSO ב-Apigee לגישה ל-HTTPS:

SSO_TOMCAT_PORT=9443

אחר כך מגדירים את מאזן העומסים כך:

  • כדי להתחבר למודול SSO ב-Apigee, צריך להשתמש במצב TCP ולא במצב HTTP.
  • האזנה לאותה יציאה כמו מודול SSO ב-Apigee, כפי שמוגדרת על ידי SSO_TOMCAT_PORT.

לאחר מכן מגדירים את מאזן העומסים כך שיעביר בקשות למודול SSO ב-Apigee ביציאה 9433. כתובת ה-URL הציבורית של מודול SSO ב-Apigee בתרחיש הזה היא:

https://LB_DNS_NAME:9443

התקנת מודול SSO ב-Apigee בכמה מרכזי נתונים

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

לפני שמתקינים את מודול SSO ב-Apigee בשני מרכזי נתונים, צריך:

  • כתובת ה-IP או שם הדומיין של שרת ה-Postgres הראשי.

    בסביבה של כמה מרכזי נתונים, בדרך כלל מתקינים שרת Postgres אחד בכל מרכז נתונים ומגדירים אותם במצב שכפול Master-Standby. בדוגמה הזו, מרכז הנתונים 1 מכיל את שרת Postgres הראשי ומרכז הנתונים 2 מכיל את שרת Postgres לגיבוי. מידע נוסף זמין במאמר הגדרת שכפול Master-Standby ל-Postgres.

  • רשומת DNS אחת שמפנה למכונה אחת של מודול SSO ב-Apigee. לדוגמה, יוצרים רשומת DNS בפורמט הבא, שמפנה למודול SSO ב-Apigee במרכז הנתונים 1:
    my-sso.domain.com => apigee-sso-dc1-ip-or-lb
  • שני המופעים של מודול SSO ב-Apigee חייבים להשתמש באותו זוג מפתחות JWT, כפי שצוין במאפיינים SSO_JWT_SIGNING_KEY_FILEPATH ו-SSO_JWT_VERIFICATION_KEY_FILEPATH בקובץ התצורה. מידע נוסף על הגדרת המאפיינים האלה זמין במאמר התקנה והגדרה של מודול SSO ב-Apigee.

כשמתקינים את מודול SSO ב-Apigee בכל מרכז נתונים, מגדירים את שניהם כך שישתמשו ב-Postgres Master במרכז נתונים 1:

## Postgres configuration
PG_HOST=IP_or_DNS_of_PG_Master_in_DC1
PG_PORT=5432

אתם גם מגדירים את שני מרכזי הנתונים כך שישתמשו ברשומת ה-DNS ככתובת ה-URL שנגישה לציבור:

# Externally accessible URL of Apigee SSO
SSO_PUBLIC_URL_HOSTNAME=my-sso.domain.com
# Default port is 9099.
SSO_PUBLIC_URL_PORT=9099

אם מודול ה-SSO ב-Apigee במרכז נתונים 1 מושבת, אפשר לעבור למכונה של מודול ה-SSO ב-Apigee במרכז נתונים 2:

  1. ממירים את שרת Postgres Standby במרכז הנתונים השני ל-Master, כמו שמתואר במאמר טיפול ביתירות כשל של מסד נתונים ב-PostgreSQL.
  2. מעדכנים את רשומת ה-DNS כך ש-my-sso.domain.com תפנה למודול SSO ב-Apigee במרכז הנתונים השני:
    my-sso.domain.com => apigee-sso-dc2-ip-or-lb
  3. מעדכנים את קובץ התצורה של מודול ה-SSO ב-Apigee במרכז נתונים 2 כך שיפנה לשרת הראשי החדש של Postgres במרכז נתונים 2:
    ## Postgres configuration
    PG_HOST=IP_or_DNS_of_PG_Master_in_DC2
  4. מפעילים מחדש את מודול SSO ב-Apigee במרכז נתונים 2 כדי לעדכן את ההגדרות שלו:
    /opt/apigee/apigee-service/bin/apigee-service apigee-sso restart