検索
連載

Keycloakのクラスタ環境を構成してみようKeycloak超入門(4)(3/3 ページ)

本連載では、近年注目されている認証プロトコル「OpenID Connect」をサポートするオープンソースのシングルサインオン(SSO)ソフトウェア「Keycloak」の活用方法を解説していきます。今回は、Keycloakのクラスタ環境を構成する方法を解説します。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
前のページへ |       

クラスタの動作を確認してみよう

 mod_clusterおよびKeycloakが起動すると、Apache HTTPDサーバに対して自動的にKeycloakに対するプロキシ設定が行われます。プロキシ設定を確認するには、「mod_cluster_manager」を利用します。

 httpdが動作しているサーバで「http://localhost:6666/mod_cluster-manager」にアクセスします(画面1)。

画面1
画面1 httpdが動作しているサーバで「http://localhost:6666/mod_cluster-manager」にアクセスした結果。2つのホストが認識されている

 画面1の内容から、mod_clusterに2つのホストが認識されていることが分かります。この状態で、「http://localhost/auth」にアクセスすると、Keycloakの画面が表示されます。

 この状態で画面操作を行いながらアクセスログを確認すると、リクエストが分散されていることが分かります。

  • アクセスログ(keycloak-01)
127.0.0.1  - - [18/Dec/2017:16:58:46 +0900] "GET /auth/admin/realms HTTP/1.1" 200 5109
127.0.0.1  - - [18/Dec/2017:16:58:48 +0900] "GET /auth/admin/realms HTTP/1.1" 200 5109
127.0.0.1  - - [18/Dec/2017:16:58:51 +0900] "GET /auth/admin/realms/demo/client-templates HTTP/1.1" 200 2
127.0.0.1  - - [18/Dec/2017:16:58:51 +0900] "GET /auth/admin/realms HTTP/1.1" 200 5109
127.0.0.1  - - [18/Dec/2017:16:58:51 +0900] "GET /auth/admin/realms/demo/clients HTTP/1.1" 200 13788

  • アクセスログ(keycloak-02)
127.0.0.1  - - [18/Dec/2017:16:58:48 +0900] "GET /auth/admin/realms/demo HTTP/1.1" 200 2436
127.0.0.1  - - [18/Dec/2017:16:58:48 +0900] "GET /auth/admin/realms/demo/clients?viewableOnly=true HTTP/1.1" 200 13788
127.0.0.1  - - [18/Dec/2017:16:58:50 +0900] "POST /auth/realms/master/protocol/openid-connect/token HTTP/1.1" 200 3319
127.0.0.1  - - [18/Dec/2017:16:58:50 +0900] "GET /auth/admin/realms/demo HTTP/1.1" 200 2436
127.0.0.1  - - [18/Dec/2017:16:58:50 +0900] "GET /auth/admin/realms/demo/clients/a8cbdfe1-23ff-4750-aadc-cc7fd41797b4 HTTP/1.1" 200 2672

 次に、フェイルオーバー機能を試すために、片方のKeycloakサーバでプロセスを停止します。片方のプロセスを停止した場合でも、セッション情報などが共有されているため、引き続き同じセッションで接続できることが確認できます。

 以上で2つのKeycloakサーバがクラスタ化されていることが確認できました。今回は単純な構成で構築を行いましたが、「マルチキャストが利用できない場合の構成」「複数データセンター間での構成」など、環境に合わせたさまざまな構成でクラスタ環境を構築できるようになっています。詳しくはKeycloakのドキュメントや、WildFlyのドキュメントを参照してください。

 次回は、Keycloakで外部アイデンティティープロバイダーと連携する方法を解説します。

筆者紹介

茂木 昂士(もぎ たかし)

株式会社日立製作所 OSSソリューションセンタ所属。これまではソフトウェアエンジニアとしてストレージやサーバの管理ソフトウェア開発に従事してきた。現在は、主にアイデンティティー管理OSSやAPI管理OSSの検証、導入支援を行っている。


Copyright © ITmedia, Inc. All Rights Reserved.

前のページへ |       
ページトップに戻る