原文はこちら
マルチクラウドというストーリーが拡がっており、エンタープライズ企業は複数のインフラ、そしてクラウドプロバイダにまたがってアプリケーションを構築することを望んでいます。最近発表されたOracleとMicrosoftのクラウド・パートナーシップにより、Microsoft AzureとOracle Cloud Infrastructure(OCI)間でのクロス・クラウド・ネットワークや、統一されたIDおよび認証、そして協働的で統合されたサポートモデルが可能になっています。クロス・クラウド・ネットワークはセキュアかつ専有されたリンクであり、ふたつのクラウドプロバイダ間の通信に大容量の帯域と低遅延性を提供します。お客様はこのクロス・クラウドの接続を構築するのに、サードパーティのネットワークプロバイダに依頼する必要がありません。
クロス・クラウド接続によって以下を含む多くのユースケースが可能になります:
- WebアプリケーションをAzure上に、Autonomous DatabaseをOCI上に
- JavaとOracleアプリケーションをOCI上に、.NET/SQLサーバーアプリケーションをAzure上に
- AzureからOCI上のAutonomous Databaseのデータマイニング
- クラウドをまたいだアプリケーション間のインターオペラビリティ
- 複数クラウドベンダをまたいだ高可用性
Jamal Arifは最近のこのブログポストで、ユーザーがMicrosoft AzureとOCIとの間のエンドトゥエンドのクラウド相互接続をどれほどかんたんに作成できるかを説明しました。そのシリーズの続きとして、このポストではわたしたち(Samir ShahとVinay Rao)からマルチクラウド・2層アプリケーションの構築プロセスを一通りご説明することで、エンタープライズ企業がふたつのクラウドプロバイダそれぞれのベストなサービスを活用したアプリケーションをどのように構築できるかのイメージをつかんでいただこうと思います。
アプリケーションの構築を始めるまえに、アーキテクチャの概要を見ておきましょう。以下の図で、アプリケーション層はAzureコンピュートインスタンス上に居て、データベース層はOracle Autonomous Databaseサービスとなっています。アプリケーション層はデータベースにデータを書き込み、またクエリしますが、この際にトランジット・ルーティングを用いることでセキュアなプライベート接続を通ってアクセスします。
前提の準備事項
アプリケーションのデプロイを始めるまえに、How to set up the interconnect between Oracle Cloud Infrastructure and Microsoft Azureのポストで説明されているステップをこなしておきましょう。
Step 1: OCI上でAutonomous Databaseをセットアップ
- Oracle Cloud Infrastructureコンソールにログインしてus-ashburn-1リージョンを選んでください。
- クイックアクションメニューからCreate a data warehouseをクリックしてAutonomous Data Warehouseインスタンスをつくります。
- ウィザードに従ってAutonomous Data Warehouseインスタンスに必要な項目を入力し、Create Autonomous Databaseをクリック。データベースのプロビジョニングには3~5分程度かかります。
- Walletファイル(クライアント認証情報)をダウンロードします。
- Autonomous Databaseのページから、データベースの横のActionsのアイコン(「・・・」アイコン)をクリックしてService Consoleを選んでください。
- Administrationのセクションに移動してWalletファイルをダウンロードします。のちのステップでこのWalletファイルを使うことになります。
Step 2: Azure上でのアプリケーション層のセットアップ
- Azureポータルにログインします。
- 前提の準備事項をこなしているときに作成したネットワークの中にUbuntuのVirtual Machine(VM)を作成します。
- ネットワークセキュリティグループの設定で、必要となるデータベースのポートおよび他の接続の許可を行います。
- VMが起動したら、SSHでVMに接続してみてアクセス可能なことを確かめましょう。
Step 3: Oracle Servicesへのプライベートピアリングルートをセットアップ
前提の準備事項のステップをこなしていれば、OCIとMicrosoft Azureとの間のプライベートピアリングリンクができあがっていると思います。であれば、ふたつのインフラストラクチャ上のVMはお互いに対してセキュアに接続することができます。
データベースにセキュアプライベート接続を通してアクセスするには、最近アナウンスされたトランジット・ルーティング の機能を使います。この機能を有効にするには、Access Oracle Services Privately with a Service Gatewayのブログポストでの手順に従ってサービスゲートウェイを作成します。
- OCIコンソールで、Networking > Virtual Cloud Networkと移動し、VCNを選択してください。
- Resources配下のService Gatewaysをクリックし、サービスゲートウェイを作成します。
- All IAD Services in Oracle Services Networkに到達できるサービスゲートウェイを作成します。
- DRGルートテーブルの作成
- Resourses配下のRoute Tablesをクリックし、新規ルートテーブルを作成します。
- ターゲットタイプとしてService Gatewayを指定し、デスティネーションサービスはAll IAD Services in Oracle Services Networkを指定します。
- このルートテーブルをDRGに関連付けることで、全てのOracle Services NetworkルートをこのDRGの監督化に置きます。
- Resources配下で、Dynamic Routing Gatewaysをクリックします。
- 作成したルートテーブルがあるVCNに付属のDRGをクリックします。
- Actionsアイコン(「・・・」のアイコン)をクリックして、そこからAssociate With Route Tableをクリックします。
- 作成したルートテーブルを選択し、Associateをクリックします。
これでルートテーブルがDRGに関連付けられたので、DRGがAzure Expressルート上のOracle Services Networkルートを監督するようになり、また、これらのルートはVMのルートテーブル上で見えるようになります。 - Oracle Services NetworkからのトラフィックがリモートのAzureアプリケーションに到達できるようにするため、SGWルートテーブルを作成します。ターゲットタイプとしてDynamic Routing Gatewayを指定し、デスティネーションCIDRブロックにはAzure Expressルートのアドレスを指定します。
- SGWルートテーブルをサービスゲートウェイに関連付けます。
- Resources配下のService Gatewayをクリック。
- 対象のサービスゲートウェイの横のActionsアイコン(「・・・」のアイコン)をクリックして、Associate With Route Tableをクリック.
- 作成したルートテーブルを選択し、Associateをクリック。
Step 4: アプリケーションのインストール
これで接続のセットアップができたので、データベースからデータをマイニングするアプリケーションをインストールします。
- Azure VMにOracleインスタンスクライアントをインストールします。
- Step 1でダウンロードしておいたWalletファイルをアップロードし、フォルダにZIPを解凍し、その中のファイルを使ってAutonomous Data Warehouseデータベースにアクセスします。
- このリポジトリからアプリケーションをクローンします。
- アプリケーションを実行します。
これで完了です!このシンプルなPythonアプリケーションがAzure VNET上で稼働し、Autonomous Data Warehouseデータベースからプライベートかつセキュアにデータをマイニングできます。
まとめ
このポストをお楽しみいただけたら幸いです。AzureとOracle Cloud Infrastructureをまたいでお客様がどんなアイデアやアプリケーションを実現することができるかの、必要最小限の例として、ここではサンプルの2層アプリケーションをご紹介しました。