外部データベースについて
外部データベースを使用して、Oracle Cloud Infrastructure (OCI)の外部にあるOracle Databasesを管理およびモニターできます。外部データベースでは、データベース管理などのクラウドベースのツールを外部データベースで使用できます。外部データベースは、単一インスタンスのOracle DatabasesとOracle RACインスタンスの両方で使用できます。
外部データベースを管理するには、テナンシ内の外部データベースを表す"ハンドル"と呼ばれるOCIリソースを作成します。データベースのハンドルを作成した後、データベース接続と呼ばれる2つ目のリソースを作成します。接続には、OCIテナンシが外部データベースに接続するために必要な情報が格納されます。接続リソースを作成し、OCIハンドルを外部データベース・インスタンスに接続した後、データベース管理サービスを有効にしてデータベースのヘルスおよびパフォーマンスをモニターできます。
詳細は、次を参照してください:
また、OCI Database Managementサービスは、外部データベース・エコシステムの監視、外部Oracle Databaseシステムの検出、およびデータベース・システム・コンポーネントの監視と管理も容易にします。
詳細は、次を参照してください:
OCI外部データベース・ハンドル
次のタイプの外部データベースに対してOCI外部データベース・ハンドルを作成できます:
- 外部コンテナ・データベース
- 外部プラガブル・データベース
- 外部非コンテナ・データベース
ハンドルには、OCI内でデータベース・インスタンスを管理できるいくつかのメタデータが格納されます。このメタデータには、OCIでのハンドルの管理に関連する次の情報が含まれます:
- Oracle Cloud ID (OCID): 外部データベース・インスタンスをOCI内で識別および管理できます。
- OCI表示名。
- コンパートメント割当て情報(オプション)。
- タグ(オプション)。
詳細は、次を参照してください:
ハンドルには、OCI関連のメタデータに加えて、データベース・インスタンスから導出されたメタデータが格納されます。これには、データベースの一意の名前、Oracle Databaseソフトウェアのエディションとバージョン、およびその他の詳細が含まれます。ハンドルによって格納されたこの情報はすべて、コンソールで表示するか、APIを使用して取得できます。外部データベース・インスタンスから導出されたメタデータ(データベースの一意の名前など)は、ハンドルとインスタンスの間にデータベース接続が確立された後にのみ、ハンドルに移入されます。
プラガブル・データベースを検出するための外部コンテナ・データベースのスキャン
外部コンテナ・データベース・ハンドルを作成して接続した後、そのハンドルを使用して外部コンテナ・データベースをスキャンし、OCIに接続されていないプラガブル・データベースを検出できます。OCIに接続されていないプラガブル・データベースが検出された場合は、スキャン操作によって生成された作業リクエストにこれらのデータベースの接続詳細がリストされます。
詳細は、次を参照してください:
OCIデータベース接続リソース
OCIデータベース接続リソースには、特定のハンドルが外部Oracle Databaseインスタンスに接続する方法の詳細が格納されます。これらの詳細には、次の情報が含まれます:
- 接続タイプおよびOCIエージェントID
- ユーザー資格証明およびロール
- 次のような接続文字列情報:
- DNSホスト名、単一クライアント・アクセス名(SCAN)または仮想IP (VIP)アドレス
- ポート番号
- サービス名
- ネットワークプロトコル(TCPまたはTCPS)
ノート
- TCPSはSSL付きTCP/IPです。このプロトコルにより、クライアント上のOracleアプリケーションは、TCP/IPおよびSSLを介してリモート・データベースと通信できます。SSLを使用すると、TCP単独よりも高いセキュリティが提供されます。詳細は、Database Net Services管理者ガイドのSSLプロトコルを使用したTCP/IPを参照してください。
- TCPSを使用する場合は、データベース・ユーザーのパスワードおよびパスワード・シークレットと、次のものを指定する必要があります:
- 通常のデータベース資格証明
- 管理エージェント上のSSLキーとトラスト・ウォレットの場所とそのパスワード
- 識別名の値。
すべてのSSL詳細は、シークレット・リソースを介して受け入れられます。
次のタイプの外部データベースに対してOCI外部データベース接続リソースを作成できます:
- 外部コンテナ・データベース
- 外部プラガブル・データベース
- 外部非コンテナ・データベース
詳細は、次を参照してください:
前提条件
OCI外部データベースを使用するには、次のものが必要です:
- OCIテナント。
- OCIの外部にある1つ以上の外部データベース。OCI外部データベースは、Oracle Databaseソフトウェア・バージョン(11gR2、12cR1、12cR2、18cおよび19c)を使用するコンテナ・データベース、プラガブル・データベースおよび非コンテナ・データベースをサポートしています。
- ソース資格証明を持つ管理エージェント・サービス・エージェント。
現在、データベース・クローン、スタンバイ・データベースまたは高可用性またはディザスタ・リカバリを使用するデータベースでのOCI外部データベースの使用はサポートされていません。
詳細は、次を参照してください:
管理エージェント通信に必要なIAMポリシー
外部データベースとの接続を作成するには、OCI管理エージェントが必要です。また、外部データベースとデータベース管理、オペレーション・インサイト、モニタリング・サービスなどの他のOCIサービスの間の通信およびデータ収集を有効にする必要もあります。
特定のユーザー・グループ内のユーザーが特定のコンパートメント内のmanagement-agents
リソース・タイプを管理できるようにするには、管理エージェント権限が必要です:
ALLOW GROUP <group_name> TO MANAGE management-agents IN COMPARTMENT <compartment_name>
また、外部データ・データベースで使用されるすべての管理エージェントに対して動的グループを作成する必要があります。これは、外部データベースがOCIサービス・エンドポイントと対話できるようにするために必要です。動的グループは、コンソールからIAMサービスを使用して作成されます。
動的グループを作成する際、コンパートメントまたはテナンシ内のすべての管理エージェントが動的グループに追加されるようにするルールを定義できます。これにより、このステップが1回かぎりの設定ステップであり、インストールされる新しい管理エージェントが動的グループに自動的に属することが保証されます。
例: Rule 1
に基づくManagement_Agent_Dynamic_Group
という名前の動的グループの作成:
ALL {resource.type='managementagent', resource.compartment.id='ocid1.compartment.oc1.examplecompartmentid'}
ここで、resource.type='managementagent'
は動的グループ・レベルでの管理エージェントの管理エージェント・タイプ定義で、resource.compartment.id
値はコンパートメントOCIDです。
これは、テナンシのすべてのコンパートメントのエージェントをカバーするためにより汎用的に作成することもできます:
ALL {resource.type='managementagent'}
動的グループを作成したら、ポリシーを作成して、管理エージェントが管理エージェント・サービスとの対話を許可し、管理エージェントがOCIモニタリング・サービスにデータをアップロードできるようにする必要があります。
表1-1ポリシー
ポリシー・ステートメント | Description |
---|---|
ALLOW DYNAMIC-GROUP <dynamic_group_name> TO MANAGE management-agents IN COMPARTMENT <compartment_name> |
管理エージェントが特定のコンパートメントの管理エージェント・クラウド・サービスと対話できるようにします。 |
ALLOW DYNAMIC-GROUP <dynamic_group_name> TO USE METRICS IN COMPARTMENT <compartment_name> where target.metrics.namespace='oracle_oci_database' |
管理エージェントが、特定のコンパートメントのOCIモニタリング・サービスにデータをアップロードできるようにします。 |
ALLOW DYNAMIC-GROUP <dynamic_group_name> TO USE tag-namespaces in compartment <compartment_name> |
オプション。管理エージェントのインストール時にタグを提供する場合にのみ必要です。 |
例: 次のコマンドでは、Management_Agent_Dynamic_Group
動的グループがAgents_Compartment
コンパートメントの管理エージェント・サービスと対話し、モニタリング・サービスにデータをアップロードできるようにします。
ALLOW DYNAMIC-GROUP Management_Agent_Dynamic_Group TO MANAGE management-agents IN COMPARTMENT Agents_Compartment
ALLOW DYNAMIC-GROUP Management_Agent_Dynamic_Group TO USE METRICS IN COMPARTMENT Agents_Compartment
サービスで、管理エージェントがデータを異なるサービスに配置することが予想される場合は、同様のポリシーを追加する必要がある場合があります。サービス固有の要件の詳細は、サービス固有のドキュメントを参照してください。