AWSにKeycloakをスタンドアロンでインストールする手順

  •  
 
ホス に投稿

タグ

概要

AWSのEC2インスタンス上にKeycloakをスタンドアロン(1台構成)で構築し、WEBコンソールにアクセスできるようにするまでの手順をまとめました。

2022年10月6日 追記

この記事は、2022年10月時点で非推奨とされているWildFly版を対象としています。

新しいQuarkus版のインストール手順は、下記の記事をご覧ください。
Keycloakインストール手順 Quarkus版

前提

  • 本稿で使用するインスタンスタイプ、ソフトウェアバージョン、その他設定は以下の通りです。
    • OS
      • CentOS 7 (x86_64) - with Updates HVM
    • インスタンスタイプ
      • t2.micro
    • セキュリティグループ
      • 次の通りであること。
  タイプ プロトコル ポート範囲 ソース
SSHでのアクセス用 SSH TCP 22 ※SSHアクセスする際のIPアドレス
ブラウザからのアクセス用 カスタムTCPルール TCP 8080 ※ブラウザでアクセスする際のIPアドレス
(アクセス元を制限しない場合は 0.0.0.0/0)
  • Keycloakのバージョン
    • keycloak 3.4.3.Final

Keycloakインストール手順

1.必要なパッケージのインストール

$ sudo yum update -y
$ sudo yum install -y wget java-1.8.0-openjdk
$ sudo wget https://downloads.jboss.org/keycloak/3.4.3.Final/keycloak-3.4.3.Final.tar.gz
$ sudo tar zxfvp keycloak-3.4.3.Final.tar.gz -C /opt 

 

2. Keycloakのサービスを作成する

ログ用のフォルダを作成

$ sudo mkdir /var/log/keycloak

keycloak.serviceの作成

$ sudo vim /etc/systemd/system/keycloak.service

[Unit]
Description=Jboss Application Server After=network.target
[Service]
Type=idle Environment=JBOSS_HOME=/opt/keycloak-3.4.3.Final
JBOSS_LOG_DIR=/var/log/keycloak "JAVA_OPTS=-server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true"
User=centos
Group=centos
ExecStart=/opt/keycloak-3.4.3.Final/bin/standalone.sh -c standalone.xml TimeoutStopSec=600
[Install]
WantedBy=multi-user.target

Keycloakのサービスを有効化

$ sudo systemctl daemon-reload
$ sudo systemctl enable keycloak

 

3. 設定の変更

IPアドレスを書き換える

$ cd /opt/keycloak-3.4.3.Final/
$ sudo vi standalone/configuration/standalone.xml

<interface name="management">
   <inet-address value="${jboss.bind.address.management:<EC2インスタンスのプライベートIPアドレス>}"/>
 </interface>
 <interface name="public">
   <inet-address value="${jboss.bind.address:<EC2インスタンスのプライベートIPアドレス>}"/>
</interface>

 

4. keycloakの起動

$ sudo systemctl start keycloak

 

5. 管理者アカウントの作成

$ ./bin/add-user-keycloak.sh -r master -u <Keycloak管理者ID(任意のもの)> -p <Keycloak管理者パスワード(任意のもの)>

Keycloakを再起動

$ systemctl restart keycloak

 

6. HTTPによるアクセスを許可

Keycloakにログイン

$ ./bin/kcadm.sh config credentials --server http://<EC2インスタンスのプライベートIPアドレス>:8080/auth --realm master --user <Keycloak管理者ID> --password <Keycloak管理者パスワード>

外部からのアクセス時にHTTPでアクセスできるように設定を変更する

$ ./bin/kcadm.sh update realms/master -s sslRequired=NONE

ブラウザでKeycloakにログインできることを確認。

  • http://<EC2インスタンスのグローバルIPアドレス>:8080/auth/admin/

Keycloakログイン画面の画像

 


以上でインストールは完了です。

コメントを追加

プレーンテキスト

  • HTMLタグは利用できません。
  • 行と段落は自動的に折り返されます。
  • ウェブページのアドレスとメールアドレスは自動的にリンクに変換されます。
CAPTCHA
この質問はあなたが人間の訪問者であるかどうかをテストし、自動化されたスパム送信を防ぐためのものです。