次の方法で共有


可用性セットの VM に接続されているすべてのパブリック IP アドレスを Basic から Standard にアップグレードする

重要

Basic SKU パブリック IP は 2025 年 9 月 30 日に廃止されます。 詳細については、公式告知を参照してください。 現在 Basic SKU パブリック IP を使用している場合は、廃止日より前に Standard SKU パブリック IP にアップグレードしてください。 この記事では、アップグレード プロセスを紹介します。

Basic SKU パブリック IP の廃止と Standard SKU パブリック IP の利点の詳細については、こちらを参照してください。

アップグレードの概要

このスクリプトは、可用性セットの仮想マシン (VM) に接続されているパブリック IP アドレスを Basic SKU から Standard SKU にアップグレードします。 アップグレードを実行するため、パブリック IP アドレスの割り当て方法は、各 VM から関連付けを解除する前に静的に設定されます。 関連付けが解除されると、パブリック IP SKU が Standard にアップグレードされ、すべての IP がアップグレードされるまで IP が元の VM に再度関連付けられます。

パブリック IP の割り当ては、VM からデタッチする前に "静的" に設定してあるため、スクリプトが失敗した場合でも、アップグレード処理中に IP アドレスが変更されることはありません。 モジュールでは、パブリック IP を VM からデタッチする前に、パブリック IP の割り当て方法が "静的" であることが再確認されます。

アップグレード アクティビティのすべてのログは、モジュールが実行された場所と同じ場所に作成された AvSetPublicIPUpgrade.log という名前のファイルに記録されます (既定の場合)。

制約およびサポートされていないシナリオ

  • Load Balancer に関連付けられたネットワーク インターフェイスを持つ VM: VM に関連付けられている Load Balancer とパブリック IP SKU が一致する必要があるため、VM のネットワーク インターフェイスがバックエンド プールまたは NAT プール メンバーシップを介してLoad Balancer に関連付けられている場合、VM に関連付けられているインスタンス レベルのパブリック IP アドレスをアップグレードすることはできません。 「Basic Load Balancer を Standard SKU にアップグレードする」 スクリプトを使用して、Load Balancer とパブリック IP の両方を同時にアップグレードします。

  • ネットワーク セキュリティ グループのない VM: IP をアップグレードする必要がある VM には、パブリック IP を持つ各 IP 構成のサブネット、または NIC と直接関連付けられたネットワーク セキュリティ グループ (NSG) が必要です。 これは、Standard SKU パブリック IP は "既定でセキュリティ保護されている" ため、パブリック IP へのトラフィックが VM に到達するには、NSG で明示的に許可されなければならないことを意味します。 Basic SKU のパブリック IP では、既定ですべてのトラフィックが許可されます。 NSG のないパブリック IP SKU をアップグレードすると、以前は Basic SKU では許可されていたパブリック IP へのインバウンド インターネット トラフィックが発生します。 パブリック IP の SKU を参照してください。

スクリプトのダウンロード

PowerShell ギャラリーから移行スクリプトをダウンロードします。

Install-Module -Name AzureAvSetBasicPublicIPUpgrade -Scope CurrentUser -Repository PSGallery -Force

モジュールを使う

  1. Select-AzSubscription を使用して、可用性セットが存在する Azure サブスクリプションを選択する

    Select-AzSubscription -Subscription <SubscriptionId>
    
  2. アップグレードする Basic パブリック IP が接続されている可用性セットを見つけます。 その名前とリソース グループ名をメモします。

  3. モジュールのパラメーターを確認します。

    • AvailabilitySetName [文字列] 必須 - このパラメーターは可用性セットの名前です。
    • ResourceGroupName [文字列] 必須 - このパラメーターは、アップグレードする Basic パブリック IP がアタッチされている可用性セットのリソース グループです。
  4. 次の例または Get-Help Start-AzAvSetPublicIPUpgrade をガイダンスとして、アップグレードを実行します。

スクリプトの使用例

単一の可用性セットの VM をアップグレードし、可用性セット名とリソース グループ名をパラメーターとして渡します。

Start-AzAvSetPublicIPUpgrade -availabilitySetName 'myAvSet' -resourceGroupName 'myRG'

変更を加えることなく、単一の可用性セットで VM を評価する

Start-AzAvSetPublicIPUpgrade -availabilitySetName 'myAvSet' -resourceGroupName 'myRG' -WhatIf

ユーザーがアクセスできるすべての可用性セットで VM のアップグレードを試みる パブリック IP なしの VM、既にアップグレード済みの VM、NSG なしの VM はスキップされます。

Get-AzAvailabilitySet -resourceGroupName 'myRG' | Start-AzAvSetPublicIPUpgrade -skipVMMissingNSG

失敗した移行から回復するには、回復する可用性セットの名前とリソース グループ、および回復ログ ファイルを渡します。

Start-AzAvSetPublicIPUpgrade -RecoverFromFile ./AvSetPublicIPUpgrade_Recovery_2020-01-01-00-00.csv -AvailabilitySetName myAvSet -ResourceGroup rg-myrg

失敗した移行の復旧

ネットワークの停止やクライアント システムの問題などの一時的な問題が原因で移行が失敗した場合は、移行を再試行することで、VM とパブリック IP を目標状態に構成できます。 スクリプトを実行すると、VM が適切に再構成されているかどうかを確認するために使用される、復旧ログ ファイルが出力されます。 スクリプトを実行した場所に作成されるログ ファイル AvSetPublicIPUpgrade.log を確認します。

失敗したアップグレードを復旧するには、この例に示すように、-recoverFromFile パラメーターを使用して復旧ログ ファイルのパスをスクリプトに渡し、-AvailabilitySetName パラメーターを使用して復旧する可用性セットを指定します。

Start-VMPublicIPUpgrade -RecoverFromFile ./AvSetPublicIPUpgrade_Recovery_2020-01-01-00-00.csv -AvailabilitySetName myAvSet -ResourceGroupName rg-myrg

一般的な質問

移行にかかる時間と、パブリック IP で VM にアクセスできない時間はどのくらいですか。

VM のパブリック IP のアップグレードにかかる時間は、VM に関連付けられているパブリック IP とネットワーク インターフェイスの数によって異なります。 テストでは、NIC とパブリック IP が 1 つの VM の場合、アップグレードにかかる時間は 1 から 2 分です。 VM 上の NIC の数が 1 つ増えるごとに 1 分、パブリック IP が増えるごとに数秒ずつ加算されます。

Basic SKU のパブリック IP にロールバックできますか。

パブリック IP アドレスを Standard から Basic にダウングレードすることはできません。

実行する前に移行をテストすることはできますか。

アクションを完了せずにパブリック IP のアップグレードを評価する方法はありません。 しかし、このスクリプトに含まれている -WhatIf パラメーターを使用すると、可用性セット VM でアップグレードがサポートされているかどうかをチェックし、アクションを実行せずに各ステップを辿ることができます。

スクリプトは Zonal Basic SKU パブリック IP をサポートしていますか。

はい。ゾーンベースの Basic SKU パブリック IP をゾーンベースの Standard SKU パブリック IP にアップグレードするプロセスは同じであり、スクリプトで機能します。

次の手順