Db2が使用するTCP/IPポートは?SVCENAMEとFCMを中心に仕組みを解説

Db2

はじめに

Db2はネットワーク通信を前提としたデータベースであり、複数のTCP/IPポートを用途ごとに使い分けています。

クライアント接続、内部通信、高可用性構成など、それぞれ異なるポートが使用されます。

その中でも基本となるのが以下の2つです。

・SVCENAME
・FCMポート

この2つを理解することで、Db2のポート構成の全体像を把握できます。

本記事では、Db2が使用するTCP/IPポートの仕組みと、主要なポートの役割を整理します。


Db2のTCP/IPポートの全体像

Db2が使用するポートは、役割ごとに分類できます。

・クライアント接続用ポート
・インスタンス内部通信ポート
・高可用性構成用ポート
・クラスタ管理用ポート
・外部製品連携用ポート

このうち、常に関係するのは以下の2つです。

・SVCENAME
・FCMポート

その他のポートは、特定の機能を利用する場合に追加で使用されます。


SVCENAME クライアント接続ポート

SVCENAMEは、クライアントアプリケーションがDb2インスタンスに接続する際に使用するポートです。

外部からの接続はすべてこのポートを通るため、基本となる設定です。

デフォルト値

・Db2 11.5.5以前
 50000

・Db2 11.5.6以降
 25000

バージョンによってデフォルト値が変更されています。

設定と確認

SVCENAMEはデータベース・マネージャー構成パラメータで定義されます。

db2 get dbm cfg | grep SVCENAME

ポート番号はservicesファイルで確認します。

grep "db2c_" /etc/services

動作条件

SVCENAMEが有効になるには、TCP/IP通信が有効である必要があります。

db2set DB2COMM=TCPIP
db2stop force
db2start

この設定により、Db2は指定されたポートで待ち受け状態になります。


FCMポート インスタンス内部通信

FCMは、Db2内部の通信に使用されるポート群です。

主に以下の用途で使用されます。

・データパーティション間通信
・並列処理
・内部メッセージング

デフォルト値

・Db2 11.5.5以前
 60000番台から開始

・Db2 11.5.6以降
 20000番台から開始

通常は6つの連続したポートが割り当てられます。

DB2_db2inst1      20000/tcp
DB2_db2inst1_1 20001/tcp
DB2_db2inst1_2 20002/tcp
DB2_db2inst1_3 20003/tcp
DB2_db2inst1_4 20004/tcp
DB2_db2inst1_END 20005/tcp

重要な仕様

Db2 11.5以降では、FCMポートの定義は必須です。

DPFを使用していない場合でも、servicesファイルへの定義が必要です。

定義されていない場合、インスタンスの起動に失敗します。


その他の主要ポート

Db2では、機能ごとに追加のポートが使用されます。

代表的なものは以下の通りです。

・SSL接続用ポート
 SSL_SVCENAMEで定義

・HADR用ポート
 データベースごとに設定

・クラスタ管理用ポート
 TSAMPやPacemakerで使用

・外部連携
 MQや監視ツールなど

これらはすべて、特定機能を利用する場合にのみ必要となります。


運用上の考え方

Db2のポートは、設定値だけでなく運用設計が重要です。

ポート番号の管理

ポート番号はOSの動的ポート範囲と重複しないように設計します。

重複すると通信に影響が出る可能性があります。


複数インスタンス環境

複数インスタンスを構成する場合、それぞれで異なるポートを使用します。

特にFCMは連続した範囲を使用するため、設計時に整理が必要です。


ネットワーク構成との関係

複数のネットワークインターフェースを持つ環境では、どのインターフェースで通信するかも考慮します。

必要に応じて設定を分離することで、通信経路を制御できます。


まとめ

Db2は用途ごとに複数のTCP/IPポートを使用します。

その中でも基本となるのは以下の2つです。

・SVCENAMEはクライアント接続の入口
・FCMポートは内部通信の基盤

この2つを理解することで、Db2のポート構成の大枠を把握できます。

その他のポートは、機能ごとに追加されるため、必要に応じて確認すれば問題ありません。

詳細な仕様については、以下のIBM公式情報も参照してください。

[Db2] Db2 が使用する TCP/IP ポート番号
Db2 サーバーが LISTEN する可能性のある TCP/IP のポート番号を教えてください。

コメント

タイトルとURLをコピーしました