ติดตั้ง SSO ของ Apigee เพื่อให้มีความพร้อมใช้งานสูง

คุณจะติดตั้ง Apigee SSO หลายอินสแตนซ์สำหรับความพร้อมใช้งานสูงใน 2 สถานการณ์ต่อไปนี้

  • ในสภาพแวดล้อมศูนย์ข้อมูลเดียว ให้ติดตั้งอินสแตนซ์ Apigee SSO 2 อินสแตนซ์เพื่อสร้าง ความพร้อมใช้งาน หมายความว่าระบบจะทำงานต่อหากมี SSO ของ Apigee โมดูลต่างๆ ลดลง
  • ในสภาพแวดล้อมที่มีศูนย์ข้อมูล 2 แห่ง ให้ติดตั้ง Apigee SSO ในศูนย์ข้อมูลทั้งสอง เพื่อให้ ระบบจะยังคงทำงานต่อไปหากโมดูล SSO ของ Apigee ไม่ทำงาน

ติดตั้งโมดูล SSO ของ Apigee 2 โมดูลในตัวเดียวกัน ศูนย์ข้อมูล

คุณติดตั้งใช้งานอินสแตนซ์ Apigee SSO 2 รายการในโหนดที่แตกต่างกันในศูนย์ข้อมูลแห่งเดียวเพื่อรองรับความพร้อมใช้งานสูง ในสถานการณ์นี้จะมีผลดังต่อไปนี้

  • อินสแตนซ์ Apigee SSO ทั้ง 2 รายการต้องเชื่อมต่อกับเซิร์ฟเวอร์ Postgres เดียวกัน Apigee ขอแนะนำ ใช้เซิร์ฟเวอร์ Postgres เฉพาะสำหรับ SSO ของ Apigee ไม่ใช่เซิร์ฟเวอร์ Postgres เดียวกันกับที่คุณใช้ ติดตั้งด้วย Edge แล้ว
  • อินสแตนซ์ SSO ของ Apigee ทั้ง 2 รายการต้องใช้คู่คีย์ JWT เดียวกันตามที่ระบุโดยพร็อพเพอร์ตี้ SSO_JWT_SIGNING_KEY_FILEPATH และ SSO_JWT_VERIFICATION_KEY_FILEPATH ในไฟล์การกําหนดค่า โปรดดูหัวข้อติดตั้งและกำหนดค่า SSO ของ Apigee เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่าคุณสมบัติเหล่านี้
  • คุณต้องมีตัวจัดสรรภาระงานที่อยู่หน้า SSO ของ Apigee 2 อินสแตนซ์ดังนี้
    • โหลดบาลานซ์ต้องรองรับการคงสถานะของคุกกี้ที่แอปพลิเคชันสร้างขึ้น และคุกกี้เซสชันต้องตั้งชื่อว่า JSESSIONID
    • กำหนดค่าตัวจัดสรรภาระงานเพื่อดำเนินการตรวจสอบประสิทธิภาพการทำงานของ TCP หรือ HTTP ใน SSO ของ Apigee สำหรับ TCP ให้ใช้ URL ของ SSO ของ Apigee ดังนี้
      http_or_https://edge_sso_IP_DNS:9099

      ระบุพอร์ตตามที่ Apigee SSO กำหนด พอร์ตเริ่มต้นคือ 9099

      สำหรับ HTTP ให้รวม /healthz ดังนี้

      http_or_https://edge_sso_IP_DNS:9099/healthz
    • การตั้งค่าตัวจัดสรรภาระงานบางอย่างจะขึ้นอยู่กับว่าคุณเปิดใช้ HTTPS ใน Apigee SSO หรือไม่ ดูข้อมูลเพิ่มเติมได้ในส่วนต่อไปนี้

การเข้าถึง HTTP ไปยัง Apigee SSO

หากคุณใช้การเข้าถึง HTTP กับ Apigee SSO ให้กําหนดค่าตัวจัดสรรภาระงานดังนี้

  • ใช้โหมด HTTP เพื่อเชื่อมต่อกับ SSO ของ Apigee
  • ฟังในพอร์ตเดียวกับ Apigee SSO

    โดยค่าเริ่มต้น Apigee SSO จะฟังคำขอ HTTP บนพอร์ต 9099 คุณใช้ SSO_TOMCAT_PORT เพื่อตั้งค่าพอร์ต SSO ของ Apigee หรือไม่ก็ได้ หากคุณใช้ SSO_TOMCAT_PORT เพื่อเปลี่ยนพอร์ต SSO ของ Apigee จากค่าเริ่มต้น ตรวจสอบว่าตัวจัดสรรภาระงานจะฟังคำสั่งนั้น พอร์ต

ตัวอย่างเช่น ในอินสแตนซ์ SSO ของ Apigee แต่ละรายการ คุณกำหนดพอร์ตเป็น 9033 ได้โดยการเพิ่มค่าต่อไปนี้ลงในส่วน ไฟล์การกำหนดค่า:

SSO_TOMCAT_PORT=9033

จากนั้นให้กําหนดค่าตัวจัดสรรภาระงานให้ฟังพอร์ต 9033 และส่งต่อคําขอไปยังอินสแตนซ์ SSO ของ Edge ในพอร์ต 9033 URL สาธารณะของ Apigee SSO ในสถานการณ์นี้คือ

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

นอกจากนี้ คุณยังเลือกตั้งค่าพอร์ตที่ Apigee ของ Apigee จะใช้สำหรับการเข้าถึง HTTPS ได้อีกด้วย

SSO_TOMCAT_PORT=9443

จากนั้นกำหนดค่าตัวจัดสรรภาระงานเป็น

  • ใช้โหมด TCP ไม่ใช่โหมด HTTP เพื่อเชื่อมต่อกับ SSO ของ Apigee
  • ฟังบนพอร์ตเดียวกับ SSO ของ Apigee ตามที่กำหนดโดย SSO_TOMCAT_PORT

จากนั้นกําหนดค่าตัวจัดสรรภาระงานให้ส่งต่อคําขอไปยังอินสแตนซ์ SSO ของ Apigee ในพอร์ต 9433 URL สาธารณะของ Apigee SSO ในสถานการณ์นี้คือ

https://LB_DNS_NAME:9443

ติดตั้ง Apigee SSO ในศูนย์ข้อมูลหลายแห่ง

ในสภาพแวดล้อมศูนย์ข้อมูลหลายแห่ง คุณต้องติดตั้งอินสแตนซ์ Apigee SSO ในแต่ละศูนย์ข้อมูล จากนั้นอินสแตนซ์ SSO ของ Apigee 1 อินสแตนซ์จะจัดการการรับส่งข้อมูลทั้งหมด ถ้าอินสแตนซ์ SSO ของ Apigee ไม่ทำงาน ให้ทำดังนี้ เปลี่ยนเป็นอินสแตนซ์ SSO ของ Apigee ที่ 2

ก่อนติดตั้ง Apigee SSO ในศูนย์ข้อมูล 2 แห่ง คุณต้องมีสิ่งต่อไปนี้

  • ที่อยู่ IP หรือชื่อโดเมนของเซิร์ฟเวอร์ Master Postgres

    ในสภาพแวดล้อมของศูนย์ข้อมูลหลายแห่ง โดยทั่วไปคุณจะติดตั้งเซิร์ฟเวอร์ Postgres 1 รายการในแต่ละข้อมูล Center และกำหนดค่าในโหมดการจำลอง Master-Standby สำหรับตัวอย่างนี้ data ศูนย์ 1 มีเซิร์ฟเวอร์หลัก Postgres และศูนย์ข้อมูล 2 จะมีไอคอนสแตนด์บาย ดูข้อมูลเพิ่มเติมได้ที่ตั้งค่าการจําลองข้อมูลแบบ Master-Standby สําหรับ Postgres

  • รายการ DNS รายการเดียวที่ชี้ไปยังอินสแตนซ์ SSO ของ Apigee 1 รายการ ตัวอย่างเช่น คุณสร้างรายการ DNS ในแบบฟอร์มด้านล่างซึ่งชี้ไปยังอินสแตนซ์ SSO ของ Apigee ในศูนย์ข้อมูล 1 ดังนี้
    my-sso.domain.com => apigee-sso-dc1-ip-or-lb
  • อินสแตนซ์ SSO ของ Apigee ทั้ง 2 รายการต้องใช้คู่คีย์ JWT เดียวกันตามที่ระบุโดยพร็อพเพอร์ตี้ SSO_JWT_SIGNING_KEY_FILEPATH และ SSO_JWT_VERIFICATION_KEY_FILEPATH ในไฟล์การกําหนดค่า ดูข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่าพร็อพเพอร์ตี้เหล่านี้ได้ที่ติดตั้งและกําหนดค่า Apigee SSO

เมื่อติดตั้ง SSO ของ Apigee ในแต่ละศูนย์ข้อมูล คุณต้องกำหนดค่าทั้ง 2 อย่างให้ใช้ Postgres Master ในศูนย์ข้อมูล 1:

## Postgres configuration
PG_HOST=IP_or_DNS_of_PG_Master_in_DC1
PG_PORT=5432

นอกจากนี้ คุณยังกำหนดค่าให้ทั้ง 2 ดาต้าเซ็นเตอร์ใช้รายการ 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

หาก Apigee SSO ในศูนย์ข้อมูล 1 หยุดทำงาน คุณสามารถเปลี่ยนไปใช้อินสแตนซ์ Apigee SSO ในศูนย์ข้อมูล 2 ได้โดยทำดังนี้

  1. แปลงเซิร์ฟเวอร์ Postgres Standby ในศูนย์ข้อมูล 2 เป็น Master ตามที่อธิบายไว้ในการจัดการเฟลโอเวอร์ของฐานข้อมูล PostgreSQL
  2. อัปเดตระเบียน DNS ให้ชี้ my-sso.domain.com ไปยังอินสแตนซ์ SSO ของ Apigee ในศูนย์ข้อมูล 2 ดังนี้
    my-sso.domain.com => apigee-sso-dc2-ip-or-lb
  3. อัปเดตไฟล์การกำหนดค่าสำหรับ SSO ของ Apigee ในศูนย์ข้อมูล 2 ให้ชี้ไปที่ Postgres Master ใหม่ เซิร์ฟเวอร์ในศูนย์ข้อมูล 2:
    ## Postgres configuration
    PG_HOST=IP_or_DNS_of_PG_Master_in_DC2
  4. รีสตาร์ท Apigee SSO ในศูนย์ข้อมูล 2 เพื่ออัปเดตการกำหนดค่า ดังนี้
    /opt/apigee/apigee-service/bin/apigee-service apigee-sso restart