Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
IBM Integration Bus V9
ISE Webプラットフォーム
2013年12月27日
導入・構成ガイド導入・構成ガイド《付録》
2
目次 《付録》
当資料は、UNIX/Linux/Windows環境のIBM Integration Bus V9.0.0.0を前提に作成しています。
IIB V9.0.0.0の導入や基本設定は本体の資料をご参照ください。
データベースとの接続ODBC接続のセットアップ (UNIX/Linux)ODBC接続定義の作成 (Windows)データベースの接続ユーザーの設定 (UNIX、Windows
共通)
セキュリティ管理ブローカーQMGRへのリモート接続におけるセキュリティ
ブローカーQMGRへの接続でのMQRC_NOT_AUTHORIZEDエラーに対応する方法
ブローカー管理セキュリティ
Webユーザー・インターフェースの使用Webユーザー・インターフェース概要
Webユーザー・インターフェースのセットアップ
ブローカーのチューニングJVMヒープサイズの拡張
スタックサイズの拡張
MQのチューニング・パラメータ
3
データベースとの接続ブローカーからユーザー・データベースに接続する場合は、データベースへのODBC接続定義が必要
メッセージ・フローからは下記のノードを通してデータベースへのアクセスが可能(Computeノード, Databaseノード, DatabaseInputノード, DatabaseRetrieveノード, DatabaseRouteノード,Filterノード, JavaComputeノード, Mappingノード)JavaComputeノードなど一部のノードではJDBC接続を利用
UNIX/LinuxでのODBC接続のセットアップの流れIIB V9.0ではUNIX/Linuxにて、データ・ベースへのODBC接続にunixODBC ドライバー・マネージャーを使用
IBM Integration ODBC Database Extenderが unixODBC ドライバー・マネージャーを提供サイレント・モードでのIIB コンポーネントのインストール後は自動的にインストールされる自動的にインストールされない場合は、以下のガイドに従い手動でインストールするhttp://pic.dhe.ibm.com/infocenter/wmbhelp/v9r0m0/topic/com.ibm.etools.mft.doc/bh13420_.htm
ODBC接続情報をODBCファイル(odbc.ini / odbcinst.ini)に定義製品としてサンプルODBCファイルを提供
–サンプルodbc.ini: install_dir/ODBC/unixodbc に提供–サンプルodbcinst.ini : install_dir/ODBC/unixodbc に提供
マイグレーションの場合もIIB V9.0で提供されるサンプルを基に新規に設定する
(1) rootユーザーでサンプルODBCファイルを適当なディレクトリにコピーし、アクセス権限設定を行う
cp <IIB導入ディレクトリ>/ODBC/unixodbc/odbc.ini /var/mqsi/odbc/odbc.ini
cp <IIB導入ディレクトリ>/ODBC/unixodbc/odbcinst.ini /var/mqsi/odbc/odbcinst.ini
chown mqm:mqbrkrs /var/mqsi/odbc/odbc.ini
chown mqm:mqbrkrs /var/mqsi/odbc/odbcinst.ini
chmod 755 /var/mqsi/odbc/odbc.ini
chmod 755 /var/mqsi/odbc/odbcinst.ini
データベースとの接続
4
(2) odbc.ini に接続するユーザー・データベースのエントリを追加
[ODBC Data Sources]DB2DB=IBM DB2 ODBC DriverORACLEDB=DataDirect 7.0 ODBC Oracle Wire ProtocolORACLERACDB=DataDirect 7.0 ODBC Oracle RAC Wire ProtocolORACLESSLDB=DataDirect 7.0 ODBC Oracle SSL Wire ProtocolSYBASEDB=DataDirect 7.0 ODBC Sybase Wire ProtocolSYBASEDBUTF8=DataDirect 7.0 ODBC Sybase UTF8 Wire ProtocolSQLSERVERDB=DataDirect 7.0 ODBC SQL Server Wire ProtocolINFORMIXDB=IBM Informix ODBC DriverSOLIDDB_DB=IBM Solid DB ODBC DriverIDSDB=IBM Informix Data Server Driver for ODBC and CLIデータベース名=IBM DB2 ODBC Driver
[DB2DB]DRIVER=<Your DB2 install directory>/lib64/db2o.oDescription=IBM DB2 ODBC DatabaseDatabase=DB2DB
[データベース名]DRIVER=/opt/IBM/db2/V9.7/lib64/db2o.oDescription=IBM DB2 ODBC DatabaseDatabase=データベース別名
::
[ODBC]InstallDir=/<IIBインストールディレクトリ>/ODBC/V7.0UseCursorLib=0IANAAppCodePage=4UNICODE=UTF-8
同一データベース製品のセクションをコピーして、データベース名を変更
同一データベース製品のエントリをコピーして、データベース名を変更
InstallDirに<IIB導入Dir>を記入
データベースとの接続
Driverに<DB2導入Dir>の絶対パスを記入
DB2以外のデータベース、及びデータベースの接続定義について詳細は下記を参照http://pic.dhe.ibm.com/infocenter/wmbhelp/v9r0m0/topic/com.ibm.etools.mft.doc/bk58060_.htm
例) AIXでDB2の接続定義を追加する場合
5
(3) 必要に応じてodbcinst.ini をカスタマイズ
参考. データベースへの接続確認方法上記でセットアップしたデータベースへの接続はmqsicvpコマンドを用いて確認することができます。
[ODBC];# To turn on ODBC trace set Trace=yesTrace=noTraceFile=<トレースの出力先ディレクトリ>/odbctrace.outThreading=2
TraceFileにトレース出力に適切なディレクトリを記入
データベースとの接続
C:¥Program Files¥IBM¥MQSI¥9.0.0.0>mqsicvp IB9NODE -n DBINPUT
BIP8270I: データ・ソース 'DBINPUT' にユーザー 'testuser' として接続しました。 データ・ソースのプラットフォームは、'DB2/NT64'、バージョン '09.07.0000' です。===========================databaseProviderVersion = 09.07.0000driverVersion = 09.07.0000driverOdbcVersion = 03.51driverManagerVersion = 03.80.7601.0000driverManagerOdbcVersion = 03.80.0000databaseProviderName = DB2/NT64datasourceServerName = DB2databaseName = DBINPUTodbcDatasourceName = DBINPUTdriverName = DB2CLI.DLL
:(以下略)
BIP8071I: コマンドが完了しました。
<例> WindowsのIIBコマンド・コンソールでブローカーIP9NODEからデータベースDBINPUTへの接続を確認
mqsicvp ブローカー名 –n データソース名
6
使用するデータベース製品に応じた環境セットアップの実行データ・ベース・アクセス用のライブラリをライブラリ検索パスに追加
–DB2、solidDB、Infomixを使用の場合のみ–AIXではLIBPATH、HP-UXではSHLIB_PATH、Solaris/LinuxではLD_LIBRARY_PATHに設定
データベース製品が提供するデータベース・セットアップ・スクリプトを実行作成したODBCファイルをODBCINI / ODBCSYSINI環境変数で指定
–odbc.iniをODBCINIで指定–odbcinst.iniをODBCSYSINIで指定
※ログオン時に環境セットアップが自動設定されるように、IIB管理ユーザーの.profileに登録することを推奨
<DB2の例>
. <インスタンス・ホーム>/sqllib/db2profile
LIBPATH=<インスタンス・ホーム>/sqllib/lib64:${LIBPATH}
ODBCINI=/var/mqsi/odbc/odbc.ini
ODBCSYSINI=/var/mqsi/odbc/odbcinst.ini
データベースとの接続
7
ODBC接続定義の作成 (Windows)以下の手順はデータベースの作成後に
(1)「コントロール・パネル」 ->「管理ツール」 -> 「データソース(ODBC)」を実行
「システムDSN」タブを選択し、「追加」ボタンをクリック
(2)「データソースの新規作成」画面でデータベース製品に対応するドライバを選択し、「完了」ボタンをクリック
(3) 「ODBCドライバ」画面にデータソース名などの項目を設定
(4) Oracle、SybaseではWindowsレジストリのODBC.INIサブキーにエントリの追加手順(3)、(4)の詳細は、InfoCenterを参照
http://pic.dhe.ibm.com/infocenter/wmbhelp/v9r0m0/topic/com.ibm.etools.mft.doc/ah14442_.htm
データベース 対応ドライバ
DB2 IBM DB2 ODBC DRIVER
Informix IBM INFORMIX ODBC DRIVER
SQL Server
SQL Native Client (SQL Server 2005の場合)SQL Native Client 10.0 (SQL Server 2008の場合)
Oracle IBM Integration Bus (9.0.0.0) DataDirect Technologies 7.0 [64-BIT/32-BIT]※ Oracle Wire Protocol
Sybase IBM Integration Bus (9.0.0.0) DataDirect Technologies 7.0 [64-BIT/32-BIT]※ Sybase Wire Protocol
solidDB IBM solidDB - (Unicode) DRIVER
<DB2の場合の設定画面>
データベースとの接続
※使用しているIIB 64ビット版/32ビット版に応じたドライバーが導入されるので、そちらを選択
8
データベースの接続ユーザーの設定(UNIX、Windows共通)
mqsisetdbparmsコマンドを実行して、接続するデータベース名と接続時に使用するユーザー名、パスワードを設定
データベースとの接続
mqsisetdbparms ブローカー名 –n データソース名 –u ユーザー名 –p パスワード
9
ブローカーQMGRへのリモート接続におけるセキュリティ
MQクライアント接続でブローカーQMGRにアクセスするアプリケーションでのセキュリティ IBM Integration ツールキットやIBM Integration エクスプローラーはMQクライアント・アプリケーションの代表例
上記はデフォルトでサーバー接続チャネル”SYSTEM.BKR.CONFIG”を使用
アプリケーションを起動したユーザーが通常MQクライアント・ユーザーとして権限チェックされる
ブローカーQMGRがMQ V7.1以降の場合、クライアント接続に対するセキュリティが厳しくなることがあるので注意 IIB V9.0の前提はMQ V7.5以降、MQ V7.1新機能のチャネル・アクセス制御を含んでいる
MQ V7.1以降で新規作成したQMGRはチャネル・アクセス制御が使用可能なため、MQRC_NOT_AUTHORIZED(2035)エラーで接続
できないことがある
– mqmグループ、Administratorsグループに所属する特権ユーザーからの接続
– ”SYSTEM.ADMIN.SVRCONN”以外のSYSTEMチャネルを用いた接続
下記のキュー・マネージャーはチャネル・アクセス制御が使用不可に設定済み
– V7.1より前のバージョンからマイグレーションしたキュー・マネージャー
– IIB V9.0でブローカー作成と同時に作成したキュー・マネージャー
ブローカーQMGRにMQクライアント・ユーザーに必要なアクセス権限を付与する
セキュリティ管理
キュー・マネージャー
ブローカー
クライアント・ユーザーの権限チェック
IBM Integrationエクスプローラー
IBM Integrationツールキット
MQクライアント接続
MQクライアント接続
開発者端末
IIB管理端末
ユーザー:wmbadm
ユーザー:wmbdev
10
ブローカーQMGRへの接続でのMQRC_NOT_AUTHORIZEDエラーに対応する方法
以下のいずれかにより対応する
方法1. チャネル・アクセス制御を不可にし、MQ V7.1より前と同等のセキュリティにするキュー・マネージャーはCHLAUTH(DISABLED)に変更、特権ユーザーやSYSTEMチャネルに対するブロックを解除
方法2. チャネル・アクセス制御を機能させ、クライアント・ユーザーに対する認証レコードを作成キュー・マネージャーはCHLAUTH(ENABLED)を前提とする
クライアント・ユーザーと同名のユーザーをIIBブローカー稼働マシンに定義した上でSYSTEMチャネルのアクセスを許可するチャネル認証レコードを
作成
クライアント接続にSYSTEM.BKR.CONFIGチャネルを使用する場合の例
・内部的に使用する応答キューに対し、Display, Inquire, Put, Get権限を付与
・MQSCでチャネル認証レコードを定義
チャネル・アクセス制御について、詳しくは次ページ以降に記載
setmqaut -m <ブローカーQMGR名> -n SYSTEM.MQEXPLORER.REPLY.MODEL -t queue -p <クライアント・ユーザー> +dsp +inq +put +get
セキュリティ管理
SET CHLAUTH('SYSTEM.BKR.CONFIG') TYPE(ADDRESSMAP) ADDRESS('<クライアント端末のIPアドレス>') MCAUSER('<クライアント・ユーザー>') ACTION(ADD)
11
チャネル・アクセス制御
チャネル認証レコードを使用して、チャネル・レベルで接続システムへのアクセスを制御
接続要求に対するブロックの実施
接続元の接続情報に応じて、接続をブロックすることが可能
接続条件に応じた特定ユーザーへのマッピングの実施
接続元の接続情報に応じて、特定の権限ユーザーへのマッピングが可能
マッピングに利用する権限ユーザーは、以下を指定可能– チャネル認証レコードのMCAUSER属性に指定したユーザー
– 使用チャネルの接続認証に利用されるユーザー
– NOACCESS (設定すると、接続のブロックと同義)
アクセス制御に使用可能な接続情報IPアドレス
ユーザーID(クライアント接続のみ)
キュー・マネージャー名(サーバー接続のみ)
SSLまたはTLSのDN
V7.1で新規作成したキュー・マネージャーは、デフォルトでチャネル・アクセス制御が有効
デフォルトで作成されるチャネル認証レコードにより、特権ユーザーでのクライアント接続はブロックMQエクスプローラによって使用されるチャネルを除き、全てのSYSTEMチャネルを使用した接続もブロック
マイグレーションしたキュー・マネージャーは、デフォルトではチャネル・アクセス制御は無効
<参考>
12
チャネル・アクセス制御の使用可否をキュー・マネージャー属性(CHLAUTH)で指定
V7.1環境で新規作成したキュー・マネージャーはデフォルトで有効
マイグレーションしたキュー・マネージャーは、デフォルトではCHLAUTH(DISABLED)
要件に応じ、チャネル認証レコードを作成
もしくは、PCFコマンド(Set Channel Authentication Record)
設定するチャネル認証のタイプをTYPEパラメーターで指定
アクセス制御に使用可能な接続情報と設定可能なチャネル認証レコードのタイプ
チャネル・アクセス制御
ALTER QMGR CHLAUTH (ENABLED)
SET CHLAUTH(chl_name) TYPE(type) 各パラメータ
設定可能なチャネル認証レコードのタイプ (TYPE属性で指定)使用可能な接続情報
SSLPEERMAPSSLPEERMAP (*)SSLまたはTLSのDN名
QMGRMAPQMGRMAP (*)キュー・マネージャー名(サーバー接続のみ)
USERMAPBLOCKUSER
USERMAP (*)
ユーザーID(クライアント接続のみ)
ADDRESSMAPBLOCKADDR
ADDRESSMAP (*)
IPアドレス
特定ユーザーへマッピングしたい場合接続要求をブロックしたい場合
(*)のケースではマッピングするユーザーにNOACCESSを指定
<参考>
13
キュー・マネージャー作成時または既存キュー・マネージャーのマイグレーション時に自動生成されるチャネル認証レコード
クライアント接続での特権ユーザーによるアクセスをブロック
MQエクスプローラによって使用されるチャネルを除き、全てのSYSTEMチャネルを使用した接続をブロック
デフォルトで生成されるチャネル認証レコード
dis chlauth(*)
3 : dis chlauth(*)
AMQ8878: チャネル認証レコードの詳細を表示します。
CHLAUTH(SYSTEM.ADMIN.SVRCONN) TYPE(ADDRESSMAP)
ADDRESS(*) USERSRC(CHANNEL)
AMQ8878: チャネル認証レコードの詳細を表示します。
CHLAUTH(SYSTEM.*) TYPE(ADDRESSMAP)
ADDRESS(*) USERSRC(NOACCESS)
AMQ8878: チャネル認証レコードの詳細を表示します。
CHLAUTH(*) TYPE(BLOCKUSER)
USERLIST(*MQADMIN)
[デフォルトで生成されるチャネル認証レコードの表示結果]
<参考>
14
ブローカーに対するセキュリティ設定は以下の2種類を設定
ブローカーの管理操作コマンドに必要な権限
ブローカーの作成/削除、開始/停止など管理コマンドを実行するために必要な権限
OSのグループに所属させることで権限を付与する
ブローカー管理セキュリティ
ブローカーとそのリソースに対する操作を実行するためのユーザー権限を制御
–セキュリティ機能のアクティブ化が必要(デフォルトではブローカー管理セキュリティはインアクティブ)
–MQベースの権限設定でブローカー操作権限を制御
ユーザーは、ブローカーに接続するための権限を持つことが前提
以下の操作に対する権限をチェック
–メッセージ・ブローカー・ツールキットからブローカーに対する操作
–メッセージ・ブローカー・エクスプローラーからブローカーに対する操作
–統合API(旧CMP API)を使用したJavaプログラムからブローカーに対する操作
–コマンドを使用したブローカーに対する操作
ブローカー管理セキュリティのアクティブ/インアクティブはブローカーのプロパティで設定
セキュリティ管理
キュー・マネージャー
管理操作コマンド
ブローカー
IBM Integrationエクスプローラー
IBM Integrationツールキット
セキュリティ機能をアクティブ時、ブローカーの操作権限をチェック
(ブローカーに接続するための権限を持つことが前提)
ブローカー管理セキュリティ
操作
操作
15
ブローカーの管理操作コマンドと必要な権限
下記コマンドを用いてブローカーの管理操作を行うユーザーは、以下のグループへの所属が必要
セキュリティ管理
主要な管理操作 コマンド AIX、HP-UX、Solaris、Linux Windows
作成・削除 mqsicreatebroker
mqsideletebroker
mqbrkrsグループ、および、mqmグループ 作成 : Administratorsグループ削除 : mqbrkrsグループ、および、mqmグループ
起動・停止 mqsistartmqsistop
mqbrkrsグループmqmグループへの所属はオプション(コンポーネントの起動・停止に合わせて、QMGRを起動・停止するときは必要)rootユーザーはmqbrkrsグループに所属していなく
ても停止可能
mqbrkrsグループmqmグループへの所属はオプション(コンポーネントの起動・停止に合わせて、QMGRを起動・停止するときは必要)
属性変更 mqsichangebroker mqbrkrsグループ mqbrkrsグループ
mqsichangeproperties mqbrkrsグループ mqbrkrsグループ
mqsireportproperties mqbrkrsグループ mqbrkrsグループ
トレース設定 mqsichangetracemqsireporttracemqsireadlogmqsiformatlog
mqbrkrsグループ mqbrkrsグループ
管理操作コマンド
ブローカー
UNIX: mqbrkrs, mqmグループに所属Windows: Administrator, mqbrkrs, mqmグループに所属
ブローカーの作成・削除/起動・停止
16
ブローカー管理セキュリティブローカーとそのリソースに対する操作を実行するためのユーザ権限を、MQベースの権限設定を利用し制御
セキュリティ機能のアクティブ化が必要
セキュリティ機能のアクティブ/インアクティブ化
ブローカー管理セキュリティによるアクセス制御を実施するかどうかはブローカーのプロパティで設定
–デフォルトはインアクティブ(アクセス制御なし)
–ブローカー作成時の指定、および作成後の変更が可能
ブローカー作成時にアクティブ化する場合
–指定しない場合は、インアクティブ
作成後の設定変更
–アクティブ化
–インアクティブ化
–コマンドはブローカー停止時に実行
–アクティブ化する際にはMQのキューが作成されるため、コマンド実行ユーザは mqbrkrs グループだけでなく、mqm グループのメンバーでもある必要がある
セキュリティ管理
mqsicreatebroker BrokerName –q QmgrName –s active
mqsichangebroker BrokerName –s active
mqsichangebroker BrokerName –s inactive
17
ブローカーに接続するための権限(前提)
ブローカー管理セキュリティのアクティブ/インアクティブに関わらず、ブローカーに接続するために前提となるMQ権限
ブローカー操作権限
MQ権限(Inquire、Put、Set)が、それぞれブローカーに対する各操作の権限に対応
以下のMQのキュー(権限キュー)に対してユーザ/グループのMQ権限を設定することで、ブローカー操作権限を設定
–ブローカー・レベルの権限キュー : SYSTEM.BROKER.AUTH
–実行グループ・レベルの権限キュー : SYSTEM.BROKER.AUTH.EGName (EGNameは実行グループ名)
ユーザが操作を実施する際、ブローカーは操作対象の権限キューにそのユーザ/グループに対する適切な権限が設定されているか確認
MQ権限 ブローカー権限 操作内容
Inquire Read 表示
Put Write 設定、作成/削除、デプロイ
Set Execute 開始/停止
セキュリティ管理
MQオブジェクト MQ権限
キューマネージャー Connect
Inquire
SYSTEM.BROKER.DEPLOY.QUEUE Put
SYSTEM.BROKER.DEPLOY.REPLY Put + Getキュー・マネージャー
ブローカー
ブローカーに接続するための前提となるMQ権限
IBM Integrationエクスプローラー
IBM Integrationツールキット
キュー・マネージャー
ブローカー
権限のチェック
権限キュー
接続
操作
接続
操作
IBM Integrationエクスプローラー
IBM Integrationツールキット
18
GUIツールからの各操作に必要な権限
下表は各操作に必要なMQ権限
操作を許可する場合は、対応する権限を権限キューに付与することが必要
設定例
グループwmbdevgpに対してデプロイ権限を付与する場合
操作 SYSTEM.BROKER.AUTH SYSTEM.BROKER.AUTH.EGName
ブローカー・プロパティの表示
構成可能サービス・プロパティの表示
実行グループのリスト表示
Read 不要
ブローカー・プロパティの設定
構成可能サービスの作成/削除
構成可能サービス・プロパティの設定
実行グループの作成/削除
実行グループの名前変更
Read + Write 不要
実行グループ・プロパティの表示
デプロイ済みオブジェクトのリスト表示
Read Read
実行グループ・プロパティの設定
デプロイ
実行グループからのリソース削除
Read Write
実行グループの開始/停止
メッセージフローの開始/停止
Read Execute
セキュリティ管理
setmqaut -m QMName -t queue -n SYSTEM.BROKER.AUTH -g wmbdevgp +inqsetmqaut -m QMName -t queue -n SYSTEM.BROKER.AUTH.EGName -g wmbdevgp +inq +put
19
コマンドでの各操作に必要な権限各操作に必要なMQ権限
コマンド SYSTEM.BROKER.AUTH SYSTEM.BROKER.AUTH.EGName
mqsimode Read(参照の場合)
Write(変更の場合)
不要
mqsicreateexecutiongroup
mqsideleteexecutiongroup
Read + Write 不要
mqsilist Read Read
mqsideploy
mqsireloadsecurity
Read Write
mqsistartmsgflow *1
mqsistopmsgflow *1
Read Execute
*1 オプションの指定によって必要な権限は異なります。詳細はマニュアルのコマンド解説でご確認ください。
セキュリティ管理
20
セキュリティ設定例(ブローカーの構成)
例として下記のような開発環境、本番環境を持つことを想定
セキュリティ管理
ブローカー
IBM Integrationツールキット
UT環境 開発者端末
ブローカー
ブローカー稼動マシン(IT用) ブローカー稼動マシン(本番用)
管理者端末(開発環境)
ブローカー稼動マシン(ST用)
テスト済み開発物の移送
IBM Integrationエクスプローラー
開発物IBM Integration
エクスプローラー
開発物
ブローカー ブローカー ブローカー
管理者端末(本番環境)
IBM Integrationエクスプローラー
開発物
本番環境開発環境
テスト済み開発物の移送
21
セキュリティ設定例(ユーザーの種類)IIB管理者: wmbadm
ブローカー稼動マシン上でmqbrkrs/mqmグループに所属させ、全権限を付与
IIB管理端末用ユーザー: wmbuser IIB管理端末上にユーザーを作成
ブローカー・キューマネージャーへのアクセス・ユーザーとなるため、ブローカー稼動マシン上にも同名ユーザーIDを作成し、mqbrkrs/mqmグループに所属させ、全権限を付与
開発者: wmbdev01~nn各開発者端末にそれぞれユーザーを作成
IT環境の特定の実行グループにはデプロイ/参照可能とする
ブローカー稼動マシン(IT環境)上に同名ユーザーIDと所属グループ(wmbdevgp)を作成し、wmbdevgpにデプロイ/参照権限を付与
※サーバー接続チャネルのMCAUSERを設定する場合は、その指定ユーザーIDのみを作成し、wmbdevgpに所属させる
前提 IIB管理端末からの接続と開発者端末からの接続では
異なるサーバー接続チャネルを利用する
権限を限定するユーザーに対しては、管理者のユーザーIDや
利用するサーバー接続チャネル名は隠蔽されているものとする
厳密なアクセス制御を行う場合には、チャネル・アクセス制御及びチャネルExitやSSLを利用する
セキュリティ管理
IBM Integrationツールキット
・wmbdev01
・wmbadm(mqbrkrs、mqm)・wmbuser(mqbrkrs、mqm)
IBM Integrationエクスプローラー
・wmbuser
IBM Integrationエクスプローラー
開発者端末
IIB管理端末
ブローカー稼動マシン(ST環境)
・wmbadm(mqbrkrs、mqm)・wmbuser(mqbrkrs、mqm)・wmbdev01 ~(wmbdevgp)
キュー・マネージャー
ブローカー
ブローカー稼動マシン(IT環境)
(ブローカー・キューマネージャーへの接続に必須の設定)setmqaut -m QMName -t qmgr -g wmbdevgp +connect +inqsetmqaut -m QMName -t queue -n SYSTEM.BROKER.DEPLOY.QUEUE -g wmbdevgp +putsetmqaut -m QMName -t queue -n SYSTEM.BROKER.DEPLOY.REPLY -g wmbdevgp +put +get
(デプロイ/参照権限を付与する設定)setmqaut -m QMName -t queue -n SYSTEM.BROKER.AUTH -g wmbdevgp +inqsetmqaut -m QMName -t queue -n SYSTEM.BROKER.AUTH.EGName -g wmbdevgp +inq+put
ブローカー稼動マシン(IT用)で実施する開発者グループに対する権限設定コマンド
キュー・マネージャー
ブローカー
22
セキュリティ設定例(ブローカー管理セキュリティ)(1) rootユーザーでログインし、接続を許可するユーザーを作成
接続許可を与えるユーザーをIIB接続用のグループに所属させる
(2)ブローカー管理セキュリティのアクティブ化IIB管理者ユーザーで下記のコマンドを実行 (Windows環境では、IIBのコマンド・コンソールから実行)
(3)OAMのアクセス権限設定IIB管理者ユーザーで下記のコマンドを実行
・ブローカーアクセス権限の付与
・IIBコンポーネントの管理操作権限の付与
IIBコンポーネントのプロパティ表示やデプロイ作業などの管理操作の権限付与を、要件に応じて実施
セキュリティ管理
setmqaut -m QMName -t qmgr -g IIB接続用グループ +connect +inq
setmqaut -m QMName -t queue -n SYSTEM.BROKER.DEPLOY.QUEUE –g IIB接続用グループ +put
setmqaut -m QMName -t queue -n SYSTEM.BROKER.DEPLOY.REPLY –g IIB接続用グループ +put +get
mqsichangebroker ブローカー名 –s active
23
Webユーザー・インターフェースの使用
Webインターフェースを通して、ブローカー・コンポーネントの管理が可能
WMB V8.0.0.1よりIntegration Busエクスプローラー(管理用)、ツールキット(開発用)に加え新たな管理IFが追加
Web管理コンソールではブローカー・コンポーネントのステータス表示、実行グループ/アプリケーション/メッセージフローの起動・停止、統計情報の収集開始・停止・統計データの表示等が可能
Webユーザー・インターフェース・サーバーを提供
HTTP/HTTPSリクエストを受け付け、要求された管理操作を実行する
Webインターフェースを使用した管理手段
Web管理コンソール(Webブラウザ)からの管理
WebSphere Application Server(WAS)のIntegration Solution Consoleからの管理
REST管理APIを使用した管理
ロール・ベース・セキュリティによるアクセス制御ロールに応じてWebインターフェースからブローカーへのアクセスを制御
Webブラウザ
ブローカー
実行グループ
メッセージフロー
メッセージフロー
ツールキット
Integration Busエクスプローラー
MQ
WebユーザI/F Server
HTTP(S)
MQクライアントクライアント・アプリケーション
WAS
HTTP(S)
HTTP(S)
ポート: 4414(default)
24
Webユーザー・インターフェースの使用
Webユーザー・インターフェース(Web UI)のセットアップ
WebユーザーIFサーバーはデフォルトでブローカーと共に起動・停止
WMB V8.0.0.1以降、デフォルトでWebサーバーのポート4414番がブローカーの起動と共にオープン
–WMB V8.0.0.0より下位からマイグレーションしたブローカーはデフォルトでWebインターフェースの使用は不可
WebユーザーIF使用の必要性を検討
Web UIを使用しない場合、Web UI機能を無効化した方がセキュリティ上適切
ブローカー管理セキュリティが無効の場合、ログインをスキップしWeb管理画面にアクセスできてしまう
Web UIを無効化する手順は次ページに記載
Web UIを使用する場合、セットアップを実施
ブローカー管理セキュリティを前提にロール・ベースでWebインターフェースへのアクセスを制御
–ブローカー管理セキュリティの有効化やアクセス制御設定に加え、Webユーザー・アカウントの作成とロールの割り当てが
必要
Web UI使用のためのセットアップ手順はV8.0.0.1資料に記載
–「WebSphere Message Broker V8.0.0.1 アップデート・ セミナー」資料の「Web管理機能の強化」(p.21-25)
http://www.ibm.com/developerworks/jp/websphere/library/esb/mb8001_ws/
25
Webユーザー・インターフェースの使用
ランタイムコマンドでWeb UIを無効にする方法
mqsichangepropertiesコマンドを使用する–「webadmin」コンポーネントの「server」オブジェクトの「enabled/enableSSL」を指定
–HTTP/HTTPSいずれも無効に変更
–設定の反映にはブローカーの再起動が必要
mqsichangeproperties brokerName -b webadmin -o server -n enabled,enableSSL -v false,false
26
Webユーザー・インターフェースの使用
Integration BusエクスプローラーでWeb UIを無効にする方法
「WebAdmin」で使用可能(使用可能SSL)をfalseに変更
ブローカーを選択し、「プロパティー…」をクリック
27
ブローカーのチューニング
JVMヒープサイズの拡張
実行グループはJVMを内包
実行グループの内部管理にもJavaが使われているが、JVMヒープの使用量は微小
フローの中でJavaが多用される場合、JVMのヒープサイズの拡張を検討
実行グループのJVMが使用される主な機能
ヒープサイズのチューニングのためのGC状況のモニタリング
デフォルトのヒープサイズは最小32MB(グローバル・キャッシュが有効な時は96MB)、最大256MB
フローを稼働しJVMヒープの使用量やGCの状況をモニターした上で適切なサイズを決める
実行グループのGC状況をモニタリングするための設定は次ページに記載
• JavaComputeノード
• Javaユーザー定義拡張機能ノード
• SOAPノード
• グラフィカル・データ・マップを実行するMappingノード
• XSLTransformノード
• ESQLからJavaプログラムの起動
28
ブローカーのチューニング
JVMヒープサイズの拡張
実行グループのJVMのプロパティーの指定
IIB管理者ユーザーでmqsichangepropertiesコマンドを実行
–JVMに関するパラメータは -o オプションに”ComIbmJVMManger”を指定
–-n オプションにプロパティー名、-v オプションに具体的な値を指定
–指定可能なJVMパラメータについて詳しくは以下を参照
Javaのverbosegcのファイルを出力する方法
コマンド例
–ファイル名はフルパスで指定する。相対パスでは実行グループのカレントディレクトリ(通常導入ディレクトリのbin)に出力される
JVMのヒープサイズ設定方法
ヒープの最小サイズと最大サイズをバイト単位で指定
コマンド例
最大ヒープサイズの設定mqsichangeproperties ブローカー名 –e 実行グループ名 –o ComIbmJVMManager –n jvmMaxHeapSize –v 最大サイズ
mqsichangeproperties ブローカー名 –e 実行グループ名 –o ComIbmJVMManager –n jvmSystemProperty
–v”-Xverbosegclog:ファイル名”
最小ヒープサイズの設定mqsichangeproperties ブローカー名 –e 実行グループ名 –o ComIbmJVMManager –n jvmMinHeapSize –v 最小サイズ
http://pic.dhe.ibm.com/infocenter/wmbhelp/v9r0m0/topic/com.ibm.etools.mft.doc/an09143_.htm
29
ブローカーのチューニング
スタックサイズの拡張
メッセージ・フローが大量の繰り返しやネストを含むメッセージを処理する場合や、ESQLに
おいて再帰的な処理を実施する場合に、スタックを増やすことを検討
スタックサイズのデフォルト
スタックサイズを拡張する場合、環境変数MQSI_THREAD_STACK_SIZEにサイズを指定
しブローカーを再起動
2MBAIX
プラットフォーム スタックサイズ(メッセージ・フローのスレッド毎)
AIX以外のUNIX, Linux, Windows 1MB
30
ブローカーのチューニング
MQでチューニングするパラメータのガイド
IIBが使用するMQのチューニングに関連するパラメータの参照情報
MQのためのOSのパラメータ設定の参照情報
InfoCenter – インストール/システムの準備/追加設定
–http://pic.dhe.ibm.com/infocenter/wmqv7/v7r5/topic/com.ibm.mq.ins.doc/q008520_.htm
How to configure UNIX and Linux systems for WebSphere MQ
–http://www-01.ibm.com/support/docview.wss?uid=swg21271236
MQのチューニングのための参照情報
develperWorks - Configuring and tuning WebSphere MQ for performance on Windows and UNIX
–http://www.ibm.com/developerworks/websphere/library/techarticles/0712_dunn/0712_dunn.html
MQの導入方法(導入の前提となるチューニング・パラメータの設定を含む)
developerWorks - テクニカル・トピックス - WebSphere - WebSphere MQ V7.1 導入ガイド
–http://www.ibm.com/developerworks/jp/websphere/library/wmq/mq71_install/