Keycloakサーバの構築

🔲 Keycloakサーバの構築

Keycloakのサーバーを構築しましょう。keycloakはJavaで記述されていますので、Javaがインストール済みの環境であれば、WindowsやLinuxなどでも手軽にインストールし、動作させることが可能です。Java版のインストールについては、公式ページのセットアップ方法を参考にしてください。

本編では、最も手軽にインストール可能なDockerのコンテナ型仮想環境を使った構築手順について説明します。

動作環境の条件としては、メモリが4GB以上あれば、大丈夫です。Docker環境としては、最新版をインストールしてください。Ubuntuの場合、snapで簡単にインストール可能です。

docker環境のインストール

sudo snap install docker 
  • 動作環境
    • OS:Ubuntu24.04
    • Memory:4GB以上
    • Docker:Ver.24.05
    • Keycloak:Ver.24.04

Keycloakのインストール作業

下記dockerコマンドを実行することで、keycloakサーバがインストールされ、起動します。起動後「admin」のパスワードは、「admin」に設定されています。ポート番号は、8080です。

docker run -p 8080:8080 -e KEYCLOAK_ADMIN=admin -e KEYCLOAK_ADMIN_PASSWORD=admin quay.io/keycloak/keycloak:24.0.4 start-dev

実行後に「docker ps」コマンドを実行し、稼働状況を確認してください。

dcoker-compose.ymlの定義を以下に示します。

version: '2'
services:
  # keycloak
  keycloak:
    image: quay.io/keycloak/keycloak:24.0.4
    tty: true
    stdin_open: true
    ports:
        - 8080:8080
    environment:
      KEYCLOAK_ADMIN: admin
      KEYCLOAK_ADMIN_PASSWORD: admin
    command:
      - start-dev

Keyclopakサーバにwebブラウザでアクセスする

Keycloakが正常にインストール後、起動を確認したら、次に管理画面にWebブラウザでアクセスしてみましょう。

「http://localhost:8080」で管理画面を表示することが可能です。

keycloakで採用されている内部のデータベースについて

keycloak内部では、Javaベースの組み込み型データベースH2が採用されています。H2は軽量で高速処理が可能な他、インストールも不要なため、初期段階では便利なデータベースです。ただし、大規模な環境や高トラフィックのシステムには適していませんので、データ量が増えると性能が低下する可能性があります。従って、プロダクション環境には適していませんので、運用が決まった段階で、下記のデータベースへの切り替えが必要です。

推奨されるデータベースは?

推奨されるデータベースとしては、PostgreSQL、MySQL、Oracleなど多数のデータベースが利用可能です。