LoginSignup
4
5

More than 5 years have passed since last update.

ldapのマルチマスタ設定とELB越しにldaps通信設定

Last updated at Posted at 2015-12-08

備忘録です。

構成:

ldap1 <-- multi master replication --> ldap2 <-- ELB <-- read only(ssl) -- ldap-proxy1

こんなかんじで。

replication設定

とりあえずreplication関連の設定を抜粋してとっておきます。
(本物はchefでやっててattributeが散在でかなりわかりにくいので脳内整理したかっただけ)

ldap1:slapd.conf
# Global section
serverID    1
# syncrepl directive
syncrepl        rid=001
                provider="ldap://ldap2.hoge.com"
                bindmethod=simple
                binddn="uid=Rep,ou=System,dc=hoge,dc=com"
                credentials={SSHA}vt1Wi0m**********************
                searchbase="dc=hoge,dc=com"
                schemachecking=on
                type=refreshAndPersist
                retry="60 +"
mirrormode on
ldap2:slapd.conf
# Global section
serverID    2
# syncrepl directive
syncrepl        rid=001
                provider="ldap://ldap1.hoge.com"
                bindmethod=simple
                binddn="uid=Rep,ou=System,dc=hoge,dc=com"
                credentials={SSHA}vt1Wi0m**********************
                searchbase="dc=hoge,dc=com"
                schemachecking=on
                type=refreshAndPersist
                retry="60 +"
mirrormode on
ldap-proxy1:slapd.conf
# Global section
serverID    3
# syncrepl directive
syncrepl        rid=001
                provider="ldaps://elb.public.address:10636"
                bindmethod=simple
                binddn="uid=Rep,ou=System,dc=hoge,dc=com"
                credentials={SSHA}vt1Wi0m**********************
                searchbase="dc=hoge,dc=com"
                schemachecking=on
                type=refreshOnly
                retry="60 +"
                tls_cacert=/etc/openldap/certs/hoge.cacrt
                tls_cacertdir=/etc/openldap/certs
                tls_reqcert=demand
                interval=00:00:00:30
mirrormode off

ELB設定

ELBはServerCertとKeyをいれて
listnerはSSL:10636->TCP:389で
Route53にA(ALIAS)レコード登録しといて
ldap-proxy1のproviderにldaps::/アドレス:listner-portと指定しcacert認識できるようにする
とつながる。
たぶん。

コツなど

typeをrefreshOnlyにすると常時接続じゃなくて時々再接続にいきましてSSLとかELB越しな場合にいいかんじに。
(常時接続系はELBとは相性悪いようだった)
mirrormode offだとreadonlyになります。
chefだとproviderとかserveridはnodeのjsonで管理に。
複数AWSアカウントまたぐ感じだとclient側のproviderはdata_bagsに入れるといいかんじでした。
VPCpeeringすればSSLにしなくてよくてもっと簡単かと。
今回はVPCpeeringはAWSアカウント間はできるけどやりたくないという話でSSLすることに。

参考

第20回 OpenLDAPの冗長化対策【2】:そろそろLDAPにしてみないか?|gihyo.jp … 技術評論社
Amazon ELBをうまくつかうには、KeepAliveを有効にしよう。Timeoutは60秒よりだいぶ長くしよう。その背景。 | debiancdn
AWS Blackbelt 2015シリーズ Elastic Load Balancing

以上。

4
5
2

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
4
5