本ブログは、オラクル・クラウドの個人ブログの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アドレスの画面より、編集ボタンをクリックします。
編集画面に入ったら、予約済パブリックIPの選択肢が、グレーの状態となり直接に変更できません。
それで、"NO PUBLIC IP"を指定し、変更を実施します。
3. 予約済みパブリックIPを指定する
上記の変更処理が、すぐ適用されます。実施後、もう一度アドレスの編集画面を開きます。
今回は、予約済パブリックIPが選択可能の状態となります。それを選択し、ステップ1で予約したパブリックIPを指定してから、変更を実施します。
実施後、すぐ予約済みパブリックIPに変更されます。
新しいIPでインスタンスへの接続が、できる状態です。ここまで、変更処理は完了です。
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にアクセスする