2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Azure Load Balancerでバックエンドプール内の特定のVMにアクセスさせたくない場合、これまではVMのNSGをいじるなどLoad Balancer外で制御する必要がありました。
Admin Stateを使うことで、Load Balancer側から簡単にアクセス制御をすることができるようになったため、この機能を実際に試してみます。

構成

  • バックエンドプールには3台のVMを配置し負荷分散する構成としています
    image.png

Admin State

  • Up,Down,Noneの3つの状態を指定できます。デフォルトはNoneです
    • none:正常性プローブに従う
    • Down:正常性プローブを無視して通信を拒否する
    • Up:正常性プローブを無視して通信を許可する

プレビュー機能オプトイン

  • 2024年6月時点ではプレビュー機能なのでオプトインします

  • Azure Portalからサブスクリプションを選択、左メニューから[プレビュー機能]を選択します
    image.png

  • [Allow Admin State for Azure Load Balancer]をチェックします
    image.png

  • [登録]を押下します
    image.png

  • 状態が[登録済み]になればOKです
    image.png

down設定

  • down設定では 正常性プローブを無視してインスタンスへの接続を拒否 します

  • ロードバランサーの左メニューより[バックエンドプール]を選択します
    image.png

  • 今回はバックエンドプールにVM3台を準備しました。一番右の列の[管理者の状態]に注目です

    • プレビューだからなのか、列が表示されたり表示されなかったりといった挙動になりました。リロードすれば表示されます
      image.png
  • [なし]を選択すると、管理者状態を編集できる画面に遷移します。プルダウンで選択できるため、まずは[down]の挙動を試してみます
    image.png

  • 左メニューから[分析情報]を見てみると、downにしたVMがアクセス不可になっていることが分かります
    image.png

  • Health statusは[Unhealthy]となり、正常性プローブが失敗したときと同じ挙動となりました
    image.png

Up設定

  • 次にUp設定を試してみます。Up設定では 正常性プローブを無視してインスタンスへの接続を許可 します

  • まずは、VM1がNone、VM2がNone、VM3がDownの状態から、VM2の正常性プローブを異常状態にしてみます

  • 当然VM2がUnhealthyになり、VM3もDown状態のままです
    image.png

  • 次にVM2をNoneからUpに変更します。正常性プローブは異常ですが、Admin StateはUpという状態です
    image.png

  • 正常性プローブがうまくいっていないにも関わらず、正常な状態になっています
    image.png

まとめ

  • Admin Stateを用いることで、Load Balancer側から通信許可、拒否の制御をすることができました
    Load Balancerだけで制御できるのはとても便利ですね
    動作的には正常性プローブと同じ挙動を示すので、正常性プローブが失敗しているのか、Admin Stateが設定されているのかは見極める必要があるかなと思います
2
1
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
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?