LoginSignup
0
0

More than 1 year has passed since last update.

AWSにKeycloak立ててみる

Posted at

Keycloak初心者ですが、AWSにインストールしてみたいなぁと思いまして試行錯誤しております。

一番参考にしたのは、唯一の日本語書籍である以下の本です。

『認証と認可 Keycloak入門 OAuth/OpenID Connectに準拠したAPI認可とシングルサインオンの実現』

【動機】

私は中小企業に勤務していますが、いくつかの社内開発のWEBシステムがあります。
シングルサインオンはおろか、IDパスワードも個別のWebシステム毎に登録されており、バラバラです。
今後IT化を進める上で、IDパスワードの一元管理が重要と思っているからです。

Keycloak-donyu-1.JPG

Keycloak-donyu-2.JPG

やりたい事は、各システムに実装しているログインの仕組みを外して、Keycloakで一元管理です。
まだKeycloak環境構築で試行錯誤している段階なので、アプリの改修の仕方はわかっておりません。
Keycloakは色々なユースケース(使い方)があるそうですが、一番簡単そうなリバースプロキシ型を採用します。

(acme.comの所は、ご自分のドメインに適宜読み替えてください。余談ですが、実際に、このドメインがある事を今知りました)

【つまづきポイント1】

最初慣れているAmazonLinux2で、サーバー構築を始めたのですが、Apacheのモジュールのインストールの所で、わからなくなってしまいました。

初心者のため、『認証と認可 Keycloak入門』この本になるべく合わせるのが良いと考えて、ubuntuで、EC2インスタンス作成から、やり直しました。

インスタンス作ったは、いいが、ログインできない!

AmazonLinuxだと ec2-userでログインしますが、OSとしてubuntuを選択した際は、ec2-userの代わりにubuntuと入力する必要があるんですね。知りませんでした。

【つまづきポイント2】

最初『認証と認可 Keycloak入門』を参考にサーバー構築を進めていたのですが、この本では、localhostと書いてあって実際にドメイン名を取って、どうするの説明が書かれていません。

検索していたところ、以下の記事が私のやりたい事に近い事がわかりました。
こちらを参考にさせてもらいました。

↑こちらの記事です。
参考にしたQiitaの記事と、上の方に書いてあるAfterの図のポート番号が違っているのは、『認証と認可 Keycloak入門』に合わせてインストールしていたため、ポート番号が本に書かれているのに、沿っています。

【つまづきポイント3】

参考にしたQiita記事では kc-httpd.example.comが 80(http)となっております。
私は両方ともhttpsにしたかったのですが、「ロードバランサーって、2つ必要なの?」と思いました。
東京リージョンのロードバランサー約19ドル。中小企業なので、なるべく月額コストは、おさえさえたいところ。社内開発の社内システムなので、同時接続数も、たかが知れています。

調べたところ、ターゲットグループを2つ作る事で、Afterの図のような構成が取れる事がわかりました。
1つのロードバランサーの料金で運用できそうです。
ELB(ALB)の所で、https → http 変換をしています。

【つまづきポイント4】

『認証と認可 Keycloak入門』では、データベースの変更について、あまり記載がありません。
postgresqlを推奨している様子ですが、バージョンも書いてありません。

検索していたところ、keycloak 本家のドキュメントに記載がありました。

どれにしようか、かなり迷いますが、mariadb Ver10にしてみます。

次は、Undertow request failed HttpServerExchange{ GET /management}:こんな
エラーが出てきました。

検索したところ、以下の記事がありました。

JDKを 11.0.14にすると、発生しなくなるそうです。
まだローカル環境(Windows)でしか試していませんが、たしかに発生しなくなりました。

本日は、ここまで。
最後までお読みいただきありがとうございました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0