Comments
Transcript
導入・構成ガイド アジェンダ WebSphere Message Broker v6.1
WebSphere Message Broker v6.1 導入・構成ガイド アイ・ビー・エム システムズ・エンジニアリング株式会社 2008年3月 アジェンダ 事前の検討・確認 ブローカー・ドメイン構成の決定 導入ソフトウェア、コンポーネントの決定 前提ハードウェア、前提ソフトウェアの確認 ディスク量、メモリ量の確認 カーネル・パラメータの確認 セキュリティ管理方法の決定 補足.セキュリティ管理機能 構成の準備 WMBラインタイム・コンポーネントの作成時パラメータ値の決定 補足. サービス・ユーザー、データベース・アクセス・ユーザーについて マシンごとの構成作業の確認 構成作業 ユーザーの作成 エラー・ログ・ファイルの設定 ODBC接続定義の作成 MQコンポーネントの作成 導入に関する最新情報の確認 導入の準備 ブローカー・データベースの作成 WMBランタイム・コンポーネントの作成 導入メディアの確認 fixpackの入手 セキュリティ設定 OAM(MQ)、オブジェクト・レベル・セキュリティ(WMB) 導入失敗時のエラー・ログの出力先 ブローカー・ドメインの構成 導入作業 前提ソフトウェアの導入 管理グループ、管理ユーザーの作成 WMBランタイム・コンポーネントの導入 付録. 導入・構成上の注意点、その他 AIX環境への導入 Windows データ実行防止機能 UDB データベース・インスタンスのビット数 AIX環境で32ビット実行グループを使用する時 UDB 2Phase Commitの設定 メッセージ・ブローカー・ツールキットの導入 その他の設定 クラスター構成について 2 事前の検討・確認 ブローカー・ドメイン構成の決定 WMBが提供する以下のシステム・コンポーネントの配置を決める コンポーネント 役割 メッセージ・ブローカー・ツールキット ・メッセージ・フロー、メッセージ定義を開発するGUIツール ・構成マネージャーに接続してブローカー・ドメインを管理するときのGUIフロンドエンド 構成マネージャー ・ブローカー・ドメインの構成管理を行うコンポーネント ブローカー ・メッセージ・フローの実行環境 ユーザー・ネーム・サーバー (オプション) ・Publish/Subscribe通信に高度なアクセス制限を設定するコンポーネント ※リポジトリは、開発物(メッセージ・フロー、メッセージ定義)を一元管理するためのコンポーネント. CVS、Rational ClearCase などの製品を利用 (WMBが提供するコンポーネントではない) メッセージ・ブローカー ツール・キット 稼働環境 コンポーネント リポジトリ (オプション) サポート・プラットフォーム WMBランタイム・コンポーネント ・ブローカー ・構成マネージャー ・ユーザー・ネーム・サーバー AIX、HP-UX(Itanium、PA-RISK)、 Solaris(x86-64、SPARK)、 Linux(x86、x86-64、Power、zSeries)、 Winsows、z/OS メッセージ・ブローカー・ツールキット Windows、Linux/x86 ※WMBが提供している コンポーネントではない ブローカー・ドメイン 構成マネージャー ユーザー・ネーム・サーバー (オプション) 開発環境 実行環境 ブローカー アプリケーション アプリケーション アプリケーション アプリケーション 3 事前の検討・確認 ブローカー・ドメイン構成 例 本番環境 ST環境 IT環境 UT環境 開発者端末 ブローカー ブローカー 構成マネージャー 構成マネージャー ブローカー ブローカー ブローカー ツールキット 開発物 テスト済み開発物の移送 構成マネージャー 構成マネージャー ツールキット ツールキット 管理者端末 (構成に関する制限など) 開発物 開発物 テスト済み開発物の移送 ブローカー、構成マネージャーを1台のマシン内に作成することが可能.また、1台のマシン内に複数作成することが可能 1つの構成マネージャーで複数のブローカーを管理することが可能 ・アクセス制限を設定して、個々のブローカーを管理できるユーザーを制限することも可能(詳細は後述の「セキュリティ」を参照) ツールキットは1台のマシン内に開発物の保存場所(ワークスペース)を複数もつことが可能 ツールキットは複数の構成マネージャーに接続可能 4 事前の検討・確認 補足.コンポーネント構成詳細 メッセージ・ブローカー・ツールキットは、構成マネージャーのキュー・マネージャーにMQ/Javaクライアントで接続 WMBランタイム・コンポーネントを配置するマシンにはキュー・マネージャーが必要. コンポーネント間はMQのチャネル接続が必要 ・ブローカー <--> 構成マネージャー、ブローカー <--> ユーザー・ネーム・サーバー、構成マネージャー <--> ユーザー・ネーム・サーバー ・ブローカー <--> ブローカー(Publish/Subscribe通信のブローカー・トポロジーを構成する場合) ブローカーにはブローカー・データベースが必要.ブローカー・データベースは、同一マシン、リモート・マシンのどちらでも配置可能 ブローカー・データベース ブローカー キュー・マネージャー 構成マネージャー ツールキット キュー・マネージャー ユーザー・ネーム・サーバー キュー・マネージャー 5 事前の検討・確認 異種のWMBランタイム・コンポーネント同士では、キュー・マネージャーの共有が可能 (同種のWMBランタイム・コンポーネント同士でのキュー・マネージャーの共有は不可) 構成マネージャー ユーザー・ネーム・サーバー キュー・マネージャー 6 ブローカー 事前の検討・確認 導入ソフトウェア、コンポーネントの決定 各々のマシンに導入するソフトウェア、コンポーネントを決める 稼働コンポーネント 導入ソフトウェア、コンポーネンント メッセージ・ブローカー・ツールキット ・メッセージ・ブローカー・ツールキット ブローカー ・ブローカー ・WebSphere MQ (最低限、Server、Java Messagingの導入が必要) ・UDB、Oracle、Sybase、SQL Serverのいずれかのデータベース製品 以下の導入はオプショナル ・WebSphere MQ Everyplace (MQ Everyplaceクライアントからの接続を受けるときに必要) ・Apache Derby用 ODBCドライバー (Cloudscapeにブローカー・データベースを作成するときに必要. Windowsのみに提供) 構成マネージャー ・構成マネージャー ・WebSphere MQ ユーザー・ネーム・サーバー ・ユーザー・ネーム・サーバー ・WebSphere MQ 以下はメッセージ・ブローカー・ツールキットに付属.メッセージ・ブローカー・ツールキットだけを稼動させるマシンでは、MQなどの導入は不要. ・ 構成マネージャーにMQクライアント接続するためのモジュール(com.ibm.mq.jar、com.ibm.mq.jms.jar) ・ CVSサーバーのクライアント機能 (ClearCaseをリポジトリとする場合は、ClearCaseのクライアント機能の導入が必要) Windows環境では、UDBなどのデータベース製品を導入しなくても、Cloudscapeにブローカー・データベースを作成して使用することが可能. 該当ケースでは、”Apache Derby用 ODBCドライバー”の導入を行う (UT環境を構築するワークロードの削減が目的.本番環境のブローカー・データベースでのCloudscapeの利用は推奨されない) 7 事前の検討・確認 前提ハードウェア、前提ソフトウェアの確認 ハードウェア、ソフトウェアの前提条件を満たすことを確認.最新のサポート情報は下記のURLを参照 http://www-306.ibm.com/software/integration/wbimessagebroker/requirements/ Linux版では、ブローカーなどのランタイム・コンポーネントとツールキットでサポート対象OSが異なるので要確認 ・ツールキットは、32ビット・カーネルだけをサポート.下記プラットフォームでのツールキットの稼動はサポート対象外 (下記OSでのサポートは、ランタイム・コンポーネントの稼動のみ) Linux Intel Red Hat Enterprise Linux Advanced Server V5.04 Linux Intel SUSE Linux Enterprise Server (SLES) 10 Windows版は32ビットOSのみサポート Linux/zSeries版は64ビットOSのみサポート プラットフォームによっては、サポート対象のデータベースが制限されているので要確認 ・HP-UX/Itanium版、Linux/zSeries版はSybaseをサポートしない ・SQLServerをサポートするのは、AIX版、Linux/x86・x86-64版、Solaris/SPARC版、Windows版 ・Informixのブローカー・データベースでの利用はサポート対象外.ユーザー・データベースとしてのみアクセス可能 8 事前の検討・確認 ディスク容量の確認 各々のマシンで必要なディスク量を見積もる ・下表はWMBコンポーネントが必要とするディスク容量 ・ 前提ソフトウェア(MQ、データベース製品)の必要ディスク量の見積もりが別途必要 WMBランタイム・コンポーネント(ブローカー、構成マネージャー、ユーザー・ネーム・サーバー) デフォルトの導入先は以下のディレクトリ.インストール時に導入先を変更可能 ・ 必要ディスク容量は400MB∼900MB.プラットフォームに依存 (次ページ参照) プラットフォーム 導入ディレクトリ AIX HP-UX Solaris /opt/IBM/mqsi/(バージョン番号).(リリース・レベル) Linux /opt/ibm/mqsi/バージョン番号).(リリース・レベル) Windows %ProgramFiles%¥IBM¥MQSI¥(バージョン番号).(リリース・レベル) データ・ディレクトリ ・ 問題判別時に取得するトレースの一時保存(トレース容量に依存) 数十MB∼ ・ コンポーネントのプロパティ・ファイルの保存 1MB程度 ・ ブローカー・ドメイン構成、アクセス権限の保存 (構成マネージャーのみで必要) 10MB∼ プラットフォーム データ・ディレクトリ AIX HP-UX Solaris Linux /var/mqsi Windows %ALLUSERSPROFILE%¥All Users¥Application Data¥IBM¥MQSI 9 事前の検討・確認 プラットフォーム別 導入ディレクトリのディスク容量 導入コンポーネント ブローカー 構成マネージャー ユーザー・ネーム・サーバー AIX 840MB HP-UX (Itanium) 740MB HP-UX (PA-RISC) 800MB Solaris(SPARC) 860MB Solaris(x86-64) 540MB Linux(POWER) 440MB Linux(x86) 440MB Linux(x86-64) 600MB Linux(zSeries) 440MB Windows 460MB 導入するWMBランタイム・コンポーネントを変えてもディスク容量は大きく変わらない 「ブローカーだけを導入」、「ブローカーと構成マネージャーを導入」のどちらでもAIXでは840MBが必要 製品導入時には、インストーラが一時スペースとして下記のディレクトリに300MBのディスク容量を必要とする. (導入完了後、スペースは自動的に解放) AIX、HP-UX、Linux : /tmp Solaris : /var/tmp Windows : TEMP、TMP環境変数に設定しているディレクトリ 10 事前の検討・確認 メッセージ・ブローカー・ツールキット デフォルトの導入先は以下のディレクトリ.インストール時に導入先を変更可能 ・ 必要ディスク容量は1.52GB(Linux/x86)、1.58GB(Windows) プラットフォーム 導入ディレクトリ Linux/x86 /opt/IBM/InstallationManager /opt/IBM/SDP70Shared /opt/IBM/WMBT610 Windows %ProgramFiles%¥IBM¥InstallationManager %ProgramFiles%¥IBM¥SDP70Shared %ProgramFiles%IBM¥WMBT610 製品導入時には、インストーラが一時スペースとして下記のディレクトリに2.1GBのディスク容量を必要とする. (導入完了後、スペースは自動的に解放) Linux/Intel : /tmp Windows : TEMP、TMP環境変数に設定しているディレクトリ データ・ディレクトリ ・ InstallationManagerの設定値などの保存 5MB程度 ・ ワークスペース ・ 開発物(メッセージ・フロー、メッセージ定義)の保存.開発物の容量に依存 (開発物なしの初期状態は1MB) プラットフォーム データ・ディレクトリ Linux/Intel /var/ibm/InstallationManager (ホーム・ディレクトリ)/IBM/wmbt610/workspace/ Windows %ALLUSERSPROFILE%¥Application Data¥IBM¥Installation Manager %HOMEDIRIVE%%HOMEPATH%¥IBM¥wmbt61¥workspace¥ ワークスペースのディレクトリ位置は、ツールキットの設定で変更可能 11 事前の検討・確認 メモリ容量の確認 各々のマシンで必要なメモリ量を見積もる ・下表はWMBコンポーネントが必要とするRAM容量 ・ 前提ソフトウェア(MQ、データベース製品)の必要メモリ量の見積もりは別途必要 RAM容量 稼働コンポーネント メッセージ・ブローカー・ツールキット 最小512MB、推奨1GB WMBランタイム・コンポーネント ・ブローカー ・構成マネージャー ・ユーザー・ネーム・サーバー 最小512MB ブローカーの稼動に必要なメモリ量は、実行グループの数、デプロイする開発物の数に依存 12 事前の検討・確認 カーネル・パラメータの確認 WMBランタイム・コンポーネントが稼動するHP-UX、Solarisのマシンでは下記のカーネル・パラメータを設定 ・その他のプラットフォームでは設定不要 Solarisでは同時にオープンできるFile Descriptorの最大値を256以上に設定 ※MQ、データベース製品が稼動するために必要なカーネル・パラメータ調整は別途必要 プラットフォーム HP-UX(PA-RISC) プラットフォーム Solaris 推奨カーネル・パラメータ lwp_default_stksize rpcmod:svc_run_stksize shmsys:shminfo_shmmax shmsys:shminfo_shmseg shmsys:shminfo_shmmni shmsys:shminfo_shmmin semsys:seminfo_semaem semsys:seminfo_semmni semsys:seminfo_semmap semsys:seminfo_semmns semsys:seminfo_semmsl semsys:seminfo_semopm semsys:seminfo_semmnu semsys:seminfo_semume semsys:seminfo_semvmx msgsys:msginfo_msgmap 0x4000 0x4000 4194304 1024 1024 8 16384 1024 (semmni < semmns) 1026 (semmni +2) 16384 125 100 2048 256 32767 1026 13 14 推奨カーネル・パラメータ maxdsiz maxssiz max_thread_proc maxusers msgmap msgmax msgmnb msgmni msgseg msgssz msgtql sema semaem semmni semmap semmns semmnu semume semvmx shmmax shmem shmmni shmseg 0x40000000 0x08000000 1024 32 258 (msgtql +2) 4096 4096 50 1024 tbs 256 1 16384 1024 (semmni<semmns) 1026 (semmni +2) 16384 2048 256 32767 4194304 1 1024 1024 事前の検討・確認 セキュリティ管理方法の決定 ブローカー・ドメイン内には以下の3種類のユーザーが必要.各々のマシンに作成するユーザー、セキュリティ設定を決める WMB管理者 ・・・・ コンポーネントの作成/削除/起動/停止などの管理操作を行うユーザー ・WMBランタイム・コンポーネント(ブローカー、構成マネージャー、ユーザー・ネーム・サーバー)を稼動するマシンにユーザーが必要 ・以下のグループへの所属が必要 mqbrkrs、mqmグループ (UNIX) Administratorsグループ (Windows) ブローカー・ドメイン管理者 ・・・ 実行グループの作成・削除、開発物のデプロイなどの管理操作を行うユーザー ・ツールキットが導入された管理用マシンにユーザーを作成 ・特別なグループへの所属は必要ない (Windowsの場合、Usersグループで可) ・構成マネージャー・マシン側でMQ(OAM)、および、WMB(オブジェクト・レベル・セキュリティ)のセキュリティ設定が必要 構成マネージャーと通信するためのキューへのアクセス許可、ブローカー・ドメイン・オブジェクトへのアクセス許可を設定 ・セキュリティの管理方法によっては構成マネージャー・マシン側に同名ユーザーの作成が必要 開発者 ・・・ メッセージ・フロー、メッセージ定義の開発を行うユーザー ・ツールキットが導入された開発用マシンにユーザーを作成 ・特別なグループへの所属は必要ない (Windowsの場合、Usersグループで可) ・開発者に開発物(メッセージ・フロー、メッセージ定義)のデプロイを許可するときは、制限付でブローカー・ドメイン管理者の権限委譲を行う −−> ・ 構成マネージャー・マシン側でMQ、および、WMBのセキュリティ設定が必要 ・ セキュリティの管理方法によっては構成マネージャー・マシン側で同名ユーザーの作成が必要 設定例 次ページの設定例は、ネットワーク内にユーザーを自由に作成できるマシンが存在しないことを前提とする ・同名ユーザー(wmbadm)が作成されてしまうと、どのマシンからでもブローカー・ドメインの管理が可能なため 上記を前提にできないときは、追加のセキュリティ設定が必要 (SSLチャネルの利用など) 15 事前の検討・確認 ユーザー 説明 wmbadm ・WMB管理者とブローカー・ドメイン管理者を兼任 ・ブローカーの稼動マシン、構成マネージャーの稼動マシン、管理者用のマシンに作成 wmbdev01∼ ・開発者.開発物(メッセージ・フロー、メッセージ定義)のデプロイを許可 ・開発者マシンに作成 wmbuser ・ツールキットがキューにアクセスするのを許可するために作成する代表ユーザー (サーバー接続チャネルに設定) ・構成マネージャーの稼動マシンに作成 MQ : OAMのアクセス権限設定 ALTER CHANNEL(SYSTEM.BKR.CONFIG) MCAUSER(‘wmbuser’) setmqaut –m (QMGR_NAME) –p wmbuser –t qmgr +inq +set +connect +altusr +chg +dsp +setall setmqaut –m (QMGR_NAME) –p wmbuser –t queue –n SYSTEM.BROKER.CONFIG.QUEUE +get +browse +put +inq +set +chg +dsp +setall setmqaut –m (QMGR_NAME) –p wmbuser –t queue –n SYSTEM.BROKER.CONFIG.REPLY +get +browse +put +inq +set +chg +dsp +setall ・MCAUSERでチャネルの実行ユーザーを指定し、該当ユーザーにキューへのアクセス許可を設定 (コマンド・キューへのアクセス権限は与えない −> コマンド・サーバー経由でのMQの管理操作を排除) ・wmbadm ツールキット ・wmbadm(mqbrkrs、mqm) ・wmbadm(mqbrkrs、mqm) ・wmbuser SYSTEM.BKR.CONFIG MCAUSER(wmbuser) 構成マネージャー ブローカー キュー・マネージャー ・wmbdev01 ツールキット ACL WMB : オブジェクト・レベル・セキュリティのアクセス権限設定 mqsicreateaclentry (ConfigMgr_NAME) –u wmbdev01 –a –b (Broker_NAME) -x D mqsicreateaclentry (ConfigMgr_NAME) –u wmbdev02 –a –b (Broker_NAME) -x D : 16 ・開発者に対してDeploy許可を設定 (Full権限を与えない −> 他ユーザーへの権限委譲を排除) セキュリティ管理機能 <補足> WMBランタイム・コンポーネントの管理操作と必要な権限 ブローカー、構成マネージャー、ユーザー・ネーム・サーバーの管理操作を行うユーザーは、以下のグループへの所属が必要 主要な管理操作 AIX、HP-UX、Solaris、Linux コマンド Windows 作成・削除 mqsicreatebroker mqsicreateconfigmgr mqsicreateusernameserver mqsideletebroker mqsideleteconfigmgr mqsideleteusernameserver mqbrkrsグループ、および、mqmグループ Administratorsグループ 起動・停止 mqsistart mqsistop mqbrkrsグループ mqmグループへの所属はオプション.(コンポーネントの起動・ 停止に合わせて、QMGRを起動・停止するときは必要) Administratorsグループ 属性変更 mqsichangebroker mqsichangeconfigmgr mqsichangeusernameserver mqbrkrsグループ Administratorsグループ mqsichangeproperties mqbrkrsグループに所属するroot、または、対象コンポーネントの サービス・ユーザー Administratorsグループ mqsireportproperties なし なし トレース設定 mqsichangetrace mqsireporttrace mqsireadlog mqsiformatlog mqbrkrsグループ 左同 セキュリティ設定 mqsicreateaclentry mqsideleteaclentry mqsilistaclentry 管理対象オブジェクトにFull権限をもつユーザー (SYSTEM.BROKER.CONFIG.QUEUE、CONFIG.REPLYへの put/get権限も必要) 左同 17 セキュリティ管理機能 <補足> ブローカー・ドメインの管理操作と必要な権限 ツールキットからブローカー・ドメインの管理操作(実行グループの作成、開発物のデプロイなど)を行うユーザーは、 (1)構成マネージャーと通信するためのキューへのアクセス権限 (2)構成マネージャーが管理するブローカー・ドメイン内のオブジェクト(ブローカー、実行グループ など)へのアクセス権限 の2つのアクセス権限が必要 MQのOAM機能 キュー・マネージャー、キューへのアクセス権限を検査 構成マネージャー ツールキット ブローカー キュー・マネージャー ACL 管理操作 + ホスト名 + ユーザーID 構成マネージャーのオブジェクト・レベル・セキュリティ機能 ブローカー、実行グループなどのオブジェクトのアクセス権限を検査 ツールキットはMQ/Javaクライアント機能を使って、構成マネージャーに管理用メッセージを送信 (構成マネージャーでの検査のために、ツールキットは「ツールキットの実行ユーザー」と「ホスト名」を管理用メッセージに含めて送信) −−> MQのOAM機能がキュー・マネージャー、キューへのアクセス権限を検査 構成マネージャーが管理用メッセージを受信し、管理操作を実行 −−>構成マネージャーのオブジェクト・レベル・セキュリティ機能がアクセス権限を検査 ・管理用メッセージに含まれるユーザーが操作対象オブジェクトに対し、該当操作を許可されているかを検査 18 セキュリティ管理機能 <補足> MQのセキュリティ管理(OAM) MQクライアント接続では、サーバー接続チャネル(SYSTEM.BKR.CONFIG)の実行ユーザーでアクセス権限を検査 サーバー接続チャネルの実行ユーザーは、MCAUSER属性の設定値に依存 ・MCAUSERがスペース(デフォルト)のときは、ツールキットの実行ユーザーがチャネルの実行ユーザー ・MCAUSERに特定のユーザーを設定したときは、該当ユーザーがチャネルの実行ユーザー OSにユーザー、グループを作成し、setmqautコマンドでキュー・マネージャーへの接続権限、キューへのアクセス権限を付与 ・setmqautコマンドはmqmグループに所属しているユーザーでのみ実行可能 setmqaut (QMgr_NAME) 対象ユーザー -t 対象オブジェクト 権限 対象オブジェクト qmgr queue -n (キュー名) 対象ユーザー -p (ユーザー名) -g (グループ名) 権限 qmgr : +inq +set +connect +altusr +chg +dsp +setall queue : +get +browse +put +inq +set +chg +dsp +setall 構成マネージャー ※UNIX版のMQでは、ユーザー単位でのアクセス権限管理は不可. ユーザーに権限を付与しても、該当ユーザーの1次グループにアクセス権限が付与される SYSTEM.BKR.CONFIG MCAUSER(????) キュー・マネージャー SYSTEM.BROKER.CONFIG.QUEUE ツールキット SYSTEM.BROKER.CONFIG.REPLY 19 セキュリティ管理機能 <補足> 構成マネージャーのセキュリティ管理 (オブジェクト・レベル・セキュリティ) 構成マネージャーが管理するオブジェクトに対し、mqsisetaclentryコマンドでユーザー(、または、グループ)にアクセス権限を付与 ・ アクセス権限と許可される管理操作の対応は次ページを参照 ・ オブジェクトは階層構造で管理され、上位オブジェクトにアクセス権限があれば下位オブジェクトの管理操作も許可される ・ オブジェクトのFull権限をもつユーザーは、該当オブジェクトと下位オブジェクトに対してアクセス権限を付与可能 (権限委譲が可能) ・ 初期状態で「構成マネージャー・プロキシ」へのFull権限をもつのは以下のユーザー 構成マネージャーを作成したユーザー、 構成マネージャーのサービス・ユーザー ユーザー名だけでアクセス権限を検査、ホスト名を含めてアクセス権限を検査を選択可能 アクセス権限の管理は、「グループ単位」、「ユーザー単位」のどちらも可能.OSにユーザーの作成が必要・不要が異なる ・ ユーザー単位で管理するときは、OSにユーザーの作成は不要 ・ グループ単位で管理するときは、OSにグループ、ユーザーの作成が必要 (グループとユーザーの対応付けはOSで行う) mqsicreateaclentry (ConfigMgr_NAME) 付与対象 対象オブジェクト –x 権限 付与対象 -g (グループ名) -u (ユーザー名) -a -u (ユーザー名) –m (ホスト名) 対象オブジェクト 構成マネージャー・プロキシ -p 構成マネージャー・プロキシ -t トポロジー -b (ブローカー名) -b (ブローカー名) –e (実行グループ名) ルート・トピック サブスクリプション トポロジー 権限 F(すべて) D(デプロイ) E(編集) V(参照) Publish/Subscrive通信に高度なセキュリティ設定するためのオブジェクト (ユーザー・ネーム・サーバーを構成していなければ設定不要) 20 BRKR01 (ブローカー) GROUP01 (実行グループ) BRKR02 (ブローカー) GROUP02 (実行グループ) セキュリティ管理機能 <補足> オブジェクトとアクセス権限の詳細 オブジェクト 構成マネージャー・プロキシ トポロジー ブローカー 権限 可能な操作 Full ・トポロジー、ルート・トピック、サブスクリプションのFULL権限 View ・トポロジー、ルート・トピック、サブスクリプションのView権限 Full ・ブローカーの追加/除去(トポロジー・ビューへの追加/除去) ・集合の作成/削除、集合へのブローカーの追加/除去 ・接続の作成/削除 ・トポロジーのデプロイ ・トポロジーのView権限 View ・トポロジー構成の参照 ・ブローカーのFull権限 Full ・ブローカーの属性変更 ・実行グループの作成/削除 ・ブローカーのDeploy権限 Deploy ・ブローカー構成のデプロイ ・ブローカーのView権限 View ・ブローカー構成の参照 ・実行グループのFull権限 ・トポロジーの制限付View権限 (他のブローカーは参照できない) 21 セキュリティ管理機能 オブジェクト 実行グループ ルート・トピック サブスクリプション 権限 <補足> 可能な操作 Full ・実行グループの属性変更 ・実行グループの開始/停止 ・実行グループのDeploy権限 Deploy ・実行グループ構成のデプロイ ・メッセージ・フローの開始/停止 ・トレースの開始/停止 ・実行グループのView権限 View ・実行グループ構成の参照 ・ブローカー、トポロジーの制限付View権限 (他のブローカー、実行グループは参照できない) Full ・ルート・トピックのACL設定 ・ルート・トピックのDeploy権限 ・ルート・トピックのEdit権限 ・ルート・トピックのView権限 Deploy ・トピック構成のデプロイ ・ルート・トピックのView権限 Edit ・子トピックの作成/削除 ・ルート・トピックのView権限 View ・ルート・トピックの参照 Full ・サブスクリプションの削除 ・サブスクリプションのView権限 View ・サブスクリプションの照会 22 事前の検討・確認 導入に関する最新情報の確認 readmeファイル、installation guideを入手し、導入に関する考慮点、注意点の最新情報を確認 ・readmeファイル http://www-1.ibm.com/support/docview.wss?rs=977&uid=swg27011222 ・Installation guide http://www-306.ibm.com/software/integration/wbimessagebroker/library/ 23 24 導入の準備 導入メディアの確認 Message Broker Runtime、Message Broker Toolkit 、Message Broker Supplementの3パッケージ構成 Windows、および、Linux/x86には全ソフトウェア(MQ Everyplaceを除く)が含まれるDVDを提供 パッケージ名 メディア構成 Message Broker Runtime Package 各々のプラットフォームごとにCD-ROM 4枚ずつ (Windows版のみ3枚) ・Message Broker Runtime ・MQ Runtime ・DB2 v9.1 Runtime ・DB2 v9.1 Runtime NVL Addition (Windows版はなし) Message Broker Toolkit Package 各々のプラットフォームごとにCD-ROM 3枚ずつ Message Broker Supplement Package CD-ROM 1枚 (全プラットフォームのバイナリを含む) ・MQ Everyplace v2.0.2 - AIX - HP-UX/Itanium - HP-UX/PA-RISK - Solaris/x86-64 - Solaris/SPARK - Linux/x86 - Linux/x86-64 - Linux/Power - Linux/zSeries - Windows - Windows - Linux/x86 パッケージ名 DVD Package - Windows - Linux/x86 メディア構成 各々のプラットフォームごとにDVD-ROM 1枚ずつ ・Message Broker Runtime Package、および、Toolkit Packageを含む (MQ Everyplaceは含まれない) 25 導入の準備 fixpackの入手 以下のサイトからWMBの最新のfixpackをダウンロード ・Toolkitのfixpackのダウンロードはオプション.ネットワーク経由のオンライン更新も可能 ・Websphere Message Broker 6.1.n.n ・Websphere Message Broker Toolkit 6.1.n http://www-1.ibm.com/support/docview.wss?rs=849&uid=swg27006041 (参考) ・WebSphere MQのfixpack http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg27006037 ・UDBのfixpack http://www-1.ibm.com/support/docview.wss?rs=71&uid=swg27007053 26 導入の準備 <補足> 導入失敗時のエラー・ログの出力先 導入失敗時は、以下のエラー・ログを参照して原因を調査 導入コンポーネント エラー・ログ WMBランタイム・コンポーネント UNIX <導入作業実行ユーザーのホーム・ディレクト>/mqsi6_install.log Windows C:¥Documents and Settings¥<導入作業実行ユーザー>¥mqsi6_install.log メッセージ・ブローカー・ツールキット UNIX /var/ibm/InstallationManager/uninstall/logs/YYYYMMDD_TIME.xml Windows %ALLUSERSPROFILE%¥Application Data¥IBM¥ Installation¥Manager¥logs¥YYYYMMDD_TIME.xml 27 28 導入作業 前提ソフトウェアの導入 前提ソフトウェア(MQ、データベース製品)を導入し、fixpackの適用を行う (手順等については、各ソフトウェアのマニュアルを参照) 29 導入作業 WMB管理グループ、管理ユーザーの作成 (UNIX) WMBランタイム・コンポーネントを導入するAIX、Solaris、HP-UX、Linuxマシンで作業が必要 メッセージ・ブローカー・ツールキットだけを導入するLinuxマシンでは作業不要 WMB管理グループ(mqbrkrs)、および、管理ユーザーを作成. 管理ユーザーをmqbrkrsとmqmグループに所属させる (補足) Windowsマシンでは作業不要 WMBランタイム・コンポーネントの導入時に自動的にmqbrkrsグループが作成され、インストールを実行したユーザーが mqbrkrsグループとmqmグループに追加される 30 導入作業 WMBランタイム・コンポーネントの導入 (1) Root(AIX、HP-UX、Solaris、Linux)、または、Administratorsグループに所属するユーザー(Windows)でログイン (2) 導入CD-ROMのマウント プラットフォーム (3) インストール・ウィザードの実行 ・ setupコマンドを実行(右表参照) ・ 導入先ディレクトリ、導入コンポーネントを選択して導入を開始 setupコマンド AIX setupaix HP-UX(PA-RISC) setuphp HP-UX(Itanium) setuphpia64 Solaris/SPARC setupsolaris Solaris/x86-64 setupsolarisx86 Linux/Power setuplinuxppc Linux/x86-64 setuplinuxx64 Linux/x86 setuplinuxia32 Linux/zSeries setulinux390x Windows setup.exe インストール・ウィザードのデフォルトはGUIモード(左図の画面). Consoleモード、Silentモードでの実行も可能. 詳細は、マニュアル「Installation Guide」を参照 31 導入作業 32 導入作業 (4) ダウンロードしたfixpackを適当なディレクトリ保存し、解凍 (UNIX以外) gzip –dv (fixpack_name).tar.z tar -xvf (fixpack_name).tar (5) インストール・ウィザードの実行 ・ (4)で解凍したfixpackのsetupコマンドを実行(右表参照) setupコマンド プラットフォーム 33 34 AIX setupaix HP-UX(PA-RISC) setuphp HP-UX(Itanium) setuphpia64 Solaris/SPARC setupsolaris Solaris/x86-64 setupsolarisx86 Linux/Power setuplinuxppc Linux/x86-64 setuplinuxx64 Linux/x86 setuplinuxia32 Linux/zSeries setulinux390x Windows (fixpack_name).exe 導入作業 メッセージ・ブローカー・ツールキットの導入 (1) Root(Linux/x86)、または、Administratorsグループに所属するユーザー(Windows)でログイン プラットフォーム (2) 導入CD-ROMのマウント Linux/x86 Windows (3) インストール・ウィザードの実行 ・プラットフォームごとに提供されている右表コマンドを実行 ・導入先ディレクトリ、導入パッケージ(言語フィーチャー)を選択して導入を開始 インストール・ウィザード installToolkit.sh installToolkit.bat インストール・ウィザードのデフォルトはGUIモード(左図の画面). Consoleモード、Silentモードでの実行も可能. 詳細は、マニュアル「Installation Guide」を参照 35 導入作業 36 導入作業 (4) Installation Managerを起動 ・プラットフォームごとに提供されている右表コマンドを実行 プラットフォーム インストール・ウィザード Linux/x86 /opt/IBM/InstallationManager/eclipse/IBMIM Windows %ProgramFiles%¥IBM¥Installation Manager¥eclipse¥IBMIM.exe (5) 「パッケージの更新」ボタンをクリックし、ウィザードを起動 オンライン更新ではなく、fixpackをダウンロードして適用することも可能. 適用手順は、fixpackダウンロード・サイトを参照 37 導入作業 38 <参考> 導入作業 Windows LaunchPad Windows版では、「高速インストール」モードで最低限必要なソフトウェア一式を自動インストールできるLaunchpadが付属 Eclipse Platform、MQ、Cloudscape用ODBCドライバ、Message Broker、Message Broker Toolkitを導入 「拡張インストール」でソフトウェアを選択し、個々のソフトウェアのインストーラを起動することも可能 コンポーネント 説明 WebSphere Eclipse Platform V3.0.1 ・WebSphere MQエクスプローラーの稼動環境に導入が必要 WebSphere MQ V6.0 ・ブローカー、構成マネージャー、ユーザー・ネーム・サーバーの稼動環境に導入が必要 Apache Derby 用 ODBCドライバー (DB2 Runtime Client V8.2) ・ブローカー・データベースをCloudScapeで作成するWindows環境では導入が必要 WebSphere Message Broker V6.1 ・WMBランタイム・コンポーネント WebSphere Message Broker Toolkit V6.1 ・メッセージ・ブローカー・ツールキットの稼働環境に導入が必要 DB2 UDB Enterplise server Edition V9.1 Oracle Sybase Microsoft SQL Server ・ブローカー、ユーザー・ネーム・サーバーの稼動環境にいずれかのデータベース製品の導入が必要 (ブローカー・データベースをCloudScapeで作成するWindows環境では導入不要) 39 40 構成の準備 WMBランタイム・コンポーネント作成時のパラメータ値の決定 ブローカー、構成マネージャー、ユーザー・ネーム・サーバーの構成に必要となる以下の項目を決定する <共通> パラメータ 説明 ・UNIX環境の場合、WMBはエラー・メッセージをSyslogに出力 ・エラー・メッセージをSyslogからリダイレクト出力させるファイル エラー・ログ・ファイル名 <ブローカー> パラメータ コンポーネント作成後の変更 ブローカー名 不可 サービス・ユーザー 可 サービス・ユーザー・パスワード 可 ブローカー・データベース名 不可 データベース・アクセス・ユーザー 可 データベース・アクセス・ユーザー・パスワード 可 ブローカー・キューQMgr名 不可 <構成マネージャー> パラメータ コンポーネント作成後の変更 構成マネージャー名 不可 サービス・ユーザー 可 サービス・ユーザー・パスワード 可 構成マネージャーQMgr名 41 不可 構成の準備 <ユーザー・ネーム・サーバー> パラメータ コンポーネント作成後の変更 ユーザー・ネーム・サーバー名 不可 サービス・ユーザー 可 サービス・ユーザー・パスワード 可 ユーザー・ネーム・サーバーQMgr名 不可 その他、以下の項目の決定も必要 コンポーネント パラメータ MQ ブローカーQMgr、構成マネージャーQMgr、ユーザー・ネーム・サーバーQMgrごとに以下の項目を決定 ・キュー・マネージャー作成時のオプション(ログ・サイズなど) ・リスナー・ポート番号 ・チャネル名 データベース ブローカー・データベースの以下の項目を決定 ・インスタンスのオーナー、ホーム・ディレクトリ ・データベース・インスタンス作成時のオプション(インスタンスのビット数、ログ・サイズなど) ・ポート番号 (データベースをリモートのマシンに配置するとき) 42 構成の準備 <補足> サービス・ユーザーについて 構成マネージャーとブローカーのサービス・ユーザーは同一がお勧め サービス・ユーザーが異なる場合、構成マネージャー、ブローカーのそれぞれのマシンに両方のサービス・ユーザーの作成が必要になる サービス・ユーザーは、mqbrkrsグループへの所属が必要 ・サービス・ユーザーはWMBランタイム・コンポーネントの実行ユーザーで、OAM(MQ)の権限検査は該当ユーザーに対して行われる ・WMBランタイム・コンポーネントを作成すると、WMBのシステム・キューへのアクセス権限がmqbrkrsグループに付与される −−> WMBランタイム・コンポーネントがWMBのシステム・キューにアクセスするためにmqbrkrsグループへの所属が必要 ユーザー・キューへのアクセス権限は別途に付与が必要 ユーザー・キュー : ・WMBランタイム・コンポーネント間を接続しているチャネル用のトランスミッション・キュー ・メッセージ・フローの入力キュー、出力キュー 補足. ユーザー・キューへのアクセスを許可するために、サービス・ユーザーをmqmグループに所属させる場合 WMB管理ユーザーとサービス・ユーザーは同じ権限を持つことになるため、これらを分ける意味がない −−> WMB管理ユーザーとサービス・ユーザーを同一にするのがお勧め Windows版では、サービス・ユーザーにはmqbrkrsグループへの所属に加えて「サービスとしてログオン」の許可が必要 設定方法 ・「ローカル・セキュリティ・ポリシー」画面の起動 「コントロール・パネル」 −> 「管理ツール」 −> 「ローカル・セキュリティ・ポリシー」 ・「サービスとしてログオン」画面の起動 「ローカル・ポリシー」 −> 「ユーザー権利の割り当て」 −> 「サービスとしてログオン」 43 構成の準備 <補足> データベース・アクセス・ユーザーについて ブローカー作成時、該当ユーザーを使ってブローカー・データベースにテーブルの作成を行う データベース・アクセス・ユーザーには、下記の権限が必要 ・データベースへの接続権限、テーブルの作成権限 データベース・アクセス・ユーザーとサービス・ユーザーを同一にすることも可能 ブローカー作成時にデータベース・ユーザーの指定を省略すると、サービス・ユーザーでデータベース・アクセスを行う 44 構成の準備 マシンごとの構成作業の確認 ブローカー、構成マネージャー、ユーザー・ネーム・サーバーの稼動マシンごとに必要となる構成作業は下記 上記作業の完了後、ブローカー・ドメイン構成の作業を実施 稼動コンポーネント 作業 ブローカー ユーザーの作成 エラー・ログ・ファイルの設定 ODBC接続定義の作成 MQコンポーネントの作成 ブローカー・データベースの作成 WMBランタイム・コンポーネントの作成 構成マネージャー ユーザーの作成 エラー・ログ・ファイルの設定 MQコンポーネントの作成 WMBランタイム・コンポーネントの作成 セキュリティ設定 ユーザー・ネーム・サーバー ユーザーの作成 エラー・ログ・ファイルの設定 MQコンポーネントの作成 WMBランタイム・コンポーネントの作成 45 46 構成作業 ユーザーの作成 (UNIX) WMB管理ユーザーを作成し、mqbrkrsグループ、mqmグループへ所属させる (WMBランタイム・コンポーネント導入前に実施済み) WMBランタイム・コンポーネントの管理操作、および、データベース・アクセスに必要な環境変数を設定 ログオン時に環境変数が自動設定されるように、WMB管理ユーザーの.profileに設定 (1) WMBランタイム・コンポーネントの管理操作に必要な環境変数の設定 WMB提供のmqsiprofileを読み込む . <WMB導入ディレクトリ>/bin/mqisprofile (2) データベース・アクセスに必要な環境変数の設定 (UDBの場合) UDB提供のdb2profileを読み込み、LIBPATH、ODBCINI環境変数を設定 <Linux/x86以外> . <インスタンス・ホーム>/sqllib/db2profile LIBPATH=<インスタンス・ホーム>/sqllib/lib64:${LIBPATH} ODBCINI=/var/mqsi/odbc/odbc64.ini //32ビット実行グループを使用するとき MQSI_LIBPATH32=<インスタンス・ホーム>/sqllib/lib32:${MQSI_LIBPATH32} ODBCINI32=/var/mqsi/odbc32.ini export MQSI_LIBPATH32 ODBCINI32 ・データベース・アクセス用のライブラリを検索パスに設定. AIXではLIBPATH、HP-UXではSHLIB_PATH、Solaris/LinuxではLD_LIBRARY_PATHに設定 ・32ビット実行グループを使用する場合は、MQSI_LIBPATH32に32ビット・ライブラリの設定が必要 ・HP-UX/Itanium、Linux/Power、Linux/zSeries、Linux/x86-64では32ビット実行グループは提供していない ・ODBCINI、ODBCINI32環境変数で指定すれば、ODBCファイルを任意のディレクトリ、名前で配置可能 47 構成作業 <Linux/x86> . <インスタンス・ホーム>/sqllib/db2profile LIBPATH=<インスタンス・ホーム>/sqllib/lib32:${LIBPATH} ODBCINI=/var/mqsi/odbc/odbc32.ini サービス・ユーザー、データベース・アクセス・ユーザーも必要に応じて作成 所属が必要なグループ、必要なアクセス権限は、「構成の準備」を参照 48 構成作業 ユーザーの作成 (Windows) WMBランタイム・コンポーネントのインストールを実行したユーザーが管理ユーザーに設定されている 別途に管理ユーザーを作成するときは、Administrators、mqbrkrs、mqmグループへ所属させる 環境変数の設定は不要 ・ WMBランタイム・コンポーネントの管理操作はコマンド・ウィンドウから実行 (コマンド・ウィンドウに必要な環境変数が設定されている) ・ データベース・アクセスに必要な環境変数は、データベース製品導入時にシステム環境変数に設定される (UDBの場合) <WMBのコマンド・ウィンドウ> サービス・ユーザー、データベース・アクセス・ユーザーも必要に応じて作成 所属が必要なグループ、必要なアクセス権限は、「構成の準備」を参照 49 50 構成作業 エラー・ログ・ファイルの設定 (UNIX) UNIX環境で稼動するWMBランタイム・コンポーネントは、Syslogにエラー・メッセージを出力 ランタイム・コンポーネントを起動した環境のLC_MESSAGES環境変数の言語でエラー・メッセージを出力 必要に応じて以下の設定を行い、エラー・メッセージをユーザー・ファイルにリダイレクト (1) Rootでユーザーでエラー・ログ・ファイルの作成、アクセス権限設定を行う touch エラー・ログ・ファイル名 chown root:mqbrkrs エラー・ログ・ファイル名 chmod 640 エラー・ログ・ファイル名 (2) /etc/syslog.confに下記の行を追加 (AIX) user.debug エラー・ログ・ファイル名 (AIX以外) user.* エラー・ログ・ファイル名 (3) Syslogデーモンの再起動 (AIX) refresh –s syslogd (AIX以外) kill -HUP (syslogdのプロセスId) 51 構成作業 エラー・ログ・ファイルの設定 (Windows) 不要. 特別な設定なしにWindowsのイベント・ログにエラー・メッセージが出力される 52 構成作業 ODBC接続定義の作成 データベースへのODBC接続定義を作成 ・ブローカー・データベースだけでなく、ユーザー・データベースへのODBC接続定義も必要 UNIX版では、下表の通り、32ビットODBC接続定義、64ビットODBC接続定義のいずれか、または、両方の作成を行う プラットフォーム 32ビットODBC接続定義、64ビットODBC接続定義 Linux/x86 32ビット用ODBC接続定義のみ必要 ・実行グループを含めてブローカー自体が32ビットのため、64ビットでのデータベース接続がない HP-UX/Itanium Linux/Power Linux/zSeries Linux/x86-64 64ビット用ODBC接続定義のみ必要 ・実行グループを含めてブローカー自体が64ビットのため、32ビットでのデータベース接続がない 上記以外のUNIX 64ビット用ODBC接続定義が必要. 32ビット実行グループを使用するときは、追加で32ビット用ODBC接続定義も必要 53 構成作業 64ビット用ODBC接続定義の作成 (UNIX) (1) RootユーザーでサンプルのODBCファイルをコピーし、アクセス権限設定を行う cp <WMB導入ディレクトリ>/ODBC64/V5.2/odbc64.ini /var/mqsi/odbc/odbc64.ini chown mqm:mqbrkrs var/mqsi/odbc/odbc64.ini chmod 464 var/mqsi/odbc/odbc64.ini ・ODBCINI環境変数で指定すれば、ODBCファイルを任意のディレクトリ、名前で配置可能 (2) ODBCファイルにブローカー・データベース、ユーザー・データベースのエントリを追加 同一データベース製品のエントリをコピーして、データベース名を変更 [ODBC Data Sources] DB2DB=IBM DB2 ODBC Driver ORACLEDB=DataDirect 5.2 64bit Oracle Wire Protocol SYBASEDB=DataDirect 5.2 64bit Sybase Wire Protocol SYBASEDBUTF8=DataDirect 5.2 64bit Sybase UTF8 Wire Protocol SQLSERVERDB=DataDirect 5.2 64bit SQL Server Wire Protocol INFORMIXDB=IBM Informix ODBC Driver データベース名=IBM DB2 ODBC Driver [DB2DB] DRIVER=libdb2Wrapper64.so Description=DB2DB DB2 ODBC Database Database=DB2DB 同一データベース製品のセクションをコピーし、データベース名を変更 [データベース名] DRIVER=libdb2Wrapper64.so Description=DB2DB DB2 ODBC Database Database=データベース名 : 54 構成作業 32ビット用ODBC接続定義の作成 (UNIX) (1) RootユーザーでサンプルのODBCファイルをコピーし、アクセス権限設定を行う cp <WMB導入ディレクトリ>/ODBC32/V5.2/odbc32.ini /var/mqsi/odbc/odbc32.ini chown mqm:mqbrkrs var/mqsi/odbc/odbc32.ini chmod 464 var/mqsi/odbc/odbc32.ini ・ODBCINI32環境変数で指定すれば、ODBCファイルを任意のディレクトリ、名前で配置可能 (2) ODBCファイルにブローカー・データベース、ユーザー・データベースのエントリを追加 同一データベース製品のエントリをコピーして、データベース名を変更 [ODBC Data Sources] DB2V8DB=IBM DB2 version 8 ODBC Driver DB2V9DB=IBM DB2 version 9 ODBC Driver ORACLEDB=DataDirect 5.2 Oracle SYBASEDB=DataDirect 5.2 Sybase Wire Protocol SYBASEDBUTF8=DataDirect 5.2 Sybase UTF8 Wire Protocol SQLSERVERDB=DataDirect 5.2 SQL Server Wire Protocol INFORMIXDB=IBM Informix ODBC Driver データベース名=DB2V9DB=IBM DB2 version 9 ODBC Driver 同一データベース製品のセクションをコピーし、データベース名を変更 [DB2V9DB] Driver=<Your DB2 v9 install directory>/lib32/libdb2.a Description=DB2V9DB DB2 ODBC Database Database=DB2V9DB [データベース名] [DB2V9DB] Driver=<Your DB2 v9 install directory>/lib32/libdb2.a Description=DB2V9DB DB2 ODBC Database Database=データベース名 : 55 構成作業 ODBC接続定義の作成 (Windows) 以下の手順はデータベースの作成後に実施 (1)「コントロール・パネル」 −> 「管理ツール」 −> 「データソース(ODBC)」を実行. 「システムDSN」タブを選択し、「追加」ボタンをクリック (2)「データソースの新規作成」画面でデータベース製品に 対応するドライバを選択し、「完了」ボタンをクリック データベース <UDBの場合の設定画面> 対応ドライバ UDB IBM DB2 ODBC DRIVER Infomix IBM INFOMIX ODBC DRIVER SQL Server SQL Server Oracle MQSeries DataDirect Technologies 5.2 32-BIT ORACLE Sybase MQSeries DataDirect Technologies 5.2 32-BIT Sybase Wire Protocol (3) 「ODBCドライバ」画面にデータソース名などの項目を設定 (4) Oracle、SybaseではWindowsレジストリのODBC.INIサブキーにエントリの追加 手順(3)、(4)の詳細は、マニュアル「Configuration, Administration, and Security」−> 「Connecting to a database from Windows」を参照 56 構成作業 MQコンポーネントの作成 キュー・マネージャーの作成、および、(ランタイム・コンポーネント間の)チャネルの作成を行う (1)WMB管理者ユーザーで下記のコマンドを実行 (Windows環境では、コマンド・プロンプトから実行) ・ キュー・マネージャーの作成と起動 crtmqm キュー・マネージャー名 strmqm キュー・マネージャー名 ・ リスナーの作成と起動 echo DEFINE LISTENER(リスナー名) TRPTYPE(TCP) PORT(ポート番号) CONTROL(QMGR) | runmqsc キュー・マネージャー名 echo START LISTENER(リスナー名) | runmqsc キュー・マネージャー名 ・MQv6.0では、CONTROLをQMGRに設定したLISTENERオブジェクトを作成すると、 キュー・マネージャーの起動・停止に合わせてMQリスナーを自動起動・停止可能 ・ 受信チャネルの作成 echo DEFINE CHANNEL(チャネル名) CHLTYPE(RCVR) | runmqsc キュー・マネージャー名 ・ トランスミッション・キュー、送信チャネルの作成と起動 echo DEFINE QLOCAL(接続先QMgr名) USAGE(XMITQ) | runmqsc キュー・マネージャー名 echo DEFINE CHANNEL(チャネル名) CHLTYPE(SDR) CONNAME(‘接続先アドレス(ポート番号)’) XMITQ(接続先QMgr名) | runmqsc キュー・マネージャー名 echo START CHANNEL(チャネル名) | runmqsc キュー・マネージャー名 ・トランスミッション・キューの名前は接続先キュー・マネージャーの名前と同名にしなければならない 57 構成作業 ブローカー・データベースの作成 ブローカー・データベースを作成し、下記の設定を行う (1) ブローカーが使用するデータベース・アクセス・ユーザーへのアクセス権限の設定 ・データベースへの接続権限、テーブルの作成権限 が必要 (2) 最大接続数の制限の調整 ブローカーからの接続数 ・管理用スレッドから5接続 ・MRMでメッセージのパース/組み立てを行っているメッセージ・フロー・インスタンス(スレッド)ごとに1接続 ・Publishノードを含むメッセージ・フロー・インスタンス(スレッド)ごとに1接続 ・SCADAInputノードを使用しているとき、同時に接続するクライアント数、または、接続プーリング数(デフォルト500) ※上記以外にもデータベース製品ごとに設定が必要なパラメータがある.UDB以外のデータベース製品を使用するときは マニュアル「BrokerConfiguration, Administration, and Security」を参照 58 構成作業 UDBブローカー・データベースの作成 (UNIX) (1)Rootユーザーで下記のコマンドを実行 ・ データベース・インスタンスの作成と起動 (Linux以外) /opt/IBM/db2/V9.1/instance/db2icrt –u UDBインスタンス・オーナー UDBインスタンス・オーナー (Linux) /opt/ibm/db2/V9.1/instance/db2icrt –u UDBインスタンス・オーナー UDBインスタンス・オーナー db2start (2) UDBインスタンス・オーナーで下記のコマンドを実行 ・ データベースの作成、cliパッケージのバインド、ヒープ・サイズの調整 db2 create database データベース名 db2 connect to データベース名 db2 bind ~/sqllib/bnd/@db2cli.lst grant public CLIPKG 5 db2 update database configuration for データベース名 using dbheap 900 ・最大接続数のデフォルトはAutomaticで自動調整 ・ ブローカーのデータベース・アクセス・ユーザーへのアクセス権限設定 db2 connect to データベース名 db2 garant connect, createtab, bindadd, create_external_routine on database to user データベース・アクセス・ユーザー 59 構成作業 UDBブローカー・データベースの作成 (Windows) (1)WMB管理者ユーザーで下記のコマンドを実行 (WMBのコマンド・コンソールから実行) ・データベースの作成、ODBC接続定義の作成、cliパッケージのバインド、ヒープ・サイズの調整 mqsicreatedb データベース名 ・ブローカーはWindowsサービスから起動されるため、サービス・ユーザーのDB2INSTANCE環境変数に設定されているインスタンスに データベースを作成しなければならない.(データベース・インスタンス未作成のときは、インスタンスを作成し、サービス・ユーザーの DB2INSTANCE環境変数にインスタンス名を設定する) (2)WMB管理者ユーザーで下記のコマンドを実行 (UDBのコマンド・ウィンドウから実行) ・ブローカーのデータベース・アクセス・ユーザーへのアクセス権限設定 db2 connect to データベース名 db2 garant connect, createtab, bindadd, create_external_routine on database to user データベース・アクセス・ユーザー 60 構成作業 WMBランタイム・コンポーネントの作成 (1)WMB管理者ユーザーで下記のコマンドを実行 (Windows環境では、WMBのコマンド・コンソールから実行) 作業の実施前にキュー・マネージャー、ブローカー・データベースの起動が必要 ・ 構成マネージャーの作成と起動 mqsicreateconfigmgr 構成マネージャー名 -i サービス・ユーザー -a サービス・ユーザー・パスワード -q 構成マネージャーQMgr名 [ -s ユーザー・ネーム・サーバーQMgr名 ] mqsistart 構成マネージャー名 ・ユーザー・ネーム・サーバーを使用するときは、-sオプションを指定 ・ ブローカーの作成と起動 mqsicreatebroker ブローカー名 -i サービス・ユーザー -a サービス・ユーザー・パスワード -q ブローカーQMgr名 -n ブローカー・データベース名 [ -u データベース・アクセス・ユーザー -p データベース・アクセス・ユーザー・パスワード ] [ -s ユーザー・ネーム・サーバーQMgr名 ] mqsistart ブローカー名 ・データベース・アクセス・ユーザーの指定はオプション.省略時は、サービス・ユーザーでブローカー・データベースにアクセス ・ユーザー・ネーム・サーバーを使用するときは、-sオプションを指定 ・ ユーザー・ネーム・サーバーの作成と起動 mqsicreateusernameserver ユーザー・ネーム・サーバー名 -i サービス・ユーザー -a サービス・ユーザー・パスワード -q ユーザー・ネーム・サーバーQMgr名 mqsistart ユーザー・ネーム・サーバー名 61 構成作業 OAM(MQ)の設定 ブローカー・ドメイン管理者、開発者ユーザーのメッセージ・ブローカー・ツールキットがQMgrへ接続するのを許可 セキュリティ管理の方針に従って、適切なアクセス権限を設定 セキュリティ管理の詳細は、「事前の検討・確認」を参照 設定例. アクセス許可に代表ユーザーを利用 (1) Rootユーザーでログインし、代表ユーザーを作成 (Windows環境では、WMB管理者でログインしてユーザーを作成) (2) WMB管理者ユーザーで下記のコマンドを実行 (Windows環境では、コマンド・プロンプトから実行) 作業の実施前にキュー・マネージャーの起動が必要 ・ SYSTEM.BKR.CONFIGチャネルへ代表ユーザーを設定 echo ALTER CHANNEL(SYSTEM.BKR.CONFIG) MCAUSER(‘代表ユーザー’) | runmqsc 構成マネージャーQMgr名 ・ 代表ユーザーにアクセス権限を付与 setmqaut –m (構成マネージャーQMgr名) –p wmbuser –t qmgr +inq +set +connect +altusr +chg +dsp +setall setmqaut –m (QMGR_NAME) –p 代表ユーザー –t queue –n SYSTEM.BROKER.CONFIG.QUEUE +get +browse +put +inq +set +chg +dsp +setall setmqaut –m (QMGR_NAME) –p 代表ユーザー –t queue –n SYSTEM.BROKER.CONFIG.REPLY +get +browse +put +inq +set +chg +dsp +setall 62 構成作業 オブジェクト・レベル・セキュリティ(WMB)の設定 ブローカー・ドメイン管理者、開発者ユーザーがブローカー・ドメインの管理操作を行うことを許可 セキュリティ管理の方針に従って、適切なアクセス権限を設定 セキュリティ管理の詳細は、「事前の検討・確認」を参照 設定例. ユーザー単位にアクセス許可を設定 (1) WMB管理者ユーザーで下記のコマンドを実行 (Windows環境では、WMBのコマンド・コンソールから実行) 作業の実行前に構成マネージャーの起動が必要 ・アクセス権限を付与 mqsicreateaclentry 構成マネージャー名 –u ブローカー・ドメイン管理者 –t -x F mqsicreateaclentry 構成マネージャー名 –u 開発者1 –a –b ブローカー名 -x D mqsicreateaclentry 構成マネージャー名 –u 開発者2 –a –b ブローカー名 -x D : 63 64 構成作業 ブローカー・ドメインの構成 作業の実施前に、WMBランタイム・コンポーネント、および、コンポーネント間のMQチャネルの起動が必要 (1) ブローカー・ドメイン管理者の端末でツールキットを起動 「ようこそ」画面を閉じる 65 構成作業 (2)「ブローカー管理」パースペクティブへの切り替えを行い、「ドメイン接続作成」ウィザードを開始. 構成マネージャーQMgrへの接続情報、および、保存先情報を入力 「ブローカー管理」パースペクティブへの切り替え 構成マネージャーQMgrへの接続情報を入力 接続情報の保存先を入力 66 構成作業 (3)「ドメイン」ビューの「ブローカー・トポロジー」をダブル・クリックし、「ブローカー・トポロジー」画面を表示. パレットから「ブローカー」を選択し、画面上でクリック.プロパティを表示し、キュー・マネージャー名を入力 ブローカー・トポロジーをダブル・クリック ブローカーQMgr名の入力が必須 ツールキットに表示されるアイコン名の変更が可能 ・ブローカーの実際の名前と一致させることを推奨(分かりやすいため) ・名前の変更はいつでも実施可能 67 構成作業 (4) 「ブローカー・トポロジー」を保存すると「トポロジー構成」のデプロイが行われ、「ドメイン・ビュー」にブローカーが追加される ブローカー・トポロジーを保存 「差分」、「完全」のどちらかをクリック 「ドメイン」ビューに追加したブローカーが現れる 68 付録. 導入・構成上の注意点、他 AIX環境への導入 WMBランタイム・コンポーネントの稼動に「December 2006 IBM C++ Runtime Environment Components」が必要 XL C/C++ V8.0を導入、または、下記のサイトからC++Runtimeをダウンロードして導入 http://www-1.ibm.com/support/docview.wss?rs=2239&uid=swg24014302 補足.下記バージョンのlibcがC++Runtimeモジュールの前提になっている。合わせて導入が必要 AIX 5.1: bos.rte.libc 5.1.0.62 (APAR IY58419) AIX 5.2: bos.rte.libc 5.2.0.41 (APAR IY58421) AIX 5.3: bos.rte.libc 5.3.0.3 (APAR IY58143) 69 付録. 導入・構成上の注意点、他 Windows データ実行防止機能 データ実行防止機能(DEP)がONになっていると、導入時のライセンス登録が失敗.DEPをOFFに設定してから、WMBの導入を行う 「コントロールパネル」 −> 「システム」 −> 「詳細設定」タブ −> 「パフォーマンス」の「設定」ボタンをクリック. 「データ実行防止」タブで「重要なWindows のプログラムおよびサービスについてのみ有効にする」に設定 70 付録. 導入・構成上の注意点、他 UDB データベース・インスタンスのビット数 UDBの32ビットのデータベース・インスタンスは、64ビット・アプリケーションからの接続を許可しない. Linux/x86以外のUNIXで、DB2v8.2の32ビットのデータベース・インスタンスを継続して使用するときは、 64ビットのクライアント・インスタンスを作成し、リモート接続を行う 32ビット・インスタンス ブローカー・データベース 64ビット・インスタンス ブローカー <クライアント・インスタンスの作成、データベースのリモート・カタログ> db2icrt -s CLIENT データベース・インスタンス名 db2 catalog tcpip node ノード名 remote IPアドレス server ポート番号 db2 catalog database ブローカー・データベース名 AS ブローカー・データベース別名 at node ノード名 71 付録. 導入・構成上の注意点、他 AIX環境で32ビット実行グループを使用する時 実行グループはブローカー・データベースに多数の接続を持つ. −−> 共有メモリを使用したローカル接続の場合、32ビット実行グループでは共有メモリ・セグメントが不足する可能性がある 実行グループからの接続数: ・MRMでメッセージのパース/組み立てを行っているメッセージ・フロー・インスタンス(スレッド)ごとに1接続 ・Publishノードを含むメッセージ・フロー・インスタンス(スレッド)ごとに1接続 ・SCADAInputノードを使用しているとき、同時に接続するクライアント数、または、接続プーリング数(デフォルト500) 共有メモリ不足の回避方法 (方法1) EXTSHM環境変数を設定する (方法2) ブローカー・データベースへの接続をリモート接続で行う (補足)EXTSHM環境変数の設定 (UDBの場合) EXTSHM=ONを設定した環境でUDB、および、ブローカーを起動 <ブローカーの起動> <UDBの起動> export EXTSHM=ON export EXTSHM=ON db2set DB2ENVLIST=EXTSHM mqsistart ブローカー名 db2start 72 付録. 導入・構成上の注意点、他 (補足) ローカル・データベースへリモート接続を行う設定 (UDBの場合) (1)/etc/serviceにUDBのポートを登録 サービス名 ポート番号/tcp # DB2 Connection Service (2)TCPIPノードの作成とデータベースのリモート・カタログ db2set DB2COMM=TCPIP db2 update dbm cfg using svcname サービス名1 db2 catalog tcpip node ノード名 remote localhost server サービス名1 db2 catalog database データベース名 AS データベース別名 at node ノード名 db2stop db2start mqsicreatebrokerで指定するブローカー・データベース名、および、odbcファイルに登録するデータベース名は、 データベース別名を設定する 73 付録. 導入・構成上の注意点、他 UDB 2Phase Commitの設定 (UNIX) スイッチ・ロード・ファイルは実行グループ、ブローカーQMgrの両方にロードされる. 実行グループ、QMgrのビット数(32ビット実行グループ、64ビット実行グループ、32ビットQMgr、64ビットQMgr)が混在する 環境では、それぞれが正しいビット数のスイッチ・ロード・ファイルを読み込めるようにqm.iniのSwitchFileはパスなし(モジュール 名だけ)で設定し、/var/mqm/exsits、exits64にシンボリック・リンクを作成 (1) qm.iniファイルのXAResourceManagerスタンザにエントリを追加 ・ XAOpenStringのデータベース・アクセス・ユーザーは、ブローカーがアクセスする際に使用するユーザーを設定 ・ SwithFileにはモジュール名だけを記述 XAResourceManager: Name=DB2 SwitchFile=db2swit XAOpenString=db=データベース名,uid=データベース・アクセス・ユーザー,pwd=データベース・アクセス・パスワード,toc=t XACloseString= ThreadOfControl=THREAD (2) MQのexitモジュール・パスにスイッチ・ロード・ファイルへのシンボリック・リンクを作成 ln –s WMB導入ディレクトリ/sample/xatm/db2swit32 /var/mqm/exits/db2swit ln –s WMB導入ディレクトリ/sample/xatm/db2swit /var/mqm/exits64/db2swit ビット数が混在していなければ、exitsにシンボリック・リンクを作成せず、qm.iniにSwitchFileをフル・パス指定で設定することも可能 74 付録. 導入・構成上の注意点、他 UDB 2Phase Commitの設定 (Windows、Linux/x86) (1) WMBが提供するスイッチ・ロード・ファイルを指定してXAResourceManagerスタンザにエントリを追加 ・ MQエクスプローラを使って設定 ・ XAOpenStringのデータベース・アクセス・ユーザーは、ブローカーがアクセスする際に使用するユーザーを設定 XAResourceManager: Name=DB2 SwitchFile=WMB導入ディレクトリ¥sample¥xatm¥db2swit.dll XAOpenString=db=データベース名,uid=データベース・アクセス・ユーザー,pwd=データベース・アクセス・パスワード,toc=t XACloseString= ThreadOfControl=THREAD (2) データベース・インスタンスのTP_MON_NAME(トランザクション・コーディネータの種別)をMQに設定 db2 update dbm cfg using TP_MON_NAME MQ db2stop db2start 75 付録. 導入・構成上の注意点、他 その他の設定 「メッセージ・フロー・セキュリティ」、JMSアクセス、JDBCアクセス(DatabaseRetrieveなど)、 HTTPs通信、EIS(Enterprise Information System)アクセスなどの機能を使用するときは、ブローカーへの属性設定が追加で必要 詳細は、「BrokerConfiguration, Administration, and Security」、「Message Flows」のマニュアルを参照 76 付録. 導入・構成上の注意点、他 クラスター構成について ノード障害時に共有ディスクを使ってデータの引継ぎを行い、別ノードでサービス提供を継続するクラスター構成が可能 Active-Standby、Active-Activeのいずれのクラスター構成も可能 ・ブローカー ・構成マネージャー ・ユーザー・ネーム・サーバー キュー・マネージャー データベース 共有ディスク WMBランタイム・コンポーネント、MQをクラスター構成に組むためのサポートパックを下記のURLで配布 No. 名前 IC91 High Availability for WebSphere Message Broker on Distributed Platforms MC91 High Availability for WebSphere MQ on Unix platforms http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg27007198#1 下記のクラスタ製品に対応したスクリプト類が付属 (下記以外のクラスタ製品では、スクリプトをカスタマイズして使用) HACMP(AIX)、VCS(Solaris)、ServiceGuard(HP-UX)、Linux-HA HeartBeat(Linux)、MSCS(Windows) データベースのクラスター構成については、データベース製品のマニュアルを確認 77