LoginSignup
0
0

Azure Load BalancerとAzure VMのパブリックIPリプレイス

Last updated at Posted at 2024-06-04

概要

AzureのBasic SKUのパブリックIPが2025年09月30日に廃止されるとマイクロソフトから2022年10月にアナウンスがありました。

2024060401.jpg

このEOLに対応するため、Basic SKUのバブリックIPが関連付けられた社内のAzureリソースを調査した所、Azure Load BalancerAzure VMが関連づけられており、Standard SKUのバブリックIPへのリプレイスが必要という事が判明しました。

本件に対応するため、azコマンドを用いたStandard SKUのパブリックIPをリプレースする手順をご紹介します。

前提

  • Azure CLI(azコマンド)を使用するため、自身の環境でセットアップしてください。
  • 既存のリソースと同じリソースグループに展開してください。
  • 新規で作成するリソースで名称が重複する場合は、「<既存リソース名>-renewal」等、適宜変更してください。
  • リソース内部の各種名称や各種設定については既存リソースを踏襲等、適宜変更してください。
  • 記載しているコマンドと既存リソースに差異がある場合はコマンド or オプションを適宜変更してください。

テナントへのログイン

対象のテナントにCLIからログインします。

az login --tenant <TENANT_NAME> (例: <テナント名>.onmicrosoft.com)

Azure Load Balancer

Azure Load BalancerでパブリックIPをBasic SKUからStandard SKUに切り替える場合の手順は以下の通りです。

既存のLBからVMを切り離す必要があるため、必ずステイクホルダーと合意の上、メンテナンス時間を設けて作業してください。

  • Azure Load BalancerにパブリックIPをアタッチする際は、両者のSKUが一致している必要があります。
  • Standard SKUのAzure Load BalancerにはStandard SKUのパブリックIPを、Basic SKUのLoad BalancerにはBasic SKUのパブリックIPを割り当てられます。

1. パブリックIP(Standard SKU)を作成

az network public-ip create \
    --name <STANDARD_PUBLIC_IP_NAME> \
    --resource-group <RESOURCE_GROUP_NAME> \
    --allocation-method <ALLOCATION_METHOD> \
    --sku Standard \
    --dns-name <DNS_NAME>

2. Azure Load Balancerを作成

az network lb create \
    --resource-group <RESOURCE_GROUP_NAME> \
    --name <LB_NAME> \
    --public-ip-address <STANDARD_PUBLIC_IP_NAME> \
    --frontend-ip-name <FRONTEND_IP_NAME> \
    --backend-pool-name <BACKEND_POOL_NAME> \
    --sku Standard

3. バックエンドプールを作成

az network lb address-pool create \
    --resource-group <RESOURCE_GROUP_NAME> \
    --lb-name <LB_NAME> \
    --address-pool-name <BACKEND_POOL_NAME> \
    --vnet <VNET_NAME>

4. 正常性プローブ(HTTP)を作成(必要があれば)

az network lb probe create \
    --resource-group <RESOURCE_GROUP_NAME> \
    --lb-name <LB_NAME> \
    --name HTTP \
    --interval <INTERVAL> \
    --probe-threshold <PROBE_THRESHOLD> \
    --number-of-probes <NUMBER_OF_PROBES> \
    --protocol tcp \
    --port 80

正常性プローブ(HTTP)に使用している場合のみ作成してください。

5. 正常性プローブ(HTTPS)を作成(必要があれば)

az network lb probe create \
    --resource-group <RESOURCE_GROUP_NAME> \
    --lb-name <LB_NAME> \
    --name HTTPS \
    --interval <INTERVAL> \
    --probe-threshold <PROBE_THRESHOLD> \
    --number-of-probes <NUMBER_OF_PROBES> \
    --protocol tcp \
    --port 443

正常性プローブ(HTTPS)に使用している場合のみ作成してください。

6. ルール(HTTP)を作成(必要があれば)

az network lb rule create \
    --resource-group <RESOURCE_GROUP_NAME> \
    --lb-name <LB_NAME> \
    --name <HTTP_RULE_NAME> \
    --protocol tcp \
    --frontend-port 80 \
    --backend-port 80 \
    --frontend-ip-name <FRONTEND_IP_NAME> \
    --backend-pool-name <BACKEND_POOL_NAME> \
    --probe-name HTTP \
    --disable-outbound-snat <DISABLE_OUTBOUND_SNAT> \
    --idle-timeout <IDLE_TIMEOUT> \
    --load-distribution Default \
    --enable-floating-ip <ENABLE_FLOATING_IP> \
    --enable-tcp-reset <ENABLE_TCP_RESET>

ルール(HTTP)を使用している場合のみ作成してください。

7. ルール(HTTPS)を作成

az network lb rule create \
    --resource-group <RESOURCE_GROUP_NAME> \
    --lb-name <LB_NAME> \
    --name <HTTPS_RULE_NAME> \
    --protocol tcp \
    --frontend-port 443 \
    --backend-port 443 \
    --frontend-ip-name <FRONTEND_IP_NAME> \
    --backend-pool-name <BACKEND_POOL_NAME> \
    --probe-name HTTPS \
    --disable-outbound-snat <DISABLE_OUTBOUND_SNAT> \
    --idle-timeout <IDLE_TIMEOUT> \
    --load-distribution Default \
    --enable-floating-ip <ENABLE_FLOATING_IP> \
    --enable-tcp-reset <ENABLE_TCP_RESET>

ルール(HTTPS)を使用している場合のみ作成してください。

8. 既存の LB から NIC(VM)を切り離す

az network nic ip-config address-pool remove \
    --resource-group <RESOURCE_GROUP_NAME> \
    --lb-name <LB_NAME> \
    --address-pool <BACKEND_POOL_NAME> \
    --ip-config-name <IPCONFIG_NAME> \
    --nic-name <NIC_NAME_1>

接続されているNICの数だけ繰り返してください。

10. LB に NIC(VM)を接続

az network nic ip-config address-pool add \
    --resource-group <RESOURCE_GROUP_NAME> \
    --lb-name <LB_NAME> \
    --address-pool <BACKEND_POOL_NAME> \
    --ip-config-name <IPCONFIG_NAME> \
    --nic-name <NIC_NAME_1>

接続されているNICの数だけ繰り返してください。

11. Azure DNSの既存のレコードの向け先を変更

AレコードとパブリックIPが関連付けられている場合に実施。

デフォルトドメインがパブリックIPに設定されており、CNAMEレコードにデフォルトドメインが関連付けられている場合はCNAMEレコードの向け先を変更する必要があります。

12. 動作確認

インフラ側、またはアプリケーション側の観点で動作確認を実施。

13. 既存のAzure Load Balancerを削除(お片付け)

切り戻しが不要と判断された場合にのみ、実施してください。

az network lb delete \
    --resource-group <RESOURCE_GROUP_NAME> \
    --name <LB_NAME>

14. 既存のパブリックIP(Basic SKU)を削除(お片付け)

切り戻しが不要と判断された場合にのみ、実施してください。

az network public-ip delete \
    --resource-group <RESOURCE_GROUP_NAME> \
    --name <BASIC_PUBLIC_IP_NAME>

Azure VM

Azure VMでパブリックIPをBasic SKUからStandard SKUに切り替える場合の手順は以下の通りです。

Azure VMの再起動を伴うため、必ずステイクホルダーと合意の上、メンテナンス時間を設けて作業してください。

  • ネットワークインターフェイスに異なるSKUのパブリックIPを複数アタッチできません。
  • 実行中のAzure VMに対してネットワークインターフェイスのアタッチ・デタッチはできません。

1. Azure VMを停止

az vm stop \
    --name <VM_NAME> \
    --resource-group <RESOURCE_GROUP_NAME>

2. 既存のパブリックIP(Basic SKU)の関連付けを解除

az network nic ip-config update \
    --name <IPCONFIG_NAME> \
    --nic-name <NIC_NAME> \
    --resource-group <RESOURCE_GROUP_NAME> \
    --remove PublicIPAddress

3. パブリックIP(Standard SKU)を作成 or アップグレード

新規でパブリックIP(Standard SKU)を作成する場合

az network public-ip create \
    --name <STANDARD_PUBLIC_IP_NAME> \
    --resource-group <RESOURCE_GROUP_NAME> \
    --allocation-method <ALLOCATION_METHOD> \
    --sku Standard \
    --dns-name <DNS_NAME>

既存のパブリックIP(Basic SKU)をStandard SKUにアップグレードする場合

az network public-ip update \
    --name <BASIC_PUBLIC_IP_NAME> \
    --resource-group <RESOURCE_GROUP_NAME> \
    --sku Standard

Basic SKUのパブリックIPの数だけ繰り返してください。

4. 作成したパブリックIP(Standard SKU)をVMに関連付ける

az network nic ip-config update \
    --name <IPCONFIG_NAME> \
    --nic-name <NIC_NAME> \
    --resource-group <RESOURCE_GROUP_NAME> \
    --public-ip-address <STANDARD_PUBLIC_IP_NAME>

5. Azure VMを起動

az vm start \
    --name <VM_NAME> \
    --resource-group <RESOURCE_GROUP_NAME>

6. Azure DNSの既存のレコードの向け先を変更

AレコードとパブリックIPが関連付けられている場合に実施

デフォルトドメインがパブリックIPに設定されており、CNAMEレコードにデフォルトドメインが関連付けられている場合はCNAMEレコードの向け先を変更する必要があります。

既存のパブリックIP(Basic SKU)をアップグレードしている場合は不要です。

7. 動作確認

インフラ側、またはアプリケーション側の観点で動作確認を実施

8. 既存のパブリックIP(Basic SKU)を削除(お片付け)

切り戻しが不要と判断された場合にのみ、実施してください。

az network public-ip delete \
    --resource-group <RESOURCE_GROUP_NAME> \
    --name <BASIC_PUBLIC_IP_NAME>

既存のパブリックIP(Basic SKU)をアップグレードしている場合は不要です。

参考

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