Db2 LUWでは、クライアントとデータベース間の通信を保護するためにTLS(SSL)の利用が必須です。
さらに、HADR構成や災害対策(DR)を考慮する場合、DNS設計と証明書(SAN)の設計も重要になります。
本記事では、商用証明書を用いたTLS構築に加え、HADR構成での安全な接続設計まで解説します。
- Db2 LUWのTLS設定手順
- db2dsdriver.cfgの安全な設定
- HADR/DNS切替時のTLS設計
- 実務ベストプラクティス
🧭 TLS構成の全体像
- 通信はTLSで暗号化
- 証明書で接続先を検証
- CA証明書で信頼を担保
🏗 サーバ側設定(商用証明書・社内証明書)
① 鍵DB作成
gsk8capicmd_64 -keydb -create \
-db /home/db2inst1/ssl/server.kdb \
-pw password \
-type cms -stash
② CSR作成
gsk8capicmd_64 -certreq -create \
-db server.kdb \
-pw password \
-label db2_cert \
-dn "CN=db.example.com,O=Company,C=JP"
- CNは接続FQDNと一致させる
- SANに必ず仮想ホスト名を含める(例:db.example.com)
- 社内規則に従って申請を行ってください
③ 証明書インポート
# ルート証明書
gsk8capicmd_64 -cert -add -db server.kdb -pw password -label rootCA -file root.crt
# 中間証明書
gsk8capicmd_64 -cert -add -db server.kdb -pw password -label intermediateCA -file intermediate.crt
# サーバ証明書
gsk8capicmd_64 -cert -receive -db server.kdb -pw password -label db2_cert -file server.crt
④ Db2設定
db2 update dbm cfg using SSL_SVR_KEYDB /home/db2inst1/ssl/server.kdb
db2 update dbm cfg using SSL_SVR_STASH /home/db2inst1/ssl/server.sth
db2 update dbm cfg using SSL_SVCENAME 50001
db2stop
db2start
💻 クライアント設定(db2dsdriver.cfg)
<parameter name="SecurityTransportMode" value="SSL"/>
<parameter name="SSLServerCertificate" value="/home/app/root.crt"/>
SSLServerCertificateにはCA証明書を指定してください。
🚨 HADR構成でのTLS設計(超重要)
HADR構成では、フェイルオーバー時に接続先が切り替わるため、TLSの証明書検証と衝突する可能性があります。
【通常時】 app → db.example.com → Primary 【障害時】 app → db.example.com → Standby
❌ 問題になるケース
Primary:CN=primary
Standby:CN=standby
→ フェイルオーバー時にホスト名検証エラーで接続失敗します。
✔ 正しい設計(推奨)
接続先:db.example.com 証明書SAN: - db.example.com - primary.example.com - standby.example.com
- 仮想FQDNをエンドポイントにする
- SANに全ノード+仮想名を含める
- DNSでの切り替えを前提とする
✔ DNS設計
- db.example.com を使用
- TTLは短め(30〜60秒)に設定
- フェイルオーバー時にレコードのIPを切り替え
✔ より安全な構成(推奨)
[Client] │ ▼ [Load Balancer / VIP] │ ▼ [Primary / Standby]
VIPやロードバランサを利用すると、DNS伝播待ちや証明書の管理をよりシンプルに集約できます。
🚀 Db2 + TLS + HADR ベストプラクティス
- 仮想FQDNで接続する
- SANに全ノード+仮想名を含める
- CA証明書で検証する
- TLS 1.2以上を強制する
- DNS TTLを短く運用する
- 可能ならVIP / LBを利用する
- 非TLS(平文)ポートを閉鎖する
- 証明書期限の自動監視を導入する
✔ まとめ
Db2 LUWにおけるTLSは単なる暗号化ではなく、接続先の正当性を保証する仕組みです。
TLS + HADRでは「証明書設計」と「DNS設計」がセットで必要
特に仮想FQDNとSAN設計を誤ると、フェイルオーバー時に接続障害が発生するため注意が必要です。
構築と同時に満たすべきDb2のセキュリティ設計(認証・暗号化・権限)を、現場の経験談を交えて本書 第3章「セキュリティ設計の基本と実装」で解説しています。
現場で引ける Db2 の教科書
現場で引ける!Db2実践エンジニア・バイブル
Db2はRDBMS市場でシェア数%。情報が少なく、頼れるのは膨大な公式マニュアルだけ――
そんな現状を変えたくて、「なぜこの値にするのか」「この障害のとき次に何を見るのか」という、マニュアルに載っていない現場の文脈を1冊にまとめました。書いてあることはすべて実際の現場で経験したことです。
アーキテクチャ/構成パラメーター選定/セキュリティ/バックアップ・リカバリ/HADR/pureScale/日常点検の自動化/メモリ・ロック競合/SQLチューニング/RUNSTATS・REORG/MON_GET監視/現場の難題集 ―― 全12章+運用シェルスクリプト集。
Db2のロック・メカニズムや内部構造を深く理解するには、体系的な学習が近道です。
- 即戦力のDB2管理術 – 仕組みからわかる管理ノウハウ
- DB2 10 エバリュエーション・ガイド – Db2入門に最適
- 達人に学ぶDB設計徹底指南書 – 設計スキル向上に
コメントを残す