0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[Oracle Cloud]OCIのFLB(フレキシブルロードバランサ)で指定のプライベートIPアドレスを設定する

Last updated at Posted at 2024-08-14

はじめに

OCIのFLBは、プライベート・ロードバランサとしてインスタンスを作成する際、プライベートIPアドレスを指定することができません。
所属するサブネットのCIDRからランダムでプライベートIPアドレスが割当られます。
しかし、現行システムからLBのIPアドレスを変えられないといった要件等で、IPアドレスを指定の値にしたい場合があります。

今回は、そんな場合に指定のIPアドレスを設定する方法をご紹介します。

概要

FLBで割当られるIPアドレスは以下2つです

  • Floating IP for VIP private-vip on LB(サービス提供IPアドレス)
  • VNIC for LB

以前は3つのIPアドレスが割当られていましたが、2022年8月以降に作成されたFLBは仕様が変わり2つになりました。

方法としてはスマートなやり方があるわけではなく、けっこうな力技です。
以下の流れになります。

  1. FLBのサブネットを作成する
  2. 適当なComputeにVNICを追加し、LBサブネットに所属させる
  3. 追加したVNICにセカンダリ・プライベートIPを追加し、LBサブネットを対象IPアドレスともう一つ任意のIPアドレス以外埋める
  4. FLBを作成する
  5. FLBが希望のIPアドレスであれば完了。違う場合はFLBを削除して再作成する
  6. 3.でサブネットを埋めたセカンダリ・プライベートIPを外す

1. LBのサブネットを作成する

FLB作成時に所属させるサブネットを作成します。要件次第だと思いますが、可能な限り小さい範囲で作成します。(大きくなると大変です)

今回は10.0.10.0/29として、IPアドレス8つの範囲作成します。
なお、各サブネットで3つのIPアドレスが以下のように予約されているので、実際に使えるのは5つになります。

  • 1つ目:10.0.10.0:ネットワークアドレス
  • 2つ目:10.0.10.1:デフォルトゲートウェイ
  • 最後:10.0.10.7:ブロードキャストアドレス
    image.png

2. 適当なComputeにセカンダリVNICを追加し、LBサブネットに所属させる

適当なComnputeの画面の左下からアタッチされたVNICを選択し、VNICの作成をクリックします。

image.png
image.png

追加のVNICを作成します。
ここで指定するサブネットは1.で作成したものです。
image.png

3. 追加したVNICにセカンダリ・プライベートIPを追加し、LBサブネットを対象IPアドレスともう一つ任意のIPアドレス以外埋める

作成したVNICをクリックします。
image.png

VNICの画面の左下のIPv4 アドレスを選択します。
image.png
image.png

セカンダリ・プライベートIPアドレスの割当てをクリックします。
image.png

LBに設定したいIPアドレスと、もう一つ任意のIPアドレスを除き、サブネットのCIDR範囲となるIPアドレスを設定していきます。
image.png

1つ設定できました。
image.png

今回は10.0.10.5をFLBのIPアドレスとすることとし、もう一つを10.0.10.4としてそれ以外のIPアドレスは埋める形とします。

先述の通り、3つのアドレスは最初から予約されているので使えないので、埋めるとこうなります。

  • 10.0.10.0:ネットワークアドレス
  • 10.0.10.1:デフォルトゲートウェイ
  • 10.0.10.2:セカンダリ・プライベートIP
  • 10.0.10.3:セカンダリ・プライベートIP
  • 10.0.10.4:空き (FLBのNIC for LB用)
  • 10.0.10.5:空き (FLBのFloating IP用) ★これをFLBのIPアドレスにしたい
  • 10.0.10.6:セカンダリ・プライベートIP
  • 10.0.10.7:ブロードキャストアドレス

VNICのIPアドレス割当としてはこのようになります。
image.png

もしFLBのサブネットのCIDRが大きくなってしまい、IPアドレスを埋めるのが大変という場合はOCI CLIを使ってコマンド実行に変えたり、簡単なスクリプトにすることで作業負荷は軽減できると思います。
また、IPアドレスがたくさんある場合は1つのVNICでは足りないので、複数のVNICを使ってCIDRのIPアドレスを埋めるようにしてください。

4. FLBを作成する

FLBを作成します。FLBの画面からロード・バランサの作成をクリックし、任意の内容で作成してください。
image.png

image.png

サブネットはFLB用のサブネットを指定して作成します。
image.png

リクエスト送信後、作成中となります。この時点ではIPアドレスがまだ決まっていないので使用不可となっています。
image.png

5. FLBが希望のIPアドレスであれば完了。違う場合はFLBを削除して再作成する

作成後の画面を確認すると、10.0.10.4でした。ここのIPアドレス割り当てはランダムなのですが、希望のIPアドレスではないので右側の赤い削除ボタンをクリックしてリトライします。
image.png

削除されました。
image.png

改めて作成します。ここからは、4. の手順と同じです。
image.png

希望のIPアドレスでFLBを作成することができました。
image.png

割当られたIPアドレスは、OCI CLIを使用することで詳細に確認が可能です。
コマンドは以下です。
oci network private-ip list --subnet-id <サブネットのOCID>

また、OCI CLIを利用できる環境が無い場合は、Cloud Shellからも実行が可能です。
image.png

Cloud ShellにOCI CLIのコマンドを打ち込んで実行します。
image.png

一部分のみの抜粋ですが、結果としては以下のように表示されます。


    {

      "display-name": "VNIC for LB 
      "ip-address": "10.0.10.4",

    },
    {

      "display-name": "Floating IP for VIP private-vip on LB 
      "ip-address": "10.0.10.5",

    },

6.サブネットを埋めたセカンダリ・プライベートIPを外す

忘れずに実施してください。
個別にIPアドレスを削除していっても良いですが、不要であればVNIC毎削除で良いです。
image.png

最後に

いつかプライベートIPアドレスを指定する機能がFLBにできるまでの暫定的な方法として、ご活用いただけると幸いです。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?