3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OCI Compute エフェメラル・パブリックIPを予約済パブリックIPに変更する方法

Last updated at Posted at 2021-07-20

本ブログは、オラクル・クラウドの個人ブログの1つです。

初めに

OCIのパブリック・サブネットに、Computeインスタンスが作成される場合、デフォルトはエフェメラル・パブリックIPが割当てられます。エフェメラルIPとは、インスタンスの存続期間にかぎり一時的に存在します。(AWSと違って、インスタンスを再起動してもエフェメラルIPが変わりません。)

「エフェメラルIPを予約済IPに変更したいけど、できますか?」という質問を持つ方がいらっしゃると思いますが、回答はどうでしょうか?

オラクルのドキュメントにより、以下の記述があります。

特定のパブリックIPを作成したら、そのタイプを変更することはできません。たとえば、アドレス203.0.113.2を持つエフェメラル・パブリックIPが割り当てられているインスタンスを起動した場合、このエフェメラル・パブリックIPを、アドレス203.0.113.2を持つ予約済パブリックIPに変換することはできません。」

確かに、上記の通り「特定のパブリックIP」の場合、そのまま予約済パブリックIPに変更ができません。ただ、特定ではない場合、予約済パブリックIP(別のIP)に変更できます。

例えば、予約済パブリックIPをインスタンスに付与したい場合、インスタンス作成時点、直接に予約済IPを付与できません。インスタンス作成後、エフェメラル・パブリックIPを予約済パブリックIPに変更するという手順になります。今回は、この変更方法をご紹介します。

ちなみに、エフェメラルと予約済の2種類のパブリックIPは、どちらも無料です。これは、他のクラウド・プロバイダーによりも大きな利点です。AWS、Azure、またはGCPを使用している場合は、パブリックIPの料金を支払う必要があります。

クラウド・プロバイダー OCI AWS Azure GCP
IPの名称 Public IP Elastic IP Static IP, Dynamic IP External IP
料金 無料 有料 有料 有料

変更方法
事前準備:エフェメラル・パブリックIPのあるComputeインスタンスを用意しておきます。

ステップ
1. パブリックIPを予約する
2. エフェメラル・パブリックIPを外す
3. 予約済みパブリックIPを指定する
4. OCI-CLIでの実施方法

1. パブリックIPを予約する

Networking -> IP Management -> Public IPs -> Reserve Public IP Address
指定したCompartmentに、パブリックIPの名前を入力してから、予約を実施します。

2. エフェメラル・パブリックIPを外す

Compute -> Instances -> Instance Details -> Attached VNICs
ComputeインスタンスのVNICを指定します。

VNIC Details -> Resources -> IPv4 Address -> Edit
IPv4アドレスの画面より、編集ボタンをクリックします。
image.png

編集画面に入ったら、予約済パブリックIPの選択肢が、グレーの状態となり直接に変更できません。
image.png

それで、"NO PUBLIC IP"を指定し、変更を実施します。
image.png

3. 予約済みパブリックIPを指定する

上記の変更処理が、すぐ適用されます。実施後、もう一度アドレスの編集画面を開きます。
今回は、予約済パブリックIPが選択可能の状態となります。それを選択し、ステップ1で予約したパブリックIPを指定してから、変更を実施します。
image.png

実施後、すぐ予約済みパブリックIPに変更されます。
新しいIPでインスタンスへの接続が、できる状態です。ここまで、変更処理は完了です。
image.png

4. OCI-CLIでの実施方法

事前にIPアドレスのOCIDを取得します。

a) 指定したプライベートIPのOCIDを取得
例:oci network private-ip list --ip-address <Private_IP> --subnet-id <Subnet_OCID>

b) パブリックIPを取得
例:oci network public-ip list -c <Compartment_OCID> --scope REGION --all

このコマンドの出力には、エフェメラル・パブリックIPと予約済エフェメラルIPの両方を含めます。片方のみを取得したい場合、--lifetimeをつけてください。

エフェメラル・パブリックIPの場合:--lifetime EPHEMERAL
予約済パブリックIPの場合:--lifetime RESERVED

c) 自動に割り当てられたエフェメラル・パブリックIPを解除
例:oci network public-ip delete --public-ip-id <Ephemeral_Public_IP_OCID>

d) 予約済パブリックIPの割り当て
例:oci network public-ip update --public-ip-id <Reserved_Public_IP_OCID> --private-ip-id <Private_IP_OCID>

e) 割り当てた予約済パブリックIPの解除
例:oci network public-ip update --public-ip-id <Reserved_Public_IP_OCID> --private-ip-id ""
※、プライベートIPを空白の文字列にすると、割り当てた予約済パブリックIPが解除されます。

以上です。


関連記事
オラクル・クラウドの個人ブログ一覧
予約済パブリックIPでOCI Computeインスタンスの作成方法
複数のパブリックIPを使用してOCI VMにアクセスする

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?