Amazon Web Services ブログ
Amazon VPC Latticeを使った Oracle Database@AWS ネットワーク接続
本投稿は、 Tom AdamskiとAditya Santhanamによる記事「Oracle Database@AWS network connectivity using Amazon VPC Lattice」を翻訳したものです。
Oracle Database(ODB)@AWS が北米リージョンで一般利用可能になり、Amazon Web Services(AWS)データセンター内のOracle Exadataインフラストラクチャ(OCIが管理)とユーザーのAWSおよびオンプレミス・ネットワークとの間の接続を合理化する新しいネットワーク接続機能を導入します。これらの新機能には、ODBネットワークからのハイブリッド接続のためのAmazon VPC Lattice統合、およびZero-ETL、Amazon S3、およびODBネットワーク間のネイティブで安全なアクセスが含まれます。
この投稿では、ODBネットワークをさまざまなサービスに接続できるVPC Latticeを利用した機能に焦点を当てて、これらの機能のネットワーキングがどのように機能するかについて説明します。
これらの機能により、より自動化され合理化された統合環境が提供されると同時に、IPアドレス空間が重複する環境でも、ユーザーが管理するリソースへの安全なアクセスが可能になります。これにより、セットアップの複雑さが軽減され、ODB@AWS と安全に通信できるアプリケーションの種類が広がります。
基本的な理解
ODB @AWS を初めて使用する場合は、AWSのドキュメントで包括的な情報を見つけることができます。新機能に取り掛かる前に、VPC Latticeを使わずにODBネットワークをAmazon Virtual Private Clouds(Amazon VPC)に接続する既存の方法を確認しておきましょう。
- ODBピアリング:1つのODBを1つのVPCに接続するための直接的で低遅延のオプションです。
- AWS Transit Gateway: 複数のVPCとの大規模な接続を合理化できます。
- AWS Cloud WAN: 複数のVPCとの拡張接続オプションを提供します。
私たちの新機能はVPC Latticeに依存しているので、そのコアコンポーネントを理解する必要があります。
- Service network:リソースをグループ化する論理的な境界
- Service network endpoint:サービスネットワークへのプライベートで安全なアクセスを可能にします
- Resource gateway :サービスネットワークがプロバイダーが公開しているリソースにアクセスできるようにします
- Resource:リソースゲートウェイを介してアクセス可能になったすべてのTCPアプリケーション
アーキテクチャの概要
プライベートネットワークを使用して新しい ODB @AWS デプロイメントを作成すると、AWSはアカウントにデフォルトの VPC Lattice サービスネットワークを自動的にプロビジョニングします。このネットワークはあなたのために作られていますが、標準のVPC Latticeサービスネットワークと同じように動作します。独自のアプリケーションをリソースまたはサービスとして追加したり、VPCやエンドポイントに関連付けたり、アクセスログを有効にしてアプリケーショントラフィックを可視化したりできます。
ODBサービスネットワークには、デフォルトのService network endpoint(ODBプライベートネットワークからのアウトバウンドアクセス用)とResource Gateway(ODBプライベートネットワークリソースへのインバウンドアクセス用)があらかじめ設定されています。このVPC Latticeのデプロイメントは、ODBピアリング、AWS Transit Gateway、AWS Cloud WANなどの従来の接続オプションとシームレスに連携します。
次の図は、ODBプライベートネットワークと他のAWSサービスおよびユーザー管理リソース間で利用可能なすべてのトラフィックフローを示しています。
図 1.ハイレベルアーキテクチャの概要
ODBプライベートネットワークと他の AWS サービス、およびユーザーが管理するリソースとの間のトラフィックの流れは、次のように行われます。
- ODBピアリング、Transit Gateway、AWS Cloud WANなどの従来の接続を使用して、ODBプライベートネットワークとユーザー管理型VPC間のトラフィックをルーティングします。
- ODBプライベートネットワークからAmazon S3またはユーザーが管理するVPC Latticeリソースへのトランスポートレイヤートラフィック。
- ユーザーのVPC(またはオンプレミス・ネットワーク)からOracleがホストする仮想マシン(Oracle VM)へのトランスポート層トラフィック。
- Amazon Zero-ETLからODBプライベートネットワークへのトランスポート層トラフィック。
マネージドサービス統合の設定
Amazon S3とZero-ETLのマネージドインテグレーションは、ODB @AWS ネットワークで簡単に設定できます。図2に示すように、ODB @AWS ネットワークの作成プロセス中に、コンソールで適切なチェックボックスを選択するだけです。
図 2.ODBネットワークでのマネージドサービス統合を有効にする
デフォルトのODBサービスネットワークを使用して以下のリソースに接続したい場合:
- 顧客管理アプリケーション
- 個々のOracleの仮想マシン
Amazon VPC Latticeの追加設定を行う必要があります。これについては、次のセクションで詳しく説明します。
注:ODBピアリングについては、AWSのドキュメントや他のブログ記事ですでに詳しく取り上げているので、この記事ではODBピアリングについては取り上げません。
ODBネットワークからAmazon S3への接続
ODBプライベートネットワークからAmazon S3にアクセスする場合、主に2つのユースケースがサポートされます。Oracleが管理するS3バケットにアクセスして自動バックアップを行う場合、もう1つは、ユーザーが管理するS3バケットへアクセスする場合です。
独自のS3バケットへのアクセスを有効にするには、バケット名、AWSアカウント、またはAWS Organizationsに基づいて権限を制御する認証ポリシーを定義してください。これらのポリシーは、標準のAmazon S3エンドポイントポリシー構文を使用しています。
ODBプライベートネットワークは、自動的に作成されたService network endpointを介してAmazon S3に接続します。Oracleが管理するAmazon S3へのバックアップアクセスは、追加の設定をしなくてもすぐに使用できます。
次の図は、Amazon S3のアクセスフローの例を示しています。
図 3.Amazon S3へのODBネットワークアクセス
- 任意のS3バケットと通信するために、ODBプライベートネットワークは、デフォルトのODB Lattice Service networkのフロントエンドであるService network endpointにトラフィックを送信します。
- トラフィックがOracleが管理するS3バケット宛ての場合、その通信はOracleによって管理および制御されます。
- ユーザー所有のバケットへのトラフィックについては、認証ポリシーを適用して、アクセスできる宛先バケットを制限できます(たとえば、特定のAWSアカウントのバケットにのみアクセスを許可するなど)。
考慮事項:
- ODBネットワークDNSは、Oracleの組み込みVirtual Cloud Network(VCN) DNSリゾルバーを使用している場合、リージョンのAmazon S3ホスト名のService network endpoint IPを自動的に返します。
- 異なる AWS リージョンの S3 バケットへのアクセスは現在サポートされていません。
- S3バケットポリシーの次の条件は、このモデルを使用するトラフィックではサポートされていません。aws:SourceVpc, aws:SourceVpce, and aws:VpcSourceIp.
ODBネットワークへのZero-ETL接続
Zero-ETL統合は、Amazon Redshiftなどのデータウェアハウスで、複数のオペレーションおよび取引ソースからのトランザクションやオペレーションデータを利用できるようにするフルマネージド型のソリューションです。このソリューションでは、Oracle Database仮想マシンからAmazon Redshiftデータウェアハウスへの統合を設定できます。これにより、ビジネスダッシュボード、最適化されたゲーム体験、データ品質モニタリング、ユーザー行動分析などのユースケースについて、より正確でタイムリーな洞察が得られます。
Zero-ETLユースケースでは、AWSマネージドサービスからODBネットワークへのインバウンド接続が必要です。次の図は、このユースケースのトラフィックフローを示しています。
図 4.ODBネットワークへのZero-ETL接続
Zero-ETLユースケースは、AWSによってフルマネージド管理され、デフォルトのODB VPC Latticeサービスネットワークでは表示されないカスタムネットワーク実装で構成されています。
考慮事項:
- Zero-ETL接続は、ODBネットワークと同じリージョンでのみサポートされています。
- Zero-ETLはオプトイン機能です。実装の詳細と価格については、AWSのドキュメントを参照してください。データの初期シードと再同期、および変更データのキャプチャには、その他の料金が適用されます。
顧客管理リソースへのODBネットワークアクセス
デフォルトのODB Latticeサービスネットワークは、Amazon S3接続のみではなくネットワーク内のカスタムリソースをサポートします。ODBピアリング、Transit Gateway、またはAWS Cloud WANとは異なり、このアプローチはエンドツーエンドのルーティング到達可能性を必要としません。VPC Latticeは、IPスペースが重複しているネットワークやアドレスファミリ(IPv4/IPv6)が異なるネットワーク間の接続を処理します。
次の図は、トラフィックフローを示しています。
図 5.デフォルトのODB VPC Latticeサービスネットワークを通じてカスタムリソースを公開
- ODBネットワークは、Service networkのendpointを介して公開されているリソースまたはサービスに接続します。
- VPC Lattice Service networkは、Resource gatewayを使用してユーザーが管理するリソースにアクセスしています。
- VPC Latticeサービスネットワークは、関連するVPC Latticeサービスに直接アクセスできます。
VPC Latticeサービスのセットアップ(HTTP、HTTPS、TLS Passthrough)
- アプリケーション用の VPC Lattice サービスを作成
- VPC Latticeサービスを、ODBサービスネットワークを所有するAWSアカウントと共有します(クロスアカウント設定を使用している場合)
- サービスをODBサービスネットワークに関連付けます
- サービスの自動生成されたホスト名を特定します:
- ODBネットワークのService network endpointに移動します。
- アソシエーションセクションを見直してください
VPC Lattice リソース (TCP) のセットアップ
- TCPアプリケーションが置かれているVPCにResource gatewayを作成します。
- リソース設定を作成してください。例としては、パブリックに解決可能なアプリケーションのホスト名があります。
- リソース設定を、ODBサービスネットワークを所有するAWSアカウントと共有します(クロスアカウント設定を使用している場合)。
- リソース構成をODBサービスネットワークに関連付けます。クライアントのAWSアカウントで、次のいずれかで接続を確立します。
- リソースの自動生成されたホスト名を特定します:
- ODBネットワークのService network endpointに移動します
- アソシエーションセクションを見直してください
考慮事項:
- カスタムホスト名を使用してOracle VMからアプリケーションに接続するには、OCI環境のDNSを更新する必要があります。プライベート・ホスト・ゾーンを作成してOracle VCNに関連付けてから、カスタム・ホスト名からAWSが生成したホスト名へのCNAMEマッピングを作成します。
- resource gatewayは、ODBネットワークと同じアベイラビリティーゾーン(AZ)にデプロイする必要があります。
Oracle VMへの顧客ネットワークアクセス
VPC Latticeを使用すると、VPCからODBネットワーク内の個々のVMに直接接続できます。これらのリソースにアクセスするには、サービスネットワークとVPCアソシエーションまたはService network endpointアソシエーションを確立する必要があります。
ODBプライベートネットワーク内の各VMは、VPCの観点からは個別のホスト名とIPアドレスとして表示されます。
VMに割り当てられているIPとホスト名の詳細を調べるには、Service network endpoint構成で関連付けを確認してください。
図 6.VPC Latticeのサービスネットワークを通じてOracleの仮想マシンを公開する
- VPC内のクライアントは、ODBネットワーク内のVMを表すローカルVPCのIPアドレスに接続します。
- トラフィックは、ターゲットVMに転送される前に、resource gatewayでODBネットワーク範囲のIPアドレスに送信元NATされます。
Oracle VMをVPC Latticeリソース(TCP)として設定する
- Oracle VMのリソースを設定します:
- 各VMのリソース構成を作成します
- 仮想マシンのIPアドレスをターゲットとして指定します
- ODBネットワークのデフォルトのresource gatewayを使用しますOracle VMのリソースを設定します
- ODBサービスネットワークをクライアントのAWSアカウントと共有します(クロスアカウント設定を使用している場合)。
- クライアントのAWSアカウントで、次のいずれかで接続を確立します。
- VMの自動生成されたホスト名には、次の方法でアクセスします:
- 新しく作成したService network endpointに移動します
- アソシエーションセクションを見直してください
考慮事項:
- Oracleの Single Client Access Name(SCAN)への接続はサポートされていません。個々のVMにのみアクセスできます。
- IPアドレスベースのリソース構成は次の範囲のみをサポートします:10.0.0.0/8、100.64.0.0/10、172.16.0.0/12、192.168.0.0/16。IPv6の場合は、VPCからのIPを指定してください。パブリックIPはサポートされていません。
- ユーザーVPC側でカスタムDNS名を設定するには、VPCにプライベートホストゾーンを設定する必要があります。このプロセスの詳細については、このAmazonネットワーキングポストのガイダンスに従ってください。
- 図の例は、service networkのendpointを使用したアクセスを示しています。VPCアソシエーションもサポートされています。
- OracleのNetwork Security Groupsが、リソース・ゲートウェイのIP範囲からのインバウンド・トラフィックを許可していることを確認してください。
結論
Amazon VPC Latticeは、ODBプライベートネットワークとAmazon S3、Zero-ETL、およびユーザー管理リソース間のシームレスな接続を可能にします。詳細な実装手順については、AWSのドキュメントを参照してください。
本投稿へのご意見はコメント欄にお願いします。
翻訳はソリューションアーキテクトの 矢木 覚 が担当しました。原文はこちらです。