概要
AWSのEC2インスタンス上にKeycloakをスタンドアロン(1台構成)で構築し、WEBコンソールにアクセスできるようにするまでの手順をまとめました。
2022年10月6日 追記
この記事は、2022年10月時点で非推奨とされているWildFly版を対象としています。
新しいQuarkus版のインストール手順は、下記の記事をご覧ください。
Keycloakインストール手順 Quarkus版
前提
- 本稿で使用するインスタンスタイプ、ソフトウェアバージョン、その他設定は以下の通りです。
- OS
- CentOS 7 (x86_64) - with Updates HVM
- インスタンスタイプ
- t2.micro
- セキュリティグループ
- 次の通りであること。
- OS
タイプ | プロトコル | ポート範囲 | ソース | |
---|---|---|---|---|
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/
以上でインストールは完了です。
- 閲覧数 4647
コメントを追加