Cloud Service
Virtual Cloud Network (VCN)
OCI 上に作る自分専用の仮想ネットワーク。サブネット・ルートテーブル・各種ゲートウェイで通信を設計する土台。AWS の Amazon VPC に相当。
- 1.OCI 内に作る自分専用の仮想ネットワークの土台。
- 2.サブネット・ルート・各種ゲートウェイで通信経路を設計。
- 3.公開層と非公開層を分け、DB はプライベートに隔離。
解決する課題
- リソースをネットワーク的に隔離し、外部から触れる範囲を最小化
- 「公開する層」と「隠す層」をサブネットで分離(Web ⇄ DB など)
- オンプレや他 VCN・他クラウドと安全に接続
- ルート・セキュリティ・DNS を自分で完全に制御
主要概念と用語
- CIDR: VCN の IP 範囲(例
10.0.0.0/16)。1つの VCN に複数 CIDR ブロックを追加可能 - サブネット: VCN を区切った区画。パブリック/プライベートに分ける。リージョナル(推奨) と AD 固有の2種類があり、リージョナルサブネットは複数 AD にまたがれる
- ルートテーブル: サブネットの通信経路を決める。サブネットに1つ関連付ける
- インターネットゲートウェイ (IGW): VCN をインターネットに繋ぐ(双方向。パブリック IP を持つリソース向け)
- NAT ゲートウェイ: プライベートサブネットから外向きのみインターネット通信させる
- サービスゲートウェイ (SGW): Object Storage など OCI サービスへインターネットを経由せず到達(AWS の Gateway 型 VPC エンドポイント相当)
- 動的ルーティングゲートウェイ (DRG): VPN/FastConnect やリモート VCN ピアリングのハブ(AWS の VGW + Transit Gateway 相当)
- セキュリティリスト / ネットワークセキュリティグループ (NSG): 2方式の仮想ファイアウォール
- VNIC: インスタンスをサブネットに接続する仮想 NIC
仕様・制限・クォータ
- AD(Availability Domain)とフォルトドメイン: リージョン内は1〜3個の AD で構成。リージョナルサブネットを使えば複数 AD をまたいで冗長化できる
- サブネットは作成後に CIDR を変更できない(VCN 側は条件付きで CIDR 追加・変更が可能)
- 各サブネットで OCI が先頭2つ(ネットワークアドレス+ゲートウェイ)と末尾1つ(ブロードキャスト)の計3 IP を予約
- テナンシ/リージョンごとに VCN 数・サブネット数などのサービス制限(引き上げ申請可)
- VCN はリージョン単位のリソース。サブネットはリージョナルまたは AD 固有
内部の仕組み
「パブリックサブネット」という属性自体は存在しますが、実際に外部疎通できるかはルートテーブルと、リソースがパブリック IP を持つかで決まります。
- パブリック疎通:
0.0.0.0/0 → Internet Gatewayの経路を持ち、リソースがパブリック IP を持つ - プライベートの外向き: IGW を持たず、外向きが必要なら
0.0.0.0/0 → NAT Gateway - OCI サービスへの内部経路: OCI のサービス CIDR ラベル(例
all-<region>-services-in-oracle-services-network)→ Service Gateway
通信可否は セキュリティリスト(サブネット単位) と NSG(VNIC 単位) の2方式で評価され、いずれもステートフル/ステートレスのルールを定義できます。両方が適用される場合はいずれかで許可されれば通過します(ユニオン評価)。
セキュリティリストはサブネット全体に一括適用、NSG は VNIC 単位で柔軟に適用でき、NSG はソース/宛先に他の NSG を指定できます。新規設計では NSG を推奨。OCI のルールは既定でステートフルですが、明示的にステートレスにもできます。
設計パターン / ベストプラクティス
- 3層構成: パブリック(ロードバランサ) / プライベート(App) / プライベート(DB) を、複数 AD にまたがるリージョナルサブネットで構成
- マルチ AD / フォルトドメイン: リージョナルサブネット+フォルトドメイン分散で可用性を確保(単一 AD リージョンでも FD で耐障害性を担保)
- Service Gateway 必須化: Object Storage / Autonomous Database などへの通信は SGW で内部経路化し、NAT 経由のインターネット往復を避ける
- NSG 中心設計: 役割ごとに NSG を作り、
web → app → dbのように NSG 間参照で通信を表現
運用・監視・トラブルシュート
- VCN Flow Logs(OCI Logging)で通信の許可/拒否を記録し、到達性の問題を切り分け
- 「繋がらない」時の確認順: ルートテーブル → セキュリティリスト/NSG → (NAT/IGW/SGW) → ルート競合
- Network Path Analyzer で送信元〜宛先の経路・遮断ポイントを静的解析
- Network Visualizer で VCN・ゲートウェイ・ピアリングの接続関係を俯瞰
コスト
| 要素 | 課金 | ポイント |
|---|---|---|
| VCN・サブネット・SL/NSG・ルートテーブル | 無料 | ネットワークの土台部分は課金なし |
| Internet Gateway / Service Gateway | 無料 | ゲートウェイ自体は無料(SGW は内部経路で転送も無料) |
| NAT ゲートウェイ | 時間課金 + 処理データ量 | 外向き通信の主な課金源 |
| データ転送(外向き/リージョン跨ぎ) | 従量(一定の無料枠あり) | OCI は egress 無料枠が比較的大きい |
Object Storage や Autonomous Database への通信は Service Gateway(無料) を使うと、NAT ゲートウェイの処理データ料金とインターネット往復を回避できます。
セキュリティ
- 最小公開: DB などはプライベートサブネットに置き、IGW 経路もパブリック IP も与えない
- NSG を VNIC 単位で最小ポートに絞り、セキュリティリストはサブネット境界の追加防御に
- 管理アクセスは踏み台(Bastion)レスにするため OCI Bastion サービスで SSH トンネルを張る
- テナンシは コンパートメント と IAM ポリシー でネットワーク操作権限を分離
DB サブネットに 0.0.0.0/0 → Internet Gateway の経路を残したまま、セキュリティリストで止めている構成は危険。ルート自体を持たせない(NAT/SGW のみ)か、そもそもプライベートサブネットに置くのが正解です。SL/NSG の設定ミス1つで全公開になり得ます。
関連サービス・比較(AWS との対応)
| 観点 | OCI VCN | Amazon VPC |
|---|---|---|
| 位置づけ | OCI の仮想ネットワーク基盤 | AWS の仮想ネットワーク基盤 |
| 公開接続 | Internet Gateway | Internet Gateway |
| 外向き専用 | NAT ゲートウェイ | NAT ゲートウェイ |
| サービス内部経路 | Service Gateway | ゲートウェイ型 VPC エンドポイント |
| オンプレ/VCN間ハブ | DRG(動的ルーティングゲートウェイ) | VGW + Transit Gateway |
| 仮想FW | セキュリティリスト + NSG | NACL + セキュリティグループ |
| 可用性境界 | AD / フォルトドメイン(リージョナルサブネット) | AZ(AZ 単位サブネット) |
ハンズオン / CLI例
# VCN を作成(CIDR 10.0.0.0/16)
oci network vcn create \
--compartment-id ocid1.compartment.oc1..xxxx \
--cidr-blocks '["10.0.0.0/16"]' \
--display-name demo-vcn
# Internet Gateway を作成して有効化
oci network internet-gateway create \
--compartment-id ocid1.compartment.oc1..xxxx \
--vcn-id ocid1.vcn.oc1..xxxx \
--is-enabled true \
--display-name demo-igw
# リージョナルなパブリックサブネットを作成(複数 AD にまたがる)
oci network subnet create \
--compartment-id ocid1.compartment.oc1..xxxx \
--vcn-id ocid1.vcn.oc1..xxxx \
--cidr-block 10.0.1.0/24 \
--display-name demo-public-subnet \
--route-table-id ocid1.routetable.oc1..xxxx
# Service Gateway を作成(Object Storage 等へ内部経路で到達・NAT 不要)
oci network service-gateway create \
--compartment-id ocid1.compartment.oc1..xxxx \
--vcn-id ocid1.vcn.oc1..xxxx \
--services '[{"serviceId":"ocid1.service.oc1.iad.xxxx"}]' \
--display-name demo-sgw
OCI Service
Virtual Cloud Network (VCN)を実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
ネットワーキング
比較で見る軸
クラウド: OCI / カテゴリ: ネットワーキング / 難易度: intermediate
導入後に効く点
サブネット・ルート・各種ゲートウェイで通信経路を設計。
先に潰すリスク
サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。
- クラウド
- OCI
- カテゴリ
- ネットワーキング
- 難易度
- intermediate
- 関連資格
- —
- 設計柱
- security / reliability / performance
判断チェックリスト
- 自社の用途が「ネットワーキング / security」に近いか確認する。
- 強みである「OCI 内に作る自分専用の仮想ネットワークの土台。」が本当に評価軸になるか確認する。
- 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。
他クラウドの同等サービス
役割が近いサービスです。設計の置き換えや比較検討の参考に。