今日やること
OpenAMを2台構成でセットアップしてみます。
環境
先日まで使っていた環境はおいておいて、別の仮想マシンを使用します。
- 1号機
- CentOS 6.8 (Vagrant)
- Memory 1024 MB
- FQDN iam01.example.com
- 2号機
- CentOS 6.8 (Vagrant)
- Memory 1024 MB
- FQDN iam02.example.com
事前準備
Advent Calendarの2日目とあまり手順は変わりません。
まずは、名前解決をお互いにできるようにします。
// iam01,iam02の両方で実施
diff /etc/hosts{,.org}
3,5d2
<
< 192.168.33.110 iam01.example.com
< 192.168.33.120 iam02.example.com
ホストネームも変えておきます。
// iam01で実施
hostname iam01.example.com
diff /etc/sysconfig/network{,.org}
2,3c2
< #HOSTNAME=localhost.localdomain
< HOSTNAME=iam01.example.com
---
> HOSTNAME=localhost.localdomain
// iam02で実施
hostname iam02.example.com
diff /etc/sysconfig/network{,.org}
2,3c2
< #HOSTNAME=localhost.localdomain
< HOSTNAME=iam02.example.com
---
> HOSTNAME=localhost.localdomain
openamユーザーを作ります。
// iam01,iam02の両方で実施
useradd -s /sbin/nologin -d /opt/openam openam
Tomcatの準備
OpenJDKをインストールします。
// iam01,iam02の両方で実施
yum -y install java-1.8.0-openjdk
TomcatをDLして、配置します。
// iam01,iam02の両方で実施
wget http://ftp.riken.jp/net/apache/tomcat/tomcat-8/v8.0.39/bin/apache-tomcat-8.0.39.zip -P /opt/
unzip /opt/apache-tomcat-8.0.39.zip -d /opt/
JAVA_OPTSを設定します。
// iam01,iam02の両方で実施
cat /opt/tomcat/bin/setenv.sh
#!/bin/sh
JAVA_OPTS="-server -Xmx1024m"
export JAVA_OPTS
Apacheの準備
今回もフロントエンドにApacheをたてます。
Apacheをインストールします。
// iam01,iam02の両方で実施
sudo yum -y install httpd mod_ssl
AJPの設定をいれます。
// iam01,iam02の両方で実施
cat /etc/httpd/conf.d/openam.conf
Proxypass / ajp://localhost:8009/
Apacheを再起動します
// iam01,iam02の両方で実施
service httpd start
OpenAMのデプロイ
なんとまぁ、Advent Calendarの2日目ではDLできてたんですが、WARファイルがDLできなくなってます・・・。
(なんだか、ソースのTrunkも非公開になった?????)
仕方ないので、少し古いビルドですが、バージョン13を下記のサイトからダウンロードします。
ダウンロード後のWARは/home/vagrant/OpenAM-13.0.0.war
に配置します。
Tomcatのwebappsに配置します。
// iam01,iam02の両方で実施
cp /home/vagrant/OpenAM-13.0.0.war /opt/tomcat/webapps/openam.war
権限を変更します。
// iam01,iam02の両方で実施
chown -R openam. /opt/tomcat/
chmod +x /opt/tomcat/bin/*.sh
Tomcatを起動します。
sudo -u openam /opt/tomcat/bin/startup.sh
1号機のセットアップ
まず、iam01のセットアップです。iam01のURL(http://iam01.example.com/openam/config/options.htm
)にアクセスします。
設定はAdvent Calendarの2日目とあまり変わりませんが、サイト設定の詳細に負荷分散装置のURLとフェイルオーバーの設定の有効化の設定をいれます。
2号機のセットアップ
続いて、iam02のセットアップです。iam02のURL(http://iam01.example.com/openam/config/options.htm
)にアクセスします。
こちらは、設定ストアの設定画面にて、iam01の設定情報を参照する設定を行います。サーバーURLにiam01のURLを入力します。
負荷分散装置
フロントに置いている負荷分散装置については、あまり触れませんが、〇〇がいいみたいなのは無いみたいです。
ただ、ステートフルの構成の場合、フェイルオーバーの設定を入れていても、都度別サーバーに振られるのは気持ちが悪い気がするので、Sticky Sessionの設定は入れておいた方がよさそうですね。ちなみに私はHAProxyで負荷分散を仕込むのが好きです。(今回は業務内での検証なので、検証用のLB製品をつかっています)
構成の確認
設定が完了後、LB経由でOpenAMにサインインし、設定 => サーバーおよびサイトを見ると、iam01とiam02という2つのサーバーが、iamhaという1つのサイトに収まっていることが確認できます。
〆
今日は手順を掲載した感じになりましたね。
冗長構成ってセットアップするのが大変な印象があるのですが、ウィザード形式でフェイルオーバー設定まで仕込めるってのは便利ですね。
今日はこのへんで!
ばい!