Oracle Cloud Infrastructure(OCI)では、VCN(Virtual Cloud Network)を利用してOCI上に仮想ネットワークを構築できます。Computeインスタンスなどのクラウドリソースをネットワークへ配置し、サブネット、ルーティング、インターネット接続、アクセス制御などを組み合わせてネットワーク環境を設計できます。
VCNはOCIのネットワーク設計を理解するうえで基本となるサービスです。ただし、「VCNを1個作ればネットワーク設定がすべて完成する」というものではありません。実際にはVCNの中にサブネットを作成し、用途に応じてルート表、セキュリティ・リストやネットワーク・セキュリティ・グループ(NSG)、各種ゲートウェイなどを設定します。
この記事では、OCIのVCNとは何か、どのように仮想ネットワークを構成するのかを、Webサーバーを配置する例も交えて分かりやすく解説します。
OCIのVCNは仮想的なプライベートネットワーク
Oracle公式ドキュメントでは、VCNをOracle Cloud Infrastructureデータセンター内に設定するカスタマイズ可能なプライベートネットワークとして説明しています。VCNを作成すると、そのネットワーク内にサブネットを作り、Computeインスタンスなどを接続できます。[参照] Oracle公式 OCI Networking概要
例えば、VCNにIPv4 CIDRとして10.0.0.0/16を割り当て、その内部をWebサーバー用とデータベース用のサブネットに分割するといった設計が可能です。
物理的なLANケーブルやルーターを用意するのではなく、OCIのコンソールやAPI、CLI、Terraformなどを通じてネットワークを定義します。その意味でVCNは、OCI上に構築するソフトウェア定義のネットワーク基盤と考えると分かりやすいでしょう。
VCNとサブネットは別のもの
VCNを理解するときに重要なのが、VCNとサブネットの違いです。VCNはネットワーク全体の大きな枠であり、サブネットはその内部を用途ごとに分割したネットワークです。
例えば10.0.0.0/16というVCNを作成し、その中に10.0.1.0/24のサブネットと10.0.2.0/24のサブネットを設ける、といった構成を考えられます。
| 構成要素 | 例 | 用途 |
|---|---|---|
| VCN | 10.0.0.0/16 |
仮想ネットワーク全体 |
| サブネットA | 10.0.1.0/24 |
Web・アプリケーション層など |
| サブネットB | 10.0.2.0/24 |
データベース層など |
なお、実際に使用するCIDRは将来の拡張や他ネットワークとの接続を考慮して決めます。オンプレミスや別VCNと接続するときにアドレス範囲が重複すると設計上の問題になることがあるためです。
VCNをインターネットへ接続するにはInternet Gatewayなどを使う
VCNを作成しただけでは、「VCN内のすべてのリソースが自動的にインターネットへ公開される」という意味にはなりません。インターネットとの通信が必要な場合は、用途に応じたゲートウェイやルート設定などを組み合わせます。
OCIにはInternet Gatewayがあり、パブリックIPアドレスを持つリソースとインターネットとの通信に利用できます。Internet Gatewayを作成するだけではなく、対象サブネットに関連付けられたルート表やセキュリティ設定なども適切に構成する必要があります。[参照] Oracle公式 Internet Gateway
例えばインターネットからアクセスさせるWebサーバーであれば、Internet Gatewayへのルート、パブリックIP、必要な通信を許可するセキュリティ設定などを組み合わせます。「Internet Gatewayを追加しただけでWebサーバーが公開される」と考えないことが重要です。
プライベートなサーバーから外部へ出るならNAT Gatewayが使える
データベースや内部処理用サーバーなど、インターネットから直接接続されたくないリソースでも、OSアップデートや外部サービスへの接続などのために外向きのインターネット通信が必要になる場合があります。
このような用途ではNAT Gatewayを利用できます。Oracle公式では、NAT GatewayによってパブリックIPを持たないクラウドリソースからインターネットへの接続を可能にしつつ、インターネット側からその接続を開始できない構成を実現できると説明しています。[参照] Oracle公式 NAT Gateway
例えばWebサーバーは外部からアクセス可能にし、データベースサーバーは直接公開しない、といった役割分担を行えます。実際の設計ではアプリケーションの要件に合わせてサブネットやルーティングを決定します。
OCIサービスへ接続するService Gatewayもある
OCIにはInternet GatewayやNAT Gatewayだけでなく、Service Gatewayという仕組みもあります。これはVCN内のリソースから、サポートされるOracleサービスへアクセスするために利用できます。
Oracle公式では、Service Gatewayを利用すると、パブリックIPやInternet Gateway、NAT Gatewayを利用せずに、VCNからObject Storageなどサポート対象のOracleサービスへプライベートにアクセスできると説明しています。[参照] Oracle公式 Service Gateway
つまりVCNの外へ通信するといっても、目的に応じてInternet Gateway、NAT Gateway、Service Gatewayなどを使い分けます。ここがVCN設計の重要なポイントです。
ルート表で通信の行き先を決める
VCNではルート表(Route Table)を使って、特定の宛先への通信をどこへ転送するか設定します。これは一般的なIPネットワークにおけるルーティングと同じ基本的な考え方です。
例えばインターネット向け通信をInternet Gatewayへ送る場合、対象サブネットのルート表に適切なルート・ルールを設定します。プライベートサブネットからNAT Gateway経由で外部へ通信させる場合も、対応するルートを設定します。
そのためOCIで通信できないときは、「インスタンスの設定」だけでなく、VCN、サブネット、ルート表、ゲートウェイ、セキュリティ設定を順番に確認することが重要です。
通信を制御するSecurity ListとNSG
ネットワークを作成したら、どの通信を許可するかも設定する必要があります。OCIではSecurity List(セキュリティ・リスト)やNetwork Security Group(NSG)を利用して、インバウンド・アウトバウンド通信を制御できます。[参照] Oracle公式 Security Rules
Security Listはサブネットに関連付けてルールを適用する仕組みです。一方、NSGは選択したVNICなどのリソースに対してセキュリティ・ルールを適用でき、アプリケーションの役割に応じたグループ単位で管理しやすい仕組みです。
例えばWebサーバーへのHTTPS通信だけを必要な範囲から許可し、データベースへの通信はアプリケーション層から必要なポートだけ許可するといった設計が考えられます。不要なポートを広範囲に公開しないことがセキュリティ上重要です。
VCNを使ったWebシステムの構成例
簡単なWebシステムなら、「VCN → サブネット → Compute」という階層を基本として考えると理解しやすくなります。実際には要件に応じてロードバランサー、データベース、NAT Gatewayなどを追加します。
例えば10.0.0.0/16のVCNを作り、フロント側とバックエンド側でサブネットを分けます。外部公開が必要な入口には適切なインターネット接続を用意し、内部のデータベースは直接インターネットから接続できない構成にします。
さらにSecurity ListやNSGで必要な通信だけを許可し、ルート表で通信経路を定義します。このように、VCNは単独の機能というより、OCI上のネットワーク関連コンポーネントをまとめる基盤として理解すると分かりやすくなります。
オンプレミスや別ネットワークとの接続にも発展できる
VCNはインターネット向けのWebシステムだけに使うものではありません。企業のオンプレミス環境や他のネットワークと接続する構成にも利用できます。
OCIにはDynamic Routing Gateway(DRG)があり、VCNとオンプレミスネットワークなどを接続するための仮想ルーターとして利用できます。Site-to-Site VPNやFastConnectなどを利用したハイブリッド構成でも重要になります。[参照] Oracle公式 Dynamic Routing Gateway
そのためVCNは、学習用の小規模な仮想ネットワークから企業のハイブリッドクラウドまで利用されるOCI Networkingの基本要素です。
まとめ:OCIではVCNを中心に仮想ネットワークを構築できる
Oracle Cloud Infrastructureでは、VCN(Virtual Cloud Network)を利用して仮想ネットワークを構築できます。VCNはOCI上のカスタマイズ可能なプライベートネットワークであり、その中にサブネットを作成してComputeインスタンスなどのリソースを配置します。
ただし、VCNを作成するだけでネットワーク設計が完成するわけではありません。サブネット、ルート表、Security ListやNSG、Internet Gateway、NAT Gateway、Service Gatewayなどを用途に応じて組み合わせます。
基本構造としては「VCNがネットワーク全体」「サブネットがVCN内の区画」「ルート表が通信経路」「ゲートウェイが外部との接続手段」「Security List・NSGが通信の許可範囲」と整理すると理解しやすくなります。
最初にOCI Networkingを学習する場合は、VCNを1つ作成し、その中にサブネットとComputeインスタンスを配置して、ルート表やセキュリティ・ルールを確認してみると、それぞれの役割を具体的に理解しやすくなります。


コメント