N-04 IGW / NAT / Service Gateway の違い

OCI

はじめに

本ブログでは、OCI(Oracle Cloud Infrastructure)の学習内容を体系立てて整理するために、次の2種類の記事を扱います。

  • 知識ノート(N-xx):概念、設計の考え方、判断基準を整理します。
  • 検証(L-xx):手順、設定値、つまずきポイントを再現可能な形で記録します。

ブログの全体像については別記事で整理します。

本記事は 知識ノート(N-04) として、OCIネットワーク設計で必ず登場する
IGW / NAT Gateway / Service Gateway の違い を整理します。

これらはすべて VCNから外部へ通信するための出口(Gateway) ですが、
接続先・セキュリティレベル・利用用途がそれぞれ異なります。

この記事の目的

OCIのネットワーク設計では、VCNから外部へ通信する方法として複数のGatewayが存在します。
それぞれの用途や接続先を理解していないと、意図しない公開や通信不可の問題が発生します。

本記事では以下を整理します。

  • IGW / NAT Gateway / Service Gateway の役割
  • それぞれを使う場面
  • 設計時の注意点

どこで使う(ユースケース)

OCIネットワーク設計では、Gatewayは主に以下の場面で使用されます。

インターネット公開

  • Webサーバ
  • APIサーバ

外部ユーザーから直接アクセスする必要がある場合、
Internet Gateway(IGW) を使用します。

Privateサーバからのインターネット接続

  • OSパッケージ更新
  • yum / apt / Windows Update
  • 外部API接続

サーバは外部公開しないが、
外部へ通信だけ必要 な場合は NAT Gateway を使用します。

OCIサービス接続

  • Object Storage
  • Autonomous Database
  • OCI Registry

インターネットを経由せずに、
OCI内部ネットワークでサービスへ接続する場合
Service Gateway を使用します。

https://docs.oracle.com/en-us/iaas/Content/Network/Images/network_service_gateway.svg

図の説明

重要なポイントは次の3点です。

  • IGW:インターネットから直接アクセス可能
  • NAT:外部からアクセス不可、内部からのみ通信可能
  • Service Gateway:OCIサービスへ閉域接続

代表パターン例(3つ)

OCIの実務で頻繁に利用される構成を3つ用意しました。

パターン1

Public Web + Private App

Internet

IGW

Public Subnet
(Web Server)

Private Subnet
(App / DB)

特徴

  • Webのみ公開
  • DBは非公開
  • 典型的な3層構成

パターン2

Privateサーバのパッケージ更新

Private Subnet
(Server)

NAT Gateway

Internet

特徴

  • 外部公開なし
  • OS更新可能

企業システムで最も多い構成です。

パターン3

OCIサービス接続

Private Subnet
(Server)

Service Gateway

Object Storage

特徴

  • インターネットを通らない
  • セキュリティが高い

バックアップやログ保存でよく利用されます。

代表パターンの補足

実際のOCI環境では、これら3つを組み合わせます。

Private Subnet
├ NAT Gateway
│ └ OS Update

└ Service Gateway
└ Object Storage

この構成は OCIのベストプラクティス とされています。

落とし穴(3つ)

落とし穴1

Private SubnetなのにIGWを設定してしまう

Private Subnetのルート表に

0.0.0.0/0 → IGW

を設定すると、
Public Subnetと同じ状態 になります。

落とし穴2

NAT GatewayはInbound不可

NAT Gatewayは

  • 外からの通信
  • SSH接続

はできません。

Internet → NAT → Server

は成立しません。

落とし穴3

Service GatewayはOCIサービス限定

Service Gatewayは

  • AWS
  • SaaS
  • GitHub

などには接続できません。

接続できるのは OCIサービスのみ です。

用語ミニ辞典

VCN

OCIの仮想ネットワーク
AWSのVPCに相当します。

Subnet

VCN内のネットワーク区画

主に2種類

  • Public Subnet
  • Private Subnet

Gateway

VCN外部へ通信するための出口

代表例

  • Internet Gateway
  • NAT Gateway
  • Service Gateway

Route Table

通信の行き先を決めるルール

0.0.0.0/0 → IGW

整理すると次のようになります。

さいごに

Gateway目的外部公開
IGWインターネット公開
NAT外部通信のみ不可
Service GatewayOCIサービス接続不可

設計の基本は次の通りです。

  • Public Subnet → IGW
  • Private Subnet → NAT Gateway
  • OCIサービス → Service Gateway
もか
もか

大枠を整理して理解しておくことで、要件ヒアリングの際に前提が揃いやすくなり、手戻りの発生を防ぎやすいと感じました。

情報ソース

Oracle Cloud Infrastructure Documentation
https://docs.oracle.com/en-us/iaas/Content/Network/Tasks/managingIGs.htm

OCI NAT Gateway Documentation
https://docs.oracle.com/en-us/iaas/Content/Network/Tasks/NATgateway.htm

OCI Service Gateway Documentation
https://docs.oracle.com/en-us/iaas/Content/Network/Tasks/servicegateway.htm

コメント

タイトルとURLをコピーしました