Oracle Notification Serverプロキシを使用するOracle Database Cloud Servicesについて

Oracle Base Database Serviceは、マルチクラウド機能を活用し、アプリケーションの可用性、コスト削減、アジリティ、パフォーマンスを最適化するためのカスタマイズ可能なソリューションを実現します。マルチクラウドの導入には、IT管理の複雑さを軽減し、エンドツーエンドのセキュリティを確保するための慎重な計画が必要です。

Oracle Connection Manager (CMAN)は、接続リクエストとレスポンスを透過的に転送し、エントリ・ポイントを提供し、TLSセキュリティ、プロトコルのスイッチング/ルーティングおよびアクセス制御を提供することで、データベースとアプリケーションが異なるcloud serviceプロバイダ上にあるマルチクラウド・デプロイメントを容易にします。

このソリューション・プレイブックでは、単一のCMANインスタンスをOracle Databaseとともに使用して、クライアントがOracle RACイベントをサブスクライブできるように、Google Cloudとの接続を作成する方法を学習します。

ノート:

複数のCMANインスタンスは、より優れたロード・バランシング機能を提供し、パフォーマンスと可用性を強化できます。


gc-oci-ons-subscribe-rac-events-arch oracle.zip

Oracle Notification Service (ONS)は、Oracle Grid Infrastructureのコンポーネントで、サーバー・ロード、ノード・アップまたはダウンなどのOracle Real Application Clusters (Oracle RAC)イベントを公開します。データベースに直接接続するデータベース・クライアントまたは接続プールを使用するデータベース・クライアントは、これらの通知をサブスクライブできるため、クリティカル・イベント中にアクションを実行できます。アプリケーションとOracle RACデータベースが異なるクラウド・プロバイダにまたがるマルチクラウド・デプロイメントでは、アプリケーションはCMANを使用してOracle RACデータベースと通信できます。ただし、これらのセッションは、バインドされていない高速アプリケーション通知(FAN)イベントを受信できません。

Oracle RACでは、ONSデーモンは、nodeappsの一部としてOracle Clusterwareによって起動されます。クラスタ化されたノードごとに1つの ONSデーモンが起動されます。ONSデーモンは、ローカルのEVMD Clusterwareデーモンを使用して、公開されたOracle Clusterwareイベントのサブセットを受信し、これらのイベントをアプリケーション・サブスクライバおよびローカル・リスナーに転送して、次のことを容易にします。

  • アプリケーションがデータベースの状態変更に応答できるようにする高速アプリケーション通知(FAN)機能。高速接続フェイルオーバー(FCF)は、FAN機能を使用して実現するクライアント・メカニズムです。
  • 異なるRACノード間のロード・バランシングを許可するロード・バランシング・アドバイザ(RLB機能)機能は、異なるノードのロードによって異なります。RDBMS MMONプロセスは、30秒ごとに作業の分散に関するアドバイザを作成し、ONSを使用してリスナーおよびアプリケーションに転送します。

クライアントがOracle RACイベントをサブスクライブできるようにするには、Oracle Notification Serverプロキシが必要です。CMANは、リクエストとレスポンスを透過的に転送し、単一エントリ・ポイントを提供し、TLSセキュリティ、プロトコルのスイッチング/ルーティングおよびアクセス制御を提供します。CMANホストで実行されているOracle Notification Serverは、ONSプロキシを介してOracle RACネットワーク上のONSサーバーと通信します。CMANホスト上のONSをサブスクライブするクライアント・アプリケーションは、Oracle RACパブリック・ネットワーク上のOracle Notification ServiceOracle Notification Serverプロキシを使用して通信します。



ons-publish-subscribe-proxy-arch oracle.zip

ONSは、HTTPプロトコルのサブセットを使用する汎用的な帯域外メッセージ配信メカニズムを提供します。ONSは、サブスクライブしているクライアントに配信される通知をサーバーがパブリッシュするパブリッシュ/サブスクライブ・メカニズムです。

Oracle RACクラスタでは、ONSデーモンの1つのインスタンスが、すべてのクラスタ・ノードのOracle Clusterwareによって起動されます。データベース・サーバーのデプロイメントは通常、ファイアウォールによって保護されるため、ONSサーバーもその背後にあります。サーバーは、外部向けOracle Notification Serverを介して、ファイアウォール外部のクライアントにアクセスできるプロキシに接続します。プロキシは、内部ONSサーバーからの通知が公開される外部Oracle Notification Serverインスタンスからスピンオフします。その後、外部ONSサーバーは、これらの通知をサブスクライブされたクライアントに公開します。

開始する前に

開始する前に、次の操作を行ってください。

Oracle Net Servicesガイドを確認します。次に、次のステップに従って、OCI VCNをプロビジョニングし、Oracle RACデータベースをインストールおよび構成します:
  1. パブリック・サブネットおよびプライベート・サブネットを使用してOCI VCNをプロビジョニングします。プライベート・サブネットは、Oracle Base Database Serviceを使用して2ノードのOracle RACデータベースをプロビジョニングするために使用され、パブリック・サブネットは、CMANOCI Compute仮想マシンをプロビジョニングするために使用されます。
    VCN プライベート・サブネット パブリック・サブネット

    名前: OnsProxyVcn

    IPv4 CIDRブロック: 10.0.0.0/16

    10.0.1.0/24 10.0.0.0/24
  2. Oracle Base Database Serviceを使用してOracle RACデータベースをデプロイします。

    Oracle Base Database Serviceを使用した2ノードのOracle RACデータベースの作成の詳細は、OCIドキュメントコンソールを使用したDB Systemの作成の項を参照してください。次のデータベースが例です。

    データベース・システム データベース ノード1 ノード2

    名前: RACDBSystem

    ドメイン名: sub12161926541.onsproxyvcn.oraclevcn.com

    SCAN DNS名: racnode-scan

    SCAN IPアドレス: 10.0.1.20510.0.1.3510.0.1.117

    データベース名: ORCLCDB

    一意のデータベースの名前: ORCLCDB_8p7_phx

    バージョン: 23.6.0.24.10

    名前: racnode1

    プライベートIP: 10.0.1.13

    名前: racnode2

    プライベートIP: 10.0.1.95

  3. プライベート・サブネット上のRACノードにアクセスするように要塞を構成します。

    要塞を使用してポート転送セッションを作成し、Oracle RACノードのプライベートIPにアクセスします。

    要塞 Details
    要塞

    名前: OnsProxyRacDbBastion

    ターゲットvirtual cloudネットワーク: OnsProxyVcn

    ターゲット・サブネット: private subnet-OnsProxyVcn

    CIDRブロックの許可リスト: 0.0.0.0/0

    プライベート・エンドポイントIPアドレスのアドレス: 10.0.1.215

  4. Oracle RACデータベース・システムの詳細を構成します。

    次に、プロビジョニングする必要があるOracle RACデータベース・ノードおよびOracle Clusterwareの重要な構成の詳細を示します。

    Oracle RACノード IP ホスト名 VIP名 SCAN名 ドメイン Grid Infrastructure/データベースのバージョン
    Oracle RACノード1 10.0.1.13 racnode1 racnode1-vip racnode-scan subnet.onsproxyvcn.oraclevcn.com 23.6.0
    Oracle RACノード2 10.0.1.95 racnode2 racnode2-vip racnode-scan subnet.onsproxyvcn.oraclevcn.com 23.6.0
    Oracle RACデータベースのステータスを確認します。
    oracle@racnode1 ~]$ date;/u01/app/oracle/product/23.0.0.0/dbhome_1/bin/srvctl status database -d ORCLCDB_8p7_phxTue Dec 17 03:24:52 UTC 2024
    Instance ORCLCDB1 is running on node racnode1
    Instance ORCLCDB2 is running on node racnode2

必要なサービスおよびロールについて

このソリューションには、次のサービスおよびロールが必要です。

  • Oracle Cloud Infrastructure Networking
  • Oracle Cloud Infrastructure FastConnect
  • Oracle Cloud Infrastructure Compute
  • Oracle Base Database Service

各サービスに必要なロールは次のとおりです。

サービス名: ロール 必要...
OCIネットワーク: manage vcn-family VCNs、サブネット、セキュリティ・ルールおよびFastConnectを含むネットワーク・コンポーネントを管理します。
OCIコンピュート: manage instance-family コンピュートVMインスタンスを作成します。
OCIデータベース: manage database-family ベース・データベース・サービス・インスタンスの作成

必要なものを取得するには、Oracle製品、ソリューションおよびサービスを参照してください。

アーキテクチャ

このアーキテクチャでは、マルチクラウドでOracle RACCMANおよびONSプロキシ・デプロイメントのシナリオを使用します。これは、クライアント・ネットワークからアクセスできないOCI VCNのプライベート・サブネット内のOracle Base Database Serviceを使用してデプロイされたOracle RACデータベースを示しています。


rac-cman-proxy-deploy-multicloud-arch-oracle.zip

Oracle Connection Manager (CMAN)は、同じOCI VCNのパブリック・サブネットにあるOCI Compute仮想マシンにデプロイされます。クライアントは、パブリック・サブネット上のパブリックIPを使用してCMANにアクセスできます。ONSサーバーと ONSプロキシは、CMANホストマシン上に構成されます。CMANリスナーは、ファイアウォールの背後にあるOracle RACデータベースに接続します。

Oracle clientソフトウェアを含むアプリケーションは、Google CloudのCompute仮想マシンにデプロイされます。

同じデータベース・サーバーおよびONSに接続された複数のCMANを使用することもできます。この場合、すべてのCMANノードでONSプロキシとOracle Notification Serverを構成する必要があります。

このアーキテクチャでは、次のコンポーネントがサポートされています。

  • OCIのリージョン

    OCIリージョンとは、可用性ドメインをホストする1つ以上のデータ・センターを含む、ローカライズされた地理的領域のことです。リージョンは他のリージョンから独立しており、長距離の場合は複数の国または大陸にまたがる領域を分離できます。

  • フォルト・ドメイン

    フォルト・ドメインは、可用性ドメイン内のハードウェアおよびインフラストラクチャのグループです。各可用性ドメインには、独立した電源とハードウェアを備えた3つのフォルト・ドメインがあります。複数のフォルト・ドメインにリソースを分散すると、アプリケーションは、フォルト・ドメイン内の物理サーバー障害、システム・メンテナンスおよび電源障害を許容できます。

  • OCI virtual cloudのネットワークおよびサブネット

    仮想クラウド・ネットワーク(VCN)は、ソフトウェアで定義されたカスタマイズ可能なネットワークであり、OCIリージョン内に設定します。従来のデータ・センター・ネットワークと同様に、VCNsではネットワーク環境を制御できます。VCNには、VCNの作成後に変更できる重複しない複数のクラスレス・ドメイン間ルーティング(CIDR)ブロックを複数含むことができます。VCNをサブネットにセグメント化して、そのスコープをリージョンまたは可用性ドメインに設定できます。各サブネットは、VCN内の他のサブネットと重複しない連続した範囲のアドレスで構成されます。サブネットのサイズは、作成後に変更できます。サブネットはパブリックにもプライベートにもできます。

  • 可用性ドメイン

    可用性ドメインは、リージョン内の独立したスタンドアロン・データ・センターです。各可用性ドメイン内の物理リソースは、他の可用性ドメイン内のリソースから分離されているため、フォルト・トレランスが提供されます。可用性ドメインどうしは、電力や冷却、内部可用性ドメイン・ネットワークなどのインフラを共有しません。そのため、ある可用性ドメインでの障害が、リージョン内の他の可用性ドメインに影響することはありません。

  • OCI FastConnect

    Oracle Cloud Infrastructure FastConnectは、データセンターとOCI間に専用のプライベート接続を作成します。FastConnectは、インターネット・ベースの接続と比較して、より高帯域幅のオプションとより信頼性の高いネットワーキング体験を提供します。

  • OCIコンピューティング

    Oracle Cloud Infrastructure Computeを使用すると、クラウド内のコンピュート・ホストをプロビジョニングおよび管理できます。CPU、メモリー、ネットワーク帯域幅およびストレージのリソース要件を満たすシェイプを使用してコンピュート・インスタンスを起動できます。コンピュート・インスタンスを作成した後は、セキュアにアクセスし、再起動してボリュームをアタッチおよびデタッチし、不要になったときにそれを終了できます。

  • Oracle Base Database Service

    Oracle Base Database Serviceは、仮想マシン上でフル機能のOracle databasesを構築、スケーリングおよび管理できるOCIデータベース・サービスです。Oracle Base Database Serviceは、ローカル・ストレージではなくOCI Block Volumesストレージを使用し、Oracle Real Application Clusters (Oracle RAC)を実行して可用性を向上させることができます。

  • Oracle Linux

    Oracleは、最新のITインフラストラクチャの基本的な構成要素であるオペレーティング・システム、コンテナおよび仮想化を、1つの統合製品であるOracle Linuxに統合します。Oracle Linuxは、データセンターまたはクラウド内の任意のハードウェアで実行することで、要求の厳しいエンタープライズ・ワークロードに信頼性、スケーラビリティ、セキュリティ、パフォーマンスを提供します。

  • Oracle Clusterware

    Oracle Clusterwareでは、サーバーが相互に連携して、高可用性ユニットとして機能するように見えます。このサーバーの集合を一般的にクラスタと呼びます。サーバーはスタンドアロンサーバーですが、各サーバーはほかのサーバーと通信するため、個々のサーバーはアプリケーションやエンドユーザーに対して1つのシステムとして表示されます。Oracle Clusterwareは、クラスタ内のコンポーネント、再起動またはリソースのフェイルオーバーも監視して、高可用性を確保します。Oracle Clusterwareは、Oracle RACの実行に必要なインフラストラクチャとなります。また、Oracle Clusterwareでは、仮想IP (VIP)アドレス、データベース、リスナー、サービスなどのリソースも管理します。

  • Oracle Connection Manager

    Oracle Connection Manager (CMAN)は、Oracleデプロイメントで使用される多目的データベース接続プロキシです。クライアント・アプリケーション・リクエストをOracle Databaseに透過的に転送し、レスポンスをクライアント・アプリケーションにリレーします。クライアントは、ユーザー・アプリケーションまたは中間層ソフトウェア・ソリューションです。CMANは、クライアントからデータベース・ネットワーク・レイヤー(Oracle RACパブリック・ネットワークを含む)を抽象化します。複数のデータベースを単一のCMANインスタンスの背後にデプロイできます。したがって、クライアントはデータベース層に単一エントリ・ポイントを使用できます。CMANは、ローカルおよびリモートのOracle Databaseに接続するためのTLSセキュリティ、プロトコル・スイッチング/ルーティングおよびアクセス制御を提供します。

  • Oracle Databaseウォレットと証明書

    データ・セキュリティは、データベースで最も重要なタスクです。データベース・システムに対する攻撃の数と洗練度は増え続けています。データベース・システムが動作していることを確認するのは、圧倒的な作業です。Oracle Database walletは、認証および署名資格証明を格納するパスワードで保護されたコンテナです。これには、データベース・クライアントがOracle Databaseネットワーク間で通信できるようにする秘密キーおよび証明書が含まれます。

    Oracle Database証明書(公開キー・インフラストラクチャ(PKI)デジタル証明書)は、walletを使用する公開キーまたは秘密キー交換でエンド・エンティティのアイデンティティを検証するwalletコンポーネントです。

  • Oracle Notification Service

    Oracle Notification Service (ONS)は、Oracle Grid Infrastructureのコンポーネントで、サーバー・ロード、ノード・アップまたはダウンなどのOracle Real Application Clusters (Oracle RAC)イベントを公開します。データベースに直接接続するデータベース・クライアントまたは接続プールを使用するデータベース・クライアントは、これらの通知をサブスクライブできるため、クリティカル・イベント中にアクションを実行できます。アプリケーションとOracle RACデータベースが異なるクラウド・プロバイダにまたがるマルチクラウド・デプロイメントでは、アプリケーションはCMANを使用してOracle RACデータベースと通信できます。ただし、これらのセッションは、バインドされていない高速アプリケーション通知(FAN)イベントを受信できません。

    ONSは、HTTPプロトコルのサブセットを使用する汎用的な帯域外メッセージ配信メカニズムを提供します。ONSは、クライアントがサブスクライブしているクライアントに配信される通知を公開するパブリッシュ/サブスクライブ・メカニズムです。サブスクリプション構文は柔軟性があり、単一のサブスクライバが多数の異なるタイプの通知または非常に特定のタイプのみに一致する可能性があります。Oracle Notification Serviceは、Oracle Databaseでメッセージングおよびイベント・システムとして使用されます。

  • Oracle Notification Server

    Oracle Notification Serverは、Oracle Notification Service (ONS)を実行します。

  • Oracle Interconnect for Google Cloud

    Oracle Interconnect for Google Cloudは、OCI FastConnectパートナ接続とGoogle Cloud Partner Interconnectを組み合せた専用のプライベート相互接続サービスであり、マルチクラウドの顧客が2つのクラウド間でイノベーションを行い、既存の使い慣れたツールを適用してワークロードをサポートするのに役立ちます。