※ 本記事は、Niranjan Mohapatraによる”Split application architecture using Oracle Database Service for Azure“を翻訳したものです。
2023年1月20日
2022年7月、OracleはOracle Database Service for Microsoft Azure(ODSA)の一般提供を発表しました。これは、Oracle Cloud Infrastructure(OCI)のエンタープライズ・グレードのOracle Databaseサービスを、使い慣れたAzureのようなエクスペリエンスで簡単にプロビジョニング、アクセスおよび操作できるようにするOracle管理サービスです。
アプリケーション層とデータベース層の間のプライベートで安全な接続が必要なアプリケーション・アーキテクチャを構築して、AzureでMicrosoftベースのワークロードを実行し、OCIでOracleデータベースを実行したいと考える企業のお客様が多くいます。このブログ投稿では、Oracle Database Service for Azureを使用して分割されたアプリケーション・アーキテクチャを紹介します。これにより、お客様はOCIにOracleデータベース層をデプロイでき、Azureにデプロイされたアプリケーション層をデプロイできます。ODSAネットワークの助けを借りて、Azureアプリケーション・ホストは、パブリック・インターネットを介してネットワーク・トラフィックをルーティングすることなく、プライベートかつ安全にOracleデータベースに接続できます。
このブログ投稿では、データベースおよびアプリケーションの高可用性およびディザスタ・リカバリ構成については説明していません。
ODSA概要
2019年以降、OracleはMicrosoftと提携し、マルチクラウドのOCI-Azure Interconnectを提供しています。このインターコネクトは、OCIとAzure間のセキュアでプライベートな相互接続を提供し、世界中のさまざまなクラウド・リージョンで2ミリ秒未満のレイテンシを実現しています。お客様はこれを使用して、OCI-Azure Interconnectを設定する仮想回線(OCI FastconnectおよびAzure Expressroute)を維持および管理します。
ODSAは、OCI-Azure Interconnectの既存の機能に基づいて構築され、OCIで実行されているデータベースに接続しながら、Azureで実行されているアプリケーション・コンポーネントの設定、管理および接続をさらに簡素化する、完全に自動化されたOracle管理サービスです。ODSAは、既存のAzureの顧客がOracleデータベースをプロビジョニングし、Oracleデータベースとアプリケーション・サーバー間の接続を簡素化するためのAzureのようなユーザー・インタフェースを提供します。
ODSAは、Azureアプリケーション・インサイトなどのAzureテレメトリ・サービスと、ODSAポータルを介してプロビジョニングされたOracleデータベースのメトリック、ログおよびイベントを送信するログ分析とも統合されています。
ソリューション要約
たとえば、このソリューションは、ODSAを介してプロビジョニングされたOracle Base Databaseと、Azure VMで実行されているソーシャル・メディア・アプリケーションを使用します。データベース・サービス名の完全修飾ドメイン名(FQDN)を使用して、アプリケーションのデータベース接続を構成しました。Azureで実行されているアプリケーションは、ODSAを介してプロビジョニングされたOCIで実行されているOracleデータベースに接続できました。
ODSAポータルを使用してベース・データベースを作成しました。データベースの作成時に、OCI仮想クラウド・ネットワーク(VCN)にCIDRブロックを提供し、アプリケーション・サーバーに事前作成およびアタッチされたAzure VNetを選択します。Oracleが提供するODSA自動化の一部として、提供されたCIDRを使用してOCI VCNを作成し、Azure VNetでネットワーク・リンクを作成しました。すべてのデフォルト・セキュリティ・ポートが有効になっており、ルールを含むルーティング表がOCI VCNおよびAzure VNetに追加されました。
ODSAによるデータベース・プロビジョニングの自動化により、AzureおよびOCIにプライベート・ドメイン・ネーム・システム(DNS)が追加され、OracleデータベースのAレコードが追加されます。データベースのプライベートFQDNを使用して、Azureアプリケーション・サーバーで構成します。これにより、Azureで実行されているアプリケーション・サーバーとOCIで実行されているOracleデータベース間の接続が可能になります。
ODSAは、顧客のAzure VNetとOCI VCNの間にプライベート・トンネルを構築します。また、このサービスは、AzureとOCIサービス・テナンシの両方でプライベートDNSを構成し、顧客のクラウド・テナント内のアプリケーションとOCIテナンシのデータベース・リソースとの双方向通信を可能にします。
マルチクラウド・ソリューション構成
ODSAを介してプロビジョニングされたプライベートFQDNを使用してAzureで実行されているアプリケーション層からOracle Databaseに接続するには、次のステップに従います。:
-
まだ行っていない場合は、このドキュメントに従ってODSAにオンボードしてください。
-
アプリケーション層用にVNetおよびサブネットをazureに作成します。
-
ODSAを介したデータベース・プロビジョニング中に提供するために、OCI VCNの重複しないCIDRブロックを取得します。
-
ODSAを使用してベース・データベースを作成します。
-
Azureでアプリケーション仮想マシン(VM)を構築し、アプリケーションをデプロイします。
ODSAポータルを使用したデータベースの作成
Azure資格証明を使用してODSAポータルにログインし、ベース・データベースを作成します。ODSAでは、承認されたユーザーのみがODSAのデータベース・リソースを管理できるため、Oracleデータベースをプロビジョニングするための適切な権限がユーザーに付与されていることを確認してください。
ODSAポータルにログインした後、「Base Database」、そして「Create」をクリックしてOracle Base Databaseを作成します。
Azure VNetを選択し、OCI VCNに重複しないネットワークCIDRブロックを指定します。データベース・プロビジョニングの自動化により、Azure VNetとOCI VCNの間のネットワーク・リンクが作成されます。データベース・プロビジョニングの一環として、必要なサブネット、セキュリティ・リストおよびルート表が作成され、サブネットがOracleデータベースにアタッチされます。
データベースが正常に作成されたら、ODSAポータルからデータベース接続構成を取得します。データベースをクリックし、「Connect」をクリックして、ODSAポータルからデータベース接続を取得します。
ODSAを使用して、次の一般的なデータベース管理およびアプリケーション・アクセス機能を実行できます。:
-
Create, read, update, delete, list (CRUDL)
-
データベースのクローニング
-
データベース・バックアップ(自動および手動)
-
データベース・リストア(現時点では既存のデータベースにリストア)
-
Azure接続文字列の生成
-
データベース・メトリックの表示
データベース接続のためのアプリケーションの構成
ODSAを介したデータベース・プロビジョニング中に選択されたAzure VNetにVMをプロビジョニングします。アプリケーションをAzure VMにデプロイします。この例では、Pythonで記述されたソーシャル・メディア・アプリケーションを使用して、Azure VMにデプロイしました。
次のスクリーンショットは、Azure VMでデータベースへのアプリケーション接続用に提供されているデータベース構成パラメータを示しています。
Azureからアプリケーションにアクセス
アプリケーションVMにはAzure VNetのプライベートIPが割り当てられ、アプリケーションにアクセスするようにソフトウェア・ポート5000が構成されています。
データベース・スキーマのユーザー資格証明を指定して、ソーシャル・メディア・ユーザーの詳細を表示します。
まとめ
Oracleは、お客様がクラウドへの移行を成功させ、ハイブリッドおよびマルチクラウド戦略を達成できるよう支援する最善のサービスを提供することを約束します。オラクルのコア・テナントの1つは、ミッション・クリティカルなワークロードをパブリック・クラウドに移行するための最も簡単なパスを提供することです。その多くは、長い間Oracleデータベースを利用してきました。この新しいOracle Database Service for Azureを使用すると、Azureのアプリケーション層およびOCIのデータベース層を使用して、ミッションクリティカルなワークロードを簡単にパブリック・クラウドにデプロイまたは移行できます。
詳細は、次のリソースを参照してください。:
