برای دردسترس بودن بالا، Apigee SSO را نصب کنید

در دو سناریو، چندین نمونه از Apigee SSO را برای دسترسی بالا نصب می‌کنید:

  • در محیط مرکز داده تکی، دو نمونه Apigee SSO نصب کنید تا محیطی با دردسترس بودن بالا ایجاد کنید، یعنی اگر یکی از واحدهای SSO ازکار بیفتد، سیستم همچنان به کار خود ادامه می‌دهد.
  • در محیطی با دو مرکز داده، Apigee SSO را در هر دو مرکز داده نصب کنید تا اگر Apigee SSO در یکی از مراکز داده ازکار افتاد، سیستم به کار خود ادامه دهد.

نصب دو پیمانه Apigee SSO در یک مرکز داده

دو نمونه از Apigee SSO را در گره‌های apigee-openldap مختلف در یک مرکز داده واحد برای پشتیبانی از دسترسی بالا مستقر می‌کنید. در این سناریو:

  • هر دو نمونه Apigee SSO باید به یک سرور Postgres متصل باشند. ‫Apigee توصیه می‌کند از سرور Postgres اختصاصی برای «شناسایی یگانه Apigee» استفاده کنید و نه از همان سرور Postgres که با Edge نصب کرده‌اید. هر دو نمونه باید پایگاه داده apigee_dex را برای ماندگاری وضعیت هم‌رسانی کنند.
  • نیازی به توزیع دستی کلید JWT نیست: برخلاف مؤلفه قدیمی UAA،‏ Apigee SSO مدرن‌شده، «مجموعه‌های کلید وب JSON»‏ (JWKS) و وضعیت OAuth2 خود را به‌طور بومی در پایگاه داده PostgreSQL مشترک ذخیره و همگام‌سازی می‌کند. نیازی نیست کلیدهای امضا را به‌صورت دستی در گره‌ها کپی کنید.
  • همگام‌سازی اطلاعات کاربری برای OpenLDAP داخلی: اگر از OpenLDAP داخلی پیش‌فرض استفاده می‌کنید، Apigee SSO از حساب سرویس اختصاصی فقط خواندنی (cn=sso-reader) استفاده می‌کند. برای HA (گره ۲)، سرپرست باید SSO_READER_PW یکسان را در /opt/silent.conf در هر دو گره تنظیم کند، یا /opt/apigee/data/apigee-openldap/sso-reader.key را از گره ۱ به گره ۲ کپی کند قبل‌از اینکه setup-sso را در گره ۲ اجرا کند.

    برای کپی کردن دستی فایل کلید، فرمان‌های زیر را در «گره ۲» اجرا کنید:

    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
  • به ترازکننده بار در مقابل دو نمونه Apigee SSO نیاز دارید:
    • ترازکننده بار را پیکربندی کنید تا بررسی سلامت TCP یا HTTP را در SSO انجام دهد. برای HTTP، /healthz را اضافه کنید:
      http_or_https://edge_sso_IP_DNS:9099/healthz

      درگاه را همان‌طور که توسط Apigee SSO تنظیم شده است مشخص کنید. درگاه ۹۰۹۹ پیش‌فرض است.

    • برخی‌از تنظیمات متعادل‌کننده بار به این بستگی دارد که آیا HTTPS را در Apigee SSO فعال کرده‌اید یا نه. برای اطلاعات بیشتر، بخش‌های زیر را ببینید.

دسترسی HTTP به Apigee SSO

اگر از دسترسی HTTP به Apigee SSO استفاده می‌کنید، ترازکننده بار را برای موارد زیر پیکربندی کنید:

  • برای اتصال به Apigee SSO، از حالت HTTP استفاده کنید.
  • در همان درگاهی که Apigee SSO دارد گوش دهید.

به‌طور پیش‌فرض، Apigee SSO درخواست‌های HTTP را در درگاه ۹۰۹۹ گوش می‌دهد. به‌صورت اختیاری، می‌توانید از SSO_PUBLIC_URL_PORT در فایل /opt/silent.conf برای تنظیم درگاه استفاده کنید. اگر از SSO_PUBLIC_URL_PORT برای تغییر درگاه از پیش‌فرض استفاده کرده‌اید، مطمئن شوید که متعادل‌کننده بار روی آن درگاه گوش می‌دهد.

برای مثال، در هر نمونه SSO، درگاه را با افزودن کد زیر به فایل پیکربندی روی ۹۰۳۳ تنظیم می‌کنید:

SSO_PUBLIC_URL_PORT=9033

سپس ترازکننده بار را پیکربندی می‌کنید تا به درگاه ۹۰۳۳ گوش دهد و درخواست‌ها را به نمونه‌های SSO در درگاه ۹۰۳۳ بازارسال کند. نشانی وب عمومی «صادرکننده» Apigee SSO در این سناریو عبارت است از:

http://LB_DNS_NAME:9033

دسترسی HTTPS به Apigee SSO

می‌توانید HA را با HTTPS بااستفاده از یکی از دو حالت زیر پیکربندی کنید. در هر دو سناریو، مراحل راه‌اندازی دقیق در پیکربندی «ورود یکپارچه ورودی» Apigee برای دسترسی HTTPS را دنبال کنید.

حالت ۱: ترازکننده بار «امنیت لایه انتقال» را خاتمه می‌دهد (SSL_PROXY)

اگر متعادل‌کننده بار اتصال TLS را قطع کند، باید ترافیک HTTP ساده را به نمونه‌های Apigee SSO بازارسال کند.

  • SSO_PUBLIC_URL_SCHEME=https و SSO_PUBLIC_URL_PORT=443 (یا درگاه HTTPS عمومی متعادل‌کننده بارتان) را در فایل /opt/silent.conf تنظیم کنید.
  • ترازکننده بار را پیکربندی کنید تا از حالت HTTP برای اتصال به نمونه‌های Apigee SSO پشتیبان استفاده کند.
  • ترازکننده بار را پیکربندی کنید تا درخواست‌ها را به نمونه‌های Apigee SSO در درگاه اتصال HTTP محلی آن‌ها (پیش‌فرض: 9099) بازارسال کند.

حالت ۲: Apigee SSO به TLS پایان می‌دهد (SSL_TERMINATION)

اگر می‌خواهید نمونه‌های Apigee SSO مستقیماً اتصالات TLS را خاتمه دهند، متعادل‌کننده بار باید ترافیک رمزگذاری‌شده را به آن‌ها منتقل کند.

  • SSO_PUBLIC_URL_SCHEME=https و SSO_PUBLIC_URL_PORT=9443 (یا درگاه امن انتخابی‌تان) را در فایل /opt/silent.conf تنظیم کنید.
  • ترازکننده بار را برای استفاده از حالت TCP (نه حالت HTTP) برای اتصال به پس‌بک پیکربندی کنید، تا Apigee SSO بتواند TLS را خاتمه دهد.
  • توزیع‌کننده بار را پیکربندی کنید تا در همان درگاه Apigee SSO گوش دهد و درخواست‌ها را به نمونه‌های Apigee SSO در درگاه امن آن‌ها (برای نمونه، 9443) بازارسال کند.

نصب Apigee SSO در چندین مرکز داده

در محیطی با چند مرکز داده، یک نمونه Apigee SSO (ازطریق apigee-openldap) در هر مرکز داده نصب می‌کنید. یک نمونه «ورود به سیستم با یک حساب» همه ترافیک را مدیریت می‌کند. اگر آن نمونه ازکار بیفتد، می‌توانید ترافیک را به نمونه دوم «ورود به سیستم یکپارچه» تغییر دهید.

قبل‌از نصب Apigee SSO در دو مرکز داده، به موارد زیر نیاز دارید:

  • نشانی IP یا نام دامنه سرور Master Postgres.

    در محیطی با چند مرکز داده، معمولاً یک سرور Postgres در هر مرکز داده نصب می‌کنید و آن‌ها را در حالت تکرار Master-Standby پیکربندی می‌کنید. برای این مثال، مرکز داده ۱ حاوی سرور Postgres اصلی و مرکز داده ۲ حاوی آماده‌به‌کار است. برای اطلاعات بیشتر، راه‌اندازی تکثیر اولیه-آماده‌به‌کار برای Postgres را ببینید.

  • یک ورودی ساناد که به یک نمونه SSO اشاره می‌کند. برای مثال، ورودی ساناد را در فرم زیر ایجاد می‌کنید که به نمونه SSO در مرکز داده ۱ اشاره می‌کند:
    my-sso.domain.com => apigee-sso-dc1-ip-or-lb
  • اعتبارنامه خواننده ال‌دپ باز همگام‌سازی شد. اگر از OpenLDAP داخلی استفاده می‌کنید، باید مطمئن شوید که هر دو مرکز داده از SSO_READER_PW دقیقاً یکسان استفاده می‌کنند یا فایل sso-reader.key یکسانی را هم‌رسانی می‌کنند تا از ناهماهنگ شدن خوشه درطول راه‌اندازی جلوگیری شود.

هنگامی که Apigee SSO را در هر مرکز داده پیکربندی می‌کنید، هر دو پیکربندی را به Postgres Master در مرکز داده ۱ اشاره می‌کنید:

## Postgres configuration
PG_HOST=IP_or_DNS_of_PG_Master_in_DC1
PG_PORT=5432

همچنین باید هر دو مرکز داده را پیکربندی کنید تا از ورودی DNS مشترک به‌عنوان «نشانی وب صادرکننده» دردسترس عموم استفاده کنند. چون دستورگان setup-sso به‌طور خودکار نشانی وب صادرکننده را می‌سازد و درگاه را به آن اضافه می‌کند، باید نشانی وب دقیق را مستقیماً در /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

رسیدگی به انتقال خودکار به سیستم پشتیبان در «شناسایی یگانه»

If the Apigee SSO instance (or its Postgres Master) in data center 1 goes down, you can switch to the SSO instance in data center 2 without losing active OAuth sessions:

  1. سرور آماده‌به‌کار Postgres را در مرکز داده ۲ به «اصلی» تبدیل کنید، همان‌طور که در مدیریت کردن پایگاه داده PostgreSQL درصورت خرابی توضیح داده شده است.
  2. سوابق ساناد خود را به‌روز کنید تا my-sso.domain.com به نمونه SSO در مرکز داده ۲ اشاره کند:
    my-sso.domain.com => apigee-sso-dc2-ip-or-lb
  3. فایل /opt/silent.conf را برای Apigee SSO در مرکز داده ۲ به‌روز کنید تا به سرور Postgres Master جدید در مرکز داده ۲ اشاره کند:
    ## Postgres configuration
    PG_HOST=IP_or_DNS_of_PG_Master_in_DC2
  4. Apigee SSO را در مرکز داده ۲ دوباره پیکربندی و بازراه‌اندازی کنید تا اتصال آن به‌طور بومی به‌روز شود:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap setup-sso -f /opt/silent.conf