6 Oracle Cloud MarketplaceでのODIの高可用性の構成
この章は、Oracle Cloud MarketplaceでOracle Data Integratorの高可用性(HA)トポロジを構成するのに役立ちます。この章の各項では、高可用性を備えたデプロイメントの設計に重要な概念とステップについて概要を説明します。
内容は次のとおりです。
6.1 高可用性のための2ノード・クラスタの設定の前提条件
高可用性のために2ノード・クラスタを設定する前に、次の前提条件を確認します。高可用性のために2ノード・クラスタを設定する前に、次を用意してください:
- サブネット内に作成されたすべてのコンピュート・インスタンスとの通信をサポートするOCI仮想クラウド・ネットワーク(VCN)の設定。
- すべての通信チャネルはプライベートIPを介します。
- サブネット外部で確立された外部通信は、パブリックIPを介します。
- イングレス/エグレスに対する適切な構成。詳細は、受信ポートおよびサービスの有効化を参照してください。
- 自動スケーリングおよび
DBMS_CLOUD
パッケージへのアクセスを利用するための、次の構成を持つAutonomous Transaction Processingインスタンス:- ワークロード・タイプ: トランザクション処理
- デプロイメント・タイプ:共有インフラストラクチャ
- ネットワーク・アクセス: すべての場所からのセキュア・アクセスを許可
- ステップ1で説明したものと同じサブネットおよびVCNに作成されたADBまたはDBaaSインスタンス。
- ステップ1で説明したものと同じサブネットおよびVCNに作成されたODIコンピュート・インスタンス1。
- ステップ1で説明したものと同じサブネットおよびVCNに作成されたが、可用性ドメインが異なるODIコンピュート・インスタンス2。
- クラスタの一部であるすべてのコンピュート・インスタンス内のファイアウォール構成。詳細は、ファイアウォールを参照してください。
6.2 ODIドメインの作成と構成
このセクションには次のトピックが含まれます:
6.2.3 ノード1でのODIエージェントの設定
- ODI Studioを起動します。
- 「トポロジ」タブにナビゲートします。
- 次のように新しいエージェントを定義します:
- 名前: エージェント名として
OracleDIAgent
を指定します。 - ホスト: ODIノード(Node1)のプライベートIPアドレスを入力します。
- ポート: 管理対象サーバー"
ODI_server1
"に定義されているポートを指定します(15101/8001)。
- 名前: エージェント名として
- 構成を保存します。
- 対応する論理エージェントを定義して保存します。
- Webブラウザで、Weblogic Serverの左側のパネルを使用して、
「環境」→「サーバー」
に移動します。 - 画面の右側で、「制御」および「ODI_server1」を選択します。
- 「起動」をクリックします。
- 「サーバー・ライフサイクル・アシスタント」画面で、「はい」をクリックします。
ODI_server1
の"RUNNING"ステータスが表示されるまで、ページのリフレッシュを続けます。- デプロイメントを確認します。画面左側の階層ペインを使用して、「デプロイメント」画面に移動します。
- エージェントをテストします。Weblogic Serverの左側のパネルを使用して、
「環境」→「サーバー」
に移動します。 - サーバー1 (
ODI_server1
)をドリルダウンします。 - 画面の右側で、「デプロイメント」を選択します。
- エージェント(
oraclediagent
)をドリルダウンします。 - 画面の右側で、「テスト」を選択します。
oraclediagent
ノードを展開します。- 「テスト・ポイント」フィールドで使用可能なURLをクリックします。
- 今後の参照用に保存してください。
- ODI Studioに戻ります。
- 「テスト」をクリックします。"テスト成功"のメッセージが表示されます。
- ODI Studioからログアウトします。
6.3 ロード・バランサの構成
ロード・バランサは、プライベートまたはパブリックのいずれかで作成できます。ロード・バランサの詳細は、ロード・バランシングの概要に関する項を参照してください。ロード・バランサに対して永続性を有効にしないでください。
次のステップに従って、ロード・バランサを作成および構成します:
- ナビゲーション・メニューを開きます。「コア・インフラストラクチャ」グループで、「ネットワーキング」に移動して「ロード・バランサ」をクリックします。
- 作業する権限を持つコンパートメントを「スコープ」で選択し、「ロード・バランサの作成」をクリックします。
- ロード・バランサの属性を次のように指定します:
- ロード・バランサ名 :ロード・バランサの名前を指定します。
- 可視性タイプの選択: 「プライベート」を選択します。
- 最大合計帯域幅の選択: 「中」を選択します。
- ネットワーキングの選択: ODIノードが配置されているのと同じVCNおよびサブネットを選択します。
- 画面の左下隅にある「次へ」をクリックします。
- 「バックエンドの追加」をクリックして、使用可能なコンピュート・インスタンスのリストからリソースを選択してください。
- 2つのODIノードを選択し、画面の下部にある「選択したバックエンドの追加」をクリックします。
- ODI管理対象サーバー"ODI_server1"および"ODI_server2"を指すように両方のノードのポートを変更します(8001/15101)。
- 「ヘルス・チェック・ポリシーの指定」セクションで、次の情報を指定します:
- ポート: ODI管理対象サーバーのポート(8001/15101)を指定します。
- URLパス(URI):
/oraclediagent/
を指定します。
- 画面の左下隅にある「次へ」をクリックします。
- 「リスナーの構成」セクションで、次の情報を入力します:
- リスナーで処理するトラフィックのタイプの指定: 「HTTP」を選択します。
- リスナーでイングレス・トラフィックをモニターするポートの指定: 80を指定します。
- 画面の下部にある「拡張オプションの表示」をクリックすると、追加オプションにアクセスできます。
- 「最大タイムアウトを指定します」フィールドに3600を指定します。
- 画面の左下隅にある「送信」をクリックします。これにより、ロード・バランサのプロビジョニング・プロセスが開始されます。
- ロード・バランサがプロビジョニングされると、画面に「アクティブ」と表示されます。プライベートIPアドレスをノートにとります。
- この時点で、(任意のノードで) ODI Studioを起動し、「トポロジ」タブに移動します。
- エージェント"OracleDIAgent"を次のように変更します:
- ホスト: ロード・バランサのプライベートIPアドレスを指定します。
- ポート: 80を指定します。
- 「テスト」をクリックします。「ODI情報」ダイアログ・ボックスに「エージェント・テストに成功しました。」と表示されます。
6.4 受信ポートおよびサービスの有効化
インスタンス間の通信を確立するには、基礎となるセキュリティ・リスト(VCNに関連付けられている)ですべてのIPプロトコルが有効になっていることを確認する必要があります。
ノート:
直接的または間接的に参加しているすべてのインスタンスは、次のイングレス・ルールおよびエグレス・ルールに従う必要があります。表6-1 イングレス・ルールおよびエグレス・ルールの表
ステートレス | ソース | IPプロトコル | ソース・ポート範囲 | 宛先ポート範囲 | タイプおよびコード | 使用可能 | コメント |
---|---|---|---|---|---|---|---|
いいえ |
0.0.0.0/0 |
TCP |
すべて |
22 |
ゼロ |
次のポートのTCPトラフィック: 22 SSHリモート・ログイン・プロトコル |
SSH通信の場合、ポート22を開く必要があります。 |
いいえ |
0.0.0.0/0 |
ICMP |
ゼロ |
ゼロ |
3,4 |
次の場合のICMPトラフィック: 3、4 宛先に到達できません: フラグメンテーションが必要ですが、断片化しないように設定されていました |
ICMPはサポート・プロトコルであり、少なくともイングレス・ルールでタイプ3、4および8を許可する必要があります。ICMPプロトコルの詳細は、IANAリストを参照してください。 |
いいえ |
10.0.0.0/16 |
ICMP |
ゼロ |
ゼロ |
3 |
次の場合のICMPトラフィック: 3 宛先に到達できません |
ICMPはサポート・プロトコルであり、少なくともイングレス・ルールでタイプ3、4および8を許可する必要があります。ICMPプロトコルの詳細は、IANAリストを参照してください。 |
いいえ |
0.0.0.0/0 |
ICMP |
ゼロ |
ゼロ |
8 |
次の場合のICMPトラフィック: 8 エコー |
ICMPはサポート・プロトコルであり、少なくともイングレス・ルールでタイプ3、4および8を許可する必要があります。ICMPプロトコルの詳細は、IANAリストを参照してください。 |
いいえ |
0.0.0.0/0 |
TCP |
すべて |
1521 |
ゼロ |
次のポートのTCPトラフィック: 1521 |
ポート1521はデータベース・トラフィック用です。 |
いいえ |
0.0.0.0/0 |
TCP |
すべて |
443 |
ゼロ |
次のポートのTCPトラフィック: 443 HTTPS |
ポート443はSSLトラフィックです。 |
いいえ |
0.0.0.0/0 |
TCP |
すべて |
7001 |
ゼロ |
次のポートのTCPトラフィック: 7001 |
WLS管理サーバーの通信ポート。 |
いいえ |
0.0.0.0/0 |
TCP |
すべて |
8001 |
ゼロ |
次のポートのTCPトラフィック: 8001 |
すべてのノードの管理対象サーバー通信ポート。 |
いいえ |
0.0.0.0/0 |
TCP |
すべて |
5556 |
ゼロ |
次のポートのTCPトラフィック: 5556 |
ノード1のノード・マネージャ・ポート。 |
いいえ |
0.0.0.0/0 |
TCP |
すべて |
5557 |
ゼロ |
次のポートのTCPトラフィック: 5557 |
ノード2のノード・マネージャ・ポート。 |
いいえ |
0.0.0.0/0 |
UDP |
すべて |
7574 |
ゼロ |
次のポートのUDPトラフィック: 7574 |
WLSクラスタ・ポート |
いいえ |
0.0.0.0/0 |
TCP |
すべて |
8095 |
ゼロ |
次のポートのTCPトラフィック: 8095 |
ノード1のOracle Coherenceポート。 |
いいえ |
0.0.0.0/0 |
TCP |
すべて |
8096 |
ゼロ |
次のポートのTCPトラフィック: 8096 |
ノード2のOracle Coherenceポート。 |
いいえ |
10.0.17.0/24 |
TCP |
すべて |
8001 |
ゼロ |
次のポートのTCPトラフィック: 8001 |
Oracle ODIエージェントの両方のノード |
いいえ |
0.0.0.0/0 |
TCP |
すべて |
7 |
ゼロ |
次のポートのTCPトラフィック: 7 ECHO |
Coherence TCPリング/IPモニターの停止検出機能。 |
いいえ |
10.0.17.0/24 |
TCP |
すべて |
80 |
ゼロ |
次のポートのTCPトラフィック: 80 |
OCIロード・バランサ |
6.5 ファイアウォール・ルール
イングレス・ルールおよびエグレス・ルールを設定した後でも、インスタンスが受信トラフィックを許可しない場合があります。これは、インスタンスに関連付けられたファイアウォールが原因です。ファイアウォールを構成してすべての通信ポートを有効にしてください。
次に、イングレス・ポートまたはエグレス・ポート(ポート通信が有効)に対するファイアウォール・コマンドの例を示します:
ノード間のポート通信を有効にするファイアウォール・コマンド(両方のマシンで実行):
sudo firewall-cmd --permanent --new-service=odiwls
sudo firewall-cmd --permanent --service=odiwls --set-description="ODI WLS server"
sudo firewall-cmd --permanent --service=odiwls --add-port=7001/tcp
sudo firewall-cmd --permanent --add-service=odiwls
sudo firewall-cmd --reload
sudo firewall-cmd --permanent --new-service=odimanagedwls
sudo firewall-cmd --permanent --service=odimanagedwls --set-description="ODI WLS Managed Server"
sudo firewall-cmd --permanent --service=odimanagedwls --add-port=8001/tcp
sudo firewall-cmd --permanent --add-service=odimanagedwls
sudo firewall-cmd --reload
sudo firewall-cmd --permanent --new-service=odiwlsnodemgr1
sudo firewall-cmd --permanent --service=odiwlsnodemgr --set-description="ODI WLS Node Manager1"
sudo firewall-cmd --permanent --service=odiwlsnodemgr --add-port=5556/tcp
sudo firewall-cmd --permanent --add-service=odiwlsnodemgr1
sudo firewall-cmd --reload
sudo firewall-cmd --permanent --new-service=odiwlsnodemgr2
sudo firewall-cmd --permanent --service=odiwlsnodemgr --set-description="ODI WLS Node Manager2"
sudo firewall-cmd --permanent --service=odiwlsnodemgr --add-port=5557/tcp
sudo firewall-cmd --permanent --add-service=odiwlsnodemgr2
sudo firewall-cmd --reload
sudo firewall-cmd --permanent --new-service=odiwlscluster
sudo firewall-cmd --permanent --service=odiwlscluster --set-description="ODI WLS cluster"
sudo firewall-cmd --permanent --service=odiwlscluster --add-port=7574/udp
sudo firewall-cmd --permanent --add-service=odiwlscluster
sudo firewall-cmd --reload
sudo firewall-cmd --permanent --new-service=odiwlscoherencewk1
sudo firewall-cmd --permanent --service=odiwlscoherencewk1 --set-description="ODI WLS coherence WKA1"
sudo firewall-cmd --permanent --service=odiwlscoherencewk1 --add-port=8095/tcp
sudo firewall-cmd --permanent --add-service=odiwlscoherencewk1
sudo firewall-cmd --reload
sudo firewall-cmd --permanent --new-service=odiwlscoherencewk2
sudo firewall-cmd --permanent --service=odiwlscoherencewk2 --set-description="ODI WLS coherence WKA2"
sudo firewall-cmd --permanent --service=odiwlscoherencewk2 --add-port=8096/tcp
sudo firewall-cmd --permanent --add-service=odiwlscoherencewk2
sudo firewall-cmd --reload
TCPリング・ポート32783 – Coherenceクラスタ
ファイアウォールを実行している場合は、指定したアドレスおよびポートを使用できるように構成する必要があります。ファイアウォールは、通常はクラスタ・メンバー間で設定されません。ソリューションでファイアウォールを使用する必要がある場合は、次を確認します。
- マルチキャストとユニキャストの両方の構成のUDPとTCPの両方用に、クラスタ・ポート(デフォルトで7574)が開かれている。
- Coherence TCPリング/IPモニター停止検出機能用に、TCPポート7が開かれている。
- UDPとTCPの両方のトラフィック用に、ユニキャスト・ポート範囲が開かれている。システムによって割り当てられているエフェメラル・ポートに依存するのではなく、ユニキャストのリスニング・ポート範囲が明示的に設定されていることを確認します。
クラスタ・メンバーのユニキャスト・ポートは、オペレーティング・システムの使用可能なエフェメラル・ポートの範囲から自動的に割り当てられます。これにより、Coherenceと他のアプリケーションの間でポートの競合が誤って発生することがなくなります。ただし、クラスタ・メンバー間でファイアウォールが必要な場合は(特殊な構成)は、ポートを手動で構成する必要があります。
ユニキャスト・ポートは、次に示すように-D引数を使用して指定できます:
-Dcoherence.localport=9000 -Dcoherence.localport.adjust=9200
オペレーション・オーバーライド・ファイルを使用するかわりに、システム・プロパティであるcoherence.localhost
、coherence.localport
およびcoherence.localport.adjust
を使用して、ユニキャスト・ポートと自動ポート調整の設定を指定できます。coherence.localport.adjust
値は、ローカル・ポートの自動調整の上限です。前述の例では、使用されるポート範囲の値は9000および9200です。他の任意のポート範囲を使用できます。
両方のノードに次のファイアウォール・ルールを追加する必要があります:
sudo firewall-cmd --permanent --new-service=odicoherencecluster
sudo firewall-cmd --permanent --service=odicoherencecluster --set-description="ODI Coherence Cluster TCP Ring"
sudo firewall-cmd --permanent --service=odicoherencecluster --add-port=32783/tcp
sudo firewall-cmd --permanent --add-service=odicoherencecluster
sudo firewall-cmd --reload
TCPポート7 – Coherence停止検出
両方のノードに次のファイアウォール・ルールを追加する必要があります:
sudo firewall-cmd --permanent --new-service=odicoherencedeathdetect
sudo firewall-cmd --permanent --service=odicoherencedeathdetect --set-description="ODI Coherence Cluster TCP Ring"
sudo firewall-cmd --permanent --service=odicoherencedeathdetect --add-port=7/tcp
sudo firewall-cmd --permanent --add-service=odicoherencedeathdetect
sudo firewall-cmd –reload
sudo firewall-cmd --list-all
両方のノードへのロード・バランサHTTPトラフィック
両方のノードに次のファイアウォール・サービスを追加する必要があります:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --reload