データ管理にOracle Exadata Cloudサービスを使用し、アプリケーションはAzure上で実行するマルチクラウドソリューション (2021/07/29)
データ管理にOracle Exadata Cloudサービスを使用し、アプリケーションはAzure上で実行するマルチクラウドソリューション (2021/07/29)
投稿者:Niranjan Mohapatra / Dmitri Bovbel
オラクルとマイクロソフトは、AzureとOracle Cloud Infrastructure(OCI)を、Azure ExpressRouteとOCI FastConnectの直接相互接続を用いて接続することで、統一された統合エンタープライズクラウドエクスペリエンスを提供する独自のパートナーシップを結んでいます。ExpressRouteとFastConnectの相互接続により、お客様は2つのクラウド間で低レイテンシー、高スループットのプライベートな直接接続を体験することができます。
多くのお客様は、ビジネスを支えるデータ管理やアプリケーションのデプロイに最適なプラットフォームとテクノロジーを提供するために、マルチクラウド戦略を採用しています。データやアプリケーションを含むあらゆるソリューションと同様に、データソースとアプリケーション実行時のユーザーエクスペリエンスとの間の接続性とレイテンシーを理解する必要があります。オラクルとマイクロソフトのパートナーシップは、アプリケーションをAzureで実行しながら、データ管理はOCIデータベースで実行するという、統合されたクラウドアプローチを提供します。
このブログでは、Azure上のアプリケーションからOCI Exadata Cloud Serviceへの接続性を設定する方法をステップバイステップで説明します。
ソリューション概要
以下のテクノロジースタックを使用して、AzureアプリケーションをExadata Cloud Serviceに接続する方法を示します。
- Exadata Cloud Service:Oracle Exadata Cloud Serviceは、世界トップレベルのデータベース・テクノロジーと最強のデータベース・プラットフォームであるExadataを、クラウドベース・デプロイメントのシンプルさ、俊敏性、弾力性と組み合わせることで、世界最先端のデータベース・クラウドを実現します。ハーフラックのExadataクラウドをOCI上の4つのコンピュートノードでデプロイし、Oracle database 19c pluggable databaseを用いてSwingbenchのオーダーエントリースキーマを格納しました。
- Swingbenchアプリケーション:Swingbenchは、Oracle Databaseを使用してストレステストを行うために設計された、負荷生成およびベンチマークツールです。Swingbenchには、注文入力、販売履歴、TPC-DS、JSON、コールサークル、ストレステストの6つのワークロードが用意されています。SwingbenchはAzure上の仮想マシン(VM)に導入され、注文入力ワークロードはオンライントランザクション処理用に構成されました。
- オラクルの仮想クラウドネットワーク(VCN)とサブネット:VCNとは、Oracle Cloud Infrastructureのデータセンターで特定のOCIリージョン用に構成するソフトウェア定義のネットワークのことです。サブネットとは、VCNを細分化したものです。OCI上で稼働するExadata Cloudに必要なルーティングテーブルとセキュリティリストを持つVCNとサブネットを作成しました。
- ダイナミック・ルーティング・ゲートウェイ(DRG):DRGは仮想ルーターとして機能し、オンプレミスのネットワークや他のクラウドとVCNの間のトラフィックの経路を提供します。また、VCN間のトラフィックをルーティングすることもできます。Exadata Cloudで使用するVCNには、1つのDRGが作成され接続されています。
- FastConnect:OCI FastConnectは、お客様のデータセンターやAzureクラウドとOCIの間に専用のプライベート接続を簡単に作ることができます。OCI上のDRGにアタッチされたFastConnect回線を作成しました。
- ExpressRoute(エクスプレスルート):接続プロバイダの助けを借りて、オンプレミスのネットワークやOCIのネットワークをプライベート接続でマイクロソフトのクラウドに拡張することができます。FastConnect に接続するために、Azure 上に 1 つの ExpressRoute 回路を作成しました。
- Azure Virtual Network(VNet):Azure VNetは、Azureでのプライベートネットワークの基本的な構成要素です。VNet は、Azure VM などの多くの種類の Azure リソースが、相互に、インターネット、およびオンプレミスのネットワークと安全に通信できるようにします。Azure VNetと、Azure上で動作するアプリケーションサーバー用のサブネットを作成しました。
- Azure VNetゲートウェイ:ExpressRoute回線用にAzure上にAzure仮想ネットワークゲートウェイを作成しました。また、Azure仮想ネットワーク上にVNetゲートウェイのサブネットを作成しました。
- Azureの仮想マシン(VM):Oracle Linux 7.3を搭載したVMをAzureクラウド上に作成し、その仮想マシン上にSwingbenchクライアントを配置しました。
- Azureのプライベートドメインネームシステム(DNS)ゾーン:DNSは、サービス名をIPアドレスに変換または解決します。Azure DNSは、Microsoft Azureインフラストラクチャを使用して名前解決を行うドメイン用のホスティングサービスです。Azure DNSは、インターネットに面したDNSドメインをサポートするだけでなく、プライベートDNSゾーンもサポートしています。Azure上にプライベートDNSゾーンを作成し、SCAN IPを使ってExadata CloudのA-Recordを作成しました。
以下のソリューション・アーキテクチャを用いて、Oracle CloudとMicrosoft Azure Cloudの間のプライベートな相互接続を介して、Microsoft Azure Cloud上で動作するSwingbenchによるOCI Exadata Cloudデータベースのアクセスを検証しました。
OCIとAzureの相互接続のステップバイステップの構成については、このガイドブログを参照してください。
SCAN IPを使用したAzureプライベートDNSの設定とExadata CloudのAレコードの追加
Azure クラウド上にプライベート DNS ゾーンを作成し、Azure アプリケーション VM が使用する Azure vNET にアタッチします。また、Exadata側のOracle ClusterwareのSCAN IPに解決するExadata CloudのSCAN名の完全修飾ドメイン名(FQDN)のA-Recordを作成します。
ステップ1: OCIコンソールにログインし、Exadata CloudのSCAN IPをメモ
OCIコンソールにログインし、「Oracle Databases」に移動し、「Bare Metal, VM, and Exadata」をクリックします。「Exadata VM Clusters」を選択し、関連するコンパートメントを選択します。
特定のExadata VMクラスタをクリックして、Exadata VMクラスタの詳細ページを開きます。詳細ページには、SCAN IPがあります。Oracle Clusterwareは、この仮想クラスタ上のこれらのリソースを管理します。これらのSCAN IPは、AzureのプライベートDNSゾーン上でAレコードを作成するために使用されます。
ステップ2:AzureでプライベートDNSゾーンを構成
1. プライベートDNSゾーンを作成するか、Azure上の既存のプライベートDNSゾーンを使用することができます。このソリューションでは、Azure上にプライベートDNSゾーンを作成することを選択します。次のスクリーンショットに示すように、Azureポータルにログインして、プライベートDNSゾーンを作成します。
2. Azure VNet をプライベート DNS ゾーンにアタッチします。プライベートDNSゾーンを開き、仮想ネットワークリンクをクリックして、プライベートDNSゾーンにAzure VNetをアタッチします。
3. 次のスクリーンショットに示すように、リンクの名前を入力し、Azure VNet を選択します。
4. Exadata SCAN IPを使用してレコードセットを追加し、Exadata CloudのカスタムFQDNを定義します。
5. Aレコードの追加に成功した後、Exadata IPのFQDNを確認することができます。次のスクリーンショットは、FQDN を示しています。
ステップ3: Exadata Cloud VCNサブネットのOCIセキュリティリストを設定
OCI Consoleにログインして、Exadataクライアントのサブネットのセキュリティリストを更新します。
ポート番号1521と6200のingress TCPポートアクセスを許可して、AzureからOCIへのNet8とONSのネットワークトラフィックを許可します。ソースCIDRブロックとしてAzure CIDRブロックを使用します。
次のスクリーンショットは、Azure CIDRブロックで有効になっているTCPポートを示しています。
ステップ4:Exadata Cloud VMにSSHし、プラガブル・データベース名を取得
OCI上で稼働しているExadata Cloud VMにSSHして、プラガブル・データベース(PDB)名を取得します。この名前は、Swingbench orderentryワークロードに使用します。プラガブル・データベース名は、プラガブル・データベースに関連付けられているデータベース・サービス・クラスターウェア・リソースを識別します。
ベストプラクティスとして、次のスクリーンショットに示すように、CLIで「lsnrctl status」コマンドを実行して、PDBサービスがSCANリスナーに登録されていることを確認することができます。
ステップ5:Exadataプラグイン式データベースへのアプリケーションサーバー接続を設定
Azure上にOracle Linux 7.3をインストールしたVMをプロビジョニングし、そのVM上にSwingbenchを展開しました。AzureのプライベートDNSゾーンに定義されたExadata SCANのFQDNと、データベース接続用のプラガブル・データベースのサービス名をswingbench.xmlファイルに設定します。
ステップ6:Swingbenchを使用したOLTPワークロードの実行
OCI Exadata Cloud上のプラガブル・データベースにプライベート相互接続でアクセスするSwingbench OLTPワークロード・テストをAzure上で実行しました。200人のユーザーが同時にそのExadataプラガブル・データベースにアクセスするように設定しました。
次のスクリーンショットは、Exadata Cloudハーフラックの4つのデータベースRACインスタンスにSwingbenchのユーザー接続が均等に分散している様子を示しています。
データベース接続オプション
アプリケーションの設計に応じて、AzureベースのアプリケーションがExadataベースのRACデータベースにアクセスできるようにするために、以下の例のようなさまざまなタイプのデータベース接続識別子を選択することができます。
- JDBCシン・スタイル・ドライバーのサービス名(Swingbenchのテストで使用)。"//oci-exacs.private.exacs.oci1:1521/Azuretst_pdb.paas.oracle.com"
- JDBCシンとOCIドライバ。Oracle Netの接続URLです。
setURL( “jdbc:oracle:thin:@” +
“(DESCRIPTION=(CONNECT_TIMEOUT=20)(RETRY_COUNT=60)(RETRY_DELAY=10)"
“(ADDRESS_LIST=(LOAD_BALANCE=on)(ADDRESS=(PROTOCOL=tcp)(HOST= oci-exacs.private.exacs.oci1)(PORT=1521)))” +
"(CONNECT_DATA=(SERVICE_NAME=
"(CONNECT_DATA=(SERVICE_NAME= Azuretst_pdb.paas.oracle.com)))");
- Tnsnames Net8 service:
SWINGBENCH =
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP) (HOST= oci-exacs.private.exacs.oci1)(PORT=1521))
(CONNECT_DATA=(SERVER=DEDICATED) (SERVICE_NAME=Azuretst_pdb.paas.oracle.com)))
Azure DNSのSCAN名がExadataの正しいSCAN IPに解決されていれば、言及されているデータベース接続形式のどれもが動作し、アプリケーションが使用するデータベース接続ドライバによって選択されます。
まとめ
オラクルとマイクロソフトの両方のテクノロジーを使用するミッションクリティカルなアプリケーションを実行している企業は、オラクルとマイクロソフトのパートナーシップから提供されるこの統合されたクラウドのオプションを利用することができます。Azure ExpressRouteとOCI FastConnectを経由するトラフィックは、プライベートネットワークを通過します。この相互接続構成により、Azure Cloud上で動作するワークロードとOCIの間で安全な通信が可能になります。Azureクラウド上で動作するアプリケーションサーバーからOCIベースのデータベースにアクセスするには、Azure DNSで、Exadata Cloud SCANのホスト名の完全修飾ドメイン名を定義します。
現在のソフトウェアライセンス、投資、スキルセット、データを継続して使用しながら、クラウド導入の目標を達成することができます。統一されたアイデンティティ、ネットワーク接続性、両組織による完全なサポートにより、Oracle Cloud InfrastructureとAzureにまたがるクロスクラウドソリューションを迅速かつ容易に構築、展開できます。
詳細については、次のリソースを参照してください。
コメント
コメントを投稿