Anda menginstal beberapa instance Apigee SSO untuk ketersediaan tinggi dalam dua skenario:
- Dalam lingkungan pusat data tunggal, instal dua instance Apigee SSO untuk membuat lingkungan ketersediaan tinggi, yang berarti sistem akan terus beroperasi jika salah satu modul SSO tidak berfungsi.
- Di lingkungan dengan dua pusat data, instal Apigee SSO di kedua pusat data agar sistem terus beroperasi jika Apigee SSO di salah satu pusat data mengalami kegagalan.
Menginstal dua modul Apigee SSO di pusat data yang sama
Anda men-deploy dua instance Apigee SSO, pada node apigee-openldap yang berbeda, di satu pusat data untuk mendukung ketersediaan tinggi. Dalam skenario ini:
- Kedua instance Apigee SSO harus terhubung ke server Postgres yang sama. Apigee merekomendasikan penggunaan server Postgres khusus untuk Apigee SSO, bukan server Postgres yang sama dengan yang Anda instal dengan Edge. Kedua instance harus menggunakan database
apigee_dexyang sama untuk persistensi status. - Tidak diperlukan distribusi kunci JWT manual: Tidak seperti komponen UAA lama, Apigee SSO yang dimodernisasi menyimpan dan menyinkronkan JSON Web Key Set (JWKS) dan status OAuth2 secara native di database PostgreSQL bersama. Anda tidak perlu menyalin kunci penandatanganan secara manual di seluruh node.
- Sinkronisasi kredensial untuk OpenLDAP internal: Jika Anda menggunakan OpenLDAP internal default, Apigee SSO menggunakan akun layanan hanya baca khusus (
cn=sso-reader). Untuk HA (Node 2), admin harus menetapkanSSO_READER_PWyang sama di/opt/silent.confpada kedua node, atau menyalin/opt/apigee/data/apigee-openldap/sso-reader.keydari Node 1 ke Node 2 sebelum menjalankansetup-ssodi Node 2.Untuk menyalin file kunci secara manual, jalankan perintah berikut di Node 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
- Anda memerlukan load balancer di depan dua instance Apigee SSO:
- Konfigurasi load balancer untuk melakukan health check TCP atau HTTP pada SSO. Untuk HTTP, sertakan
/healthz:http_or_https://edge_sso_IP_DNS:9099/healthz
Tentukan port seperti yang ditetapkan oleh Apigee SSO. Port 9099 adalah port default.
- Beberapa setelan load balancer bergantung pada apakah Anda mengaktifkan HTTPS di Apigee SSO. Lihat bagian berikut untuk mengetahui informasi selengkapnya.
- Konfigurasi load balancer untuk melakukan health check TCP atau HTTP pada SSO. Untuk HTTP, sertakan
Akses HTTP ke Apigee SSO
Jika Anda menggunakan akses HTTP ke Apigee SSO, konfigurasi load balancer untuk:
- Gunakan mode HTTP untuk terhubung ke Apigee SSO.
- Memproses di port yang sama dengan Apigee SSO.
Secara default, Apigee SSO memproses permintaan HTTP di port 9099. Secara opsional, Anda dapat menggunakan
SSO_PUBLIC_URL_PORT dalam file /opt/silent.conf untuk menetapkan port. Jika Anda menggunakan SSO_PUBLIC_URL_PORT
untuk mengubah port dari default, pastikan load balancer memproses port
tersebut.
Misalnya, di setiap instance SSO, Anda menetapkan port ke 9033 dengan menambahkan baris berikut ke file konfigurasi:
SSO_PUBLIC_URL_PORT=9033
Kemudian, Anda mengonfigurasi load balancer untuk memproses port 9033 dan meneruskan permintaan ke instance SSO di port 9033. URL Penerbit publik Apigee SSO dalam skenario ini adalah:
http://LB_DNS_NAME:9033
Akses HTTPS ke Apigee SSO
Anda dapat mengonfigurasi HA dengan HTTPS menggunakan salah satu dari dua mode berikut. Dalam kedua skenario, ikuti langkah-langkah penyiapan mendetail di Mengonfigurasi Apigee SSO untuk akses HTTPS.
Mode 1: Load balancer menghentikan TLS (SSL_PROXY)
Jika load balancer Anda menghentikan koneksi TLS, load balancer harus meneruskan traffic HTTP biasa ke instance Apigee SSO.
- Tetapkan
SSO_PUBLIC_URL_SCHEME=httpsdanSSO_PUBLIC_URL_PORT=443(atau port HTTPS publik load balancer Anda) di file/opt/silent.confAnda. - Konfigurasikan load balancer untuk menggunakan mode HTTP agar terhubung ke instance Apigee SSO backend.
- Konfigurasikan load balancer untuk meneruskan permintaan ke instance Apigee SSO di port binding HTTP lokalnya (default:
9099).
Mode 2: Apigee SSO menghentikan TLS (SSL_TERMINATION)
Jika Anda ingin instance Apigee SSO menghentikan koneksi TLS secara langsung, load balancer harus meneruskan traffic terenkripsi ke instance tersebut.
- Tetapkan
SSO_PUBLIC_URL_SCHEME=httpsdanSSO_PUBLIC_URL_PORT=9443(atau port aman yang Anda pilih) di file/opt/silent.conf. - Konfigurasikan load balancer untuk menggunakan mode TCP (bukan mode HTTP) agar terhubung ke backend, sehingga Apigee SSO dapat menghentikan TLS.
- Konfigurasikan load balancer untuk memproses port yang sama dengan Apigee SSO, dan teruskan permintaan ke instance Apigee SSO di port amannya (misalnya,
9443).
Menginstal Apigee SSO di beberapa pusat data
Dalam lingkungan beberapa pusat data, Anda menginstal instance Apigee SSO (melalui apigee-openldap) di setiap pusat data.
Satu instance SSO menangani semua traffic. Jika instance tersebut tidak berfungsi, Anda dapat
mengalihkan traffic ke instance SSO kedua.
Sebelum menginstal Apigee SSO di dua pusat data, Anda memerlukan hal berikut:
- Alamat IP atau nama domain server Master Postgres.
Di lingkungan beberapa pusat data, Anda biasanya menginstal satu server Postgres di setiap pusat data dan mengonfigurasinya dalam mode replikasi Master-Standby. Untuk contoh ini, pusat data 1 berisi server Postgres Master dan pusat data 2 berisi Standby. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan replikasi utama-standby untuk Postgres.
- Satu entri DNS yang mengarah ke satu instance SSO. Misalnya, Anda membuat entri DNS
dalam formulir berikut, yang mengarah ke instance SSO di pusat data 1:
my-sso.domain.com => apigee-sso-dc1-ip-or-lb
- Kredensial Pembaca OpenLDAP yang Disinkronkan. Jika menggunakan OpenLDAP internal, Anda harus memastikan kedua pusat data menggunakan
SSO_READER_PWyang sama persis atau berbagi filesso-reader.keyyang sama untuk mencegah desinkronisasi cluster selama penyiapan.
Saat mengonfigurasi SSO Apigee di setiap pusat data, Anda mengarahkan kedua konfigurasi ke Postgres Master di pusat data 1:
## Postgres configuration
PG_HOST=IP_or_DNS_of_PG_Master_in_DC1
PG_PORT=5432Anda juga harus mengonfigurasi kedua pusat data untuk menggunakan entri DNS bersama sebagai URL Penerbit yang dapat diakses secara publik. Karena skrip setup-sso otomatis membuat URL penerbit dan menambahkan port, Anda harus menetapkan URL yang tepat secara langsung di /opt/apigee/customer/application/openldap.properties, bukan /opt/silent.conf, untuk mencegah port ditambahkan jika tidak diperlukan:
# Externally accessible URL of the Apigee SSO
etc_sso_config_issuer_url=https://my-sso.domain.comMenangani failover SSO
Jika instance Apigee SSO (atau Postgres Master-nya) di pusat data 1 tidak berfungsi, Anda dapat beralih ke instance SSO di pusat data 2 tanpa kehilangan sesi OAuth yang aktif:
- Konversikan server Postgres Standby di pusat data 2 ke Master seperti yang dijelaskan dalam Menangani failover database PostgreSQL.
- Perbarui data DNS Anda agar mengarahkan
my-sso.domain.comke instance SSO di pusat data 2:my-sso.domain.com => apigee-sso-dc2-ip-or-lb
- Perbarui file
/opt/silent.confuntuk SSO Apigee di pusat data 2 agar mengarah ke server Master Postgres baru di pusat data 2:## Postgres configuration PG_HOST=IP_or_DNS_of_PG_Master_in_DC2 - Konfigurasi ulang dan mulai ulang SSO Apigee di pusat data 2 untuk memperbarui koneksinya secara native:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap setup-sso -f /opt/silent.conf