Azure KubernetesをOracle Database@Azure上のOracle Exadata Database Serviceに接続

Microsoft Azure Kubernetes ServiceをOracle Database@Azure上のOracle Exadata Database Serviceに接続して、Oracle Real Application Clusters (Oracle RAC)を含む最高のOracle Databaseパフォーマンス、高可用性、スケーラビリティ、およびAzureアプリケーションのセキュリティのロックを解除する方法を学習します。これにより、アプリケーション開発者は、Microsoft Azure PortalからKubernetesアプリケーションをデプロイし、Azureデータ・センターに存在するOracle Exadata Cloud Infrastructureを使用してOracle Exadata Database Serviceに接続し、Azure Kubernetes Serviceに近接して実行して、可能なかぎり低いレイテンシを実現できます。

開始する前に

このリファレンス・アーキテクチャを利用するには、次のものが必要です。

  • Microsoft Azure Kubernetesサービス(AKS)
  • AKSクラスタのデプロイ
  • 次を使用してOracle Database@Azureを構成します:
    • Azureサブスクリプションおよびディレクトリへのアクセス
    • OCIテナンシへのアクセス
    • AzureクラウドとOracleクラウド間のアクティブなOracle Database@Azureマルチクラウド・リンク
Oracle Database@Azureをプロビジョニングする前に、適切なOracle Exadata Database Service制限およびOracle Cloud Infrastructure (OCI)サービス制限があることを確認してください:
  1. OCIメニューで、「ガバナンスと管理」をクリックします。
  2. 「Tenancy Management」で、「Limits、 Quotas and Usage」をクリックします。
  3. 「サービス」ドロップダウン・メニューから「データベース」を選択します。

アーキテクチャ

このアーキテクチャは、Azure Kubernetes Service (AKS)およびOracle Exadata Database ServiceにMicrosoft Azureリージョンにデプロイされたコンテナ化されたアプリケーションを示しています。自動バックアップは、AzureリージョンのOracle Database Autonomous Recovery ServiceまたはOCIリージョンのOCI Object Storageに送信されます。

Kubernetesは、コンテナ化されたワークロードおよびサービスを管理するためのポータブルで拡張可能なオープン・ソース・プラットフォームであり、宣言的な構成と自動化の両方を促進します。Kubernetesは、クラウド・ネイティブ・コンピューティングの基礎となるテクノロジーと考えられており、急速に成長する大規模なエコシステムを備えています。Kubernetesのサービス、サポート、ツールが幅広く利用可能です。

このアーキテクチャでは、AKSのコンテナ化されたアプリケーションが独自のアプリケーション・サブネット内にあります。Kubernetesクラスタには複数のポッドを含めることができ、それぞれが独自のOracle Pluggable Database (PDB)に接続されます。プライマリ・データベースのPDBは、Azure可用性ゾーンのOracle Exadata Database Service on Dedicated Infrastructureで実行されるOracle Database@Azureにデプロイされます。コンテナ・イメージはAzureコンテナ・レジストリに格納されます。ユーザーは、パブリック・ロード・バランサを介して外部からアプリケーションにアクセスします。

クラウドの自動化により、Oracle Exadata InfrastructureおよびOracleマルチテナント・データベース(CDBおよびPDB)のほとんどのライフサイクルおよび管理タスクが簡素化されます。たとえば、サーバーの追加とOCPUのスケール・アップとスケール・ダウン、データベースおよびデータベース・ホームの作成、インフラストラクチャ・メンテナンスのスケジュール、VMオペレーティング・システム、Grid Infrastructureおよびデータベースの更新とアップグレード、バックアップおよびリカバリ操作の実行、さらにはOracle Data Guardを介したディザスタ・リカバリ保護の有効化などです。

次の図は、このリファレンス・アーキテクチャを示しています。

azure-kube-exadata-db.pngの説明が続きます
図azure-kube-exadata-db.pngの説明

azure-kube-exadata-db:oracle.zip

アーキテクチャには次のコンポーネントがあります。

  • リージョン

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

    Azureリージョンは、可用性ゾーンと呼ばれる1つ以上の物理Azureデータ・センターが存在する地理的領域です。リージョンは他のリージョンから独立しており、長距離の場合は(国または大陸にまたがって)分離できます。

    AzureおよびOCIリージョンは、ローカライズされた地理的領域です。Oracle Database@Azureの場合、AzureリージョンがOCIリージョンに接続され、Azureの可用性ゾーン(AZ)がOCIの可用性ドメイン(AD)に接続されます。距離とレイテンシを最小限に抑えるために、AzureとOCIリージョンのペアが選択されます。

  • Azure可用性ゾーン

    可用性ゾーンは、使用可能でフォルト・トレラントになるように設計されたリージョン内の物理的に独立したデータ・センターです。アベイラビリティ・ゾーンは、他のアベイラビリティ・ゾーンへの低レイテンシ接続に十分近くなります。

    サブネット委任とは、Microsoftがマネージド・サービス(特にPlatform-as-a-Serviceサービス)を仮想ネットワークに直接注入できることです。

  • Microsoft Azure仮想ネットワーク

    Microsoft Azure Virtual Network(VNet)は、Azureのプライベート・ネットワークの基本的な構成要素です。VNetを使用すると、Azure仮想マシン(VM)などの多くのタイプのAzureリソースが、相互に、インターネットおよびオンプレミス・ネットワークと安全に通信できます。

    サブネット委任とは、Microsoftがマネージド・サービス(特にPlatform-as-a-Serviceサービス)を仮想ネットワークに直接注入できることです。

  • Exadata Database Service on Dedicated Infrastructure

    Oracle Exadata Database Serviceは、パブリック・クラウドで専用の最適化されたOracle Exadata Cloud Infrastructure上に実績のあるOracle Database機能を提供します。組み込みのクラウド自動化、柔軟なリソーススケーリング、セキュリティ、およびOLTP、インメモリ分析、およびコンバージドOracle Databaseワークロードのための高速パフォーマンスにより、管理を簡素化し、コストを削減できます。

    Oracle Exadata Cloud Infrastructureは、より多くのCPUコア、ストレージの増加、およびより高速なネットワーク・ファブリックをパブリック・クラウドにもたらします。Oracle Exadataストレージ・サーバーには、Exadata RDMA Memory (XRMEM)が含まれ、追加のストレージ層が作成され、システム全体のパフォーマンスが向上します。Exadataは、XRMEMと、ネットワークおよびI/Oスタックをバイパスする革新的なRDMAアルゴリズムを組み合せ、高価なCPU割込みやコンテキスト・スイッチを排除します。

    Oracle Exadata Cloud Infrastructureは、コンバージド・イーサネット(RoCE)内部ネットワーク・ファブリックの100Gbpsアクティブ/アクティブ・リモート・ダイレクト・メモリー・アクセスのスループットを向上させ、すべてのコンピュート・サーバーとストレージ・サーバー間で非常に低レイテンシで、以前の世代よりも高速なインターコネクトを提供します。

  • Oracle Database Autonomous Recovery Service

    Oracle Database Autonomous Recovery Serviceは、Oracle Databasesをデータ損失やサイバー脅威から保護するように設計されたフルマネージド・サービスです。これにより、データベース・オーバーヘッドの削減、検証済みバックアップによる信頼性の高いリカバリ、およびリアルタイムの保護により、停止またはランサムウェア攻撃から1秒以内のリカバリが可能になります。このサービスは、一元化されたデータ保護ダッシュボードを提供し、Oracle Databasesのバックアップに推奨されます。

  • Azure Kubernetesサービス

    Azure Kubernetes Service(AKS)は、Microsoft Azureが提供するマネージドKubernetesサービスで、コンテナ化されたアプリケーションをデプロイおよび管理します。Kubernetesクラスタには、複数のポッドを含めることができます。

  • Oracle Database@Azure

    Oracle Database@Azureは、Microsoft Azureデータ・センターにデプロイされたOracle Cloud Infrastructure (OCI)で実行されるOracle Databaseサービス(Oracle Exadata Database Service on Dedicated InfrastructureおよびOracle Autonomous Database Serverless)です。このサービスは、OCIと機能および価格パリティを提供し、ユーザーはAzure Marketplaceでサービスを購入します。

    Oracle Database@Azureは、Oracle Exadata Database ServiceOracle Real Application Clusters (Oracle RAC)およびOracle Data GuardテクノロジをAzureプラットフォームに統合します。ユーザーは、AzureコンソールおよびAzure自動化ツールでサービスを管理します。サービスはAzure Virtual Network(VNet)にデプロイされ、Azure Identity and Access Managementシステムと統合されます。OCIとOracle Databaseの汎用メトリックと監査ログは、Azureでネイティブに利用できます。このサービスでは、ユーザーにAzureサブスクリプションとOCIテナンシが必要です。Oracle Autonomous DatabaseOracle Exadata Cloud Infrastructure上に構築されており、自己管理、自己保護および自己修復が可能なため、手動のデータベース管理や人的エラーを排除できます。Autonomous Databaseでは、大規模言語モデル(LLM)と導入場所の選択肢を使用して、組み込みのAI機能を使用して、あらゆるデータでスケーラブルなAI搭載アプリを開発できます。

    Oracle Exadata Database ServiceOracle Autonomous Database Serverlessはどちらも、ネイティブのAzure Portalを介して簡単にプロビジョニングされるため、より広範なAzureエコシステムにアクセスできます。

    お客様の商業的なメリットには、Oracle Exadata Database ServiceOCI Object StorageおよびOracle Cloud Infrastructure Networkingデータ転送料金の調達にAzure Commitments (MACC)を使用することが含まれます。既存のOracleライセンスをBYOLとして利用でき、ライセンス込み、コラボレーティブなサポート・モデルおよびMicrosoft Azure Marketplaceでの調達もすべて1つの統一された請求として提示されます。

  • コントロール・プレーン

    Kubernetesコントロール・プレーンは、Kubernetesクラスタ内のワーカー・ノードおよびポッドのリソースを管理します。コントロール・プレーン・コンポーネントは、イベントを検出して応答し、スケジューリングを実行し、クラスタ・リソースを移動します。

  • オブジェクト・ストレージ

    OCIオブジェクト・ストレージでは、データベースのバックアップ、分析データ、イメージやビデオなどのリッチ・コンテンツなど、あらゆるコンテンツ・タイプの構造化データおよび非構造化データにすばやくアクセスできます。インターネットまたはクラウド・プラットフォーム内から直接、データを安全かつセキュアに格納できます。パフォーマンスやサービスの信頼性を低下させることなく、ストレージを拡張できます。

    迅速、即時、頻繁にアクセスする必要があるホット・ストレージには、標準ストレージを使用します。長期間保持し、ほとんどまたはほとんどアクセスしないコールド・ストレージには、アーカイブ・ストレージを使用します。

  • サービス・ゲートウェイ

    サービス・ゲートウェイは、VCNからOracle Cloud Infrastructure Object Storageなどの他のサービスへのアクセスを提供します。The traffic from the VCN to the Oracle service travels over the Oracle network fabric and does not traverse the internet.

考慮事項

このリファレンス・アーキテクチャをデプロイする場合は、次の点を考慮してください。

  • YAMLファイルを更新します

    接続文字列を使用して、Azure Kubernetes ServiceデプロイメントのYAMLファイルを更新します。データベースへの接続文字列は、OCIコンソールで確認できます。

  • パフォーマンス
    • Oracleマルチテナント・アーキテクチャは、マイクロサービス・アーキテクチャの永続性レイヤー、データのバインドされたコンテキスト分離、セキュリティ、および高可用性のために推奨されます。

      Oracleマルチテナント・アーキテクチャでは、Oracle Databaseは、複数のプラガブル・データベース(PDB)を含むコンテナ・データベース(CDB)として機能できます。これにより、様々なデータ型とワークロードを持つマイクロサービスは、単一のコンバージド・コンテナ・データベースを使用できます。PDBを活用することで、OracleはCDB内のマイクロサービス分離データベースを提供し、物理コンテナ間でのPDBの移動を有効にできます。マイクロサービスは、Oracle Exadata Database Service on Dedicated Infrastructureで実行されているOracle Databaseインスタンスに接続できます。

  • セキュリティ
    • 接続文字列のパスワードおよびウォレット(該当する場合)をAzure Kubernetes ServiceのKubernetesシークレットに格納するのではなく、Azure Key Vaultなどのボールトを使用することを検討してください。
  • ネットワーク
    • Oracle Databaseネットワーク・アタッチメントに委任されたサブネットを持つ、少なくとも1つのAzure Virtual Network (VNet)が必要です。

    • Microsoft Azure Kubernetes ServiceサブネットとOracle Exadata Database Service VMクラスタ・クライアント・サブネットを同じVNetにデプロイすることを検討してください。

  • 可用性
    • ユニバーサル接続プール(UCP)、Oracle JDBCドライバおよびOracle Real Application Clusters (Oracle RAC)を使用して構成し、Oracle Databaseの高可用性(HA)機能を、アプリケーションの継続的な可用性を維持するための計画的および計画外の停止時間中に継続的なサービスに利用することを検討してください。

      UCPでは、Oracle RACOracle Data Guard、Oracle Sharding、非同期API、ランタイム・ロード・バランシング、XA、アプリケーション・コンティニュイティ、トランザクション・ガード、透過的アプリケーション・フェイルオーバー、単一クライアント・アクセス名(SCAN)、データベース常駐接続プール(DRCP)へのフロントエンドなど、すぐに利用できるすべてのOracle Database構成およびミッションクリティカル機能(可用性、スケーラビリティおよびロード・バランシング)がサポートされます。Oracle RACシステムでは、複数のサーバー・ノードからすべてのOracleデータベース・サービスに同等にアクセスできます。Oracle RACクラスタのノードまたはサブセットに障害が発生した場合や、メンテナンスのためにオフラインになった場合でも、残りのアクティブ・ノードからデータベースにアクセスできます。

    • Oracle Databaseでアプリケーション高可用性を実装するためのビルディング・ブロックを次に示します。
      1. データベース・サービスの使用
      2. 高可用性のURLまたは接続文字列の構成
      3. 高速アプリケーション通知(FAN)の有効化
      4. Javaアプリケーションのドレインと継続的なデータベース可用性の実現
    • Oracle Databaseのバックアップ保存先として推奨されるOracle Database Autonomous Recovery Serviceの使用を検討してください。

      バックアップを格納するために使用可能な2つのオプションは次のとおりです。同じAzureリージョンにOracle Exadata Database Serviceが存在するか、Azureリージョンに関連付けられたデフォルトのOCIリージョンにあります。

デプロイ

このリファレンス・アーキテクチャをデプロイするには、次を実行します。

  1. Azure Kubernetes Service (AKS)クラスタをデプロイするには、「クイックスタート: Azureポータルを使用してAzure Kubernetes Service (AKS)クラスタをデプロイする」に移動し、Azure Kubernetesクラスタをデプロイする手順に従います。
  2. Azure MarketplaceからOracle Database@Azureをサブスクライブします。
  3. VNetの委任サブネットにOracle Exadata Virtual Clusterをデプロイします。
  4. Azure Kubernetesを同じVNet内の別々のサブネットにデプロイします。
  5. 接続文字列を使用してデータベースに接続するようにアプリケーション定義を更新します。

確認

  • 作成者: Suzanne Holliday, Julien Silverston, Paul Parkinson, Leo Alvarado