Amazon Web Services ブログ

Oracle Database@AWS の高性能ネットワーキング入門

本記事は 2026 年 4 月 20 日 に公開された「Getting started with the Oracle Database@AWS high performance networking」を翻訳したものです。

Oracle Database@AWS (ODB@AWS) は、AWS データセンター内で Oracle Cloud Infrastructure (OCI) が管理する Oracle Exadata インフラストラクチャへのアクセスを提供します。Oracle Exadata インフラストラクチャは物理的に AWS データセンター内に設置されており、同一アベイラビリティゾーン内で稼働する Amazon Elastic Compute Cloud (Amazon EC2)、Amazon Elastic Container Service (Amazon ECS)、Amazon Elastic Kubernetes Service (Amazon EKS) などの AWS サービスへの低レイテンシーネットワーク接続を実現します。アプリケーション層は、EC2 ネットワーキング上の TCP/IP 経由で Oracle の SQL*Net プロトコルを使ってデータベース層と通信します。

トレーディングシステムや高スループットの OLTP ワークロードなど、レイテンシーに敏感なオンプレミスデプロイメントのアプリケーション要件を満たすため、ODB@AWS 高性能ネットワーキングを発表しました。この機能は、EC2 上のアプリケーションとデータベース間で安定かつ予測可能なサブミリ秒のネットワークラウンドトリップレイテンシーを提供します。ODB@AWS データベースへの接続に最適化されたプレイスメントを使用する EC2 インスタンスに追加料金はかかりません。

本記事では、Oracle Database@AWS の高性能ネットワーキング機能を解説し、設定とデプロイのステップバイステップガイドを提供します。

仕組み

この機能は、サポートされるリージョンとアベイラビリティゾーンで 2026 年 4 月 1 日以降に作成された新しい Oracle Database@AWS ネットワーク (ODB ネットワーク) でのみ利用可能です。リージョンの可用性の詳細は、Oracle Database@AWS ユーザーガイドUnsupported Availability Zones を参照してください。

ODB@AWS 高性能ネットワーキングは、Amazon EC2 プレイスメントグループを使い、AWS アベイラビリティゾーン (AZ) 内で Oracle Exadata インフラストラクチャの物理的に近い場所にアプリケーションインスタンスを配置します。この近接性によりネットワークホップが最小化され、レイテンシーのばらつきが減少します。Oracle クライアント (EC2/ECS/EKS 上のアプリケーション) と ODB@AWS 上の Oracle Database サーバー間の SQL*Net トラフィックに対して、安定かつ予測可能なネットワークパフォーマンスを実現します。

高性能ネットワーキングはすべての ODB@AWS ユーザーに自動的に利用可能です。データベース用の ODB ネットワークを作成すると、プレイスメントグループが自動的にプロビジョニングされ、新しく作成された ODB ネットワークに関連付けられます。AWS Command Line Interface (AWS CLI) またはコンソールでプレイスメントグループを取得し、Amazon EC2 インスタンスの起動時に指定できます。プレイスメントグループは、新しい EC2 インスタンスの起動や EC2 On-Demand Capacity Reservation によるコンピューティング容量の予約を含む既存の Amazon EC2 API と統合されます。主な特徴は以下のとおりです。

  • プレイスメントグループの自動プロビジョニング – 新しい ODB ネットワーク (ODBN) ごとにプレイスメントグループが自動的に作成・関連付けされます。
  • 安定したレイテンシー – EC2 インスタンスと ODB@AWS データベース間で安定したサブミリ秒のネットワークラウンドトリップレイテンシーを実現します。
  • 既存の EC2 ワークフローとの互換性 – 標準 EC2 API、AWS Management Console で動作し、Amazon EC2 On-Demand Capacity Reservations (ODCR)、AWS Savings Plans、Reserved Instances をサポートします。
  • 追加コストなし – 高性能ネットワーキングは追加料金なしで利用できます。起動したインスタンスには標準の EC2 使用料が適用されます。

アーキテクチャの概要

次のアーキテクチャ図は、ODB@AWS の一部として OCI リージョン (Parent Site) が AWS リージョンのアベイラビリティゾーン (Child Site) と OCI 管理ネットワークを介して接続する仕組みを示しています。Amazon EC2/ECS/EKS にデプロイされたアプリケーションサーバーは、ODB ピアリングを通じて ODB@AWS にデプロイされた Oracle データベースに接続します。

始め方

ステップ 1: ODB@AWS ネットワークの作成

AWS Management Console または AWS CLI を使って ODB@AWS ネットワークを作成します。ODB ネットワーク作成のワークフロー完了後、プレイスメントグループが自動的に作成され ODB ネットワークに関連付けられます。

AWS CLI の例:

aws odb create-odb-network \
--display-name "mcpg-blog-odbn" \
--availability-zone-id "use1-az4" \
--client-subnet-cidr "X.X.0.0/24" \
--backup-subnet-cidr "Y.Y.0.0/24" \
--tags Key=Project,Value=mCPG-blogpost

出力:

{
"displayName": "mcpg-odbawsblog",
"status": "PROVISIONING",
"odbNetworkId": "odbnet_jt85an3z4u"}

ステップ 2: プレイスメントグループ ID の取得

ODB ネットワーク作成後、GetODBNetwork API またはコンソールからプレイスメントグループ ID を取得します。

オプション 1: AWS CLI を使用する方法

ステップ 1 で作成した ODB ネットワークを照会して EC2 プレイスメントグループ ID を取得します。

aws odb get-odb-network --odb-network-id odbnet_jt85an3z4u

出力 (簡潔にフォーマット):

{
    "odbNetwork": {
	    "odbNetworkId": "odbnet_jt85an3z4u",
		"displayName": "mcpg-odbawsblog",
		"status": "AVAILABLE",
		"odbNetworkArn": " arn:aws:odb:us-east-1::odb-network/odbnet_jt85an3z4u"
		"ec2PlacementGroupIds": ["pg-0e6faa731d3df801e"]
		}
	}

オプション 2: AWS コンソールを使用する方法

ODB@AWS コンソールに移動し、ODB ネットワークを選択して、ネットワーク詳細セクションでプレイスメントグループ ID を確認します。

ステップ 3: プレイスメントグループを使って EC2 インスタンスを起動する

アプリケーション用の Amazon EC2 インスタンスを起動する際、ステップ 2 で取得したプレイスメントグループ ID を指定します。これにより、ODB@AWS データベースの近くにインスタンスが配置され、最適なレイテンシーが実現されます。

AWS CLI の例:

aws ec2 run-instances \
--placement GroupId=pg-0e6faa731d3df801e \
--instance-type r6i.large \
--tag-specifications 'ResourceType=instance,Tags=[{Key=Name,Value=ec2-mcpg-odbawsblog}]' \
--image-id  <value> \
--count 1 \
--key-name  <value> \
--security-group-ids <value> \
--subnet-id <value>

EC2 インスタンスのプレイスメントグループ割り当てを確認します。

aws ec2 describe-instances \
--filters "Name=tag:Name,Values=ec2-mcpg-odbawsblog" \ 
--query 'Reservations[].Instances[].{Name:Tags[?Key==`Name`].Value|[0], PlacementGroup:Placement.GroupId}' \
--output table

出力:


+------------------------------------------------------+
| DescribeInstances									   |
+------------------------+-----------------------------+
|  Name                  |  PlacementGroup             |
+------------------------+-----------------------------+
| ec2-mcpg-odbawsblog    |  pg-0e6faa731d3df801e       |
+------------------------+-----------------------------+

オプション 2: AWS コンソールを使用する方法

AWS アカウント間でのプレイスメントグループの共有

同じ AWS Organization 内で AWS Resource Access Manager (AWS RAM) を使い、ODB@AWS プレイスメントグループを他の AWS アカウントと共有できます。これにより、異なる AWS アカウントを使用するアプリケーションチームが、ODB@AWS データベースへの低レイテンシー接続に最適化されたプレイスメントで EC2 インスタンスを起動できます。現在、AWS License Manager によるクロス Organization のエンタイトルメント共有は ODB@AWS ではサポートされていません。そのため、プレイスメントグループは同じ AWS Organization 内でのみ共有できます。詳細は共有プレイスメントグループを参照してください。

ネットワークレイテンシーの計測

EC2 インスタンスと Oracle Database@AWS (ODB@AWS) 間のネットワークレイテンシーを計測・検証するには、qperf または iperf3 の使用を推奨します。これらは VM クラスターの Exadata OS イメージにデフォルトで含まれています。アプリケーションをホストする EC2 インスタンスには qperf または iperf3 をインストールする必要があります。これらのツールの使い方の詳細は Oracle Exadata のドキュメントを参照してください。

代替手段として、オープンソースの TCP レベルレイテンシー計測ツールである sockperf も使用できます。sockperf は以下に役立つ補完的なネットワークメトリクスを提供します。

  • 継続的なモニタリングのためのネットワークパフォーマンスベースラインの確立
  • インフラストラクチャ変更前後のパフォーマンスメトリクスの比較
  • サブミリ秒のレイテンシー目標が一貫して達成されていることの検証

包括的なパフォーマンス評価には、qperf/iperf3/sockperf の計測と以下の Oracle データベースパフォーマンスツールの組み合わせを推奨します。

  • Automatic Workload Repository (AWR): 過去のパフォーマンス分析
  • Active Session History (ASH): リアルタイムのセッションモニタリング
  • SQL Trace: 詳細な SQL 実行分析

ODB@AWS 高性能ネットワーキングのベストプラクティス:

  1. プレイスメントグループは選択的に使用する – ODB@AWS はマルチクラウドサービスです。そのため、ネットワーク接続は一般的なオンプレミスデプロイメントとは根本的に異なり、通常は SQL*Net レイテンシーが若干追加されます。一部のワークロードではこの追加レイテンシーは無視できる程度です。他のワークロードでは大きなパフォーマンス低下を引き起こす可能性があります。そのため、プレイスメントグループの使用は安定したサブミリ秒のレイテンシーが本当に必要なワークロードに限定してください。
  2. On-Demand Capacity Reservations (ODCR) を使用する – キャパシティ不足例外 (ICE) の発生リスクを最小化するため、ODB@AWS プレイスメントグループとともに ODCR を使って事前にキャパシティを予約してください。

まとめ

本記事では、Oracle Database@AWS の高性能ネットワーキング機能の使い始めに必要なステップバイステップガイドを提供しました。

ネットワークレイテンシーはアプリケーションパフォーマンスに直接影響し、特にレイテンシーに敏感なアプリケーションで顕著です。AWS アベイラビリティゾーンは複数の物理データセンターにまたがるため、仮想マシン間の物理的な距離がネットワークレイテンシーとアプリケーションパフォーマンスに影響する可能性があります。

ODB@AWS 高性能ネットワーキングは、EC2 プレイスメントグループを自動プロビジョニングし、EC2 上のアプリケーションインスタンスを Oracle Exadata インフラストラクチャの物理的に近い場所に配置することで、この課題に対処します。Oracle クライアント (EC2 上のアプリケーション) と ODB@AWS 上の Oracle Database サーバー間の SQL*Net トラフィックに対して、予測可能なネットワークパフォーマンスを実現します。

著者について

Sameer Malik

Sameer Malik

Sameer は、リレーショナルデータベース分野で 23 年以上の経験を持ち、AWS のプリンシパルデータベースソリューションアーキテクトとして Oracle Database@AWS、Amazon RDS、Amazon Aurora を担当しています。多くのお客様のデータベースワークロードの AWS への移行とモダナイゼーションを支援してきました。

Kevin Closson

Kevin Closson

Kevin は、AWS の RDS Commercial Engines グループに所属するプリンシパルデータベースエンジニアです。データベースプラットフォームのパフォーマンスに精通し、Amazon RDS を含むさまざまなプラットフォームの I/O 性能テストに広く使われている SLOB (Silly Little Oracle Benchmark) ツールの作成者です。


この記事は Solutions Architect の 矢木 覚 が翻訳しました。