※ 本記事は、Jody Davisによる”Introducing Reserved Private IP on OCI“を翻訳したものです。

2026年7月6日


予約済みプライベートIP

Oracle Cloud Infrastructure (OCI)で、予約済みプライベートIPの一般提供を開始しました。予約済みプライベートIP(IPv4およびIPv6)を使用すると、特定のコンピュート・インスタンスやネットワーク・リソースに依存せず、アプリケーションで安定したプライベートIPアドレスを利用できます。通常、インスタンスを再構築または置き換えるとプライベートIPが変わる場合がありますが、VCN内でプライベートIPアドレスを予約しておけば、そのアドレスは確保された状態で維持され、必要に応じて再利用できます。予約済みプライベートIPは、VCN内で一貫したアドレス指定を維持しやすくし、運用上の中断を減らします。また、セキュリティ・ルール、サードパーティ統合、高可用性フェイルオーバーなど、固定IPアドレスを前提とする利用シナリオを簡素化するのに役立ちます。

予約済みプライベートIPは無料で利用でき、すべてのOC1リージョンで提供されています。詳細は、予約済みIPのドキュメントを参照してください。

始める前に

まず、この後の説明で使用する用語をいくつか定義します。

  • 存続期間がエフェメラルのIPアドレス: 存続期間がエフェメラルのIPアドレスとは、リソースが稼働している間だけ利用できるIPアドレスです。リソースが終了すると、そのIPアドレスはサブネット・プールに戻され、別のリソースに割り当て可能になります。
  • 存続期間が予約済みのIPアドレス: 存続期間が予約済みのIPアドレスとは、使用中のリソースとは独立して維持されるIPアドレスです。このIPアドレスは「予約」しておき、リソースの起動時にアタッチできます。リソースが終了しても、そのIPアドレスは引き続き「予約済み」の状態で維持され、再利用できます。再割り当てのために一般のサブネット・プールに戻されることはありません。
  • プライベートIPアドレス – OCIのVirtual Cloud Network(VCN)内でのみ使用されるアドレス
  • OCI Flexible Network Load Balancer – NLB
  • OCI Flexible Load Balancer – LB

予約済みプライベートIPの概要(IPv4およびIPv6)

予約済みプライベートIPは、VMインスタンスやデバイスに割り当てずに作成できます。VCNサブネットからプライベートIPアドレスを予約し、後からサポート対象のコンピュート・リソースやネットワーク・リソースに割り当てることができます。また、ベア・メタル・インスタンス、VMインスタンス、NLB、FLBの起動時に、指定したプライベートIPを予約することもできます。いずれの場合も、対応するリソースが終了した後も、プライベートIPは予約済みの状態で維持されます。

OCIコンソールでは、使用中のプライベートIPアドレスをサブネット・レベルのリスト・ビューで確認できます。このビューには、次のものが含まれます:

  • リソースに割り当てられたプライベートIPアドレス(Compute、NLB、FLBなど)
  • 予約済みプライベートIPアドレス (現在割り当てられていないものを含む)

このインベントリにより、どのIPが使用されているかを把握しやすくなり、プライベートIPのライフサイクルも管理しやすくなります (たとえば、エフェメラル・プライベートIPを予約済みに変換したり、予約を解除してIPをサブネット・プールに戻したりできます)。
サブネット内でVMインスタンスを起動するときにプライベートIPアドレスを指定しない場合、OCIは、そのサブネット内の使用可能なIPからエフェメラル・プライベートIPを自動的に割り当てます。プライベートIPアドレスを指定する場合、そのIPアドレスは別のリソースにまだ割り当てられていない必要があります。

注意: OCIでは、すべてのサブネットに3つのIPアドレス (ネットワーク・アドレス、デフォルト・ゲートウェイおよびブロードキャスト・アドレス)が予約されています。これらのアドレスはお客様が使用することはできず、お客様が予約するプライベートIPとは別のものです。

Intro to reserved private IP (example)

ユース・ケース

セキュリティおよびルーティング・ポリシー

安定して再利用できる予約済みプライベートIPにより、セキュリティおよびルーティング・ポリシーを簡素化できます。オンプレミスまたはマルチクラウドのデプロイメントでは、多くの場合、アクセス制御のために特定のプライベートIPを参照するセキュリティ・ルールやルーティング・ルールを構成する必要があります。この機能が提供される前は、クラウド・リソースがデプロイされるまで待ってからポリシーを確定するか、幅広いCIDRブロックを事前に構成する必要がありました (これは安全性と正確性の面で劣ります)。

予約済みプライベートIPを使用すると、セキュリティおよびルーティング・ポリシーを、事前に詳細かつ予測可能な方法で構成できます。

予測可能なアドレス指定

ほとんどのクラウドのお客様は、自動化(Terraform、Ansible、その他のAPIベースの方法など)を使用して、クラウド・アプリケーションを構築および運用しています。Infrastructure as Code (IaC)およびイミュータブル・インフラストラクチャ環境では、コンピュート・インスタンスおよびロード・バランサが頻繁に作成、破棄および再作成されます。プライベートIPがエフェメラルである場合、IPの変更によって、監視、アラート、依存性のマッピングおよび運用手順書にわたって影響範囲が広がる可能性があります。予約済みプライベートIPは、ネットワーク・リソースやコンピュート・リソース全体で、再現性があり予測可能なIPアドレス指定を可能にすることで、この運用負荷を軽減します。また、一部のエンタープライズ・システムは、現在も静的 (固定) IP構成に依存しています。予約済みプライベートIPは、アプリケーションの「既知の」プライベートIPアドレスがデプロイメントや置き換えの間でも一貫して維持されるようにすることで、運用リスクの軽減に役立ちます。

サブネット・レベルのIP管理タブから予約済プライベートIPを管理する

サブネット・レベルのIP管理タブでは、次のことができます:

  • サブネット内のすべてのプライベートIPアドレスを表示
  • 新しい予約済みプライベートIPの作成
  • 既存のエフェメラル・プライベートIPから予約済みプライベートIPへの変換
  • 予約済みプライベートIPの予約を解除(再割当てのためにエフェメラル・プールに戻す)

OCIコンソールでのサブネット・レベルのIP管理タブを表示する

VCN > Subnets > [サブネットを選択] > IP administration

サブネット・レベルのIP管理にあるIPv4/IPv6アドレス表には、サブネットに存在するすべてのプライベートIPv4およびIPv6アドレスが含まれます。次の例では、サブネットにOCI Application Load Balancer、OCI Network Load Balancer、および2つのVMインスタンスが含まれており、それぞれがエフェメラル・プライベートIPアドレスを使用しています。

Subnet-level IP administration table

予約済みプライベートIPの作成

VCN > Subnets > [サブネットを選択] > IP administration > Add reserved Private IP address

サブネットでの予約済みプライベートIPの作成は簡単です: 

  1. 予約済みプライベートIPの名前を指定
  2. 予約するIPを入力
  3. デバイスのホスト名を指定
Creating an existing ephemeral private IP 1
Creating an existing ephemeral private IP 2
Creating an existing ephemeral private IP 3

ご覧のとおり、プライベートIPアドレスは10.0.1.150で、状態は”使用可能”で、存続期間は”予約済み”です。

既存のエフェメラル・プライベートIPの予約

VCN > Subnets > [サブネットを選択] > IP administration

サブネット内のプライベートIPの存続期間を変更するには、対象リソースの行の右端にあるアクション・メニュー(3つのドット)を選択し、IPを予約するオプションを選択します。

VMインスタンスに関連付けられたプライベートIPを予約すると(たとえば、reservedPrivateVM1)、そのプライベートIPアドレスは、VMインスタンスが終了しても維持されます。

Reserving an existing ephemeral private IP 1
Reserving an existing ephemeral private IP 2
Reserving an existing ephemeral private IP 3

これで仮想マシンreservedPrivateVM1に関連付けられたプライベートIPを予約したので、VMインスタンス自体が終了してもこのプライベートIPアドレスは保持されます。

プライベートIPの予約の解除

VCN > Subnets > [サブネットを選択] > IP administration

IPアドレスを予約済みの状態で維持する必要がなくなった場合は、予約を解除して、IPをエフェメラル・プールに戻すことができます。対象の行のアクション・メニュー (3つのドット) を選択し、「IPアドレス予約の削除」を選択します。

Removing Reserved Private IP 1
Removing Reserved Private IP 2
Removing Reserved Private IP 3

起動時に予約済みプライベートIPを使用する

サブネットのIP管理ビューから事前にIPを予約するだけでなく、リソースの起動時に、エフェメラルまたは予約済みのプライベートIPアドレスを指定することもできます (サポート対象のリソースの場合)。指定したプライベートIPが起動時に予約されると、そのリソースが後で終了しても、プライベートIPは予約済みの状態で維持されます。

OCI Flexible Network Load Balancer (NLB)

パブリックNLBまたはプライベートNLBを起動するときに、エフェメラルまたは予約済みのプライベートIPを使用できるようになりました。

OCIコンソールを使用した予約済みプライベートIPでのNLBの作成

NLB Launch with reserved private IP

OCI Flexible Load Balancer (LB)

OCI CLIを使用した予約済みプライベートIPでのNLBの作成

https://docs.oracle.com/en-us/iaas/tools/oci-cli/latest/oci_cli_docs/cmdref/nlb/network-load-balancer/create.html

➜ oci oci nlb network-load-balancer create \
--compartment-id ocid1.compartment.oc1..XXXXXXX \
--display-name "private-nlb-with-reserved-ip" \
--subnet-id ocid1.subnet.oc1.eu-frankfurt-1.YYYYYYY \
--is-private true \
--config-file /Users/harrycaray/.oci/config \
--profile OCI_FRA \
--reserved-ips '[{"id":"ocid1.privateip.oc1.eu-frankfurt-1.ZZZZZZZZZZ"}]'

{
"data": {
"backend-sets": {},
"compartment-id": "ocid1.compartment.oc1..XXXXXXX",
"defined-tags": {
"Oracle-Tags": {
"CreatedBy": "oracle_corporate_sso---idcs-oauth-application-corp-production-sso---/letsplayball",
"CreatedOn": "2026-04-02T20:14:35.722Z"
}
},
"display-name": "private-nlb-with-reserved-ip",
"freeform-tags": {},
"id": "ocid1.networkloadbalancer.oc1.eu-frankfurt-1.CCCCCCCCC",
"ip-addresses": [],
"is-preserve-source-destination": false,
"is-private": true,
"is-symmetric-hash-enabled": false,
"lifecycle-details": null,
"lifecycle-state": "CREATING",
"listeners": {},
"network-security-group-ids": [],
"nlb-ip-version": "IPV4",
"security-attributes": {},
"subnet-id": "ocid1.subnet.oc1.eu-frankfurt-1.YYYYYYYYY",
"system-tags": null,
"time-created": "2026-04-02T20:14:36+00:00",
"time-updated": "2026-04-02T20:14:36+00:00"
},
"opc-work-request-id": "ocid1.coreservicesworkrequest.oc1..AAAAAAA"
}

OCI Flexible Load Balancer (FLB)

プライベートFLBを起動するときに、エフェメラルまたは予約済みのプライベートIPを使用できるようになりました。

OCIコンソールを使用した予約済みプライベートIPでのFLBの作成

LB Launch with reserved private IP

OCI CLIを使用した予約済みプライベートIPでのプライベートLBの作成

https://docs.oracle.com/en-us/iaas/tools/oci-cli/latest/oci_cli_docs/cmdref/lb/load-balancer/create.html

➜ .oci oci lb load-balancer create \ --compartment-id ocid1.compartment.oc1..XXXXXXX \ 
--display-name jwdLB \ 
--subnet-ids '["ocid1.subnet.oc1.eu-frankfurt-1.YYYYYYY"]' \ 
--is-private true \ 
--shape-name flexible \ 
--shape-details '{"minimumBandwidthInMbps":10,"maximumBandwidthInMbps":100}' \ 
--config-file /Users/stevestone/.oci/config \ 
--profile OCI_FRA \ 
--reserved-ips '[{"id":"ocid1.privateip.oc1.eu-frankfurt-1.ZZZZZZZZZZ"}]' 

{ 

"opc-work-request-id": "ocid1.loadbalancerworkrequest.oc1.eu-frankfurt-1.AAAAAAAAAAAA"

OCI Compute

OCI Computeインスタンスを起動するときに、エフェメラルまたは予約済みのプライベートIPを使用できるようになりました。

OCIコンソールを使用した予約済みプライベートIPでのコンピュートVMインスタンスの作成

Compute Launch with reserved private IP

まとめ

予約済みプライベートIPは、メンテナンス、スケーリング、高可用性フェイルオーバーなどの日常的な運用において、安定したプライベートIPアドレス指定を維持するという、エンタープライズで一般的な要件への対応に役立ちます。特定のリソースのライフサイクルから独立して維持できる予測可能なプライベートIPにより、インフラストラクチャの置き換えや再構築時の運用オーバーヘッドを削減し、中断を最小限に抑えることができます。

Virtual Networking製品チームを代表して、コメントで製品フィードバックをお寄せいただければ幸いです。今後も新機能を追加していきますので、Oracle Cloud Infrastructureのアップデートに引き続きご注目ください。

詳細は、次のリソースを参照してください: