OCI VCNの作り方:3層サブネットの分け方、CIDR、作成の順番を図解
※当ページにはAmazonアソシエイト等の広告リンクを含みます。
公式ドキュメントで検証最終検証 2026-11-01編集部出典 12件
当ページの解説・制限値・構成図は、一般公開されている Oracle Cloud Infrastructure (OCI) 公式ドキュメント、Oracle Cloud Price List、および Oracle University 公開試験ガイドを一次根拠として検証し、独自のSVG視覚図解として作成しています。
1. 3層に分ける理由
題材は、社員30人の会社の経費申請Webアプリです。社内向けですが、社員は外出先からも使うので、入口はインターネットに置きます。ただし、外から届く場所は1つに絞ります。
そこで、役割ごとにサブネットを3つに分けます。
- 入口:社員の通信はLBのHTTPSで受けます。
- LBからアプリ:LBが2台のComputeへ振り分けます。
- アプリからDB:DBへ常時つなぐのはアプリ層です。管理者はBastion経由で入ります。
- 遮断:インターネットからアプリ層とDB層へは経路がありません。
各層の役割と、置くものを表1にまとめます。
表1:経費申請アプリの3層サブネット
| サブネット | CIDR | 種類 | 置くもの | ルート表の考え方 |
|---|---|---|---|---|
public-lb | 10.0.0.0/24 | パブリック | Flexible LB(WAFポリシーを付ける) | 既定ルートをInternet Gatewayへ |
private-app | 10.0.1.0/24 | プライベート | Compute 2台 | 外向きはNAT、OCIサービス向きはService Gateway |
private-db | 10.0.2.0/24 | プライベート | Autonomous AI Database のプライベートエンドポイント | 外へ出るルートを入れない |
パブリックLBの置き場所には理由があります。公開LBにはパブリックサブネットが必要で、プライベートサブネットは指定できません。ADが1つのリージョンでは、パブリックサブネット1つにプライマリとスタンバイを置けます。
VCNの中の通信にルートルールは要りません。VCNのローカル経路が自動で働くためです。private-db に外へのルートがなくても、private-app からは届きます。通信を許可するかどうかは、ルート表ではなくNSGなどのセキュリティルールで決めます。
2. CIDRの決め方
CIDRは、大きさ、予約分、重なりの3点で確かめます。
VCNの大きさ
VCNに指定できる大きさは /16 から /30 までです。Oracleは RFC 1918 の範囲を推奨していますが、/8 や /12 のままでは使えません。10.0.0.0/16、172.16.0.0/16、192.168.0.0/16 のように /16 以下にします。
今回は 10.0.0.0/16 にします。1つのVCNのプライベートIPオブジェクトは、CIDRの数にかかわらず最大64,000個です(2026-11-01確認。最新は公式で確認してください)。
予約されるアドレス
各サブネットでは、先頭の2つと末尾の1つをNetworkingサービスが予約します。/24 なら256個のうち3個が使えないので、残りは253個です。AWSは先頭4つと末尾1つの5個を予約するので、OCIのほうが2個多く使えます。
LBなどもサブネットのIPを使います。たとえば、リージョナルサブネットのパブリックLBはプライベートIPを2個消費します。公開IPはサブネットのアドレスからは取られません。小さなサブネットを切るときは、この消費分も見込みます。
重ならないようにする
次の範囲は重ならないようにします。
- VCN内のCIDRブロック同士
- 同じVCNのサブネット同士
- つなぐ予定のオンプレミスのネットワーク
- ピアリングする別のVCN
今の題材にオンプレミス接続はありません。それでも、社内ネットワークが 10.0.0.0/16 を使っていないかは確かめておきます。あとでDRGをつなぐときに重なると、経路を作りにくくなるためです。
3. リージョナルサブネットと公開・非公開の指定
サブネットを作るときに、重要な指定が2つあります。範囲をリージョナルにするか、公開か非公開か、です。
リージョナルサブネットを選ぶ
サブネットには、リージョナルとAD固有の2種類があります。リージョナルは、リージョン内のどのADのリソースでも置けます。AD固有は、指定した1つのADのリソースだけを置けます。Oracleはリージョナルを推奨しています。
AWSのサブネットは1つのアベイラビリティーゾーンに収まり、ゾーンをまたげません。3層を2つのゾーンに置くなら6サブネットが必要です。OCIのリージョナルサブネットなら、層ごとに1つで済みます。
パブリックとプライベートを指定する
パブリックのサブネットでは、インスタンスがパブリックIPv4を持てます。プライベートでは持てません。この指定は作成時に選び、あとから変更できません。
AWSとは考え方が違います。
表2:サブネットの考え方の違い(AWSとOCI)
| 項目 | AWS VPC | OCI VCN |
|---|---|---|
| サブネットの範囲 | 1つのアベイラビリティーゾーン | リージョナル(推奨)またはAD固有 |
| 公開か非公開かの決まり方 | Internet Gatewayへの直接のルートがあるかどうか | サブネット作成時の指定 |
| あとからの変更 | ルートを変えれば種類が変わる | 変更できない |
| 予約されるIP | 5個 | 3個 |
4. VCN作成の順番
作る順番は次のとおりです。必要なものを先に作っておくと、サブネットの画面で指定を埋められます。
- 実線:作る順番です。前のものを次で参照します。
- 緑の点線:ルート表とセキュリティ・リストは、サブネットの設定として指定します。
- コンパートメントが
networkであることを確かめ、VCNを作ります。IPv4 CIDRブロックに10.0.0.0/16を入れます。 - Internet Gateway、NAT Gateway、Service Gateway を作ります。
- ルート表を3つ作ります。
rt-public、rt-private-app、rt-private-dbのように層の名前を付けます。 - 既定のセキュリティ・リストを確かめます。
- サブネットを3つ作ります。種類はRegionalを選び、サブネットアクセスでPublicかPrivateを指定します。
- NSGをLB、アプリ、DB用に作ります。
コンソールでVCNを作成すると、できるのはネットワークそのものだけです。インターネットやオンプレミスへ通信するには、サブネット、ゲートウェイ、ルート、セキュリティの設定を別に作る必要があります。
3つのルート表の中身は、表3のとおりです。ゲートウェイの選び方と書き方は、VCNと5つのゲートウェイの解説に任せます。
表3:3つのルート表
| ルート表 | 宛先 | ターゲット |
|---|---|---|
rt-public | 0.0.0.0/0 | Internet Gateway |
rt-private-app | 0.0.0.0/0 | NAT Gateway |
All NRT Services in Oracle Services Network | Service Gateway | |
rt-private-db | ルールなし | VCN内はローカル経路で届く |
DBからVCNの外へ出る機能(DBリンクなど)をプライベートエンドポイント経由にするときは、rt-private-db にルートの追加が要る場合があります。今回の題材では使いません。
rt-public の 0.0.0.0/0 は、外へ出る経路の指定です。受信を許可するルールではありません。
CLIで作る場合の例です。コンパートメントなどのOCIDは自分の環境の値に置き換えます。リージョナルサブネットにするには、--availability-domain を指定しません。
oci network vcn create \
--compartment-id "$NETWORK_COMPARTMENT_ID" \
--cidr-blocks '["10.0.0.0/16"]' \
--display-name "vcn-expense" \
--dns-label "expense"
oci network subnet create \
--compartment-id "$NETWORK_COMPARTMENT_ID" \
--vcn-id "$VCN_ID" \
--cidr-block "10.0.1.0/24" \
--display-name "private-app" \
--dns-label "app" \
--route-table-id "$RT_PRIVATE_APP_ID" \
--prohibit-public-ip-on-vnic true
VCNとサブネットのDNSラベルは、あとから変更できません。ホスト名で名前解決するなら、作成時に決めます。
次に読むページ
ロードマップの次の項目は「ゲートウェイを選ぶ」です。3つのルート表に入れるゲートウェイを、通信先から決めます。
よくある質問(FAQ)
- VCNのCIDRはあとから変更できますか?
- できます。CIDRブロックは作成後に追加や削除ができ、サブネットのIPv4 CIDRも条件を満たせばサイズを変更できます。ただしサブネットを広げるとき、ネットワークアドレスは変えられません。最初から広めのVCNにしておくほうが、作業は少なく済みます。
- 作成後にプライベートサブネットをパブリックへ変更できますか?
- できません。パブリックかプライベートかは作成時に選び、あとから変更できないと公式に書かれています。変えたいときは、新しいサブネットを作ることになります。
- 東京はADが1つなのに、リージョナルサブネットにする意味はありますか?
- あります。Oracleは柔軟性からリージョナルサブネットを推奨しています。東京ではADの分散はできませんが、AD固有にする理由もないので、リージョナルを選ぶのが素直です。