אתם יכולים להתקין כמה מופעים של מודול SSO ב-Apigee לזמינות גבוהה בשני תרחישים:
- בסביבה של מרכז נתונים יחיד, צריך להתקין שני מופעים של מודול SSO ב-Apigee כדי ליצור סביבה של זמינות גבוהה. כלומר, המערכת ממשיכה לפעול אם אחד ממודולי ה-SSO מושבת.
- בסביבה עם שני מרכזי נתונים, מתקינים את מודול SSO ב-Apigee בשני מרכזי הנתונים כדי שהמערכת תמשיך לפעול אם מודול SSO ב-Apigee במרכז נתונים אחד יפסיק לפעול.
התקנה של שני מודולים של Apigee SSO באותו מרכז נתונים
אתם פורסים שני מופעים של מודול SSO ב-Apigee, בצמתים שונים של apigee-openldap, במרכז נתונים אחד כדי לתמוך בזמינות גבוהה. במקרה כזה:
- שני המופעים של מודול ה-SSO ב-Apigee צריכים להיות מחוברים לאותו שרת Postgres. Apigee ממליצה להשתמש בשרת Postgres ייעודי למודול SSO ב-Apigee, ולא באותו שרת Postgres שהתקנתם עם Edge. שני המופעים צריכים להיות משותפים למסד הנתונים של
apigee_dexכדי לשמור על המצב. - אין צורך בהפצה ידנית של מפתחות JWT: בניגוד לרכיב ה-UAA הקודם, מודול ה-SSO המודרני ב-Apigee מאחסן ומסנכרן את קבוצות מפתחות האינטרנט בפורמט JSON (JWKS) ואת מצב OAuth2 באופן מקורי במסד הנתונים המשותף של PostgreSQL. אתם לא צריכים להעתיק באופן ידני מפתחות חתימה בין צמתים.
- סנכרון פרטי הכניסה ל-OpenLDAP פנימי: אם אתם משתמשים ב-OpenLDAP פנימי שמוגדר כברירת מחדל, מודול SSO ב-Apigee משתמש בחשבון שירות ייעודי לקריאה בלבד (
cn=sso-reader). כדי להגדיר זמינות גבוהה (Node 2), האדמין צריך להגדיר את אותוSSO_READER_PWב-/opt/silent.confבשני הצמתים, או להעתיק את/opt/apigee/data/apigee-openldap/sso-reader.keyמ-Node 1 ל-Node 2 לפני שמריצים אתsetup-ssoב-Node 2.כדי להעתיק את קובץ המפתח באופן ידני, מריצים את הפקודות הבאות בצומת 2:
scp node1_ip:/opt/apigee/data/apigee-openldap/sso-reader.key /opt/apigee/data/apigee-openldap/sso-reader.key chown apigee:apigee /opt/apigee/data/apigee-openldap/sso-reader.key chmod 600 /opt/apigee/data/apigee-openldap/sso-reader.key
- צריך להגדיר מאזן עומסים לפני שני המופעים של מודול SSO ב-Apigee:
- מגדירים את מאזן העומסים כך שיבצע בדיקת תקינות של TCP או HTTP ב-SSO. ב-HTTP, צריך לכלול את
/healthz:http_or_https://edge_sso_IP_DNS:9099/healthz
מציינים את היציאה שהוגדרה על ידי מודול SSO ב-Apigee. יציאה 9099 היא ברירת המחדל.
- חלק מההגדרות של מאזן העומסים תלויות בהפעלה של HTTPS במודול SSO ב-Apigee. מידע נוסף מופיע בקטעים הבאים.
- מגדירים את מאזן העומסים כך שיבצע בדיקת תקינות של TCP או HTTP ב-SSO. ב-HTTP, צריך לכלול את
גישת HTTP למודול SSO ב-Apigee
אם אתם משתמשים בגישת HTTP למודול SSO ב-Apigee, הגדירו את מאזן העומסים כך:
- משתמשים במצב HTTP כדי להתחבר למודול SSO ב-Apigee.
- האזנה לאותה יציאה כמו מודול SSO ב-Apigee.
כברירת מחדל, מודול SSO ב-Apigee מאזין לבקשות HTTP ביציאה 9099. אפשר גם להשתמש ב-SSO_PUBLIC_URL_PORT בקובץ /opt/silent.conf כדי להגדיר את היציאה. אם השתמשתם ב-SSO_PUBLIC_URL_PORT כדי לשנות את היציאה מיציאת ברירת המחדל, ודאו שמאזן העומסים מאזין ליציאה הזו.
לדוגמה, בכל מופע של SSO, מגדירים את היציאה ל-9033 על ידי הוספת השורה הבאה לקובץ התצורה:
SSO_PUBLIC_URL_PORT=9033
לאחר מכן מגדירים את מאזן העומסים כך שיאזין ליציאה 9033 ויעביר בקשות למכונות ה-SSO ביציאה 9033. כתובת ה-URL הציבורית של מודול SSO ב-Apigee בתרחיש הזה היא:
http://LB_DNS_NAME:9033
גישה באמצעות HTTPS למודול SSO ב-Apigee
אפשר להגדיר זמינות גבוהה עם HTTPS באחד משני המצבים הבאים. בשני התרחישים, פועלים לפי שלבי ההגדרה המפורטים במאמר בנושא הגדרת מודול SSO ב-Apigee לגישת HTTPS.
מצב 1: מאזן העומסים מסיים את ה-TLS (SSL_PROXY)
אם מאזן העומסים סוגר את חיבור ה-TLS, הוא צריך להעביר תנועת HTTP רגילה למכונות של מודול ה-SSO ב-Apigee.
- מגדירים את
SSO_PUBLIC_URL_SCHEME=httpsואתSSO_PUBLIC_URL_PORT=443(או את יציאת ה-HTTPS הציבורית של מאזן העומסים) בקובץ/opt/silent.conf. - מגדירים את מאזן העומסים לשימוש במצב HTTP כדי להתחבר למופעי מודול SSO ב-Apigee בקצה העורפי.
- מגדירים את מאזן העומסים להעברת בקשות למופעי מודול SSO ב-Apigee ביציאת ה-HTTP המקומית שלהם (ברירת מחדל:
9099).
מצב 2: מודול SSO ב-Apigee מסיים את TLS (SSL_TERMINATION)
אם רוצים שמודול SSO ב-Apigee יסיימו את חיבורי ה-TLS ישירות, מאזן העומסים צריך להעביר אליהם את תעבורת הנתונים המוצפנת.
- מגדירים את
SSO_PUBLIC_URL_SCHEME=httpsו-SSO_PUBLIC_URL_PORT=9443(או את היציאה המאובטחת שבחרתם) בקובץ/opt/silent.conf. - מגדירים את מאזן העומסים לשימוש במצב TCP (לא במצב HTTP) כדי להתחבר לקצה העורפי, וכך מאפשרים ל-מודול SSO ב-Apigee לסיים את ה-TLS.
- מגדירים את מאזן העומסים להאזנה באותה יציאה כמו מודול SSO ב-Apigee, ולהעברת בקשות למופעי מודול SSO ב-Apigee ביציאה המאובטחת שלהם (לדוגמה,
9443).
התקנת מודול SSO ב-Apigee בכמה מרכזי נתונים
בסביבה של כמה מרכזי נתונים, מתקינים מופע של מודול SSO ב-Apigee (באמצעות apigee-openldap) בכל מרכז נתונים.
מופע אחד של SSO מטפל בכל התנועה. אם המופע הזה מושבת, אפשר להעביר את התנועה למופע השני של ה-SSO.
לפני שמתקינים את מודול SSO ב-Apigee בשני מרכזי נתונים, צריך:
- כתובת ה-IP או שם הדומיין של שרת ה-Postgres הראשי.
בסביבה עם כמה מרכזי נתונים, בדרך כלל מתקינים שרת Postgres אחד בכל מרכז נתונים ומגדירים אותם במצב שכפול Master-Standby. בדוגמה הזו, מרכז הנתונים 1 מכיל את שרת Postgres הראשי ומרכז הנתונים 2 מכיל את שרת Postgres המשני. מידע נוסף זמין במאמר הגדרת רפליקציה של המתנה ראשית ל-Postgres.
- רשומת DNS אחת שמפנה למופע אחד של SSO. לדוגמה, יוצרים רשומת DNS בפורמט הבא, שמפנה למכונה של ה-SSO במרכז הנתונים הראשון:
my-sso.domain.com => apigee-sso-dc1-ip-or-lb
- פרטי כניסה מסונכרנים של קורא OpenLDAP. אם אתם משתמשים ב-OpenLDAP הפנימי, אתם צריכים לוודא ששני מרכזי הנתונים משתמשים בדיוק באותו
SSO_READER_PWאו משתפים את אותו קובץsso-reader.keyכדי למנוע חוסר סנכרון של האשכול במהלך ההגדרה.
כשמגדירים את ה-SSO ב-Apigee בכל מרכז נתונים, מפנים את שתי ההגדרות ל-Postgres Master במרכז נתונים 1:
## Postgres configuration
PG_HOST=IP_or_DNS_of_PG_Master_in_DC1
PG_PORT=5432בנוסף, צריך להגדיר את שני מרכזי הנתונים כך שישתמשו ברשומת ה-DNS המשותפת ככתובת ה-URL של הגורם המנפיק שנגישה לציבור. הסקריפט של setup-sso יוצר באופן אוטומטי את כתובת ה-URL של המנפיק ומוסיף את היציאה, לכן צריך להגדיר את כתובת ה-URL המדויקת ישירות ב-/opt/apigee/customer/application/openldap.properties במקום ב-/opt/silent.conf כדי למנוע את הוספת היציאה אם היא לא נדרשת:
# Externally accessible URL of the Apigee SSO
etc_sso_config_issuer_url=https://my-sso.domain.comטיפול במעבר לגיבוי במקרה של כשל ב-SSO
אם מודול SSO ב-Apigee (או Postgres Master שלו) במרכז נתונים 1 מושבת, אפשר לעבור למופע SSO במרכז נתונים 2 בלי לאבד סשנים פעילים של OAuth:
- ממירים את שרת ה-Postgres Standby במרכז הנתונים 2 ל-Master, כמו שמתואר במאמר טיפול במעבר לגיבוי (failover) של מסד נתונים של PostgreSQL.
- מעדכנים את רשומת ה-DNS כך ש-
my-sso.domain.comתפנה למכונה של ה-SSO במרכז הנתונים השני:my-sso.domain.com => apigee-sso-dc2-ip-or-lb
- מעדכנים את הקובץ
/opt/silent.confשל מודול SSO ב-Apigee במרכז נתונים 2 כך שיפנה לשרת ה-Postgres הראשי החדש במרכז נתונים 2:## Postgres configuration PG_HOST=IP_or_DNS_of_PG_Master_in_DC2 - מגדירים מחדש ומפעילים מחדש את מודול SSO ב-Apigee במרכז הנתונים 2 כדי לעדכן את החיבור באופן מקורי:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap setup-sso -f /opt/silent.conf