<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <author>
    <name>Japan Azure IaaS Core Support Team</name>
  </author>
  <generator uri="https://hexo.io/">Hexo</generator>
  <id>https://jpaztech.github.io/blog/</id>
  <link href="https://jpaztech.github.io/blog/" rel="alternate"/>
  <link href="https://jpaztech.github.io/blog/atom.xml" rel="self"/>
  <rights>All rights reserved 2026, Japan Azure IaaS Core Support Team</rights>
  <subtitle>日本マイクロソフトの Azure IaaS テクニカル サポート チームより、情報をお届けします！</subtitle>
  <title>Japan Azure IaaS Core Support Blog</title>
  <updated>2026-04-20T03:45:50.411Z</updated>
  <entry>
    <author>
      <name>Japan Azure IaaS Core Support Team</name>
    </author>
    <category term="Network" scheme="https://jpaztech.github.io/blog/tags/Network/"/>
    <category term="DNS" scheme="https://jpaztech.github.io/blog/tags/DNS/"/>
    <category term="Azure Private DNS" scheme="https://jpaztech.github.io/blog/tags/Azure-Private-DNS/"/>
    <content>
      <![CDATA[<p>こんにちは、Azure テクニカル サポート チームの箕輪です。<br>プライベート DNS ゾーンは、仮想ネットワーク上で任意のゾーン名やプライベート エンドポイントで利用する privatelink サブドメインの名前解決を提供する DNS サービスで、仮想ネットワーク上に展開されたリソースの名前解決に影響を与えます。<br>その中で、内部 Azure API Management を利用しているシナリオで、プライベート DNS ゾーンの構成によって Azure サービスへの名前解決が意図せず失敗し接続ができない事象が発生し得ます。このブログでは、要因と考えられる対応策についてご紹介します。</p><span id="more"></span><h2 id="このブログで紹介するシナリオ"><a href="#このブログで紹介するシナリオ" class="headerlink" title="このブログで紹介するシナリオ"></a>このブログで紹介するシナリオ</h2><p><a href="https://learn.microsoft.com/ja-jp/azure/api-management/api-management-key-concepts">Azure API Management (APIM)</a> とは、あらゆる環境にわたる API のためのハイブリッドなマルチクラウド管理プラットフォームです。 APIM は Azure ユーザーだけではなく、各 Azure サービスの内部コンポーネントとしても組み合わせて利用されています。</p><p>APIM のエンドポイントは、インターネット上に公開されるパブリック エンドポイントの他、仮想ネットワーク上のリソースとしてプライベート エンドポイントや、外部非公開の API エンドポイントとして <a href="https://learn.microsoft.com/ja-jp/azure/api-management/api-management-using-with-internal-vnet">内部 APIM</a> などが構成できます。この中で内部 APIM を利用する時、APIM の各エンドポイントへの接続はパブリック IP アドレスではなくプライベート IP アドレスで接続する必要があるため、仮想ネットワーク上で名前解決を提供するプライベート DNS ゾーンとの組み合わせにて構成する内容が公開情報に記載されています。</p><p>この内部 APIM の構成時に、プライベート DNS ゾーンとして azure-api.net を指定した構成では、Azure PaaS への接続が失敗する事象が発生する可能性があります。</p><h2 id="発生要因"><a href="#発生要因" class="headerlink" title="発生要因"></a>発生要因</h2><p>Azure の仮想ネットワーク上のリソースに対する名前解決の構成として、Azure 既定の DNS サーバー (168.63.129.16) を参照先として指定する構成が一般的です。この Azure 既定の DNS サーバーは、仮想ネットワークとリンクされたプライベート DNS ゾーンに対して DNS クエリを送信した時に参照する必要があります。仮想ネットワーク上に展開可能なプライベート DNS Resolver の受信エンドポイント宛ての DNS クエリについても、 Azure 既定の DNS サーバー (168.63.129.16) に転送されます。</p><p>次に内部 APIM を利用するためには、内部 APIM の各エンドポイント (FQDN) に対応したプライベート IP アドレスへの接続が必要です。各エンドポイント (FQDN) の名前解決結果を対象のプライベート IP アドレスにするために、DNS 構成としてプライベート DNS ゾーンを構成する旨が、公開情報に記載されています。<br>この時どのようなゾーン名にするかは具体的な記載がありませんが、必要なエンドポイントに共通しているのは azure-api.net となるため、azure-api.net　をゾーン名としてプライベート DNS ゾーンを構成されることが多いと想定しています。</p><p>そして、今回のベストプラクティスにおける意図せず名前解決に失敗する事象の要因として、APIM は各 Azure サービスの内部コンポーネントとして利用される場合があることが挙げられます。例えば Azure OpenAI Service（AOAI）や Azure Data Factory などでは、これまでのお問合せ事例より一部機能で APIM が組み込まれています。<br>具体的には、接続元クライアントからの接続時の FQDN は AOAI のエンドポイントであったとしても、名前解決を実施すると azure-api.net を含んだエイリアスが一連の名前解決に含まれます。この時、プライベート DNS ゾーンに  azure-api.net  を指定していると、本来パブリック DNS サーバーで名前解決されるものが、プライベート DNS ゾーンで名前解決され、対象の DNS レコードが存在しないため名前解決に失敗し、接続影響を及ぼします。<br>なお、その他の Azure サービスについても、一部機能で利用されている場合や、機能実装に伴い APIM が組み込まれる場合があります。</p><h2 id="プライベート-DNS-ゾーン観点での対応方法"><a href="#プライベート-DNS-ゾーン観点での対応方法" class="headerlink" title="プライベート DNS ゾーン観点での対応方法"></a>プライベート DNS ゾーン観点での対応方法</h2><p>このシナリオにおける対応策のポイントは、内部 APIM とプライベート DNS ゾーンを組み合わせる時に、ゾーン名を azure-api.net とした場合に、APIM に関連する意図しない通信影響を及ぼす点です。<br>意図しない通信影響を回避するためのポイントとしては、内部 APIM は機能によって差異はありますが、名前解決が必要なエンドポイントがおおよそ特定できる点です。<br>この動作により、利用されている内部 APIM に対するエンドポイントのみ DNS 構成し、ゾーン名を azure-api.net 以外にすることで意図しない事象を回避することが可能です。<br>内部 APIM のエンドポイント情報は、リソース デプロイ時に指定したリソース名をホスト名とし、各エンドポイントのドメインと組み合わせます。<br>内部 APIM の公開情報 (<a href="https://learn.microsoft.com/ja-jp/azure/api-management/api-management-using-with-internal-vnet#configure-dns-records">DNS レコードを構成する</a>)に倣いリソース名を contosointernalvnet とした場合、一般的な構成ですと下記のエンドポイントが該当します。<br>このエンドポイント名は、Azure Portal で構成した内部 APIM リソースを選択し、[設定 - プロパティ] から確認ができます。</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">contosointernalvnet.azure-api.net (ゲートウェイ)</span><br><span class="line">contosointernalvnet.developer.azure-api.net (開発者ポータル)</span><br><span class="line">contosointernalvnet.management.azure-api.net　(管理 API)</span><br></pre></td></tr></table></figure><p>プライベート DNS ゾーン観点では、ゾーン名は任意のものを指定可能なことがポイントとして挙げられます。今回のシナリオでは、ゾーン名を azure-api.net にすることで事象が発生するので、上記の内部 APIM のエンドポイントの FQDN 自体をゾーン名に指定し、A レコードを登録することで、他の Azure サービスの azure-api.net を含んた名前解決に影響を与えず、対象の内部 APIM だけ名前解決が可能になります。<br>公開情報のリソース名を基に具体例を挙げると、まず下記 3 つの FQDN をプライベート DNS ゾーンのゾーン名に指定してデプロイします。デプロイされた後、対象ゾーンの頂点ドメインとしてホスト部に @ を指定して、対応するプライベート IP アドレスを A レコードとして登録することで、FQDN に対する名前解決だけプライベート IP アドレスが応答され、それ以外の azure-api.net に対応する名前解決はパブリック DNS に転送することが可能になります。</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">contosointernalvnet.azure-api.net</span><br><span class="line">contosointernalvnet.developer.azure-api.net</span><br><span class="line">contosointernalvnet.management.azure-api.net</span><br></pre></td></tr></table></figure><p>なお、プライベート DNS ゾーンには <a href="https://learn.microsoft.com/ja-jp/azure/dns/private-dns-fallback">インターネット フォールバック機能</a> (ゾーン内に対象の DNS レコードがない場合にパブリック DNS に問い合わせる機能) がありますが、この機能は privatelink サブドメインのみ対象とした機能となるため、今回のシナリオの azure-api.net は対象外となります。</p><p>上記、ご参考になれば幸いです。</p><hr>]]>
    </content>
    <id>https://jpaztech.github.io/blog/network/private-dns-zone-apim/</id>
    <link href="https://jpaztech.github.io/blog/network/private-dns-zone-apim/"/>
    <published>2026-04-20T03:00:00.000Z</published>
    <summary>
      <![CDATA[<p>こんにちは、Azure テクニカル サポート チームの箕輪です。<br>プライベート DNS ゾーンは、仮想ネットワーク上で任意のゾーン名やプライベート エンドポイントで利用する privatelink サブドメインの名前解決を提供する DNS サービスで、仮想ネットワーク上に展開されたリソースの名前解決に影響を与えます。<br>その中で、内部 Azure API Management を利用しているシナリオで、プライベート DNS ゾーンの構成によって Azure サービスへの名前解決が意図せず失敗し接続ができない事象が発生し得ます。このブログでは、要因と考えられる対応策についてご紹介します。</p>]]>
    </summary>
    <title>プライベート DNS ゾーンと内部 Azure API Management を組み合わせる時のベストプラクティス</title>
    <updated>2026-04-20T03:45:50.411Z</updated>
  </entry>
  <entry>
    <author>
      <name>Japan Azure IaaS Core Support Team</name>
    </author>
    <category term="VM" scheme="https://jpaztech.github.io/blog/tags/VM/"/>
    <category term="Windows" scheme="https://jpaztech.github.io/blog/tags/Windows/"/>
    <category term="Linux" scheme="https://jpaztech.github.io/blog/tags/Linux/"/>
    <category term="HowTo" scheme="https://jpaztech.github.io/blog/tags/HowTo/"/>
    <category term="Troubleshooting" scheme="https://jpaztech.github.io/blog/tags/Troubleshooting/"/>
    <content>
      <![CDATA[<p>こんにちは、Azure IaaS サポートの杉野です。<br>Azure VM に関する問い合わせの中でも、「VM に接続できない」、「VM が応答しない」といったトラブルは非常に多く寄せられます。</p><p>特に、Azure ポータル上では VM の状態が「実行中」と表示されているにもかかわらず、SSH や RDP で接続できないケースでは、原因の特定に時間を要することも少なくありません。<br>本記事では、このような事象の切り分けに有効な「ブート診断」について、その概要と設定方法をご紹介します。</p><p>ブート診断を活用することで、ゲスト OS が起動しているかどうかを迅速に確認でき、サポートへお問い合わせいただく前の切り分けをスムーズに進めることが可能となり、復旧までの時間短縮につながるケースが多くございます。</p><p>一方で、現場では「ブート診断を有効化していない」VM が多く、そもそも機能を利用されたことがないお客様も少なくありません。<br>そのため、本記事では、ブート診断の概要と設定方法を解説します。</p><p>本記事でご紹介するブート診断に関しまして、以下の公式ドキュメントも併せてご確認いただけますと幸いでございます。</p><blockquote><p>■ご参考：Azure のブート診断 - Azure Virtual Machines<br><a href="https://learn.microsoft.com/ja-jp/azure/virtual-machines/boot-diagnostics">https://learn.microsoft.com/ja-jp/azure/virtual-machines/boot-diagnostics</a></p></blockquote><blockquote><p>■ご参考：Azure の VM のブート診断 - Virtual Machines<br><a href="https://learn.microsoft.com/ja-jp/troubleshoot/azure/virtual-machines/windows/boot-diagnostics">https://learn.microsoft.com/ja-jp/troubleshoot/azure/virtual-machines/windows/boot-diagnostics</a></p></blockquote><hr><ul><li><a href="./#%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB%EF%BC%9AVM-%E3%81%AB%E6%8E%A5%E7%B6%9A%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84%E3%81%A8%E3%81%8D%E3%81%AB%E4%BD%95%E3%81%8C%E8%B5%B7%E3%81%8D%E3%81%A6%E3%81%84%E3%82%8B%E3%81%AE%E3%81%8B">はじめに：VM に接続できないときに何が起きているのか</a></li><li><a href="./#%E3%83%96%E3%83%BC%E3%83%88%E8%A8%BA%E6%96%AD%E3%81%A8%E3%81%AF%EF%BC%9F">ブート診断とは？</a></li><li><a href="./#%E3%83%96%E3%83%BC%E3%83%88%E8%A8%BA%E6%96%AD%E3%82%92%E6%9C%89%E5%8A%B9%E5%8C%96%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95">ブート診断を有効化する方法</a></li><li><a href="./#%E3%80%90%E8%A3%9C%E8%B6%B3-1%E3%80%91%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0-%E3%82%B9%E3%83%88%E3%83%AC%E3%83%BC%E3%82%B8-%E3%82%A2%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88%E5%88%A9%E7%94%A8%E6%99%82%E3%81%AE%E6%B3%A8%E6%84%8F%E7%82%B9">【補足 1】カスタム ストレージ アカウント利用時の注意点</a></li><li><a href="./#%E3%80%90%E8%A3%9C%E8%B6%B3-2%E3%80%91%E3%83%9E%E3%83%8D%E3%83%BC%E3%82%B8%E3%83%89-%E3%82%B9%E3%83%88%E3%83%AC%E3%83%BC%E3%82%B8-%E3%82%A2%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88%E5%88%A9%E7%94%A8%E6%99%82%E3%81%AE%E6%B3%A8%E6%84%8F%E7%82%B9">【補足 2】マネージド ストレージ アカウント利用時の注意点</a></li><li><a href="./#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB">おわりに</a></li></ul><hr><h2 id="はじめに：VM-に接続できないときに何が起きているのか"><a href="#はじめに：VM-に接続できないときに何が起きているのか" class="headerlink" title="はじめに：VM に接続できないときに何が起きているのか"></a>はじめに：VM に接続できないときに何が起きているのか</h2><p>VM に対して SSH や RDP で接続できない場合、その原因は必ずしもネットワーク設定や認証設定とは限りません。<br>ゲスト OS 自体が正常に起動していないケースも多く存在します。</p><p>このような状態では、Azure ポータル上では VM の状態が「実行中」と表示されるため、利用者視点では「VM は起動している」と認識されがちです。</p><p>しかし実際には、ゲスト OS が起動途中でスタックしており、外部からの接続を受け付けられない状態に陥っている場合があります。<br>この状態は、一般に <strong>No boot 状態</strong>と呼ばれます。</p><p>No boot 状態に陥った場合、主に以下のような事象が確認されます。</p><ul><li>SSH 接続ができない &#x2F; RDP 接続ができない</li><li>Azure ポータル上では「実行中」と表示されるが、OS レベルの応答がない</li></ul><p>No boot 状態に至る原因は多岐にわたり、代表的なものとして以下が考えられます。</p><ul><li>OS レベルの問題（ファイル破損、ドライバ不整合、カーネルパニックなど）</li><li>構成上の問題（ディスク構成ミス、ネットワーク設定不備など）</li><li>Azure 側の要因（極稀ですが基盤障害など）</li></ul><p>原因が多岐にわたるため、サポート現場では、まずブート診断のスクリーンショットやシリアル ログを確認し、OS がどこまで起動しているかを把握するところから切り分けを開始します。</p><p>これにより、接続不可の原因が OS 起動以前の問題なのか、それともネットワークや認証設定など別の要因によるものなのかを判断することが可能になります。</p><hr><h2 id="ブート診断とは？"><a href="#ブート診断とは？" class="headerlink" title="ブート診断とは？"></a>ブート診断とは？</h2><p>ブート診断は、Azure VM の起動時に出力されるコンソール情報を <strong>スクリーンショットやログとして取得・保存する機能</strong> です。</p><p>対象 OS：Windows &#x2F; Linux どちらも対応  </p><ul><li>Windows：起動画面（ブートロゴ、修復モードなど）のスクリーンショット</li><li>Linux：コンソールログ（カーネルメッセージ、マウント失敗など）</li></ul><p>これにより、「OS 起動がどこまで進んでいるか」を視覚的・ログベースで確認することが可能となります。</p><p>正常に起動している場合、下記の通り、VM のコンソール上には Windows のログイン画面が表示されます。</p><p><img src="/blog/vm/boot-diagnostics/image001.png"></p><p>一方で、ゲスト OS が正常に起動されていない状態の場合には、起動途中のメッセージやエラー画面のまま停止しているケースが確認されます。</p><p><img src="/blog/vm/boot-diagnostics/image002.png"></p><p>表示される画面やエラー内容は状況により異なりますが、スクリーンショットから原因の絞り込みが可能な場合も多くあります。<br>また、ブート診断の結果から No boot 状態が確認された場合には、No boot 観点での調査へ迅速に移行することが可能となります。</p><p>Noboot 状態のトラブルシューティングに関しましては、下記の弊社ドキュメントやブログにお纏めしておりますので必要に応じてご確認をいただけますと幸いです。</p><blockquote><p>■ご参考：Azure 仮想マシンでのブート エラーのトラブルシューティング<br><a href="https://learn.microsoft.com/ja-jp/troubleshoot/azure/virtual-machines/windows/boot-error-troubleshoot">https://learn.microsoft.com/ja-jp/troubleshoot/azure/virtual-machines/windows/boot-error-troubleshoot</a></p></blockquote><blockquote><p>■ご参考：Azure 上の Windows OS が起動しない場合の情報まとめ<br><a href="https://jpaztech.github.io/blog/vm/windows-noboot-summary/">https://jpaztech.github.io/blog/vm/windows-noboot-summary/</a></p></blockquote><p>また、一般的なブート エラーの例については、以下のドキュメントにも整理されておりますので、こちらもご参照いただけますと幸いです。</p><blockquote><p>■ご参考：Azure の VM のブート診断 - Virtual Machines<br><a href="https://learn.microsoft.com/ja-jp/troubleshoot/azure/virtual-machines/windows/boot-diagnostics#common-boot-errors">https://learn.microsoft.com/ja-jp/troubleshoot/azure/virtual-machines/windows/boot-diagnostics#common-boot-errors</a></p></blockquote><hr><h2 id="ブート診断を有効化する方法"><a href="#ブート診断を有効化する方法" class="headerlink" title="ブート診断を有効化する方法"></a>ブート診断を有効化する方法</h2><p>次に、Azure ポータルからブート診断を有効化する手順についてご説明します。</p><ol><li>ブート診断を有効化する Azure VM のページより、左側 [ヘルプ] – [ブート診断] を選択します。<br>※ ブート診断が設定されていない場合、「この仮想マシンにはブート診断が構成されていません。」と表示されます。</li></ol><p><img src="/blog/vm/boot-diagnostics/image003.png"></p><ol start="2"><li><p>画面上部の [設定] を選択します。</p></li><li><p>[マネージド ストレージ アカウントで有効にする] を選択し、画面下部の [適用] ボタンを押下します。<br>※ お客様管理のストレージ アカウントをご利用されたい場合、[カスタム ストレージアカウント アカウントで有効にする] を選択</p></li></ol><p><img src="/blog/vm/boot-diagnostics/image004.png"></p><p>以上でブート診断の有効化は完了です。</p><div class="alert is-info"><p class="alert-title">Note</p><p>有効化後、データが利用可能になるまでしばらく時間がかかることがあります。</p><p>数分後にページを更新いただき最初のデータが利用可能になるまでお待ちください。</p></div><hr><h2 id="【補足-1】カスタム-ストレージ-アカウント利用時の注意点"><a href="#【補足-1】カスタム-ストレージ-アカウント利用時の注意点" class="headerlink" title="【補足 1】カスタム ストレージ アカウント利用時の注意点"></a>【補足 1】カスタム ストレージ アカウント利用時の注意点</h2><p>ブート診断では、お客様管理のストレージ アカウント (カスタム ストレージアカウント アカウント) を指定し、利用することも可能です。<br>（上記手順 3 にて [カスタム ストレージアカウント アカウントで有効にする] を選択）</p><p>ただし、この場合は以下の点にご注意ください。</p><ul><li>ストレージ アカウントのファイアウォール設定により、ブート診断の画面が表示されないケースがあります</li></ul><p>ブート診断の画面が表示されず、下記のようなメッセージを確認された場合、ストレージ アカウントのネットワーク設定を一度確認することをおすすめします。</p><p><img src="/blog/vm/boot-diagnostics/image005.png"></p><blockquote><p>■ご参考：Azure Storage のファイアウォール規則<br><a href="https://learn.microsoft.com/ja-jp/azure/storage/common/storage-network-security">https://learn.microsoft.com/ja-jp/azure/storage/common/storage-network-security</a></p></blockquote><div class="alert is-info"><p class="alert-title">Note</p><p>このようにカスタム ストレージアカウント アカウン トをご利用いただく場合、構成確認が必要な場合がございますため、</p><p>特別な要件がない場合はマネージド ストレージ アカウントの利用を推奨いたします。</p></div><hr><h2 id="【補足-2】マネージド-ストレージ-アカウント利用時の注意点"><a href="#【補足-2】マネージド-ストレージ-アカウント利用時の注意点" class="headerlink" title="【補足 2】マネージド ストレージ アカウント利用時の注意点"></a>【補足 2】マネージド ストレージ アカウント利用時の注意点</h2><p>Azure Blob Storage では、利用形態によってアクセス先の FQDN が異なります。</p><ul><li><p>カスタム ストレージ アカウント</p><p><code>&lt;storage-account&gt;.blob.core.windows.net</code></p></li><li><p>マネージド ストレージ アカウント</p><p><code>&lt;storage-account&gt;.z[00-50].blob.storage.azure.net</code></p></li></ul><p>上記の通り、マネージド ストレージ アカウントでは、通常のストレージ アカウントとは異なる FQDN が使用されます。<br>そのため、Azure ポータルに接続している端末で Firewall やプロキシをご利用の環境において、この FQDN への通信がブロックされている場合、<br>Azure ポータルからブート診断を確認できないことがございます。</p><p>マネージド ストレージ アカウントをご利用される際は、通常のストレージ アカウントとは異なる FQDN が使用される点について、<br>あらかじめご留意いただけますと幸いです。</p><p><img src="/blog/vm/boot-diagnostics/image006.png"></p><hr><h2 id="おわりに"><a href="#おわりに" class="headerlink" title="おわりに"></a>おわりに</h2><p>Azure VM において、「実行中」と表示されているにもかかわらず OS に接続できない場合、ゲスト OS が正常に起動していない No boot 状態である可能性が考えられます。</p><p>このような状況では、ブート診断を活用することで、OS の起動状況を迅速に把握でき、原因切り分けや復旧までの時間を短縮することが可能です。</p><p>特に、サポートへお問い合わせいただく際にも、ブート診断の情報があることで、初動調査をよりスムーズに進めることができます。</p><p>上述しましたようにブート診断の有効化は比較的設定も容易であり、トラブルシューティングにおいて非常に有用な機能ですので、平常時から有効化しておくことをおすすめいたします。</p><p>本記事が、障害発生時の切り分けや迅速な復旧の一助となれば幸いです。</p>]]>
    </content>
    <id>https://jpaztech.github.io/blog/vm/boot-diagnostics/</id>
    <link href="https://jpaztech.github.io/blog/vm/boot-diagnostics/"/>
    <published>2026-04-07T08:30:00.000Z</published>
    <summary>
      <![CDATA[<p>こんにちは、Azure IaaS サポートの杉野です。<br>Azure VM に関する問い合わせの中でも、「VM に接続できない」、「VM が応答しない」といったトラブルは非常に多く寄せられます。</p>
<p>特に、Azure ポータル上では VM の状態が「実行中」と]]>
    </summary>
    <title>Azure VM のブート診断について</title>
    <updated>2026-04-07T08:30:00.000Z</updated>
  </entry>
  <entry>
    <author>
      <name>Japan Azure IaaS Core Support Team</name>
    </author>
    <category term="Archive" scheme="https://jpaztech.github.io/blog/tags/Archive/"/>
    <category term="Network" scheme="https://jpaztech.github.io/blog/tags/Network/"/>
    <category term="Load Balancer" scheme="https://jpaztech.github.io/blog/tags/Load-Balancer/"/>
    <content>
      <![CDATA[<p>こんにちは、Azure サポートチームの檜山です。</p><p>今回は Azure ロードバランサーの利用にあたり、よくあるお問い合わせで代表的なものについてご紹介させていただきます。</p><p>Azure ロードバランサー利用時に想定した動作ができないといった時に制限事項にあてはまっている場合がございますので、そのような時はご一読いただけますと幸いです。</p><p>また、Azure ロードバランサーを経由した通信のトラブルシューティングについては以下もご参照ください。</p><p><a href="https://jpaztech.github.io/blog/archive/loadbalancer-troubleshooting/">ロードバランサー経由での通信ができない場合のチェックポイント</a></p><h2 id="Azure-ロードバランサー-内部-プライベートIP-外部-パブリック-IP-利用時のよくあるお問合せ"><a href="#Azure-ロードバランサー-内部-プライベートIP-外部-パブリック-IP-利用時のよくあるお問合せ" class="headerlink" title="Azure ロードバランサー (内部 [プライベートIP] &#x2F; 外部 [パブリック IP]) 利用時のよくあるお問合せ"></a>Azure ロードバランサー (内部 [プライベートIP] &#x2F; 外部 [パブリック IP]) 利用時のよくあるお問合せ</h2><p>Azure ロードバランサー利用時のよくあるお問合せとして以下のようなものがあります。</p><ul><li><a href="#%E3%83%AD%E3%83%BC%E3%83%89%E3%83%90%E3%83%A9%E3%83%B3%E3%82%B5%E3%83%BC%E3%81%AE%E3%83%90%E3%83%83%E3%82%AF%E3%82%A8%E3%83%B3%E3%83%89%E3%83%97%E3%83%BC%E3%83%AB%E3%81%AB-VM-%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84">ロードバランサーのバックエンドプールに VM を追加できない</a></li><li><a href="#%E3%83%AD%E3%83%BC%E3%83%89%E3%83%90%E3%83%A9%E3%83%B3%E3%82%B5%E3%83%BC%E3%81%AE%E3%83%90%E3%83%83%E3%82%AF%E3%82%A8%E3%83%B3%E3%83%89%E3%83%97%E3%83%BC%E3%83%AB%E3%81%AB%E8%BF%BD%E5%8A%A0%E3%81%97%E3%81%9F%E3%82%89%E5%A4%96%E9%83%A8%E3%81%B8%E6%8E%A5%E7%B6%9A%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%8F%E3%81%AA%E3%81%A3%E3%81%9F">ロードバランサーのバックエンドプールに追加したら外部へ接続できなくなった</a></li><li><a href="#%E3%83%90%E3%83%83%E3%82%AF%E3%82%A8%E3%83%B3%E3%83%89%E3%83%97%E3%83%BC%E3%83%AB%E3%81%AB%E6%89%80%E5%B1%9E%E3%81%97%E3%81%9F-VM-%E3%81%8B%E3%82%89%E3%83%AD%E3%83%BC%E3%83%89%E3%83%90%E3%83%A9%E3%83%B3%E3%82%B5%E3%83%BC%E3%81%AE%E3%83%95%E3%83%AD%E3%83%B3%E3%83%88%E3%82%A8%E3%83%B3%E3%83%89-IP-%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%81%AB%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84">バックエンドプールに所属した VM からロードバランサーのフロントエンド IP アドレスにアクセスできない</a></li><li><a href="#Standard-SKU-%E3%81%AE%E5%A4%96%E9%83%A8%E3%83%AD%E3%83%BC%E3%83%89%E3%83%90%E3%83%A9%E3%83%B3%E3%82%B5%E3%83%BC%E3%81%A7%E6%AD%A3%E5%B8%B8%E6%80%A7%E3%83%97%E3%83%AD%E3%83%BC%E3%83%96%E3%81%AF%E6%88%90%E5%8A%9F%E3%81%99%E3%82%8B%E3%81%8C%E3%80%81%E8%B2%A0%E8%8D%B7%E5%88%86%E6%95%A3%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84">Standard SKU の外部ロードバランサーで正常性プローブは成功するが、負荷分散ができない</a></li><li><a href="#%E3%83%AD%E3%83%BC%E3%83%89%E3%83%90%E3%83%A9%E3%83%B3%E3%82%B5%E3%83%BC%E3%81%AE%E3%83%95%E3%83%AD%E3%83%B3%E3%83%88%E3%82%A8%E3%83%B3%E3%83%89-IP-%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%81%AE%E9%80%81%E4%BF%A1%E5%85%83-NAT-SNAT-%E3%81%AB%E3%82%88%E3%82%8B%E5%A4%96%E9%83%A8%E6%8E%A5%E7%B6%9A%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84">ロードバランサーのフロントエンド IP アドレスの送信元 NAT (SNAT) による外部接続ができない</a></li></ul><p>それぞれについて以下に詳細を記載します。</p><h2 id="ロードバランサーのバックエンドプールに-VM-を追加できない"><a href="#ロードバランサーのバックエンドプールに-VM-を追加できない" class="headerlink" title="ロードバランサーのバックエンドプールに VM を追加できない"></a>ロードバランサーのバックエンドプールに VM を追加できない</h2><p>こちらの事象についてよくある原因としては以下があります。</p><ol><li><strong>1 台の VM を複数のロードバランサーに追加しようとしている</strong></li><li><strong>ロードバランサーと VM に付与されているパブリック IP アドレスの SKU が異なる</strong></li></ol><p>1 についてですが、Azure ロードバランサーは 1 台の VM を複数の外部ロードバランサーまたは複数の内部ロードバランサーに追加することができません。</p><p>Azure ロードバランサーに複数のフロントエンド IP アドレスを設定することで回避できる場合がありますので、ご検討ください。</p><p>また、1 台 の VM を 1 つの外部ロードバランサーと 1 つの内部ロードバランサーに所属し、負荷分散することはできます。(LB の SKU は合わせる必要があります)</p><p><img src="/blog/archive/azurelb-tips/OneVmTwoElb.png"><br><img src="/blog/archive/azurelb-tips/OneVMOneIlbOneElb.png"></p><p>2 についてですが、VM のパブリック IP アドレスが Basic SKU であった場合、Standard SKU のロードバランサーのバックエンドには追加することができません (SKU が反対の場合も同様)。</p><p>そのため、そのような構成であった場合、どちらかの SKU を変更し、SKU を合わせる必要があります。</p><p><img src="/blog/archive/azurelb-tips/LbSku.png"></p><h2 id="ロードバランサーのバックエンドプールに追加したら外部へ接続できなくなった"><a href="#ロードバランサーのバックエンドプールに追加したら外部へ接続できなくなった" class="headerlink" title="ロードバランサーのバックエンドプールに追加したら外部へ接続できなくなった"></a>ロードバランサーのバックエンドプールに追加したら外部へ接続できなくなった</h2><p>こちらの事象についてよくある原因としては以下があります。</p><ol><li><strong>Standard SKU の内部ロードバランサーのバックエンドプールに所属している</strong></li></ol><p><img src="/blog/archive/azurelb-tips/IlbSnat.png"></p><p>Standard SKU の内部ロードバランサーの場合、以下のどちらかの設定を行いパブリック IP アドレス経由で外部と通信できるようにする必要があります。</p><ol><li>VM にパブリック IP アドレスを付与する</li><li>VM を外部ロードバランサーにも追加する</li></ol><h2 id="バックエンドプールに所属した-VM-からロードバランサーのフロントエンド-IP-アドレスにアクセスできない"><a href="#バックエンドプールに所属した-VM-からロードバランサーのフロントエンド-IP-アドレスにアクセスできない" class="headerlink" title="バックエンドプールに所属した VM からロードバランサーのフロントエンド IP アドレスにアクセスできない"></a>バックエンドプールに所属した VM からロードバランサーのフロントエンド IP アドレスにアクセスできない</h2><p>こちらの事象についてよくある原因としては以下があります。</p><ol><li><strong>内部ロードバランサーのバックエンドに所属している VM から、その VM が所属しているロードバランサーのフロントエンド IP アドレスにアクセスしている</strong></li></ol><p>内部ロードバランサーの動作として、自分自身がバックエンドプールとして所属するロードバランサーのフロントエンド IP アドレスに接続した際は、送信パケットと受信パケットで不一致が発生し、自ノードへはアクセスできない動作となります。</p><p>このような要件があった場合、Proxy を経由させる等で回避できる場合がございますのでご検討ください。</p><p><img src="/blog/archive/azurelb-tips/BackendToFrontend.png"></p><h2 id="Standard-SKU-の外部ロードバランサーで正常性プローブは成功するが、負荷分散ができない"><a href="#Standard-SKU-の外部ロードバランサーで正常性プローブは成功するが、負荷分散ができない" class="headerlink" title="Standard SKU の外部ロードバランサーで正常性プローブは成功するが、負荷分散ができない"></a>Standard SKU の外部ロードバランサーで正常性プローブは成功するが、負荷分散ができない</h2><p>こちらの事象についてよくある原因としては以下があります。</p><ol><li><strong>NIC またはサブネットに NSG を適用していない</strong></li></ol><p>Standard SKU の外部ロードバランサーでは NSG の受信規則によって、負荷分散用のポートを許可しない限り、トラフィックがホワイトリストとして登録されず負荷分散の通信が許可されません。</p><p><img src="/blog/archive/azurelb-tips/LbWithNsg.png"></p><p>ただし、正常性プローブについては NSG が適用されていなくても成功する動作となります。</p><p>メトリック等で確認した際に正常性プローブは成功しているが、負荷分散がきないといった事象の場合、NSG の受信規則によって、負荷分散用のポートを許可して事象が改善するかをご確認ください。</p><h2 id="ロードバランサーのフロントエンド-IP-アドレスの送信元-NAT-SNAT-による外部接続ができない"><a href="#ロードバランサーのフロントエンド-IP-アドレスの送信元-NAT-SNAT-による外部接続ができない" class="headerlink" title="ロードバランサーのフロントエンド IP アドレスの送信元 NAT (SNAT) による外部接続ができない"></a>ロードバランサーのフロントエンド IP アドレスの送信元 NAT (SNAT) による外部接続ができない</h2><p>こちらの事象についてよくある原因としては以下があります。</p><ol><li><strong>VM が所属するバックエンドプールが負荷分散規則に紐づけられていない</strong></li><li><strong>VM にパブリック IP アドレスが付与されている</strong></li><li><strong>外部ロードバランサーではなく内部ロードバランサーを利用している</strong></li></ol><p>1 についてですが、外部への送信接続時の SNAT はバックエンドプールを負荷分散規則に紐づけていないと利用することができません。</p><p>Standard SKU の場合は、アウトバウンド規則を利用することもできます。</p><ul><li>Load Balancer のアウトバウンド規則</li></ul><p><a href="https://docs.microsoft.com/ja-jp/azure/load-balancer/load-balancer-outbound-rules-overview">https://docs.microsoft.com/ja-jp/azure/load-balancer/load-balancer-outbound-rules-overview</a></p><p><img src="/blog/archive/azurelb-tips/LbHasNoRule.png"></p><p>2 についてですが、VM にパブリック IP アドレスが付与されている場合はそのパブリック IP アドレスにて SNAT されるため、ロードバランサーのフロントエンド IP アドレスでは SNAT されません。</p><p><img src="/blog/archive/azurelb-tips/VmHasPip.png"></p><p>3 についてですが、内部ロードバランサーの場合は送信接続時にフロントエンド IP アドレスで SNAT されない動作となります</p><p><img src="/blog/archive/azurelb-tips/IlbDoesntSnat.png"></p><h2 id="ロードバランサーのバックエンド-プールに所属する-VM-で-Live-Migration-が発生し、その後通信に影響が生じる場合がある"><a href="#ロードバランサーのバックエンド-プールに所属する-VM-で-Live-Migration-が発生し、その後通信に影響が生じる場合がある" class="headerlink" title="ロードバランサーのバックエンド プールに所属する VM で Live Migration が発生し、その後通信に影響が生じる場合がある"></a>ロードバランサーのバックエンド プールに所属する VM で Live Migration が発生し、その後通信に影響が生じる場合がある</h2><p>ロードバランサー配下の仮想マシンで Live Migration が発生した際、Live Migration の発生前から確立されていた通信について、その後の接続状態や通信の継続可否に影響が生じる場合があります。</p><p>本挙動は現行のロードバランサーの制約に基づくものでありますが、すべてのアプリケーションが影響を受けるものではありません。</p><p>ただし、Live Migration の前後で同一のセッションを継続して利用し続けるような構成では、通信が正常に継続しない可能性があります。</p><p>以上、参考になれば幸いです。</p>]]>
    </content>
    <id>https://jpaztech.github.io/blog/archive/azurelb-tips/</id>
    <link href="https://jpaztech.github.io/blog/archive/azurelb-tips/"/>
    <published>2026-04-07T07:00:00.000Z</published>
    <summary>
      <![CDATA[<p>こんにちは、Azure サポートチームの檜山です。</p>
<p>今回は Azure ロードバランサーの利用にあたり、よくあるお問い合わせで代表的なものについてご紹介させていただきます。</p>
<p>Azure ロードバランサー利用時に想定した動作ができないといった時に制]]>
    </summary>
    <title>Azure ロードバランサー利用時の注意点</title>
    <updated>2026-04-20T03:45:50.255Z</updated>
  </entry>
  <entry>
    <author>
      <name>Japan Azure IaaS Core Support Team</name>
    </author>
    <category term="Network" scheme="https://jpaztech.github.io/blog/tags/Network/"/>
    <category term="VPN Gateway" scheme="https://jpaztech.github.io/blog/tags/VPN-Gateway/"/>
    <content>
      <![CDATA[<p>こんにちは、Azure テクニカル サポート チームです。<BR><br>この記事では、Azure VPN Gateway において Basic SKU の Public IP アドレスを使用している場合の標準的なマイグレーション手順と作業時の注意点をご紹介します。<BR><br>また、この記事でご紹介する内容は動画でもご紹介しております。<BR><br>動画では Azure Portal を使用して実際に移行する手順をご確認いただけますので、こちらも併せてご活用ください。<BR></p><span id="more"></span><p><video src="About_the_Basic_Public_IP_Migration.mp4" controls = "true"></video></p><p>Azure の Public IP アドレス リソースには、Basic および Standard の 2 種類の SKU が用意されています。<BR><br>Azure VPN Gatewayにおいては、環境によって Basic SKU の Public IP アドレスが利用されているケースがあります。<BR><br>Basic SKU の Public IP アドレスは順次サービス終了が予定されているため、Basic SKU から Standard SKU へのマイグレーション作業が必要となります。<BR></p><p><img src="/blog/network/vpngw-basicip-migration/basic-or-standard.png"></p><BR><h1 id="1-マイグレーションの対象となるGatewayの条件"><a href="#1-マイグレーションの対象となるGatewayの条件" class="headerlink" title="1. マイグレーションの対象となるGatewayの条件"></a>1. マイグレーションの対象となるGatewayの条件</h1><p>マイグレーションの対象となるGatewayの条件は、下記の表のとおりです。<BR></p><table><thead><tr><th>VPN Gateway SKU</th><th>本マイグレーション作業 要&#x2F;不要</th></tr></thead><tbody><tr><td>Basic SKU</td><td>別の対応が必要<br>※ 商用ワークロードの使用は非推奨</td></tr><tr><td>Standard SKU</td><td><strong>必要</strong></td></tr><tr><td>High Performance SKU</td><td><strong>必要</strong></td></tr><tr><td>VpnGw [1–5] SKU + Basic SKU Public IP</td><td><strong>必要</strong></td></tr><tr><td>VpnGw [1–5] SKU + Standard SKU Public IP</td><td>不要</td></tr><tr><td>VpnGw [1–5] AZ SKU</td><td>不要</td></tr></tbody></table><BR><p>VPN Gatewayの SKU は、Azure ポータルで対象のGateway リソースを選択し、［概要］画面からご確認いただけます。<BR><br>また、Public IP アドレスの SKU については、Public IP アドレスのリンクをクリックし、［概要］画面からご確認いただけます。<BR><br>これらをご確認のうえ、ご利用中のGatewayがマイグレーション対象に該当するかをご確認ください。<BR></p><p><img src="/blog/network/vpngw-basicip-migration/check-sku.png"></p><br><h1 id="2-マイグレーションの手順"><a href="#2-マイグレーションの手順" class="headerlink" title="2. マイグレーションの手順"></a>2. マイグレーションの手順</h1><h2 id="2-1-マイグレーションの流れ-検証"><a href="#2-1-マイグレーションの流れ-検証" class="headerlink" title="2-1. マイグレーションの流れ - 検証"></a>2-1. マイグレーションの流れ - 検証</h2><p>実際のマイグレーション作業の流れについてご案内いたします。<BR><br>マイグレーションは、「検証」「準備」「移行」「コミット」の 4 つのステップで進行します。<BR><br>マイグレーション ツール画面を開くには、Azure ポータルで対象の VPN Gateway Gateway リソースを選択し、［構成］→［Migrate to Standard IP］をクリックしてください。<BR><br>移行ツールを開くと、自動的に構成の検証が実行されます。<BR><br>問題がなければ「Succeeded」と表示され、「検証」は完了となります。<BR></p><p><img src="/blog/network/vpngw-basicip-migration/migration-to-standardIP.png"></p><BR><h2 id="2-2-マイグレーションの流れ-準備"><a href="#2-2-マイグレーションの流れ-準備" class="headerlink" title="2-2. マイグレーションの流れ - 準備"></a>2-2. マイグレーションの流れ - 準備</h2><p>次に［Prepare］をクリックすると、マイグレーションの準備が開始され、移行先の VPN Gatewayが作成されます。<BR></p><p><img src="/blog/network/vpngw-basicip-migration/prepare.png"></p><p>このステップの完了にはおおよそ 30 分程度かかりますが、本ステップ中に通信影響は発生しません。<BR></p><p><img src="/blog/network/vpngw-basicip-migration/migration-to-standardIP-2.png"></p><p>準備が完了すると、次のステップである［Migrate］および［Abort］が表示されます。<BR></p><p><img src="/blog/network/vpngw-basicip-migration/migrate-abort.png"></p><BR><p>なお、P2S 接続に “cloudapp.net” で終わる FQDN を使用して VPN Gatewayへ接続されている場合は、準備完了後に [VPN クライアントのダウンロード] を選択し、<BR><br>更新された VPN クライアント プロファイル（ZIP ファイル）をダウンロードしてください。<BR></p><p><img src="/blog/network/vpngw-basicip-migration/vpn-client.png"></p><p>その後、ダウンロードしたプロファイルを使用して再接続を行い、ポイント対サイト（P2S）接続が可能であることを確認してください。<BR><br>*(※ご利用中の VPN Gatewayが対象であるかどうかの確認方法は <a href="https://learn.microsoft.com/ja-jp/azure/vpn-gateway/basic-public-ip-migrate-howto?tabs=portal#check-if-your-gateway-uses-legacy-dns">Gatewayでレガシ DNS が使用されているかどうかを確認する</a> をご参照ください。</p><BR><h2 id="2-3-マイグレーションの流れ-移行"><a href="#2-3-マイグレーションの流れ-移行" class="headerlink" title="2-3. マイグレーションの流れ - 移行"></a>2-3. マイグレーションの流れ - 移行</h2><p>次のステップは「Migration」です。<br>この段階で作業をキャンセルする場合は、［Abort］をクリックしてください。<BR><br>これにより、準備ステップで作成されたリソースが削除され、作業開始前の状態に戻ります。<BR><br>作業を進める場合は、［Migration］をクリックします。<BR><br>本ステップにて、実際の Public IP アドレスの SKU 移行作業が実行され、<span style="color:red;"><strong>最大で約 5 分程度の通信断が発生する可能性があります。</strong></span><BR></p><p><img src="/blog/network/vpngw-basicip-migration/migration.png"></p><p><span style="color:red;"><strong>※移行を行っている途中で VPNGateway の状態が Failed で表示されることがございますが、完了時には Succeeded に変わりますのでご安心ください。</strong></span><BR></p><p><img src="/blog/network/vpngw-basicip-migration/failed.png"></p><p>なお、SKU を変更しても、VPN Gatewayで使用されている Public IP アドレス自体は変更されませんのでご安心ください。<BR><br>移行が完了すると、最後のステップとして［Commit］および［Abort］のボタンが表示されます。<BR><br>ツール上には新しいGatewayでのトラフィック処理状況が表示されますので、トラフィックが正常に流れていることをご確認ください。<BR></p><p><img src="/blog/network/vpngw-basicip-migration/traffic.png"></p><p><em>（※ P2S 接続のみの環境ではトラフィック処理状況は表示されないため、クライアントから移行後の VPN Gatewayへ P2S 接続が可能か確認してください。）</em> <BR><br>万一、問題が確認された場合は、［Abort］を選択することで作業前の状態に戻すことが可能です。</p><BR><h2 id="2-4-マイグレーションの流れ-コミット"><a href="#2-4-マイグレーションの流れ-コミット" class="headerlink" title="2-4. マイグレーションの流れ - コミット"></a>2-4. マイグレーションの流れ - コミット</h2><p>トラフィックが正常に流れていることを確認できましたら、［Commit］をクリックしてください。<BR><br>なお、［Commit］実行後は切り戻しができませんので、ご注意ください。<BR></p><p><img src="/blog/network/vpngw-basicip-migration/commit.png"></p><p>このステップでは、移行により不要となったリソースのクリーンアップ処理が実行されます。<BR><br>本処理にはおよそ 15 分程度かかります。<BR></p><p><img src="/blog/network/vpngw-basicip-migration/migration-to-standardIP-2.png"></p><p>［Commit］が完了すると、VPN Gatewayで使用されている Public IP アドレスの SKU が Standard に変更され、マイグレーション作業は完了となります。<BR></p><p><img src="/blog/network/vpngw-basicip-migration/finish.png"></p><BR><h1 id="3-まとめ"><a href="#3-まとめ" class="headerlink" title="3. まとめ"></a>3. まとめ</h1><p>VPN Gatewayで Basic SKU の Public IP アドレスを使用している場合のマイグレーション手順についてご紹介しました。<BR><br>本マイグレーション作業は、すべて Azure Portalから実行可能です。<BR><br>公式ドキュメントには、より詳細な情報や補足事項も記載されていますので、作業を実施される前にあわせてご確認ください。<BR><br><a href="https://learn.microsoft.com/ja-jp/azure/vpn-gateway/basic-public-ip-migrate-howto?tabs=portal">Basic SKU パブリック IP アドレスを VPN Gateway 用に Standard SKU に移行する方法</a></p>]]>
    </content>
    <id>https://jpaztech.github.io/blog/network/vpngw-basicip-migration/</id>
    <link href="https://jpaztech.github.io/blog/network/vpngw-basicip-migration/"/>
    <published>2026-03-19T03:00:00.000Z</published>
    <summary>
      <![CDATA[<p>こんにちは、Azure テクニカル サポート チームです。<BR><br>この記事では、Azure VPN Gateway において Basic SKU の Public IP アドレスを使用している場合の標準的なマイグレーション手順と作業時の注意点をご紹介します。<BR><br>また、この記事でご紹介する内容は動画でもご紹介しております。<BR><br>動画では Azure Portal を使用して実際に移行する手順をご確認いただけますので、こちらも併せてご活用ください。<BR></p>]]>
    </summary>
    <title>Basic SKU の Public IP アドレスを使用している Azure VPN Gateway のマイグレーションについて（Basic SKU VPN Gatewayは除く）</title>
    <updated>2026-04-20T03:45:50.420Z</updated>
  </entry>
  <entry>
    <author>
      <name>Japan Azure IaaS Core Support Team</name>
    </author>
    <category term="Application Gateway" scheme="https://jpaztech.github.io/blog/tags/Application-Gateway/"/>
    <category term="Network" scheme="https://jpaztech.github.io/blog/tags/Network/"/>
    <content>
      <![CDATA[<div class="alert is-info"><p class="alert-title">Note</p><p>2026 年 3 月現在、本記事で解説している方法は EnableApplicationGatewayNetworkIsolation 機能が有効化された Application Gateway には使用できず、以下のエラーが発生することを確認しています。  </p><p><code>Cannot change Application Gateway&#39;s GatewayIpConfiguration &#39;/subscriptions/&lt;subscriptionName&gt;/resourceGroups/&lt;resourceGroupName&gt;/providers/Microsoft.Network/applicationGateways/&lt;applicationGatewayName&gt;/gatewayIPConfigurations/&lt;gatewayIPConfigName&gt;&#39; subnet property &#39;/subscriptions/&lt;subscriptionName&gt;/resourceGroups/&lt;resourceGroupName&gt;/providers/Microsoft.Network/virtualNetworks/&lt;virtualNetworkName&gt;/subnets/&lt;subnetName&gt;&#39; when the gateway is enabled with NetworkIsolation.</code>  </p><p>EnableApplicationGatewayNetworkIsolation 機能は、<a href="https://learn.microsoft.com/ja-jp/azure/application-gateway/application-gateway-private-deployment?tabs=portal">Application Gateway v2 でプライベート デプロイを利用する際に有効化が必要な機能です</a>。この機能をサブスクリプションに登録すると、それ以降に作成したすべての Application Gateway v2 で NetworkIsolation が有効化されます。</p><p>NetworkIsolation が有効化された Application Gateway v2 ではサブネットの変更はできませんので、上述のエラーが発生した場合は Application Gateway v2 を再作成してください。</p></div><p>こんにちは、Azure テクニカル サポート チームの薄井です。<br>今回は Application Gateway V1 および V2 でサブネットを変更する方法についてご紹介します。</p><p>残念ながら現在の Azure ポータルからは、すでにデプロイした Application Gateway のサブネットを後から変更することはできません。<br>サブネットを変更する必要性が生じたら、新しく Application Gateway を作り直すしかありません。</p><p>しかし Azure PowerShell を使うことで、 Application Gateway を作り直すことなく、既存のサブネットの設定を変更することができます。</p><h2 id="サブネット変更方法"><a href="#サブネット変更方法" class="headerlink" title="サブネット変更方法"></a>サブネット変更方法</h2><p>※ 弊社検証環境でも動作の確認を行っておりますが念のため、お客様環境におかれましても事前に検証環境で動作をご確認のうえ本番環境への適用をお願いいたします。</p><p>※ Application Gateway のフロントエンド IP 構成において、プライベート IP アドレスが固定で設定されている場合は、プライベート IP アドレスと関連するリスナー設定等を削除しておく必要があります。</p><hr><ol><li><p>あらかじめ同一 VNET 内に変更先の新しいサブネットを作成しておきます。</p></li><li><p>Azure PowerShell または ポータルより Cloud Shell を起動し、以下のコマンドレットを入力します。（&lt;&gt;の部分は環境に合わせて変更が必要となります）</p></li><li><p>構成を変更する対象のサブスクリプションを指定します。</p></li></ol><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">Select-AzSubscription</span> <span class="literal">-SubscriptionId</span> &lt;サブスクリプション ID&gt;</span><br></pre></td></tr></table></figure><ol start="4"><li>構成を変更する対象の仮想ネットワークを指定します。</li></ol><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="variable">$VNet</span> = <span class="built_in">Get-AzVirtualNetwork</span> <span class="literal">-Name</span> &lt;対象の仮想ネットワーク&gt; <span class="literal">-ResourceGroupName</span> &lt;変更対象のリソースグループ&gt;</span><br></pre></td></tr></table></figure><ol start="5"><li>変更先のサブネットを取得します。</li></ol><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="variable">$Subnet</span> = <span class="built_in">Get-AzVirtualNetworkSubnetConfig</span> <span class="literal">-Name</span> &lt;変更先のサブネット名&gt; <span class="literal">-VirtualNetwork</span> <span class="variable">$VNet</span></span><br></pre></td></tr></table></figure><p> <br>4. 変更対象の Application Gateway を取得します。</p><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="variable">$gw</span>=<span class="built_in">Get-AzApplicationGateway</span> <span class="literal">-name</span> &lt;変更対象の Application Gateway 名&gt; <span class="literal">-ResourceGroupName</span> &lt;変更対象のリソースグループ&gt;</span><br></pre></td></tr></table></figure><ol start="5"><li>サブネットの変更を加えます。</li></ol><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="variable">$gw2</span>=<span class="built_in">Set-AzApplicationGatewayIPConfiguration</span> <span class="literal">-ApplicationGateway</span> <span class="variable">$gw</span> <span class="literal">-Name</span> <span class="string">&quot;appGatewayIpConfig&quot;</span> <span class="literal">-Subnet</span> <span class="variable">$Subnet</span></span><br></pre></td></tr></table></figure><ol start="6"><li>稼働中の Application Gateway を停止します。※ 停止に数分かかります</li></ol><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">Stop-AzApplicationGateway</span> <span class="literal">-ApplicationGateway</span> <span class="variable">$gw</span></span><br></pre></td></tr></table></figure><ol start="7"><li>Application Gatewayを設定、開始します。※ 開始に 10 分以上かかります</li></ol><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">Set-AzApplicationGateway</span> <span class="literal">-ApplicationGateway</span> <span class="variable">$gw2</span></span><br></pre></td></tr></table></figure><ol start="8"><li>開始後に以前と同様に Web サーバへアクセスできるか確認します。</li></ol><hr><p>以上、ご参考になれば幸いです。</p><h2 id="その他の-Application-Gateway-のサブネットに関連する情報"><a href="#その他の-Application-Gateway-のサブネットに関連する情報" class="headerlink" title="その他の Application Gateway のサブネットに関連する情報"></a>その他の Application Gateway のサブネットに関連する情報</h2><p>Application Gateway のサブネットについて関連する情報が以下のページにあります。<br>併せてご参考いただければと思います。</p><ul><li><a href="https://docs.microsoft.com/ja-jp/azure/application-gateway/configuration-overview#size-of-the-subnet">アプリケーション ゲートウェイ構成の概要 &gt; サブネットのサイズ</a></li><li><a href="https://docs.microsoft.com/ja-jp/azure/application-gateway/configuration-overview#network-security-groups-on-the-application-gateway-subnet">アプリケーション ゲートウェイ構成の概要 &gt; アプリケーション ゲートウェイ サブネット上のネットワーク セキュリティ グループ</a></li><li><a href="https://docs.microsoft.com/ja-jp/azure/application-gateway/application-gateway-faq">Application Gateway に関してよく寄せられる質問</a></li></ul>]]>
    </content>
    <id>https://jpaztech.github.io/blog/network/appgw_change_subnet/</id>
    <link href="https://jpaztech.github.io/blog/network/appgw_change_subnet/"/>
    <published>2026-03-09T15:00:00.000Z</published>
    <summary>
      <![CDATA[<div class="alert is-info"><p class="alert-title">Note</p><p>2026 年 3 月現在、本記事で解説している方法は EnableApplicationGatewayNetworkIsolation 機能が有効化された A]]>
    </summary>
    <title>Application Gateway でサブネットを変更する方法</title>
    <updated>2026-04-20T03:45:50.369Z</updated>
  </entry>
  <entry>
    <author>
      <name>Japan Azure IaaS Core Support Team</name>
    </author>
    <category term="Application Gateway" scheme="https://jpaztech.github.io/blog/tags/Application-Gateway/"/>
    <category term="Network" scheme="https://jpaztech.github.io/blog/tags/Network/"/>
    <content>
      <![CDATA[<p>こんにちは。Azure テクニカル サポート チームの加藤です。</p><p>本記事では、Application Gateway V1 SKU から V2 SKU への移行に関するよくあるお問い合わせについてご紹介します。</p><span id="more"></span><p>なお、<a href="https://learn.microsoft.com/ja-jp/azure/application-gateway/v1-retirement">Application Gateway V1 につきましては、2026 年 4 月 28 日にリタイアすることが決まっております</a>。この日以降、ご利用の Application Gateway V1のリソースはすべて停止される見込みとなります。<br>つきましては、期日までに計画的に Application Gateway V2 への移行をご実施いただけますよう、何卒お早めにご検討をいただけますと幸いでございます。</p><p>Application Gateway V2 への移行のガイドは<a href="https://learn.microsoft.com/ja-jp/azure/application-gateway/migrate-v1-v2">こちら</a>をご参照ください。</p><br><h2 id="目次"><a href="#目次" class="headerlink" title="目次"></a>目次</h2><ul><li><p><a href="#%E7%A7%BB%E8%A1%8C%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%81%AB%E9%96%A2%E3%81%99%E3%82%8B%E3%82%88%E3%81%8F%E3%81%82%E3%82%8B%E3%81%8A%E5%95%8F%E3%81%84%E5%90%88%E3%82%8F%E3%81%9B">移行スクリプトに関するよくあるお問い合わせ</a></p><ul><li><a href="#mq1">移行スクリプトを使用してプライベートのフロントエンド IP のみを構成する Application Gateway V2 に移行可能か</a></li><li><a href="#mq2">移行スクリプトを実行中にサブネット delegation エラーが表示される</a></li><li><a href="#mq3">プライベート Application Gateway 利用時に PublicIpResourceId は不要か</a></li><li><a href="#mq4">拡張複製スクリプトと従来スクリプトの違い</a></li><li><a href="#mq5">V1 と V2 の証明書設定の違いについて</a></li><li><a href="#mq6">移行時の WAF 構成について</a></li><li><a href="#mq7">作成される WAF ポリシーの CRS バージョンとアップグレード可否</a></li><li><a href="#mq8">バックエンドサーバーを V1&#x2F;V2 両方に関連付けても問題ないか</a></li><li><a href="#mq9">移行スクリプト実行中に V1 の設定変更が可能か</a></li><li><a href="#mq10">移行スクリプト実行中にバックエンドサーバーを変更してよいか</a></li><li><a href="#mq11">移行スクリプト実行中の通信影響について</a></li></ul></li><li><p><a href="#%E3%83%88%E3%83%A9%E3%83%95%E3%82%A3%E3%83%83%E3%82%AF%E3%81%AE%E7%A7%BB%E8%A1%8C%E3%81%AB%E9%96%A2%E3%81%99%E3%82%8B%E3%82%88%E3%81%8F%E3%81%82%E3%82%8B%E3%81%8A%E5%95%8F%E3%81%84%E5%90%88%E3%82%8F%E3%81%9B">トラフィックの移行に関するよくあるお問い合わせ</a></p><ul><li><a href="#tq1">DNS 切り替え後に完全に V2 へ切り替わるまでの時間</a></li><li><a href="#tq2">V1 と V2 の並行稼働は可能か</a></li><li><a href="#tq3">移行後に V2 を経由していることを確認する方法</a></li></ul></li><li><p><a href="#v1-%E3%81%A8-v2-%E3%81%AE%E4%BB%95%E6%A7%98%E5%B7%AE%E5%88%86%E3%81%AB%E9%96%A2%E3%81%99%E3%82%8B%E3%82%88%E3%81%8F%E3%81%82%E3%82%8B%E3%81%8A%E5%95%8F%E3%81%84%E5%90%88%E3%82%8F%E3%81%9B">V1 と V2 の仕様差分に関するよくあるお問い合わせ</a></p><ul><li><a href="#sq1">V1 と V2 の機能差分について</a></li><li><a href="#sq2">NSG&#x2F;UDR など通信要件の違いについて</a></li><li><a href="#sq3">V2 の推奨サブネットサイズについて</a></li><li><a href="#sq4">停止時の課金の違い</a></li></ul></li><li><p><a href="#%E3%81%9D%E3%81%AE%E4%BB%96">その他</a></p><ul><li><a href="#oq1">V1 と同じプライベート IP を V2 で利用できるか</a></li><li><a href="#oq2">V1 から V2 への料金比較方法</a></li></ul></li></ul><br><h2 id="移行スクリプトに関するよくあるお問い合わせ"><a href="#移行スクリプトに関するよくあるお問い合わせ" class="headerlink" title="移行スクリプトに関するよくあるお問い合わせ"></a>移行スクリプトに関するよくあるお問い合わせ</h2><p><a id="mq1"></a></p><h3 id="移行スクリプトを使用してプライベートのフロントエンド-IP-のみを構成する-Application-Gateway-V2-に移行することは可能ですか？"><a href="#移行スクリプトを使用してプライベートのフロントエンド-IP-のみを構成する-Application-Gateway-V2-に移行することは可能ですか？" class="headerlink" title="移行スクリプトを使用してプライベートのフロントエンド IP のみを構成する Application Gateway V2 に移行することは可能ですか？"></a>移行スクリプトを使用してプライベートのフロントエンド IP のみを構成する Application Gateway V2 に移行することは可能ですか？</h3><p>A. はい、可能です。<br>Application Gateway V2 のフロントエンド IP アドレスをプライベートのみとする構成は<br>プライベート Application Gateway と呼ばれ、事前に以下の作業を行うことでご利用いただけます。</p><ul><li><p>事前にサブスクリプションに対してプレビュー機能で  EnableApplicationGatewayNetworkIsolation を有効化する。</p></li><li><p>事前にプライベート Application Gateway (V2) をデプロイするサブネットに Microsoft.Network&#x2F;applicationGateways の委任設定を追加する。</p></li></ul><p>詳細は<a href="https://learn.microsoft.com/ja-jp/azure/application-gateway/application-gateway-private-deployment?tabs=portal">こちら</a>の公開技術情報をご確認ください。<br> ※ EnableApplicationGatewayNetworkIsolation 機能はお客様に任意で登録いただく機能のため、サブスクリプションの [プレビュー機能] のページに配置されておりますが、プライベート デプロイ機能自体はすでに GA (General Availability)  済みの機能です。</p><hr><p><a id="mq2"></a></p><h3 id="移行スクリプトを実行中に「-Application-Gateway-deployments-must-have-subnet-delegation-configured-to-Microsoft-Network-applicationGateways」というエラーが表示されました。どうすればいいですか？"><a href="#移行スクリプトを実行中に「-Application-Gateway-deployments-must-have-subnet-delegation-configured-to-Microsoft-Network-applicationGateways」というエラーが表示されました。どうすればいいですか？" class="headerlink" title="移行スクリプトを実行中に「 Application Gateway deployments must have subnet delegation configured to Microsoft.Network&#x2F;applicationGateways」というエラーが表示されました。どうすればいいですか？"></a>移行スクリプトを実行中に「 Application Gateway deployments must have subnet delegation configured to Microsoft.Network&#x2F;applicationGateways」というエラーが表示されました。どうすればいいですか？</h3><p>A.<br>サブスクリプションに対して EnableApplicationGatewayNetworkIsolation 機能を有効化した状態で V2 を作成する場合、フロントエンド IP アドレスがパブリック IP のみ関連づいているか、プライベート IP のみ関連づいているかを問わず、移行先のサブネットで「Microsoft.Network&#x2F;applicationGateways」へのサブネット委任の設定が必要となります。<br><br>そのため、移行スクリプト実行前に V2 を作成予定のサブネットに対してサブネットの委任の設定をすることで回避できます。なお、移行元の V1 のサブネットではサブネット委任の設定は必要ございません。</p><hr><p><a id="mq3"></a></p><h3 id="プライベート-Application-Gateway-を利用する場合、「拡張複製スクリプト」（AzureAppGWClone-ps1）のパラメーターにある-PublicIpResourceId-は記載不要でしょうか？"><a href="#プライベート-Application-Gateway-を利用する場合、「拡張複製スクリプト」（AzureAppGWClone-ps1）のパラメーターにある-PublicIpResourceId-は記載不要でしょうか？" class="headerlink" title="プライベート Application Gateway を利用する場合、「拡張複製スクリプト」（AzureAppGWClone.ps1）のパラメーターにある PublicIpResourceId は記載不要でしょうか？"></a>プライベート Application Gateway を利用する場合、「拡張複製スクリプト」（AzureAppGWClone.ps1）のパラメーターにある PublicIpResourceId は記載不要でしょうか？</h3><p>A.<br>はい、「拡張複製スクリプト」のパラメーター「PublicIpResourceId」については、省略可能なパラメーターであり、プライベート Application Gatewayとしてご利用いただく場合、このパラメーターは不要です。</p><hr><p><a id="mq4"></a></p><h3 id="「拡張複製スクリプト」（AzureAppGWClone-ps1）と「従来の複製スクリプト」（AzureAppGWMigration-ps1）の違いは何でしょうか？"><a href="#「拡張複製スクリプト」（AzureAppGWClone-ps1）と「従来の複製スクリプト」（AzureAppGWMigration-ps1）の違いは何でしょうか？" class="headerlink" title="「拡張複製スクリプト」（AzureAppGWClone.ps1）と「従来の複製スクリプト」（AzureAppGWMigration.ps1）の違いは何でしょうか？"></a>「拡張複製スクリプト」（AzureAppGWClone.ps1）と「従来の複製スクリプト」（AzureAppGWMigration.ps1）の違いは何でしょうか？</h3><p>A.<br>拡張複製スクリプトでは以下の対応が可能となりました。</p><ul><li>パブリック IP アドレスの取り扱い：<br>プライベート Application Gateway 環境の移行にあたりパブリック IP アドレスを一時的に付与する必要がなくなりました。<br>（従来の複製スクリプトでは作成時に一時的にパブリック IP アドレスを付与、作成後に手動で削除する必要がありました）</li></ul> <p>- HTTPS リスナーで利用する TLS 証明書の取り扱い：従来の複製スクリプトで必須であった TLS 証明書の手動指定が不要となりました。拡張複製スクリプトでは既存の V1 環境にアップロードされている TLS 証明書が自動で V2 環境に反映される動作になりました。 <p>- HTTP 設定で利用するバックエンド接続用の信頼されたルート証明書の取り扱い：Application Gateway とバックエンド サーバー間を HTTPS で通信し、かつ自己署名証明書のように、既知の証明書認証局から発行されていないサーバー証明書をバックエンド側で利用している場合、V2 では HTTP 設定の箇所でルート証明書をアップロードする必要があり、従来の移行スクリプト実行時に明示的に指定する必要がありました。先日 Application Gateway V2 とバックエンド サーバー間を HTTPS で通信する構成において、[証明書の検証をスキップさせる機能](https://learn.microsoft.com/ja-jp/azure/application-gateway/configuration-http-settings?tabs=backendhttpsettings#backend-https-validation-settings)が登場しました。拡張複製スクリプトではこの機能に対応しているため、バックエンド用の証明書を手動指定する必要がなくなりました。<hr><p><a id="mq5"></a></p><h3 id="「拡張複製スクリプト」（AzureAppGWClone-ps1）を用いて-Application-Gateway-V1-から-V2-へ移行したところ、Application-Gateway-V1-ではバックエンド設定の証明書設定にて認証証明書が設定されていましたが、Application-Gateway-V2-では、該当の設定が見当たりません。V1-V2-で同じ設定となっているのでしょうか？"><a href="#「拡張複製スクリプト」（AzureAppGWClone-ps1）を用いて-Application-Gateway-V1-から-V2-へ移行したところ、Application-Gateway-V1-ではバックエンド設定の証明書設定にて認証証明書が設定されていましたが、Application-Gateway-V2-では、該当の設定が見当たりません。V1-V2-で同じ設定となっているのでしょうか？" class="headerlink" title="「拡張複製スクリプト」（AzureAppGWClone.ps1）を用いて Application Gateway V1 から V2 へ移行したところ、Application Gateway V1 ではバックエンド設定の証明書設定にて認証証明書が設定されていましたが、Application Gateway V2 では、該当の設定が見当たりません。V1&#x2F;V2 で同じ設定となっているのでしょうか？"></a>「拡張複製スクリプト」（AzureAppGWClone.ps1）を用いて Application Gateway V1 から V2 へ移行したところ、Application Gateway V1 ではバックエンド設定の証明書設定にて認証証明書が設定されていましたが、Application Gateway V2 では、該当の設定が見当たりません。V1&#x2F;V2 で同じ設定となっているのでしょうか？</h3><p>A.<br>Application Gateway V1 では認証証明書そのものをバックエンド設定に登録する構成であったのに対して、V2 では信頼されたルート証明書を登録する構成に変更になりました。<br>このため、Application Gateway V1 と V2 では以下の通り証明書検証の動作が異なります。</p><ul><li><a href="https://learn.microsoft.com/ja-jp/azure/application-gateway/retirement-faq#how-are-backend-certificate-behaviors-different-between-application-gateway-v1-and-v2-skus-how-should-i-manage-the-migration-with-the-differences-in-behavior-of-backend-certificate-validations-between-v1-and-v2-skus">V1 の提供終了に関する FAQ</a></li></ul><blockquote><p>Application Gateway での証明書検証の動作</p><p>V1 SKU - Application Gateway V1 は認証証明書を使用します。 このメカニズムは、Application Gateway で構成された証明書と、バックエンド サーバーによって提示される証明書との完全一致を実行します。 さらに、V1 では、TLS ハンドシェイク中にサーバー名表示 (SNI) を使用できない場合は、既定またはフォールバック証明書の使用がサポートされます。</p><p>V2 SKU - 既定では、Application Gateway V2 はより包括的な検証を実行します。 完全な証明書チェーンと、バックエンド サーバー証明書のサブジェクト名が検証されます。詳細情報</p></blockquote><p>また、V1 と V2 の証明書検証動作の互換性を維持するため、拡張複製スクリプトを実行した後の Application Gateway V2 では、バックエンド サーバー側の証明書チェーン、有効期限、SNI などの検証が無効化された状態となっています。これは拡張複製スクリプトを用いて Application Gateway を移行した際の想定された動作です。<br>バックエンド サーバーから提示される証明書の検証が必要な場合には、Application Gateway V2 への移行後、改めて、バックエンド設定へルート証明書をアップロードくださいますようお願いいたします。</p><ul><li><a href="https://learn.microsoft.com/ja-jp/azure/application-gateway/migrate-v1-v2#recommendations">Azure Application Gateway と Web Application Firewall を V1 から V2 に移行する</a> <br>※ 「1. 拡張複製スクリプト」の “推奨事項” の箇所をご参照ください。<blockquote><p>・このスクリプトは、複製中に既定でバックエンド TLS 検証を緩和します (証明書チェーン、有効期限、SNI 検証なし)。 より厳密な TLS 検証または認証証明書が必要な場合、お客様は Application Gateway V2 の作成後に更新して、信頼されたルート証明書を追加し、要件に従ってこの機能を有効にすることができます。</p></blockquote></li></ul><hr><p><a id="mq6"></a></p><h3 id="移行スクリプトを実行して-Application-Gateway-V1-をV2-に移行した場合、WAF-はどのように構成されるでしょうか？"><a href="#移行スクリプトを実行して-Application-Gateway-V1-をV2-に移行した場合、WAF-はどのように構成されるでしょうか？" class="headerlink" title="移行スクリプトを実行して Application Gateway V1 をV2 に移行した場合、WAF はどのように構成されるでしょうか？"></a>移行スクリプトを実行して Application Gateway V1 をV2 に移行した場合、WAF はどのように構成されるでしょうか？</h3><p>A.<br>Application Gateway V2 の WAF 設定には現在以下の ２種類の管理方式があります。</p><ul><li>従来の WAF 構成： WAF ポリシーを利用せず、Application Gateway リソース自体に WAF 設定を保持する方式（V1 はこの方式のみ対応しています。）</li><li>WAF ポリシー構成： 専用リソースとして WAF ポリシーを作成し、Application Gateway に関連付ける方式</li></ul><p>移行スクリプトを実行して Application Gateway V2 を作成した場合、WAF ポリシー構成として作成されます。このとき V1 で設定していた構成を元にした WAF ポリシーが自動で作成され 、Application Gateway に関連付けられます。</p><hr><p><a id="mq7"></a></p><h3 id="「拡張複製スクリプト」（AzureAppGWClone-ps1）を使用した場合、スクリプトで作成された-WAF-ポリシーには既定のルールセット-として-CRS-3-0-が設定されていますがアップグレードする必要はあるでしょうか？"><a href="#「拡張複製スクリプト」（AzureAppGWClone-ps1）を使用した場合、スクリプトで作成された-WAF-ポリシーには既定のルールセット-として-CRS-3-0-が設定されていますがアップグレードする必要はあるでしょうか？" class="headerlink" title="「拡張複製スクリプト」（AzureAppGWClone.ps1）を使用した場合、スクリプトで作成された WAF ポリシーには既定のルールセット として CRS 3.0 が設定されていますがアップグレードする必要はあるでしょうか？"></a>「拡張複製スクリプト」（AzureAppGWClone.ps1）を使用した場合、スクリプトで作成された WAF ポリシーには既定のルールセット として CRS 3.0 が設定されていますがアップグレードする必要はあるでしょうか？</h3><p>A.<br>はい、CRS 3.0 は 2027 年 2 月 26 日までサポートされておりますが、お早めにアップデートをご検討ください。WAF ポリシーのアップグレード手順に関しましては、以下の公式ドキュメントを参考にしていただければ幸いです。</p><ul><li><a href="https://learn.microsoft.com/ja-jp/azure/web-application-firewall/ag/upgrade-ruleset-version">CRS または DRS ルールセットのバージョンをアップグレードする</a></li></ul><p>なお、今回のように古いバージョンから最新のバージョンへルールセットを変更する場合、マネージド ルールの内容も最新のセキュリティ状況に即した内容にアップデートされます。<br><br>そのため、診断ログを有効にしたうえで、まずは「検知モード」でしばらくご利用いただき、お客様にて診断ログをご確認後、誤検知がある場合はルールの無効化等でチューニングをご実施いただいたえで、「防止モード」への変更をされることを推奨いたします。</p><p>WAF のチューニングにつきましては、以下のブログ記事もご参照いただけますと幸いでございます。</p><ul><li><a href="https://jpaztech.github.io/blog/network/handle-waf-false-positive/">Application Gateway WAF の誤検知対応</a></li></ul><hr><p><a id="mq8"></a></p><h3 id="Application-Gateway-V2-を作成した時点で、バックエンドサーバーが-Application-Gateway-V1-および-V2-の両方に関連付けられる構成となりますが、バックエンド-サーバーが複数のバックエンドプールへ関連付けられていても問題はないでしょうか？"><a href="#Application-Gateway-V2-を作成した時点で、バックエンドサーバーが-Application-Gateway-V1-および-V2-の両方に関連付けられる構成となりますが、バックエンド-サーバーが複数のバックエンドプールへ関連付けられていても問題はないでしょうか？" class="headerlink" title="Application Gateway V2 を作成した時点で、バックエンドサーバーが Application Gateway V1 および V2 の両方に関連付けられる構成となりますが、バックエンド サーバーが複数のバックエンドプールへ関連付けられていても問題はないでしょうか？"></a>Application Gateway V2 を作成した時点で、バックエンドサーバーが Application Gateway V1 および V2 の両方に関連付けられる構成となりますが、バックエンド サーバーが複数のバックエンドプールへ関連付けられていても問題はないでしょうか？</h3><p>A.<br>はい、1 つのバックエンド サーバーを、V1 および V2 の両方の Application Gateway のバックエンド プールとして指定することは問題ございません。</p><hr><p><a id="mq9"></a></p><h3 id="移行スクリプト実行中に移行元の-Application-Gateway-V1に対して設定変更や再起動などを行うことは可能でしょうか？"><a href="#移行スクリプト実行中に移行元の-Application-Gateway-V1に対して設定変更や再起動などを行うことは可能でしょうか？" class="headerlink" title="移行スクリプト実行中に移行元の Application Gateway V1に対して設定変更や再起動などを行うことは可能でしょうか？"></a>移行スクリプト実行中に移行元の Application Gateway V1に対して設定変更や再起動などを行うことは可能でしょうか？</h3><p>A.<br>移行スクリプト実行中には、移行元の Application Gateway V1 に対して操作を行うことは推奨されません。公式ドキュメントにも下記の通り記載がございます。</p><ul><li><a href="https://learn.microsoft.com/ja-jp/azure/application-gateway/migrate-v1-v2#caveats">V1 から V2 に移行する - 注意事項</a></li></ul><blockquote><p>移行中は、V1 ゲートウェイまたは関連付けられているリソースに対して他の操作を試みないでください。</p></blockquote><hr><p><a id="mq10"></a></p><h3 id="移行スクリプト実行中に移行元の-Application-Gateway-V1に関連付けされているバックエンド-サーバーに対して設定変更や再起動などを行うことは可能でしょうか？"><a href="#移行スクリプト実行中に移行元の-Application-Gateway-V1に関連付けされているバックエンド-サーバーに対して設定変更や再起動などを行うことは可能でしょうか？" class="headerlink" title="移行スクリプト実行中に移行元の Application Gateway V1に関連付けされているバックエンド サーバーに対して設定変更や再起動などを行うことは可能でしょうか？"></a>移行スクリプト実行中に移行元の Application Gateway V1に関連付けされているバックエンド サーバーに対して設定変更や再起動などを行うことは可能でしょうか？</h3><p>A.<br>移行スクリプト実行中にバックエンド サーバー側の設定変更や再起動を実施しても、移行への影響は想定されませんが、予期せぬ問題を防ぐ意味合いでも、移行スクリプト実行中の操作は控えていただくことをお勧めいたします。</p><hr><p><a id="mq11"></a></p><h3 id="移行スクリプト実行中に通信影響はあるでしょうか？"><a href="#移行スクリプト実行中に通信影響はあるでしょうか？" class="headerlink" title="移行スクリプト実行中に通信影響はあるでしょうか？"></a>移行スクリプト実行中に通信影響はあるでしょうか？</h3><p>A.<br>いいえ。「拡張複製スクリプト」および「従来の複製スクリプト」の実行中に通信影響はございません。また、移行スクリプトを実行中も、移行元の Application Gateway V1 を経由してバックエンド サーバーに通信することが可能ですのでご安心ください。</p><hr><br><h2 id="トラフィックの移行に関するよくあるお問い合わせ"><a href="#トラフィックの移行に関するよくあるお問い合わせ" class="headerlink" title="トラフィックの移行に関するよくあるお問い合わせ"></a>トラフィックの移行に関するよくあるお問い合わせ</h2><p><a id="tq1"></a></p><h3 id="DNS-レコードの更新で通信を切り替える場合、DNS-の設定を変更してから-Application-Gateway-V2-経由での通信に完全に切り替わるまでどの程度の時間がかかるでしょうか？"><a href="#DNS-レコードの更新で通信を切り替える場合、DNS-の設定を変更してから-Application-Gateway-V2-経由での通信に完全に切り替わるまでどの程度の時間がかかるでしょうか？" class="headerlink" title="DNS レコードの更新で通信を切り替える場合、DNS の設定を変更してから Application Gateway V2 経由での通信に完全に切り替わるまでどの程度の時間がかかるでしょうか？"></a>DNS レコードの更新で通信を切り替える場合、DNS の設定を変更してから Application Gateway V2 経由での通信に完全に切り替わるまでどの程度の時間がかかるでしょうか？</h3><p>A.<br>切り替わるまでの時間につきましては DNS レコードの TTL に大きく依存いたしますが、明確な目安などはございません。切り替わり時間は TTL 値 ＋ マージンが必要とご理解いただけますようお願いいたします。</p><ul><li><a href="https://learn.microsoft.com/ja-jp/azure/application-gateway/migrate-v1-v2#traffic-migration-recommendations">V1 から V2 に移行する - Traffic Migrationに関する推奨事項</a></li></ul><blockquote><p>Standard V1 または WAF V1 ゲートウェイに (A レコードを使って) 関連付けられているフロントエンド IP アドレスを指すカスタム DNS ゾーン (例: contoso.com)。 Standard_V2 アプリケーション ゲートウェイに関連付けられているフロントエンド IP または DNS ラベルを指すように、DNS レコードを更新できます。 DNS レコードに構成されている TTL によっては、すべてのクライアント トラフィックが新しい V2 ゲートウェイに移行するまでに時間がかかる場合があります。</p></blockquote><p>なお、DNS 切り替えの際、Application Gateway V1・V2 がともに稼働している状態であれば、トラフィック移行中でも継続して Application Gateway からサービスが提供されますので基本的には通信影響はございません。</p><p>ただし、お客様のバックエンド アプリケーションにおいてセッション管理を行っている場合、セッション維持の実装方法によってはトラフィックの移行時に通信影響が発生することがありますので、十分な検証のうえ移行作業を進めていただくことをお勧めします。</p><hr><p><a id="tq2"></a></p><h3 id="トラフィックを移行するまでの間、Application-Gateway-V1-と-V2-のリソースを並行稼働できるでしょうか？"><a href="#トラフィックを移行するまでの間、Application-Gateway-V1-と-V2-のリソースを並行稼働できるでしょうか？" class="headerlink" title="トラフィックを移行するまでの間、Application Gateway V1 と V2 のリソースを並行稼働できるでしょうか？"></a>トラフィックを移行するまでの間、Application Gateway V1 と V2 のリソースを並行稼働できるでしょうか？</h3><p>A.<br>はい、Azure の観点では Application Gateway V1 と V2 のリソースを並行稼働することに問題はございません。トラフィックを移行するまでの間は Application Gateway V1 を経由してバックエンド サーバーに通信が行われます。</p><hr><p><a id="tq3"></a></p><h3 id="トラフィックを移行した後、通信が-Application-Gateway-V2-を経由していることを確認できるでしょうか？"><a href="#トラフィックを移行した後、通信が-Application-Gateway-V2-を経由していることを確認できるでしょうか？" class="headerlink" title="トラフィックを移行した後、通信が Application Gateway V2 を経由していることを確認できるでしょうか？"></a>トラフィックを移行した後、通信が Application Gateway V2 を経由していることを確認できるでしょうか？</h3><p>A.<br>はい、診断ログを有効にした上でアクセス ログをご確認いただくことで、通信が Application Gateway V2 を経由していることを確認できます。<br>なお、Application Gateway V1 で診断ログを有効にしていても、移行スクリプトを実行するだけでは Application Gateway V2 で診断ログは有効になりませんため、個別に設定を追加いただく必要があります。<br>診断ログの設定方法に関しましては、以下の公式ドキュメントを参考にしていただければ幸いです。</p><ul><li><a href="https://learn.microsoft.com/ja-jp/azure/application-gateway/application-gateway-diagnostics#enable-logging-through-the-azure-portal">診断ログ - Azure portal を使用してログを有効にする</a></li></ul><hr><br><a id="specification"></a><h2 id="V1-と-V2-の仕様差分に関するよくあるお問い合わせ"><a href="#V1-と-V2-の仕様差分に関するよくあるお問い合わせ" class="headerlink" title="V1 と V2 の仕様差分に関するよくあるお問い合わせ"></a>V1 と V2 の仕様差分に関するよくあるお問い合わせ</h2><p><a id="sq1"></a></p><h3 id="Application-Gateway-V1-と-V2-の機能の差分はありますか？"><a href="#Application-Gateway-V1-と-V2-の機能の差分はありますか？" class="headerlink" title="Application Gateway V1 と V2 の機能の差分はありますか？"></a>Application Gateway V1 と V2 の機能の差分はありますか？</h3><p>A.<br><a href="https://learn.microsoft.com/ja-jp/azure/application-gateway/overview-v2#feature-comparison-between-v1-sku-and-v2-sku">こちら</a>のドキュメントに V1 と V2 で利用できる機能の差異についてまとめられておりますのでご確認ください。</p><hr><p><a id="sq2"></a></p><h3 id="Application-Gateway-V1-と-Application-Gateway-V2-の通信要件-NSG-UDR-の違いはあるでしょうか？"><a href="#Application-Gateway-V1-と-Application-Gateway-V2-の通信要件-NSG-UDR-の違いはあるでしょうか？" class="headerlink" title="Application Gateway V1 と Application Gateway V2 の通信要件(NSG&#x2F; UDR) の違いはあるでしょうか？"></a>Application Gateway V1 と Application Gateway V2 の通信要件(NSG&#x2F; UDR) の違いはあるでしょうか？</h3><p>A.<br>Application Gateway V1 と Application Gateway V2 では、 Azure 基盤サービスとの通信要件や、NSG&#x2F;UDR の要件が一部異なります。そのため、NSG や UDR による通信制御を行っている環境では、V2 への移行時に設定の見直しが必要となる場合があります。</p><p>NSG につきまして、 基盤サービス（GatewayManager）との通信で使用されるポート範囲が SKU ごとに異なります。詳細については、以下の公開ドキュメントをご参照ください。 </p><ul><li><a href="https://learn.microsoft.com/ja-jp/azure/application-gateway/configuration-infrastructure#network-security-groups">Azure Application Gateway インフラストラクチャの構成 - ネットワーク セキュリティ グループ</a></li></ul><blockquote><p>インフラストラクチャ ポート: GatewayManager サービス タグと “任意” の宛先として、ソースからの受信要求を許可します。 宛先ポートの範囲は、SKU によって異なります。これは、バックエンド正常性の状態を通信するために必要です。 これらのポートは、Azure 証明書によって保護 (ロックダウン) されます。 適切な証明書が設定されていない外部エンティティは、そのようなエンドポイントに対する変更を開始できません。</p><p>V2: ポート 65200 から 65535<br>V1: ポート 65503 から 65534</p></blockquote><p>UDR につきまして、 V1 では、エンド ツー エンドの通信経路が維持されることを前提として、Application Gateway サブネットに UDR を設定する構成がサポートされています。<br>一方で V2 では、すべての管理&#x2F;コントロール プレーン トラフィックが、仮想アプライアンス経由ではなく、インターネットに直接送信されるようにする必要があり、0.0.0.0&#x2F;0 トラフィックをインターネットに向けるよう設定する必要があります。(お客様でご利用中の個別のアドレス プレフィックス宛のルートを設定いただく分には問題ございません)</p><ul><li><a href="https://learn.microsoft.com/ja-jp/azure/application-gateway/configuration-infrastructure#supported-user-defined-routes">Azure Application Gateway インフラストラクチャの構成 - サポートされているユーザー定義ルート</a></li></ul><blockquote><p>v1: v1 SKU の場合、UDR は、エンド ツー エンドの要求&#x2F;応答の通信が変更されなければ、Application Gateway サブネットでサポートされます。 たとえば、パケットの検査のためにファイアウォール アプライアンスを指すように Application Gateway サブネットの UDR を設定できます。 ただし、検査後にパケットが目的の宛先に到達できることを確認する必要があります。 これに失敗すると、不適切な正常性プローブやトラフィック ルーティング動作が発生する場合があります。 これには仮想ネットワークの Azure ExpressRoute や VPN ゲートウェイによってプロパゲートされる学習済みのルートまたは既定の 0.0.0.0&#x2F;0 ルートが含まれます。</p><p>v2: v2 SKU の場合、サポートされるシナリオとサポートされないシナリオがあります。</p></blockquote><p>なお、プライベート Application Gateway の場合は、NSG と UDR の通信要件が緩和されております。詳細については以下のドキュメントをご確認ください。</p><ul><li><a href="https://learn.microsoft.com/ja-jp/azure/application-gateway/application-gateway-private-deployment?tabs=portal">プライベート アプリケーション ゲートウェイのデプロイ</a></li></ul><hr><p><a id="sq3"></a></p><h3 id="Application-Gateway-V1の最小サブネット-サイズは-26-でしたが-Application-Gateway-V2で推奨のサブネット-サイズはあるでしょうか？"><a href="#Application-Gateway-V1の最小サブネット-サイズは-26-でしたが-Application-Gateway-V2で推奨のサブネット-サイズはあるでしょうか？" class="headerlink" title="Application Gateway V1の最小サブネット サイズは &#x2F;26 でしたが Application Gateway V2で推奨のサブネット サイズはあるでしょうか？"></a>Application Gateway V1の最小サブネット サイズは &#x2F;26 でしたが Application Gateway V2で推奨のサブネット サイズはあるでしょうか？</h3><p>A.<br>Application Gateway V2 は、インスタンスを最大 125 までスケール アウトすることが可能です。そのため、最大 131 個の IP アドレス (※) が必要となり、&#x2F;24 のサブネット サイズを推奨しております。<br>※ 125 のインスタンス IP アドレス + 1 つのプライベート フロントエンド IP 構成 + 5 つの Azure 予約 IP アドレス</p><p>なお、お客様環境のご要件にてインスタンスのスケール アウトが最大 125 まで必要とされない場合、スケール アウトする最大インスタンス数の上限を決めることで、サブネット サイズを調整いただくことは可能ですが、拡張性を考慮して &#x2F;24 のサブネット サイズでデプロイいただくことを強くお勧めいたします。</p><ul><li><a href="https://learn.microsoft.com/ja-jp/azure/application-gateway/configuration-infrastructure#virtual-network-and-dedicated-subnet">Azure Application Gateway インフラストラクチャの構成 - 仮想ネットワークと専用サブネット</a></li></ul><hr><p><a id="sq4"></a></p><h3 id="Application-Gateway-V1-と-V2-を停止した際に、課金の差異はあるでしょうか？"><a href="#Application-Gateway-V1-と-V2-を停止した際に、課金の差異はあるでしょうか？" class="headerlink" title="Application Gateway V1 と V2 を停止した際に、課金の差異はあるでしょうか？"></a>Application Gateway V1 と V2 を停止した際に、課金の差異はあるでしょうか？</h3><p>A.<br>V2 につきましては、Application Gateway 自体の固定コスト&#x2F;容量ユニットコスト&#x2F;データ転送はすべて課金されなくなりますが、パブリック IP アドレスの課金は停止中も発生します。<br>V1 につきましては、関連付けているパブリック IP アドレスを含めすべての課金が停止いたします。</p><hr><br><h2 id="その他"><a href="#その他" class="headerlink" title="その他"></a>その他</h2><p><a id="oq1"></a></p><h3 id="Application-Gateway-V2-のフロントエンド-IP-として-Application-Gateway-V1-で利用していたプライベート-IP-アドレスを設定することは可能でしょうか？"><a href="#Application-Gateway-V2-のフロントエンド-IP-として-Application-Gateway-V1-で利用していたプライベート-IP-アドレスを設定することは可能でしょうか？" class="headerlink" title="Application Gateway V2 のフロントエンド IP として Application Gateway V1 で利用していたプライベート IP アドレスを設定することは可能でしょうか？"></a>Application Gateway V2 のフロントエンド IP として Application Gateway V1 で利用していたプライベート IP アドレスを設定することは可能でしょうか？</h3><p>A.<br>Application Gateway V1 と Application Gateway V2 を同じサブネットに共存させることは叶いませんため、Application Gateway V1 を先に削除いただき、Application Gateway V2 を作成する際に Application Gateway V1 で使用していたプライベート IP アドレスを設定することで設定が可能です。</p><hr><p><a id="oq2"></a></p><h3 id="Application-Gateway-V1-から-V2-への移行に向けて、料金差分を確認したいです。大まかな料金を確認したいのですが、どのように計算したらよいでしょうか？"><a href="#Application-Gateway-V1-から-V2-への移行に向けて、料金差分を確認したいです。大まかな料金を確認したいのですが、どのように計算したらよいでしょうか？" class="headerlink" title="Application Gateway V1 から V2 への移行に向けて、料金差分を確認したいです。大まかな料金を確認したいのですが、どのように計算したらよいでしょうか？"></a>Application Gateway V1 から V2 への移行に向けて、料金差分を確認したいです。大まかな料金を確認したいのですが、どのように計算したらよいでしょうか？</h3><p>A.<br>Application Gateway の V1 と V2 では料金体系が大きく異なっております。<br>V1 では、インスタンス数とインスタンスのサイズに基づく固定料金と、処理データ量に応じた従量課金が発生します。</p><p>一方で、V2 では、従来のインスタンス単位ではなく、利用状況に応じて課金される消費ベースのモデルへと切り替わっており、容量ユニット コスト使用状況に応じて料金が変動する仕組みとなっています。詳細については、以下の公開ドキュメントをご参照ください。</p><ul><li><a href="https://learn.microsoft.com/ja-jp/azure/application-gateway/understanding-pricing">Azure Application Gateway と Web Application Firewall の価格について</a></li></ul><p>料金差分を確認される際には、以下の料金計算ツール上で V1 に相当する「Basic V1」と V2 の「Standard v2」をそれぞれ選択し、現在ご利用中のトラフィック量や接続数に合わせて試算いただくことになります。<br>V1 と V2 は料金構造そのものが異なるため、単純にインスタンス数を並べて比較するのではなく、利用量をもとに試算していただくことが必要となります。</p><ul><li><a href="https://azure.microsoft.com/ja-jp/pricing/calculator/?service=application-gateway">料金計算ツール</a></li></ul><hr><br><p>以上、Application Gateway V1  SKU から V2 SKU への移行に関するよくあるお問い合わせについてご紹介しました。移行のご参考になれば幸いです。</p>]]>
    </content>
    <id>https://jpaztech.github.io/blog/network/appgw-migrate-v1-v2/</id>
    <link href="https://jpaztech.github.io/blog/network/appgw-migrate-v1-v2/"/>
    <published>2026-02-13T03:00:00.000Z</published>
    <summary>
      <![CDATA[<p>こんにちは。Azure テクニカル サポート チームの加藤です。</p>
<p>本記事では、Application Gateway V1 SKU から V2 SKU への移行に関するよくあるお問い合わせについてご紹介します。</p>]]>
    </summary>
    <title>Application Gateway V1 SKU から V2 SKU への移行に関するよくあるお問い合わせ</title>
    <updated>2026-04-20T03:45:50.362Z</updated>
  </entry>
  <entry>
    <author>
      <name>Japan Azure IaaS Core Support Team</name>
    </author>
    <category term="VM" scheme="https://jpaztech.github.io/blog/tags/VM/"/>
    <content>
      <![CDATA[<p>こんにちは、Azure テクニカル サポート チームの富田です。<br>2028 年に幾つかの古い VM サイズ（D, Ds, Dv2, Dsv2, Ls および F, Fs, Fsv2, Lsv2, G, Gs, Av2, Amv2, B シリーズ）のリタイアが予定されております。<br>本件について多くお問い合わせもいただいておりますため、以下の点本ブログ記事にて解説をさせていただきます。  </p><ul><li><a href="./#VM-%E3%82%B5%E3%82%A4%E3%82%BA%E3%81%8C%E3%83%AA%E3%82%BF%E3%82%A4%E3%82%A2%E3%81%99%E3%82%8B%E3%81%A8%E3%81%A9%E3%81%86%E3%81%AA%E3%82%8B%E3%81%8B">VM サイズがリタイアするとどうなるか</a></li><li><a href="./#%E4%BB%8A%E5%9B%9E%E3%81%AE%E3%83%AA%E3%82%BF%E3%82%A4%E3%82%A2%E3%81%AE%E3%82%B9%E3%82%B1%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6">今回のリタイアのスケジュールについて</a></li><li><a href="./#%E4%BB%8A%E5%9B%9E%E3%81%AE%E3%83%AA%E3%82%BF%E3%82%A4%E3%82%A2%E5%AF%BE%E8%B1%A1%E3%81%AE-VM-%E3%82%B5%E3%82%A4%E3%82%BA%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6">今回のリタイア対象の VM サイズについて</a></li><li><a href="./#Azure-Resource-Graph-%E3%82%AF%E3%82%A8%E3%83%AA%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E4%BB%8A%E5%9B%9E%E3%81%AE%E3%83%AA%E3%82%BF%E3%82%A4%E3%82%A2%E5%AF%BE%E8%B1%A1-VM-%E3%81%A8-VMSS-%E3%82%92%E8%A6%8B%E3%81%A4%E3%81%91%E3%82%8B">Azure Resource Graph クエリを使って今回のリタイア対象 VM と VMSS を見つける</a></li><li><a href="./#%E3%83%AA%E3%82%BF%E3%82%A4%E3%82%A2%E5%AF%BE%E8%B1%A1%E3%81%AE-VM-%E3%82%92%E7%A7%BB%E8%A1%8C%E3%81%99%E3%82%8B%EF%BC%88VM-%E3%82%B5%E3%82%A4%E3%82%BA%E5%A4%89%E6%9B%B4%E3%82%92%E8%A1%8C%E3%81%86%EF%BC%89">リタイア対象の VM を移行する（VM サイズ変更を行う）</a></li><li><a href="./#%E7%A7%BB%E8%A1%8C%E5%85%88%E3%81%A8%E3%81%97%E3%81%A6%E6%8E%A8%E5%A5%A8%E3%81%95%E3%82%8C%E3%82%8B%E3%82%B5%E3%82%A4%E3%82%BA%E3%81%A8%E3%82%B5%E3%82%A4%E3%82%BA%E5%A4%89%E6%9B%B4%E3%81%AB%E6%B3%A8%E6%84%8F%E3%81%8C%E5%BF%85%E8%A6%81%E3%81%AA%E7%82%B9">移行先として推奨されるサイズとサイズ変更に注意が必要な点</a></li></ul><hr><p>■ご参考：Retirement: D, Ds, Dv2, Dsv2, and Ls Series Virtual Machines to Be Retired on May 1, 2028<br><a href="https://azure.microsoft.com/en-us/updates?id=485569">https://azure.microsoft.com/en-us/updates?id=485569</a>  </p><p>■ご参考：Retirement: The F, Fs, Fsv2, Lsv2, G, Gs, Av2, Amv2, and B series VMs are retiring in 2028<br><a href="https://azure.microsoft.com/en-us/updates?id=500682">https://azure.microsoft.com/en-us/updates?id=500682</a>  </p><p>■ご参考：廃止された Azure VM サイズ シリーズ<br><a href="https://learn.microsoft.com/ja-jp/azure/virtual-machines/sizes/retirement/retired-sizes-list">https://learn.microsoft.com/ja-jp/azure/virtual-machines/sizes/retirement/retired-sizes-list</a>  </p><hr><h2 id="VM-サイズがリタイアするとどうなるか"><a href="#VM-サイズがリタイアするとどうなるか" class="headerlink" title="VM サイズがリタイアするとどうなるか"></a>VM サイズがリタイアするとどうなるか</h2><p>リタイアにより既存の VM リソースが強制的に削除されるといったことはございません。<br>しかしながら、リタイア予定のサイズを使い続けていた場合、リタイアの日程以降に VM が自動的に割り当て解除され、VM サイズを現行のものに変更しない限り起動ができなくなることが想定されます。<br>意図しない VM 停止とならないように、リタイア予定日までに VM サイズを移行いただきますようお願いいたします  </p><hr><h2 id="今回のリタイアのスケジュールについて"><a href="#今回のリタイアのスケジュールについて" class="headerlink" title="今回のリタイアのスケジュールについて"></a>今回のリタイアのスケジュールについて</h2><p>今回のリタイアについて現状のスケジュールは以下の通りとなっております。</p><table><thead><tr><th>VM サイズシリーズ</th><th>リタイア予定日</th></tr></thead><tbody><tr><td>D, Ds, Dv2, Dsv2, Ls</td><td>2028 年 5 月 1 日</td></tr><tr><td>F, Fs, Fsv2, Lsv2, G, Gs, Av2, Amv2, B</td><td>2028 年 11 月 15 日</td></tr></tbody></table><hr><h2 id="今回のリタイア対象の-VM-サイズについて"><a href="#今回のリタイア対象の-VM-サイズについて" class="headerlink" title="今回のリタイア対象の VM サイズについて"></a>今回のリタイア対象の VM サイズについて</h2><p>今回のリタイア予定の VM サイズの一覧は Azure CLI で以下のコマンドで確認可能です。</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><span class="line"></span><br><span class="line"><span class="comment"># D, Ds, Dv2, Dsv2, Ls シリーズの VM サイズ一覧を表示</span></span><br><span class="line">az vm list-skus -r virtualMachines \</span><br><span class="line">  --query <span class="string">&quot;[?family==&#x27;standardDFamily&#x27; || family==&#x27;standardDSFamily&#x27; || family==&#x27;standardDv2Family&#x27; || family==&#x27;standardDSv2Family&#x27; || family==&#x27;standardDv2PromoFamily&#x27; || family==&#x27;standardDSv2PromoFamily&#x27; || family==&#x27;standardLSFamily&#x27;].name&quot;</span> \</span><br><span class="line">  -o tsv | <span class="built_in">sort</span> -u</span><br><span class="line"></span><br><span class="line"><span class="comment"># F, Fs, Fsv2, Lsv2, G, Gs, Av2, Amv2, B シリーズの VM サイズ一覧を表示</span></span><br><span class="line">az vm list-skus -r virtualMachines \</span><br><span class="line">  --query <span class="string">&quot;[?family==&#x27;standardFFamily&#x27; || family==&#x27;standardFSFamily&#x27; || family==&#x27;standardFSv2Family&#x27; || family==&#x27;standardLSv2Family&#x27; || family==&#x27;standardGFamily&#x27; || family==&#x27;standardGSFamily&#x27; || family==&#x27;standardAv2Family&#x27; || family==&#x27;standardBSFamily&#x27;].name&quot;</span> \</span><br><span class="line">  -o tsv | <span class="built_in">sort</span> -u</span><br></pre></td></tr></table></figure><p>こちらの結果を整形して、以下に今回のリタイア対象の VM サイズの一覧をご用意させていただきましたので、ご参考となりましたら幸いでございます。</p><div class="alert is-success"><p class="alert-title">ヒント</p><p>下記の通り Standard_D2_v3 サイズといった Dv3 シリーズや Standard_B2s_v2 サイズといった Bsv2 サイズなどは、今回のリタイアの対象には含まれておりません。</p></div><h3 id="D-Ds-Dv2-Dsv2-Ls-シリーズ"><a href="#D-Ds-Dv2-Dsv2-Ls-シリーズ" class="headerlink" title="D, Ds, Dv2, Dsv2, Ls シリーズ"></a>D, Ds, Dv2, Dsv2, Ls シリーズ</h3><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br></pre></td><td class="code"><pre><span class="line"># D シリーズ</span><br><span class="line">Standard_D1</span><br><span class="line">Standard_D2</span><br><span class="line">Standard_D3</span><br><span class="line">Standard_D4</span><br><span class="line">Standard_D11</span><br><span class="line">Standard_D12</span><br><span class="line">Standard_D13</span><br><span class="line">Standard_D14</span><br><span class="line"></span><br><span class="line"># Ds シリーズ</span><br><span class="line">Standard_DS1</span><br><span class="line">Standard_DS2</span><br><span class="line">Standard_DS3</span><br><span class="line">Standard_DS4</span><br><span class="line">Standard_DS11</span><br><span class="line">Standard_DS12</span><br><span class="line">Standard_DS13</span><br><span class="line">Standard_DS14</span><br><span class="line"></span><br><span class="line"># Dv2 シリーズ</span><br><span class="line">Standard_D1_v2</span><br><span class="line">Standard_D2_v2</span><br><span class="line">Standard_D3_v2</span><br><span class="line">Standard_D4_v2</span><br><span class="line">Standard_D5_v2</span><br><span class="line">Standard_D11_v2</span><br><span class="line">Standard_D12_v2</span><br><span class="line">Standard_D13_v2</span><br><span class="line">Standard_D14_v2</span><br><span class="line">Standard_D15_v2</span><br><span class="line"></span><br><span class="line"># Dsv2 シリーズ</span><br><span class="line">Standard_DS1_v2</span><br><span class="line">Standard_DS2_v2</span><br><span class="line">Standard_DS3_v2</span><br><span class="line">Standard_DS4_v2</span><br><span class="line">Standard_DS5_v2</span><br><span class="line">Standard_DS11_v2</span><br><span class="line">Standard_DS11-1_v2</span><br><span class="line">Standard_DS12_v2</span><br><span class="line">Standard_DS12-1_v2</span><br><span class="line">Standard_DS12-2_v2</span><br><span class="line">Standard_DS13_v2</span><br><span class="line">Standard_DS13-2_v2</span><br><span class="line">Standard_DS13-4_v2</span><br><span class="line">Standard_DS14_v2</span><br><span class="line">Standard_DS14-4_v2</span><br><span class="line">Standard_DS14-8_v2</span><br><span class="line">Standard_DS15_v2</span><br><span class="line"></span><br><span class="line"># Dv2 シリーズ（Promo）</span><br><span class="line">Standard_D2_v2_Promo</span><br><span class="line">Standard_D3_v2_Promo</span><br><span class="line">Standard_D4_v2_Promo</span><br><span class="line">Standard_D5_v2_Promo</span><br><span class="line">Standard_D11_v2_Promo</span><br><span class="line">Standard_D12_v2_Promo</span><br><span class="line">Standard_D13_v2_Promo</span><br><span class="line">Standard_D14_v2_Promo</span><br><span class="line"></span><br><span class="line"># Dsv2 シリーズ（Promo）</span><br><span class="line">Standard_DS2_v2_Promo</span><br><span class="line">Standard_DS3_v2_Promo</span><br><span class="line">Standard_DS4_v2_Promo</span><br><span class="line">Standard_DS5_v2_Promo</span><br><span class="line">Standard_DS11_v2_Promo</span><br><span class="line">Standard_DS12_v2_Promo</span><br><span class="line">Standard_DS13_v2_Promo</span><br><span class="line">Standard_DS14_v2_Promo</span><br><span class="line"></span><br><span class="line"># L シリーズ</span><br><span class="line">Standard_L4s</span><br><span class="line">Standard_L8s</span><br><span class="line">Standard_L16s</span><br><span class="line">Standard_L32s</span><br></pre></td></tr></table></figure><h3 id="F-Fs-Fsv2-Lsv2-G-Gs-Av2-Amv2-B-シリーズ"><a href="#F-Fs-Fsv2-Lsv2-G-Gs-Av2-Amv2-B-シリーズ" class="headerlink" title="F, Fs, Fsv2, Lsv2, G, Gs, Av2, Amv2, B シリーズ"></a>F, Fs, Fsv2, Lsv2, G, Gs, Av2, Amv2, B シリーズ</h3><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br></pre></td><td class="code"><pre><span class="line"># F シリーズ</span><br><span class="line">Standard_F1</span><br><span class="line">Standard_F2</span><br><span class="line">Standard_F4</span><br><span class="line">Standard_F8</span><br><span class="line">Standard_F16</span><br><span class="line"></span><br><span class="line"># Fs シリーズ</span><br><span class="line">Standard_F1s</span><br><span class="line">Standard_F2s</span><br><span class="line">Standard_F4s</span><br><span class="line">Standard_F8s</span><br><span class="line">Standard_F16s</span><br><span class="line"></span><br><span class="line"># Fsv2 シリーズ</span><br><span class="line">Standard_F2s_v2</span><br><span class="line">Standard_F4s_v2</span><br><span class="line">Standard_F8s_v2</span><br><span class="line">Standard_F16s_v2</span><br><span class="line">Standard_F32s_v2</span><br><span class="line">Standard_F48s_v2</span><br><span class="line">Standard_F64s_v2</span><br><span class="line">Standard_F72s_v2</span><br><span class="line"></span><br><span class="line"># Lsv2 シリーズ</span><br><span class="line">Standard_L8s_v2</span><br><span class="line">Standard_L16s_v2</span><br><span class="line">Standard_L32s_v2</span><br><span class="line">Standard_L48s_v2</span><br><span class="line">Standard_L64s_v2</span><br><span class="line">Standard_L80s_v2</span><br><span class="line"></span><br><span class="line"># G シリーズ</span><br><span class="line">Standard_G1</span><br><span class="line">Standard_G2</span><br><span class="line">Standard_G3</span><br><span class="line">Standard_G4</span><br><span class="line">Standard_G5</span><br><span class="line"></span><br><span class="line"># GS シリーズ</span><br><span class="line">Standard_GS1</span><br><span class="line">Standard_GS2</span><br><span class="line">Standard_GS3</span><br><span class="line">Standard_GS4</span><br><span class="line">Standard_GS4-4</span><br><span class="line">Standard_GS4-8</span><br><span class="line">Standard_GS5</span><br><span class="line">Standard_GS5-16</span><br><span class="line">Standard_GS5-8</span><br><span class="line"></span><br><span class="line"># Av2 シリーズ</span><br><span class="line">Standard_A1_v2</span><br><span class="line">Standard_A2_v2</span><br><span class="line">Standard_A4_v2</span><br><span class="line">Standard_A8_v2</span><br><span class="line"></span><br><span class="line"># Amv2 シリーズ</span><br><span class="line">Standard_A2m_v2</span><br><span class="line">Standard_A4m_v2</span><br><span class="line">Standard_A8m_v2</span><br><span class="line"></span><br><span class="line"># B シリーズ</span><br><span class="line">Standard_B1ls</span><br><span class="line">Standard_B1ms</span><br><span class="line">Standard_B1s</span><br><span class="line">Standard_B2ms</span><br><span class="line">Standard_B2s</span><br><span class="line">Standard_B4ms</span><br><span class="line">Standard_B8ms</span><br><span class="line">Standard_B12ms</span><br><span class="line">Standard_B16ms</span><br><span class="line">Standard_B20ms</span><br></pre></td></tr></table></figure><hr><h2 id="Azure-Resource-Graph-クエリを使って今回のリタイア対象-VM-と-VMSS-を見つける"><a href="#Azure-Resource-Graph-クエリを使って今回のリタイア対象-VM-と-VMSS-を見つける" class="headerlink" title="Azure Resource Graph クエリを使って今回のリタイア対象 VM と VMSS を見つける"></a>Azure Resource Graph クエリを使って今回のリタイア対象 VM と VMSS を見つける</h2><p>実際にお客様の環境において、今回のリタイア対象の VM サイズが設定されている VM および VMSS リソースを見つけるには、Azure Resource Graph クエリを使うのがお勧めでございます。<br>以下に Azure ポータルから実行する手順を紹介させていただきます。<br>実行の際はサブスクリプション内の Azure VM を参照できるユーザーにて実施をお願いいたします。  </p><p>Azure ポータル上部の検索ボックスにて「Resource Graph エクスプローラー」を検索します。  </p><p><img src="/blog/vm/2028-retire-vm/box.png"></p><p>表示された画面にてクエリを実行します。<br>まずは、検証として全ての VM の一覧表示が可能か確認することを推奨いたします。  </p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">// 試しに全ての VM 一覧を表示してみる</span><br><span class="line">Resources</span><br><span class="line">| where type =~ &quot;Microsoft.Compute/virtualMachines&quot;</span><br></pre></td></tr></table></figure><p>次に、以下のクエリで今回のリタイア対象の VM サイズが設定されている VM の一覧を表示します。  </p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br></pre></td><td class="code"><pre><span class="line">// D, Ds, Dv2, Dsv2, Ls シリーズの VM サイズが設定されている VM の一覧を表示する</span><br><span class="line">Resources</span><br><span class="line">| where type =~ &quot;Microsoft.Compute/virtualMachines&quot;</span><br><span class="line">| extend vmSize = tostring(properties.hardwareProfile.vmSize)</span><br><span class="line">| where vmSize in~ (</span><br><span class="line">    &quot;Standard_D1&quot;,&quot;Standard_D2&quot;,&quot;Standard_D3&quot;,&quot;Standard_D4&quot;,&quot;Standard_D11&quot;,&quot;Standard_D12&quot;,&quot;Standard_D13&quot;,&quot;Standard_D14&quot;,</span><br><span class="line">    &quot;Standard_DS1&quot;,&quot;Standard_DS2&quot;,&quot;Standard_DS3&quot;,&quot;Standard_DS4&quot;,&quot;Standard_DS11&quot;,&quot;Standard_DS12&quot;,&quot;Standard_DS13&quot;,&quot;Standard_DS14&quot;,</span><br><span class="line">    &quot;Standard_D1_v2&quot;,&quot;Standard_D2_v2&quot;,&quot;Standard_D3_v2&quot;,&quot;Standard_D4_v2&quot;,&quot;Standard_D5_v2&quot;,&quot;Standard_D11_v2&quot;,&quot;Standard_D12_v2&quot;,&quot;Standard_D13_v2&quot;,&quot;Standard_D14_v2&quot;,&quot;Standard_D15_v2&quot;,</span><br><span class="line">    &quot;Standard_DS1_v2&quot;,&quot;Standard_DS2_v2&quot;,&quot;Standard_DS3_v2&quot;,&quot;Standard_DS4_v2&quot;,&quot;Standard_DS5_v2&quot;,&quot;Standard_DS11_v2&quot;,&quot;Standard_DS11-1_v2&quot;,&quot;Standard_DS12_v2&quot;,&quot;Standard_DS12-1_v2&quot;,&quot;Standard_DS12-2_v2&quot;,&quot;Standard_DS13_v2&quot;,&quot;Standard_DS13-2_v2&quot;,&quot;Standard_DS13-4_v2&quot;,&quot;Standard_DS14_v2&quot;,&quot;Standard_DS14-4_v2&quot;,&quot;Standard_DS14-8_v2&quot;,&quot;Standard_DS15_v2&quot;,</span><br><span class="line">    &quot;Standard_D2_v2_Promo&quot;,&quot;Standard_D3_v2_Promo&quot;,&quot;Standard_D4_v2_Promo&quot;,&quot;Standard_D5_v2_Promo&quot;,&quot;Standard_D11_v2_Promo&quot;,&quot;Standard_D12_v2_Promo&quot;,&quot;Standard_D13_v2_Promo&quot;,&quot;Standard_D14_v2_Promo&quot;,</span><br><span class="line">    &quot;Standard_DS2_v2_Promo&quot;,&quot;Standard_DS3_v2_Promo&quot;,&quot;Standard_DS4_v2_Promo&quot;,&quot;Standard_DS5_v2_Promo&quot;,&quot;Standard_DS11_v2_Promo&quot;,&quot;Standard_DS12_v2_Promo&quot;,&quot;Standard_DS13_v2_Promo&quot;,&quot;Standard_DS14_v2_Promo&quot;,</span><br><span class="line">    &quot;Standard_L4s&quot;,&quot;Standard_L8s&quot;,&quot;Standard_L16s&quot;,&quot;Standard_L32s&quot;</span><br><span class="line">)</span><br><span class="line">| project subscriptionId, name, resourceGroup, vmSize, location</span><br></pre></td></tr></table></figure><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br></pre></td><td class="code"><pre><span class="line">// F, Fs, Fsv2, Lsv2, G, Gs, Av2, Amv2, B シリーズの VM サイズが設定されている VM の一覧を表示する</span><br><span class="line">Resources</span><br><span class="line">| where type =~ &quot;Microsoft.Compute/virtualMachines&quot;</span><br><span class="line">| extend vmSize = tostring(properties.hardwareProfile.vmSize)</span><br><span class="line">| where vmSize in~ (</span><br><span class="line">    &quot;Standard_F1&quot;,&quot;Standard_F2&quot;,&quot;Standard_F4&quot;,&quot;Standard_F8&quot;,&quot;Standard_F16&quot;,</span><br><span class="line">    &quot;Standard_F1s&quot;,&quot;Standard_F2s&quot;,&quot;Standard_F4s&quot;,&quot;Standard_F8s&quot;,&quot;Standard_F16s&quot;,</span><br><span class="line">    &quot;Standard_F2s_v2&quot;,&quot;Standard_F4s_v2&quot;,&quot;Standard_F8s_v2&quot;,&quot;Standard_F16s_v2&quot;,&quot;Standard_F32s_v2&quot;,&quot;Standard_F48s_v2&quot;,&quot;Standard_F64s_v2&quot;,&quot;Standard_F72s_v2&quot;,</span><br><span class="line">    &quot;Standard_L8s_v2&quot;,&quot;Standard_L16s_v2&quot;,&quot;Standard_L32s_v2&quot;,&quot;Standard_L48s_v2&quot;,&quot;Standard_L64s_v2&quot;,&quot;Standard_L80s_v2&quot;,</span><br><span class="line">    &quot;Standard_G1&quot;,&quot;Standard_G2&quot;,&quot;Standard_G3&quot;,&quot;Standard_G4&quot;,&quot;Standard_G5&quot;,</span><br><span class="line">    &quot;Standard_GS1&quot;,&quot;Standard_GS2&quot;,&quot;Standard_GS3&quot;,&quot;Standard_GS4&quot;,&quot;Standard_GS4-4&quot;,&quot;Standard_GS4-8&quot;,&quot;Standard_GS5&quot;,&quot;Standard_GS5-16&quot;,&quot;Standard_GS5-8&quot;,</span><br><span class="line">    &quot;Standard_A1_v2&quot;,&quot;Standard_A2_v2&quot;,&quot;Standard_A4_v2&quot;,&quot;Standard_A8_v2&quot;,</span><br><span class="line">    &quot;Standard_A2m_v2&quot;,&quot;Standard_A4m_v2&quot;,&quot;Standard_A8m_v2&quot;,</span><br><span class="line">    &quot;Standard_B1ls&quot;,&quot;Standard_B1ms&quot;,&quot;Standard_B1s&quot;,&quot;Standard_B2ms&quot;,&quot;Standard_B2s&quot;,&quot;Standard_B4ms&quot;,&quot;Standard_B8ms&quot;,&quot;Standard_B12ms&quot;,&quot;Standard_B16ms&quot;,&quot;Standard_B20ms&quot;</span><br><span class="line">)</span><br><span class="line">| project subscriptionId, name, resourceGroup, vmSize, location</span><br></pre></td></tr></table></figure><p>下記はクエリとその結果の画面の例です。  </p><p><img src="/blog/vm/2028-retire-vm/result.png"></p><p>なお、均一オーケストレーションモードの VMSS について、同じように今回のリタイア対象を見つけるには以下のクエリをご利用ください。</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">// 試しに全ての VMSS 一覧を表示してみる</span><br><span class="line">Resources</span><br><span class="line">| where type =~ &quot;Microsoft.Compute/virtualMachineScaleSets&quot;</span><br></pre></td></tr></table></figure><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br></pre></td><td class="code"><pre><span class="line">// D, Ds, Dv2, Dsv2, Ls シリーズの VM サイズが設定されている VMSS の一覧を表示する</span><br><span class="line">Resources</span><br><span class="line">| where type =~ &quot;Microsoft.Compute/virtualMachineScaleSets&quot;</span><br><span class="line">| extend vmSize = tostring(sku.name)</span><br><span class="line">| where vmSize in~ (</span><br><span class="line">    &quot;Standard_D1&quot;,&quot;Standard_D2&quot;,&quot;Standard_D3&quot;,&quot;Standard_D4&quot;,&quot;Standard_D11&quot;,&quot;Standard_D12&quot;,&quot;Standard_D13&quot;,&quot;Standard_D14&quot;,</span><br><span class="line">    &quot;Standard_DS1&quot;,&quot;Standard_DS2&quot;,&quot;Standard_DS3&quot;,&quot;Standard_DS4&quot;,&quot;Standard_DS11&quot;,&quot;Standard_DS12&quot;,&quot;Standard_DS13&quot;,&quot;Standard_DS14&quot;,</span><br><span class="line">    &quot;Standard_D1_v2&quot;,&quot;Standard_D2_v2&quot;,&quot;Standard_D3_v2&quot;,&quot;Standard_D4_v2&quot;,&quot;Standard_D5_v2&quot;,&quot;Standard_D11_v2&quot;,&quot;Standard_D12_v2&quot;,&quot;Standard_D13_v2&quot;,&quot;Standard_D14_v2&quot;,&quot;Standard_D15_v2&quot;,</span><br><span class="line">    &quot;Standard_DS1_v2&quot;,&quot;Standard_DS2_v2&quot;,&quot;Standard_DS3_v2&quot;,&quot;Standard_DS4_v2&quot;,&quot;Standard_DS5_v2&quot;,&quot;Standard_DS11_v2&quot;,&quot;Standard_DS11-1_v2&quot;,&quot;Standard_DS12_v2&quot;,&quot;Standard_DS12-1_v2&quot;,&quot;Standard_DS12-2_v2&quot;,&quot;Standard_DS13_v2&quot;,&quot;Standard_DS13-2_v2&quot;,&quot;Standard_DS13-4_v2&quot;,&quot;Standard_DS14_v2&quot;,&quot;Standard_DS14-4_v2&quot;,&quot;Standard_DS14-8_v2&quot;,&quot;Standard_DS15_v2&quot;,</span><br><span class="line">    &quot;Standard_D2_v2_Promo&quot;,&quot;Standard_D3_v2_Promo&quot;,&quot;Standard_D4_v2_Promo&quot;,&quot;Standard_D5_v2_Promo&quot;,&quot;Standard_D11_v2_Promo&quot;,&quot;Standard_D12_v2_Promo&quot;,&quot;Standard_D13_v2_Promo&quot;,&quot;Standard_D14_v2_Promo&quot;,</span><br><span class="line">    &quot;Standard_DS2_v2_Promo&quot;,&quot;Standard_DS3_v2_Promo&quot;,&quot;Standard_DS4_v2_Promo&quot;,&quot;Standard_DS5_v2_Promo&quot;,&quot;Standard_DS11_v2_Promo&quot;,&quot;Standard_DS12_v2_Promo&quot;,&quot;Standard_DS13_v2_Promo&quot;,&quot;Standard_DS14_v2_Promo&quot;,</span><br><span class="line">    &quot;Standard_L4s&quot;,&quot;Standard_L8s&quot;,&quot;Standard_L16s&quot;,&quot;Standard_L32s&quot;</span><br><span class="line">)</span><br><span class="line">| project subscriptionId, name, resourceGroup, vmSize, location</span><br></pre></td></tr></table></figure><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br></pre></td><td class="code"><pre><span class="line">// F, Fs, Fsv2, Lsv2, G, Gs, Av2, Amv2, B シリーズの VM サイズが設定されている VMSS の一覧を表示する</span><br><span class="line">Resources</span><br><span class="line">| where type =~ &quot;Microsoft.Compute/virtualMachineScaleSets&quot;</span><br><span class="line">| extend vmSize = tostring(sku.name)</span><br><span class="line">| where vmSize in~ (</span><br><span class="line">    &quot;Standard_F1&quot;,&quot;Standard_F2&quot;,&quot;Standard_F4&quot;,&quot;Standard_F8&quot;,&quot;Standard_F16&quot;,</span><br><span class="line">    &quot;Standard_F1s&quot;,&quot;Standard_F2s&quot;,&quot;Standard_F4s&quot;,&quot;Standard_F8s&quot;,&quot;Standard_F16s&quot;,</span><br><span class="line">    &quot;Standard_F2s_v2&quot;,&quot;Standard_F4s_v2&quot;,&quot;Standard_F8s_v2&quot;,&quot;Standard_F16s_v2&quot;,&quot;Standard_F32s_v2&quot;,&quot;Standard_F48s_v2&quot;,&quot;Standard_F64s_v2&quot;,&quot;Standard_F72s_v2&quot;,</span><br><span class="line">    &quot;Standard_L8s_v2&quot;,&quot;Standard_L16s_v2&quot;,&quot;Standard_L32s_v2&quot;,&quot;Standard_L48s_v2&quot;,&quot;Standard_L64s_v2&quot;,&quot;Standard_L80s_v2&quot;,</span><br><span class="line">    &quot;Standard_G1&quot;,&quot;Standard_G2&quot;,&quot;Standard_G3&quot;,&quot;Standard_G4&quot;,&quot;Standard_G5&quot;,</span><br><span class="line">    &quot;Standard_GS1&quot;,&quot;Standard_GS2&quot;,&quot;Standard_GS3&quot;,&quot;Standard_GS4&quot;,&quot;Standard_GS4-4&quot;,&quot;Standard_GS4-8&quot;,&quot;Standard_GS5&quot;,&quot;Standard_GS5-16&quot;,&quot;Standard_GS5-8&quot;,</span><br><span class="line">    &quot;Standard_A1_v2&quot;,&quot;Standard_A2_v2&quot;,&quot;Standard_A4_v2&quot;,&quot;Standard_A8_v2&quot;,</span><br><span class="line">    &quot;Standard_A2m_v2&quot;,&quot;Standard_A4m_v2&quot;,&quot;Standard_A8m_v2&quot;,</span><br><span class="line">    &quot;Standard_B1ls&quot;,&quot;Standard_B1ms&quot;,&quot;Standard_B1s&quot;,&quot;Standard_B2ms&quot;,&quot;Standard_B2s&quot;,&quot;Standard_B4ms&quot;,&quot;Standard_B8ms&quot;,&quot;Standard_B12ms&quot;,&quot;Standard_B16ms&quot;,&quot;Standard_B20ms&quot;</span><br><span class="line">)</span><br><span class="line">| project subscriptionId, name, resourceGroup, vmSize, location</span><br></pre></td></tr></table></figure><div class="alert is-success"><p class="alert-title">ヒント</p><p>Azure ポータルではなく、Azure CLI からも Azure Resource Graph クエリを実行することが可能です。以下はそのコマンドの例です。</p><p><strong>az graph query -q ‘クエリの内容’</strong></p></div><hr><h2 id="リタイア対象の-VM-を移行する（VM-サイズ変更を行う）"><a href="#リタイア対象の-VM-を移行する（VM-サイズ変更を行う）" class="headerlink" title="リタイア対象の VM を移行する（VM サイズ変更を行う）"></a>リタイア対象の VM を移行する（VM サイズ変更を行う）</h2><p>リタイア対象の VM および VMSS については、リタイア予定日までに移行をお願いいたします。<br>移行についてはガイドの公式ドキュメントもご用意されておりますので、必要に応じてご参照いただけますと幸いです。  </p><p>■ご参考：汎用サイズ移行ガイド<br><a href="https://learn.microsoft.com/ja-jp/azure/virtual-machines/migration/sizes/d-ds-dv2-dsv2-ls-series-migration-guide">https://learn.microsoft.com/ja-jp/azure/virtual-machines/migration/sizes/d-ds-dv2-dsv2-ls-series-migration-guide</a>  </p><p>なお、基本的に移行に必要な操作としては「リタイア対象外の VM サイズに変更する」という操作のみですので、VM 停止は伴いますが容易に可能と存じます。<br>VM サイズ変更については以下の公式ドキュメントとブログ記事もございます。  </p><p>■ご参考：仮想マシンのサイズの変更<br><a href="https://learn.microsoft.com/ja-jp/azure/virtual-machines/sizes/resize-vm">https://learn.microsoft.com/ja-jp/azure/virtual-machines/sizes/resize-vm</a>  </p><p>■ご参考：VM サイズの選定および変更時の注意点について<br><a href="https://jpaztech.github.io/blog/vm/vm-size-change/">https://jpaztech.github.io/blog/vm/vm-size-change/</a>  </p><p>今回のリタイア対象の VM の移行について幾つか補足をさせていただきます。</p><hr><h2 id="移行先として推奨されるサイズとサイズ変更に注意が必要な点"><a href="#移行先として推奨されるサイズとサイズ変更に注意が必要な点" class="headerlink" title="移行先として推奨されるサイズとサイズ変更に注意が必要な点"></a>移行先として推奨されるサイズとサイズ変更に注意が必要な点</h2><p>上記の「汎用サイズ移行ガイド」に各 VM サイズシリーズ毎に、推奨の移行先 VM サイズシリーズの記載がございます。<br>あくまで推奨でございますので、他のサイズに変更いただいても問題ございません。<br>また、実際にどの VM サイズを採用するかについては、必要に応じてお客様のワークロードにおいてベンチマーク等を行いご検討いただけますと幸いです。</p><p>VM サイズ変更にあたり、以下の点により変更が叶いません場合がありますのでご留意ください。</p><h3 id="v6-サイズシリーズに変更するにあたりディスクコントローラーの変更が必要である"><a href="#v6-サイズシリーズに変更するにあたりディスクコントローラーの変更が必要である" class="headerlink" title="v6 サイズシリーズに変更するにあたりディスクコントローラーの変更が必要である"></a>v6 サイズシリーズに変更するにあたりディスクコントローラーの変更が必要である</h3><p>移行先の推奨サイズに末尾に v6 と記載のあるサイズシリーズがございます。<br>これらの v6 サイズは NVMe ディスクコントローラーが必須のため、ディスクコントローラー変換作業が必要となります。<br>v6 サイズに変更をするにあたっては、以下のブログ記事をご参照ください。  </p><p>■ご参考：NVMe ディスクコントローラー必須の Azure VM サイズについて（Dsv5 から Dsv6 サイズへの変更など）<br><a href="https://jpaztech.github.io/blog/vm/nvme-vm/">https://jpaztech.github.io/blog/vm/nvme-vm/</a>  </p><p>v6 サイズへの変更はお手間がかかるものとなりますので、SCSI ディスクコントローラーのまま変更可能な v5 サイズへの移行もご検討ください。  </p><div class="alert is-success"><p class="alert-title">ヒント</p><p>移行先推奨サイズとして記載のある Lsv4 &#x2F; Lasv4 サイズシリーズも、同じく NVMe ディスクコントローラーが必須となっております。</p></div><h3 id="Windows-VM-で一時ディスクありから無しの-VM-サイズに変更できない"><a href="#Windows-VM-で一時ディスクありから無しの-VM-サイズに変更できない" class="headerlink" title="Windows VM で一時ディスクありから無しの VM サイズに変更できない"></a>Windows VM で一時ディスクありから無しの VM サイズに変更できない</h3><p>Windows VM については一時ディスクありの VM サイズから、一時ディスク無しの VM サイズへ直接の変更操作が叶いません。<br>今回のリタイア対象の VM は全て一時ディスクがあるサイズと存じますため、Dsv5 &#x2F; Dasv5 &#x2F; Bsv2 &#x2F; Basv2 といった一時ディスク無しのサイズに直接変更ができないものとなります。<br>このような一時ディスク無しのサイズに変更をしたい場合は以下のドキュメントをご参照ください。  </p><p>■ご参考：ローカル一時ディスクを使用するサイズから、ローカル一時ディスクのない VM サイズに Windows VM を移行するにはどうすればよいですか?<br><a href="https://learn.microsoft.com/ja-jp/azure/virtual-machines/azure-vms-no-temp-disk#-----------------------------------vm------windows-vm---------------------">https://learn.microsoft.com/ja-jp/azure/virtual-machines/azure-vms-no-temp-disk#-----------------------------------vm------windows-vm---------------------</a>  </p><p>VM 再作成にて一時ディスク無しの VM サイズ変更を行う方法について解説したブログ記事もございますので、参考としてご紹介させていただきます。</p><p>■ご参考：Azure VM の設定変更不可の項目を VM 再作成により再設定する手順<br><a href="https://jpaztech.github.io/blog/vm/recreate-vm-to-change-settings/">https://jpaztech.github.io/blog/vm/recreate-vm-to-change-settings/</a>  </p><p>Ddsv5 &#x2F; Dadsv5 サイズといった一時ディスクありの VM サイズでしたら、容易に直接 VM サイズ変更が可能と存じますので、その点もご検討いただけますと幸いです。  </p><h3 id="Arm-アーキテクチャの-VM-サイズに変更できない"><a href="#Arm-アーキテクチャの-VM-サイズに変更できない" class="headerlink" title="Arm アーキテクチャの VM サイズに変更できない"></a>Arm アーキテクチャの VM サイズに変更できない</h3><p>移行先の推奨サイズに p という文字が入ったサイズシリーズがございます。（例：Bpsv2 &#x2F; Dpsv5 など）<br>こちらは x86 ではなく、Arm アーキテクチャの CPU の VM サイズでございます。<br>CPU の互換性が無いものと存じますので、こちらのサイズを利用したい場合は新規に VM を構築いただくことをご検討ください。  </p><h3 id="VM-が起動中のため変更先のサイズが表示されない"><a href="#VM-が起動中のため変更先のサイズが表示されない" class="headerlink" title="VM が起動中のため変更先のサイズが表示されない"></a>VM が起動中のため変更先のサイズが表示されない</h3><p>VM が起動中の場合は移行可能な VM サイズであっても対象として表示されないことがございます。<br>もし、変更先の VM サイズが表示されない場合は VM の割り当て解除をお試しくださいませ。  </p><hr><p>これらの情報が皆様のお役に立てますと幸いでございます。</p>]]>
    </content>
    <id>https://jpaztech.github.io/blog/vm/2028-retire-vm/</id>
    <link href="https://jpaztech.github.io/blog/vm/2028-retire-vm/"/>
    <published>2026-01-13T03:00:00.000Z</published>
    <summary>
      <![CDATA[<p>こんにちは、Azure テクニカル サポート チームの富田です。<br>2028 年に幾つかの古い VM サイズ（D, Ds, Dv2, Dsv2, Ls および F, Fs, Fsv2, Lsv2, G, Gs, Av2, Amv2, B シリーズ）のリタイアが予定されて]]>
    </summary>
    <title>2028 年にリタイア予定の Azure VM サイズについて（D, Ds, Dv2, Dsv2, Ls および F, Fs, Fsv2, Lsv2, G, Gs, Av2, Amv2, B シリーズ）</title>
    <updated>2026-04-20T03:45:50.544Z</updated>
  </entry>
  <entry>
    <author>
      <name>Japan Azure IaaS Core Support Team</name>
    </author>
    <category term="VM" scheme="https://jpaztech.github.io/blog/tags/VM/"/>
    <category term="Windows" scheme="https://jpaztech.github.io/blog/tags/Windows/"/>
    <category term="Linux" scheme="https://jpaztech.github.io/blog/tags/Linux/"/>
    <category term="HowTo" scheme="https://jpaztech.github.io/blog/tags/HowTo/"/>
    <content>
      <![CDATA[<p>こんにちは。Azure テクニカル サポート チームの富田です。<br>今回は、Dsv6 シリーズ等の NVMe 必須となる VM サイズシリーズのご利用を検討されているお客様より、よくお問い合わせをいただく以下の点について解説させていただきます。  </p><ul><li><a href="./#NVMe-%E3%83%87%E3%82%A3%E3%82%B9%E3%82%AF%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%A9%E3%83%BC%E3%82%BF%E3%82%A4%E3%83%97%E3%81%AE%E5%BF%85%E9%A0%88%E3%81%AE-VM-%E3%82%B5%E3%82%A4%E3%82%BA%E3%81%A8%E3%81%AF">NVMe ディスクコントローラータイプの必須の VM サイズとは</a></li><li><a href="./#%E3%81%A9%E3%81%AE-VM-%E3%82%B5%E3%82%A4%E3%82%BA%E3%81%8C-NVMe-%E5%BF%85%E9%A0%88%E3%82%B5%E3%82%A4%E3%82%BA%E3%81%A7%E3%81%82%E3%82%8B%E3%81%8B%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%99%E3%82%8B">どの VM サイズが NVMe 必須サイズであるかを確認する</a></li><li><a href="./#NVMe-%E5%BF%85%E9%A0%88%E3%82%B5%E3%82%A4%E3%82%BA%E3%82%92%E5%88%A9%E7%94%A8%E3%81%99%E3%82%8B%E3%81%AB%E3%81%82%E3%81%9F%E3%81%A3%E3%81%A6%E3%81%AE%E5%89%8D%E6%8F%90%E6%9D%A1%E4%BB%B6">NVMe 必須サイズを利用するにあたっての前提条件</a></li><li><a href="./#SCSI-%E5%BF%85%E9%A0%88%E3%82%B5%E3%82%A4%E3%82%BA%E3%81%A8-NVMe-%E5%BF%85%E9%A0%88%E3%82%B5%E3%82%A4%E3%82%BA%E9%96%93%E3%81%AE-VM-%E3%82%B5%E3%82%A4%E3%82%BA%E5%A4%89%E6%9B%B4%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6">SCSI 必須サイズと NVMe 必須サイズ間の VM サイズ変更について</a></li><li><a href="./#%E3%83%87%E3%82%A3%E3%82%B9%E3%82%AF%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%A9%E3%83%BC%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%97-NVMe-%E5%BF%85%E9%A0%88%E3%82%B5%E3%82%A4%E3%82%BA%E3%81%B8%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%80%81%E3%81%8A%E3%82%88%E3%81%B3-SCSI-%E5%BF%85%E9%A0%88%E3%82%B5%E3%82%A4%E3%82%BA%E3%81%AB%E6%88%BB%E3%81%99%E6%96%B9%E6%B3%95">ディスクコントローラーを変更し NVMe 必須サイズへ変更する方法、および SCSI 必須サイズに戻す方法</a></li><li><a href="./#NVMe-%E5%BF%85%E9%A0%88%E3%82%B5%E3%82%A4%E3%82%BA%E5%AF%BE%E5%BF%9C%E3%81%AE%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8%E3%82%92%E7%94%A8%E6%84%8F%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95">NVMe 必須サイズ対応のカスタムイメージを用意する方法</a></li></ul><hr><h2 id="NVMe-ディスクコントローラータイプの必須の-VM-サイズとは"><a href="#NVMe-ディスクコントローラータイプの必須の-VM-サイズとは" class="headerlink" title="NVMe ディスクコントローラータイプの必須の VM サイズとは"></a>NVMe ディスクコントローラータイプの必須の VM サイズとは</h2><p>従来の Azure VM では SCSI ディスクコントローラーのみがサポートされておりましたが、近年発表された比較的新しい VM サイズシリーズでは、NVMe ディスクコントローラーのみがサポートされるといったものが増えてきました。<br>例えば汎用サイズである Dsv6, Dasv6 シリーズなどは、NVMe ディスクコントローラーが必須な VM シリーズとなっております。<br>以下、そのようなサイズを <strong>NVMe 必須サイズ</strong> と記載させていただきます。  </p><p>NVMe コントローラーを利用することで従来の SCSI コントローラーを利用する場合よりもディスク性能が向上することが期待されますが、NVMe コントローラーならではの制約などもございますので、本ブログ記事にて解説をさせていただきます。<br>NVMe の詳細等については以下の公式ドキュメントもご参照くださいませ。  </p><p>■ご参考：NVMe の概要<br><a href="https://learn.microsoft.com/ja-jp/azure/virtual-machines/nvme-overview">https://learn.microsoft.com/ja-jp/azure/virtual-machines/nvme-overview</a>  </p><p>■ご参考：NVMe に関する一般的な FAQ<br><a href="https://learn.microsoft.com/ja-jp/azure/virtual-machines/enable-nvme-faqs">https://learn.microsoft.com/ja-jp/azure/virtual-machines/enable-nvme-faqs</a>  </p><p>■ご参考：リモート NVMe ディスクに関する FAQ<br><a href="https://learn.microsoft.com/ja-jp/azure/virtual-machines/enable-nvme-remote-faqs">https://learn.microsoft.com/ja-jp/azure/virtual-machines/enable-nvme-remote-faqs</a>  </p><div class="alert is-success"><p class="alert-title">ヒント</p><p>一時ディスクが付属する NVMe 必須サイズにて、その一時ディスクを使用するにはゲスト OS 内でフォーマットが必要でございます。</p><p>＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝</p><p>■ご参考：一時 NVMe ディスクを使用して VM を構成する場合、どのような変更を準備する必要がありますか?</p><p><a href="https://learn.microsoft.com/ja-jp/azure/virtual-machines/enable-nvme-temp-faqs#---nvme-----------vm------------------------------">https://learn.microsoft.com/ja-jp/azure/virtual-machines/enable-nvme-temp-faqs#---nvme-----------vm------------------------------</a></p><p>＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝</p><p>抜粋：”VM の起動後にディスクを初期化してフォーマットする必要があります。 ユーザーが開始した停止、割り当て解除、計画メンテナンス、および Azure で開始された自動復旧イベントの後、VM は生の一時 NVMe ディスクのみで起動します。 NVMe ディスクが初期化され、フォーマットされるまで、一時 NVMe ディスクはアプリケーションに表示されません。”</p></div><hr><h2 id="どの-VM-サイズが-NVMe-必須サイズであるかを確認する"><a href="#どの-VM-サイズが-NVMe-必須サイズであるかを確認する" class="headerlink" title="どの VM サイズが NVMe 必須サイズであるかを確認する"></a>どの VM サイズが NVMe 必須サイズであるかを確認する</h2><p>では、実際にどの VM サイズが NVMe 必須サイズであるかという点を確認する方法を紹介させていただきます。<br>次の Azure PowerShell &#x2F; Azure CLIコマンドで、指定したリージョンにおける、各 VM サイズのサポートされるディスクコントローラーを確認することが可能です。<br>＜リージョン名＞ の部分は japaneast などリージョン名に置き換えをお願いいたします。  </p><ul><li>PowerShell + Azure PowerShell 環境でのコマンド例</li></ul><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">Get-AzComputeResourceSku</span> <span class="literal">-Location</span> ＜リージョン名＞ |</span><br><span class="line">  <span class="built_in">Where-Object</span> &#123; <span class="variable">$_</span>.ResourceType <span class="operator">-eq</span> <span class="string">&#x27;virtualMachines&#x27;</span> &#125; |</span><br><span class="line">  <span class="built_in">Select-Object</span> Family, Name,</span><br><span class="line">    <span class="selector-tag">@</span>&#123;Name=<span class="string">&#x27;vCPUs&#x27;</span>;Expression=&#123;</span><br><span class="line">      (<span class="variable">$_</span>.Capabilities | <span class="built_in">Where-Object</span> Name <span class="operator">-eq</span> <span class="string">&#x27;vCPUsAvailable&#x27;</span> | <span class="built_in">Select-Object</span> <span class="literal">-ExpandProperty</span> Value <span class="literal">-First</span> <span class="number">1</span>)</span><br><span class="line">    &#125;&#125;,</span><br><span class="line">    <span class="selector-tag">@</span>&#123;Name=<span class="string">&#x27;DiskControllerTypes&#x27;</span>;Expression=&#123;</span><br><span class="line">      (<span class="variable">$_</span>.Capabilities | <span class="built_in">Where-Object</span> Name <span class="operator">-eq</span> <span class="string">&#x27;DiskControllerTypes&#x27;</span> | <span class="built_in">Select-Object</span> <span class="literal">-ExpandProperty</span> Value <span class="literal">-First</span> <span class="number">1</span>)</span><br><span class="line">    &#125;&#125; |</span><br><span class="line">  <span class="built_in">Sort-Object</span> <span class="literal">-Property</span> <span class="selector-tag">@</span>&#123;Expression=<span class="string">&#x27;Family&#x27;</span>; Ascending=<span class="variable">$true</span>&#125;,</span><br><span class="line">                        <span class="selector-tag">@</span>&#123;Expression=&#123; [<span class="built_in">int</span>]<span class="variable">$_</span>.vCPUs &#125;; Ascending=<span class="variable">$true</span>&#125; |</span><br><span class="line">  <span class="built_in">Format-Table</span> <span class="literal">-AutoSize</span></span><br></pre></td></tr></table></figure><ul><li>Bash + Azure CLI 環境でのコマンド例</li></ul><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">az vm list-skus -l ＜リージョン名＞ -r virtualMachines \</span><br><span class="line">  --query <span class="string">&quot;sort_by([].&#123;Family: family, Size: name, DiskControllerTypes: capabilities[?name==&#x27;DiskControllerTypes&#x27;].value|[0], vCPUs: to_number(capabilities[?name==&#x27;vCPUsAvailable&#x27;].value|[0])&#125;, &amp;vCPUs) | sort_by(@, &amp;Family)&quot;</span> \</span><br><span class="line">  -o table</span><br></pre></td></tr></table></figure><p>実際のコマンドの実行結果の例を一部抜粋いたします。  </p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line">Family                           Name                      vCPUs DiskControllerTypes</span><br><span class="line">------                           ----                      ----- -------------------</span><br><span class="line">standardEAv4Family               Standard_E96a_v4          96</span><br><span class="line">StandardNCadsH100v5Family        Standard_NC80adis_H100_v5 80    SCSI</span><br><span class="line">standardEBDSv5Family             Standard_E2bds_v5         2     SCSI,NVMe</span><br><span class="line">standardEav6Family               Standard_E2as_v6          2     NVMe</span><br></pre></td></tr></table></figure><p>この得られた内容から DiskControllerTypes を確認することで、以下のようにサポートされるディスクコントローラータイプを判別することが可能です。  </p><table><thead><tr><th>DiskControllerTypes</th><th>VM サイズのディスクコントローラーサポート状況</th></tr></thead><tbody><tr><td>空欄</td><td>SCSI ディスクコントローラー必須の VM サイズです。</td></tr><tr><td>SCSI</td><td>SCSI ディスクコントローラー必須の VM サイズです。</td></tr><tr><td>SCSI,NVMe</td><td>SCSI,NVMe 両方のディスクコントローラーをサポートしている VM サイズです。（極一部の VM サイズファミリのみ。）</td></tr><tr><td>NVMe</td><td>NVMe ディスクコントローラー必須の VM サイズです。</td></tr></tbody></table><div class="alert is-success"><p class="alert-title">ヒント</p><p>ご希望の VM サイズがどのゾーンで提供されているか確認をしたい場合は、以下のブログ記事をご参照ください。</p><p>＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝</p><p>■ご参考：当該リージョン、ゾーンにて変更先のサイズが提供されているか</p><p><a href="https://jpaztech.github.io/blog/vm/vm-size-change/#%E5%BD%93%E8%A9%B2%E3%83%AA%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%80%81%E3%82%BE%E3%83%BC%E3%83%B3%E3%81%AB%E3%81%A6%E5%A4%89%E6%9B%B4%E5%85%88%E3%81%AE%E3%82%B5%E3%82%A4%E3%82%BA%E3%81%8C%E6%8F%90%E4%BE%9B%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E3%81%8B">https://jpaztech.github.io/blog/vm/vm-size-change/#%E5%BD%93%E8%A9%B2%E3%83%AA%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%80%81%E3%82%BE%E3%83%BC%E3%83%B3%E3%81%AB%E3%81%A6%E5%A4%89%E6%9B%B4%E5%85%88%E3%81%AE%E3%82%B5%E3%82%A4%E3%82%BA%E3%81%8C%E6%8F%90%E4%BE%9B%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E3%81%8B</a></p></div><hr><h2 id="NVMe-必須サイズを利用するにあたっての前提条件"><a href="#NVMe-必須サイズを利用するにあたっての前提条件" class="headerlink" title="NVMe 必須サイズを利用するにあたっての前提条件"></a>NVMe 必須サイズを利用するにあたっての前提条件</h2><p>NVMe 必須サイズを利用する場合、以下の前提条件を満たしている必要がございます。  </p><h3 id="第-2-世代-VMである"><a href="#第-2-世代-VMである" class="headerlink" title="第 2 世代 VMである"></a>第 2 世代 VMである</h3><p>第 2 世代 VM をご利用いただく必要がございます。  </p><p>■ご参考：第 1 世代 VM は NVMe ディスクでサポートされますか?<br><a href="https://learn.microsoft.com/ja-jp/azure/virtual-machines/enable-nvme-faqs#--1----vm---nvme----------------">https://learn.microsoft.com/ja-jp/azure/virtual-machines/enable-nvme-faqs#--1----vm---nvme----------------</a>  </p><h3 id="ゲスト-OS-が-NVMe-をサポートしている必要がある"><a href="#ゲスト-OS-が-NVMe-をサポートしている必要がある" class="headerlink" title="ゲスト OS が NVMe をサポートしている必要がある"></a>ゲスト OS が NVMe をサポートしている必要がある</h3><p>ゲスト OS が NVMe をサポートするバージョンである必要がございます。<br>NVMe サポート対象の OS は以下のドキュメントよりご確認ください。  </p><p>■ご参考：リモート NVMe でサポートされている OS イメージ<br><a href="https://learn.microsoft.com/ja-jp/azure/virtual-machines/enable-nvme-interface">https://learn.microsoft.com/ja-jp/azure/virtual-machines/enable-nvme-interface</a>  </p><h3 id="新規-VM-作成時は-NVMe-のマークのあるイメージを使用する必要がある"><a href="#新規-VM-作成時は-NVMe-のマークのあるイメージを使用する必要がある" class="headerlink" title="新規 VM 作成時は NVMe のマークのあるイメージを使用する必要がある"></a>新規 VM 作成時は NVMe のマークのあるイメージを使用する必要がある</h3><p>NVMe 必須サイズで新規 VM 作成をする際は、NVMe 対応のマークのあるイメージから VM 作成が必要となっております。<br>NVMe に対応するカスタムイメージを作成する例については、後述させていただきます。<br>詳細は以下のドキュメントをご参照ください。  </p><p>■ご参考：NVMe 対応のマーク<br><a href="https://learn.microsoft.com/ja-jp/azure/virtual-machines/nvme-overview#mark-as-nvme-capable">https://learn.microsoft.com/ja-jp/azure/virtual-machines/nvme-overview#mark-as-nvme-capable</a>   </p><hr><h2 id="SCSI-必須サイズと-NVMe-必須サイズ間の-VM-サイズ変更について"><a href="#SCSI-必須サイズと-NVMe-必須サイズ間の-VM-サイズ変更について" class="headerlink" title="SCSI 必須サイズと NVMe 必須サイズ間の VM サイズ変更について"></a>SCSI 必須サイズと NVMe 必須サイズ間の VM サイズ変更について</h2><p>以下の通り、同じディスクコントローラーを必須とする VM サイズ間での VM サイズ変更は簡単に可能でございます。<br>他方、現在と異なるディスクコントローラーを必須とするサイズへ変更する場合はディスクコントローラー変換といった対応が必要となります。  </p><table><thead><tr><th>現在の VM サイズ</th><th>変更先の VM サイズ</th><th>変更可否について</th></tr></thead><tbody><tr><td>SCSI 必須 サイズ</td><td>SCSI 必須 サイズ</td><td>変更可能。</td></tr><tr><td><strong>NVMe</strong> 必須 サイズ</td><td><strong>NVMe</strong> 必須 サイズ</td><td>変更可能。</td></tr><tr><td>SCSI 必須 サイズ</td><td><strong>NVMe</strong> 必須 サイズ</td><td>変更可能だが、ディスクコントローラーの変換対応が必要。</td></tr><tr><td><strong>NVMe</strong> 必須 サイズ</td><td>SCSI 必須 サイズ</td><td>変更可能だが、ディスクコントローラーの変換対応が必要。</td></tr></tbody></table><p>ディスクコントローラーの変換が必要な場合は、Azure ポータルでは以下のようにディスクコントローラーの互換性が無いとの表示となり、VM サイズ変更の選択が叶いません。  </p><p><img src="/blog/vm/nvme-vm/gokan.png" alt="互換性のないディスク コントローラーの種類 このサイズは、SCSI ディスク コントローラーの種類をサポートしていないため、使用できません。"></p><div class="alert is-info"><p class="alert-title">Note</p><p>トラステッド起動で構成された VM の場合、SCSI 必須サイズから NVMe 必須サイズに移行することは叶いませんのでご留意ください。</p><p>＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝</p><p>■ご参考：トラステッド起動で構成された VM を SCSI から NVMe に移行することはできますか?</p><p><a href="https://learn.microsoft.com/ja-jp/azure/virtual-machines/enable-nvme-faqs#---------------vm---scsi----nvme---------------">https://learn.microsoft.com/ja-jp/azure/virtual-machines/enable-nvme-faqs#---------------vm---scsi----nvme---------------</a></p><p>＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝</p><p>抜粋：”いいえ。トラステッド起動で構成された VM を SCSI から NVMe に移行することはできません。”</p></div><p>既存の VM について、VM サイズ変更元と変更先の必須ディスクコントローラーが違う場合に、VM サイズ変更方法について以下に解説させていただきます。   </p><hr><h2 id="ディスクコントローラーを変更し-NVMe-必須サイズへ変更する方法、および-SCSI-必須サイズに戻す方法"><a href="#ディスクコントローラーを変更し-NVMe-必須サイズへ変更する方法、および-SCSI-必須サイズに戻す方法" class="headerlink" title="ディスクコントローラーを変更し NVMe 必須サイズへ変更する方法、および SCSI 必須サイズに戻す方法"></a>ディスクコントローラーを変更し NVMe 必須サイズへ変更する方法、および SCSI 必須サイズに戻す方法</h2><div class="alert is-warning"><p class="alert-title">警告</p><p>恐縮ながら現時点において、<strong>既存の Windows VM</strong> については SCSI 必須サイズから NVMe 必須サイズに変更することを明確にサポートしている手順のご用意がございません。</p><p>そのため、原則としては新規に Azure マーケットプレイスなどから NVMe 必須サイズの Windows VM を新規に構築いただくことをご検討ください。</p><p>下記の Azure-NVMe-Conversion.ps1 にて Windows VM を NVMe 必須サイズに変更する操作自体は可能と存じますが、変更後にゲスト OS 起動不可の問題等が発生した場合は別途新規 VM 構築の方針をとっていただけますと幸いです。</p><p>v5 サイズといった SCSI ディスクコントローラーを採用する VM サイズ内でのサイズ変更もご検討いただけますと幸いでございます。  </p></div><div class="alert is-warning"><p class="alert-title">警告</p><p>Azure-NVMe-Conversion.ps1 を利用の際は、ゲスト OS 起動不可等の予期せぬ状況に備えて、必ずバックアップ取得を行った上で検証や実施をお願いいたします。</p><p>もし、予期せず起動不可となってしまった場合には、サイズを戻すことやバックアップからのリストアをご検討ください。</p></div><p>以下の Azure NVMe Utilities に含まれる Azure-NVMe-Conversion.ps1 という PowerShell スクリプトをご利用いただくことで、Azure VM を NVMe 必須サイズへ変更および、SCSI 必須サイズに戻すことが可能です。<br>このスクリプトでは Azure VM のディスクコントローラーの変更も行われます。</p><p>■ご参考：Azure NVMe Utilities<br><a href="https://github.com/Azure/SAP-on-Azure-Scripts-and-Utilities/tree/main/Azure-NVMe-Utils">https://github.com/Azure/SAP-on-Azure-Scripts-and-Utilities/tree/main/Azure-NVMe-Utils</a>  </p><p>上記ドキュメントの Usage に記載の手順となりますが、一部補足しつつ手順について解説させていただきます。  </p><hr><h3 id="NVMe-必須サイズへ変更および-SCSI-必須サイズに戻す手順の解説"><a href="#NVMe-必須サイズへ変更および-SCSI-必須サイズに戻す手順の解説" class="headerlink" title="NVMe 必須サイズへ変更および SCSI 必須サイズに戻す手順の解説"></a>NVMe 必須サイズへ変更および SCSI 必須サイズに戻す手順の解説</h3><p>1:<br>Azure PowerShell の実行環境をご用意ください。<br>Azure Cloud Shell 上の PowerShell をご利用いただくことも可能です。  </p><p>■ご参考：Azure PowerShell をインストールする方法<br><a href="https://learn.microsoft.com/ja-jp/powershell/azure/install-azure-powershell">https://learn.microsoft.com/ja-jp/powershell/azure/install-azure-powershell</a>  </p><p>2:<br>PowerShell 上にて、署名されていない PowerShell スクリプトを許可する設定を行うため、以下のコマンドを実行します。<br>Cloud Shell 環境や、既にスクリプト実行が可能な環境の場合はスキップ可能と存じます。  </p><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">Set-ExecutionPolicy</span> <span class="literal">-ExecutionPolicy</span> Unrestricted</span><br></pre></td></tr></table></figure><p>3:<br>Azure アカウントに接続していない場合は、以下のコマンドでサインインします。  </p><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">Connect-AzAccount</span></span><br></pre></td></tr></table></figure><p>4:<br>現在接続しているサブスクリプションを確認し、必要に応じて対象サブスクリプションに切り替えます。  </p><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line"></span><br><span class="line"><span class="comment"># 現在接続しているサブスクリプションの確認</span></span><br><span class="line"><span class="built_in">Get-AzContext</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 接続先サブスクリプションの切り替え</span></span><br><span class="line"><span class="built_in">Select-AzSubscription</span> <span class="literal">-Subscription</span> xxxxxxxx<span class="literal">-xxxx-xxxx-xxxx-xxxxxxxxxxxx</span></span><br></pre></td></tr></table></figure><p>5:<br>以下の PowerShell コマンドで変換用のスクリプトをダウンロードします。  </p><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">Invoke-WebRequest</span> <span class="literal">-Uri</span> <span class="string">&quot;https://raw.githubusercontent.com/Azure/SAP-on-Azure-Scripts-and-Utilities/refs/heads/main/Azure-NVMe-Utils/Azure-NVMe-Conversion.ps1&quot;</span> <span class="literal">-OutFile</span> <span class="string">&quot;.\Azure-NVMe-Conversion.ps1&quot;</span></span><br></pre></td></tr></table></figure><p>6:<br>ダウンロードした変換スクリプトを実行します。<strong>VM 起動状態</strong>にて実施をお願いいたします。<br>以下は NVMe 必須サイズもしくは SCSI 必須サイズに変換する例となります。  </p><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># スクリプト実行の例</span></span><br><span class="line">./Azure<span class="literal">-NVMe-Conversion</span>.ps1 <span class="literal">-ResourceGroupName</span> &lt;リソースグループ名&gt; <span class="literal">-VMName</span> &lt;VM名&gt; <span class="literal">-NewControllerType</span> &lt;NVMe もしくは SCSI&gt; <span class="literal">-VMSize</span> &lt;変換先 VM サイズ名&gt; <span class="literal">-FixOperatingSystemSettings</span></span><br></pre></td></tr></table></figure><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># スクリプト実行の例（NVMe 必須サイズへ変換する際の実際の値の例）</span></span><br><span class="line">./Azure<span class="literal">-NVMe-Conversion</span>.ps1 <span class="literal">-ResourceGroupName</span> yourRGNAME <span class="literal">-VMName</span> yourVMNAME <span class="literal">-NewControllerType</span> NVMe <span class="literal">-VMSize</span> Standard_D2s_v6 <span class="literal">-FixOperatingSystemSettings</span></span><br></pre></td></tr></table></figure><p>実行が成功すると、以下の例のように NVMe 必須サイズおよび NVMe ディスクコントローラーへの変更が完了しているはずです。<br>ゲスト OS の起動等に問題が無いか、ブート診断の確認や実際の接続テスト等もお願いいたします。  </p><p><img src="/blog/vm/nvme-vm/comp.png"></p><div class="alert is-important"><p class="alert-title">重要</p><p>上記のスクリプト実行にあたっての免責事項等について以下をご参照ください。</p><p><a href="https://github.com/Azure/SAP-on-Azure-Scripts-and-Utilities/blob/main/LICENSE">https://github.com/Azure/SAP-on-Azure-Scripts-and-Utilities/blob/main/LICENSE</a>  </p></div><hr><h3 id="Azure-NVMe-Conversion-ps1-のパラメータの解説"><a href="#Azure-NVMe-Conversion-ps1-のパラメータの解説" class="headerlink" title="Azure-NVMe-Conversion.ps1 のパラメータの解説"></a>Azure-NVMe-Conversion.ps1 のパラメータの解説</h3><p>Azure-NVMe-Conversion.ps1 の全てのパラメータのオプション一覧および解説については、上記の Azure NVMe Utilities 内のドキュメントの記載を参照いただきたく存じますが、上記の例で使用しているオプションについて解説させていただきます。  </p><table><thead><tr><th>パラメータ</th><th>解説</th></tr></thead><tbody><tr><td>-ResourceGroupName</td><td>変換元の VM が存在するリソースグループ名を指定します。</td></tr><tr><td>-VMName</td><td>変換元の VM 名を指定します。</td></tr><tr><td>-NewControllerType</td><td>NVMe 必須サイズに変換する場合は、<strong>NVMe</strong> を指定します。SCSI 必須サイズにする場合は、<strong>SCSI</strong> を指定します。</td></tr><tr><td>-VMSize</td><td>変換先の VM サイズを指定します。</td></tr><tr><td>-FixOperatingSystemSettings</td><td>ディスクコントローラー変換にあたり、ゲスト OS 内の設定を RunCommands を用いて自動的に変更します。</td></tr></tbody></table><hr><h3 id="NVMe-サイズへの変更に関する参考情報"><a href="#NVMe-サイズへの変更に関する参考情報" class="headerlink" title="NVMe サイズへの変更に関する参考情報"></a>NVMe サイズへの変更に関する参考情報</h3><p>以下は NVMe サイズへの変更に関する、各種参考情報となります。  </p><p>■ご参考：SCSI ベースの VM のサイズを、異なるサイズのリモート NVMe 対応 VM にサイズ変更するにはどうすればよいですか?<br><a href="https://learn.microsoft.com/ja-jp/azure/virtual-machines/enable-nvme-remote-faqs#scsi------vm-------------------nvme----vm----------------------">https://learn.microsoft.com/ja-jp/azure/virtual-machines/enable-nvme-remote-faqs#scsi------vm-------------------nvme----vm----------------------</a>  </p><p>■ご参考：Moving Linux and Windows from SCSI to NVMe with one easy command<br><a href="https://techcommunity.microsoft.com/blog/sapapplications/moving-linux-and-windows-from-scsi-to-nvme-with-one-easy-command/4427954">https://techcommunity.microsoft.com/blog/sapapplications/moving-linux-and-windows-from-scsi-to-nvme-with-one-easy-command/4427954</a>  </p><p>■ご参考：Linux を実行している仮想マシンの SCSI から NVMe への変換<br><a href="https://learn.microsoft.com/ja-jp/azure/virtual-machines/nvme-linux">https://learn.microsoft.com/ja-jp/azure/virtual-machines/nvme-linux</a>  </p><hr><h2 id="NVMe-必須サイズ対応のカスタムイメージを用意する方法"><a href="#NVMe-必須サイズ対応のカスタムイメージを用意する方法" class="headerlink" title="NVMe 必須サイズ対応のカスタムイメージを用意する方法"></a>NVMe 必須サイズ対応のカスタムイメージを用意する方法</h2><p>前述の通り、VM イメージから NVMe 必須サイズの VM の作成をする場合は、そのイメージが NVMe 対応にマークされている必要がございます。<br>これはお客様自身でご用意いただく、カスタムイメージについても同様でございます。  </p><p>NVMe 対応にマークされていないイメージから NVMe 必須サイズで VM 作成しようとすると、Azure ポータルの場合「互換性のないディスク コントローラーの種類 このサイズは、SCSI ディスク コントローラーの種類をサポートしていないため、使用できません。」というメッセージが表示され、NVMe 必須サイズの選択が叶いません。  </p><div class="alert is-info"><p class="alert-title">Note</p><p>NVMe 必須サイズは以下の通り、Azure マーケットプレースおよび Azure Compute Gallery からのみ作成可能であり、Azure Compute Gallery を使用しないレガシマネージドイメージからは作成が叶いません点ご留意ください。</p><p>＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝</p><p>■ご参考：NVMe 対応のマーク</p><p><a href="https://learn.microsoft.com/ja-jp/azure/virtual-machines/nvme-overview#mark-as-nvme-capable">https://learn.microsoft.com/ja-jp/azure/virtual-machines/nvme-overview#mark-as-nvme-capable</a></p><p>＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝</p><p>抜粋：”NVMe インターフェイスが有効な VM は、NVMe とマークされたイメージ (マーケットプレースで入手可能。または社内の Azure Compute Gallery で共有されます) を使用して<strong>のみ</strong>作成できます。”</p></div><p>NVMe 必須サイズ対応のカスタムイメージを用意する例について紹介させていただきます。  </p><hr><h3 id="NVMe-必須サイズ対応のカスタムイメージを用意する例"><a href="#NVMe-必須サイズ対応のカスタムイメージを用意する例" class="headerlink" title="NVMe 必須サイズ対応のカスタムイメージを用意する例"></a>NVMe 必須サイズ対応のカスタムイメージを用意する例</h3><p>1:<br>Azure マーケットプレースから新規に NVMe 必須サイズで VM を作成します。  </p><p>2:<br>必要に応じて、作成した VM 内で OS 内のカスタムや一般化作業を行います。  </p><p>3:<br>Azure Compute Gallery に NVMe 対応のイメージ定義を作成し、イメージを登録します。<br>Azure ポータルの場合、対象の VM の画面から [キャプチャ] -&gt; [イメージ] を選択することで登録ができます。  </p><p><img src="/blog/vm/nvme-vm/image1.png"></p><p>4:<br>イメージ作成画面に遷移しますので、イメージを作成します。  </p><p><img src="/blog/vm/nvme-vm/image2.png"></p><p>上記画像例のように「Azure コンピューティング ギャラリーにイメージを共有する：はい、ギャラリーに VM イメージ バージョンとして共有します。」を選択します。  </p><p>その後「ターゲット VM イメージ定義：新規作成」より新規の VM イメージ定義作成ができます。<br>この VM イメージ定義作成にて「NVMe によるストレージ パフォーマンスの向上」にチェックを入れます。<br>これにより NVMe 必須サイズの VM 作成が可能な、NVMe 対応にマークされたイメージとして登録できるようになります。  </p><div class="alert is-success"><p class="alert-title">ヒント</p><p>本手順では、イメージ作成元の VM が NVMe 必須サイズの場合は自動で「NVMe によるストレージ パフォーマンスの向上」にチェックが入っているものと存じます。</p><p>他方、イメージ作成元の VM が SCSI 必須サイズの場合は、このチェックの選択はできません。</p></div><p>各種設定後、「確認および作成」ボタンよりイメージ作成を行います。  </p><p>5:<br>上記手順で作成したイメージからは、NVMe 必須サイズおよび SCSI 必須サイズ両方での VM 作成が可能と存じます。<br>実際に OS 起動等に問題が無いかご確認をお願いいたします。  </p><hr><p>以上が NVMe 必須サイズに関する解説となります。<br>上記の情報は記事執筆時点のものとなり、公開情報や機能等は日々更新されていきますので、必要に応じて公開情報等の最新情報もご参照いただけますと幸いでございます。  </p><p>これらの内容が皆様のお役に立てますと幸いです。  </p>]]>
    </content>
    <id>https://jpaztech.github.io/blog/vm/nvme-vm/</id>
    <link href="https://jpaztech.github.io/blog/vm/nvme-vm/"/>
    <published>2026-01-09T03:00:00.000Z</published>
    <summary>
      <![CDATA[<p>こんにちは。Azure テクニカル サポート チームの富田です。<br>今回は、Dsv6 シリーズ等の NVMe 必須となる VM サイズシリーズのご利用を検討されているお客様より、よくお問い合わせをいただく以下の点について解説させていただきます。  </p>
<ul>
<]]>
    </summary>
    <title>NVMe ディスクコントローラー必須の Azure VM サイズについて（Dsv5 から Dsv6 サイズへの変更など）</title>
    <updated>2026-04-20T03:45:50.754Z</updated>
  </entry>
  <entry>
    <author>
      <name>Japan Azure IaaS Core Support Team</name>
    </author>
    <category term="VM" scheme="https://jpaztech.github.io/blog/tags/VM/"/>
    <content>
      <![CDATA[<p>こんにちは、Azure テクニカル サポート チームの富田です。<br>一部のお客様に <strong>TRACKING ID : J_Z9-7QZ</strong> として「Action required: Update certificates for Azure Instance Metadata Service」というタイトルのサービス正常性の通知が配信されました。  </p><p>基本的には通知の内容をご参照いただきたく存じますが、本件についてお問い合わせを多くいただいておりますため、本記事にて補足として解説させていただきます。  </p><hr><h2 id="本通知の影響について"><a href="#本通知の影響について" class="headerlink" title="本通知の影響について"></a>本通知の影響について</h2><p>この度配信されました通知は、Azure Instance Metadata Service (IMDS) の機能のうち、「構成証明済みデータ」の機能を、お客様が開発されたアプリケーションで使用している場合の注意喚起です。<br>「構成証明済みデータ」の機能は、対象の VM が Azure 上で実行されていること保証する情報を Azure 基盤による署名付きのデータとして取得できる機能です。<br>このデータの署名の際に使用される下位証明機関（Subordinate CA）の証明書が更新されることに伴い、後述の「証明書のピン留め」がなされている場合に影響が生じる可能性があるため、お知らせとして配信しております。  </p><p>つまり、以下の条件のいずれかに該当する場合は、お客様への影響はございません。</p><hr><h3 id="1-お客様が開発されたアプリケーションにて、IMDS-が提供している各種機能の中の「構成証明済みデータ」-の機能を利用していない場合。"><a href="#1-お客様が開発されたアプリケーションにて、IMDS-が提供している各種機能の中の「構成証明済みデータ」-の機能を利用していない場合。" class="headerlink" title="1. お客様が開発されたアプリケーションにて、IMDS が提供している各種機能の中の「構成証明済みデータ」 の機能を利用していない場合。"></a>1. お客様が開発されたアプリケーションにて、IMDS が提供している各種機能の中の「構成証明済みデータ」 の機能を利用していない場合。</h3><p>IMDS の各種機能のうち、影響を受けるのは下記の「構成証明済みデータ」機能のみです。<br>「スケジュールされたイベント」の取得など、IMDS の他の機能のご利用には影響はありません。  </p><p>■ご参考：構成証明済みデータ<br><a href="https://learn.microsoft.com/ja-jp/azure/virtual-machines/instance-metadata-service?tabs=windows#attested-data">https://learn.microsoft.com/ja-jp/azure/virtual-machines/instance-metadata-service?tabs=windows#attested-data</a>  </p><hr><h3 id="2-「構成証明済みデータ」を利用するアプリケーションにて、「証明書のピン留め」の実装を行っていない場合。"><a href="#2-「構成証明済みデータ」を利用するアプリケーションにて、「証明書のピン留め」の実装を行っていない場合。" class="headerlink" title="2. 「構成証明済みデータ」を利用するアプリケーションにて、「証明書のピン留め」の実装を行っていない場合。"></a>2. 「構成証明済みデータ」を利用するアプリケーションにて、「証明書のピン留め」の実装を行っていない場合。</h3><p>「証明書のピン留め」は、アプリケーション内で信頼する証明書を固定する実装の手法です。<br>「証明書のピン留め」は Azure 側が行う操作でもなく、Guest OS 内で自動設定されることもございません。<br>「証明書のピン留め」 の実装の有無は、アプリケーションに依存いたしますので、誠に恐れ入りますが、「構成証明済みデータ」を利用するアプリケーションにてご確認をいただきますようお願いいたします。  </p><p>なお、「証明書のピン留め」の手法は、弊社としては推奨はしておりません。  </p><p>■ご参考：証明書のピン留め<br><a href="https://learn.microsoft.com/ja-jp/azure/security/fundamentals/certificate-pinning">https://learn.microsoft.com/ja-jp/azure/security/fundamentals/certificate-pinning</a>  </p><hr><h2 id="まとめ"><a href="#まとめ" class="headerlink" title="まとめ"></a>まとめ</h2><p>上述の通り、お客様が開発されたアプリケーション内にて IMDS が提供している各種機能の中の「構成証明済みデータ」 の機能を「証明書のピン留め」の実装した上で使用している場合のみ、対応が必要なものとなります。<br>なお、本通知が届いている環境は必ずそのような実装を行っているというものでもございません。  </p><p>弊社側からお客様自身が開発されたアプリケーションにて、上記実装を行っているかといった点は弊社より確認が叶いませんので、お客様自身にてご確認が必要となります点ご理解いただけますと幸いです。<br>しかしながら、上述の通り非常に稀な実装をお客様自身で行っている場合のみ対応が必要なものでございますので、ほとんどのお客様では特段ご対応の必要は無いもの存じます。  </p>]]>
    </content>
    <id>https://jpaztech.github.io/blog/vm/imds-pinning/</id>
    <link href="https://jpaztech.github.io/blog/vm/imds-pinning/"/>
    <published>2025-11-25T08:30:00.000Z</published>
    <summary>
      <![CDATA[<p>こんにちは、Azure テクニカル サポート チームの富田です。<br>一部のお客様に <strong>TRACKING ID : J_Z9-7QZ</strong> として「Action required: Update certificates for Azure In]]>
    </summary>
    <title>Action required：Update certificates for Azure Instance Metadata Service の通知の補足</title>
    <updated>2026-04-20T03:45:50.732Z</updated>
  </entry>
  <entry>
    <author>
      <name>Japan Azure IaaS Core Support Team</name>
    </author>
    <category term="Network" scheme="https://jpaztech.github.io/blog/tags/Network/"/>
    <category term="Azure Firewall" scheme="https://jpaztech.github.io/blog/tags/Azure-Firewall/"/>
    <category term="Prescaling" scheme="https://jpaztech.github.io/blog/tags/Prescaling/"/>
    <category term="auto scaling" scheme="https://jpaztech.github.io/blog/tags/auto-scaling/"/>
    <category term="instance" scheme="https://jpaztech.github.io/blog/tags/instance/"/>
    <content>
      <![CDATA[<p>こんにちは、Azure テクニカル サポート チームの園部です。</p><p>今回は日本時間 2025 年 10月 17 日に GA (General Availability) されたプレスケーリング機能 (事前スケーリング機能) について紹介します。</p><span id="more"></span><h2 id="Azure-Firewall-の自動スケーリング機能の動作、課題"><a href="#Azure-Firewall-の自動スケーリング機能の動作、課題" class="headerlink" title="Azure Firewall の自動スケーリング機能の動作、課題"></a>Azure Firewall の自動スケーリング機能の動作、課題</h2><p>プレスケーリング機能の紹介の前に、Azure Firewall に元々備わっている自動スケーリング機能の動作と課題について紹介します。</p><p>Azure Firewall には、内部コンポーネントとして、トラフィックのルール評価、処理などを行っている内部インスタンスが存在しています。<br>Azure Firewall Standard, Premium の内部インスタンス数は、自動スケーリング機能により変化し、既定では最小で 2 インスタンス、最大で 20 インスタンスが動作します。※Azure Firewall Basic は 2 インスタンス固定で、自動スケーリング機能は備わっていません。<br>この自動スケーリング機能では、平均スループットや CPU 使用率、コネクション数に応じて自動的にスケールアウト&#x2F;スケールインを行います。<br>Azure Firewall の自動スケーリング機能の公開情報は <a href="https://learn.microsoft.com/ja-jp/azure/firewall/firewall-performance">Azure Firewall のパフォーマンス</a> を参照してください。</p><p>しかし、この自動スケーリング機能には以下のような課題があります。</p><p>・スケールアウト時の課題<br>スケールアウトには通常 5-7 分程度要します。その為、突然のトラフィックの急増にスケールアウトが追い付かず、いくつかのリクエストで遅延、正常に接続が行えない、といった事象が発生する可能性があります。</p><p>・スケールイン時の課題<br>長期コネクションが残存しているインスタンスでスケールインが発生すると、当該インスタンスが削除される際に、予期しない接続断が発生する可能性があります。</p><h2 id="Azure-Firewall-のプレスケーリング機能の動作、メリット"><a href="#Azure-Firewall-のプレスケーリング機能の動作、メリット" class="headerlink" title="Azure Firewall のプレスケーリング機能の動作、メリット"></a>Azure Firewall のプレスケーリング機能の動作、メリット</h2><p>今回 GA されたプレスケーリング機能では、Azure Firewall リソース個々に、最小インスタンス数と、自動スケーリングによる最大インスタンス数をご指定頂くことが可能となります。</p><p>例えば、最小インスタンス数を 5, 最大インスタンス数を 20 とすると、平常時は 5 インスタンスで動作し、スループットの増加やインスタンスの CPU 使用率等に合わせて最大 20 インスタンスまでスケールアウトします。<br>また最小インスタンス数と最大インスタンス数を同じ値にすることで、インスタンス数を常にその値に固定することが可能となり、自動スケーリングが行われなくなります。</p><p>このプレスケーリング機能の公開情報は <a href="https://learn.microsoft.com/ja-jp/azure/firewall/prescaling">Azure Firewall の事前スケーリング</a> を参照してください。</p><p>プレスケーリング機能により、上述の自動スケーリング機能における課題を低減頂くことが可能となります。<br>例えば、一時的なイベント等により Azure Firewall を経由するトラフィック量が急増することを把握されているような場合、事前に、最小値を既定の 2 以上に設定しておくことでスケールアウト時の課題を回避できます。<br>またスケールインによる予期しない接続断を発生させたくない環境の場合、最小インスタンス数と最大インスタンス数を同じ値にしておくことで、スケールインを防ぐことが可能です。</p><h2 id="プレスケーリング機能を利用する際の留意事項"><a href="#プレスケーリング機能を利用する際の留意事項" class="headerlink" title="プレスケーリング機能を利用する際の留意事項"></a>プレスケーリング機能を利用する際の留意事項</h2><p>プレスケーリング機能をご利用される際は以下の点に特にご留意ください。</p><ul><li><p>Azure Firewall メトリックに新たに追加された [Observed capacity Units] メトリックを参照し、適切な最小インスタンス数、最大インスタンス数を設定してください。このメトリックを参照する際は、[集計] を “平均” にしてください。<br>　<img src="/blog/network/fw-prescaling/fw-observed-capacity-units-metric.png" alt="Observed capacity Units メトリック例"></p></li><li><p>プレスケーリング機能をご利用頂くと、<strong>通常の料金に追加</strong>し、以下の課金も発生します。</p><table><thead><tr><th align="center">SKU</th><th align="center">容量ユニット (1 インスタンス) あたりの価格</th></tr></thead><tbody><tr><td align="center">Azure Firewall Standard</td><td align="center">容量ユニット時間あたり $0.07</td></tr><tr><td align="center">Azure Firewall Premium</td><td align="center">容量ユニット時間あたり $0.11</td></tr></tbody></table><p>例えば Azure Firewall Standard において、プレスケーリング機能により最小インスタンス数を 10、最大インスタンス数を 30 として 100 時間稼働させた場合、$0.07 * 8 (instances) * 100 (hours) &#x3D; $56 が追加費用として発生することになります。<br>なお、プレスケーリング機能を使用した状態であっても、オートスケールによるインスタンス増加分に対しては費用追加はありません。例えば、オートスケールによりインスタンス数が最小値の 10 から最大値の 30 に増加し、その状態で 100 時間動作したとしても、追加費用は最小インスタンス数で指定した 10 インスタンスを基準に計算され、$56 のままです。<br>また、計算に用いられるインスタンス数については、10 インスタンスとしてカウントされるのではなく、既定で動作する 2 インスタンスを差し引いた 8 インスタンスとしてカウントされている点にご注意ください。<br></p></li></ul><p>その他、既述の公開情報内でも <a href="https://learn.microsoft.com/ja-jp/azure/firewall/prescaling#limitations">制限事項</a> や <a href="https://learn.microsoft.com/ja-jp/azure/firewall/prescaling#known-issues">既知の問題</a> として注意点等の記載がございますので、併せてご参照ください。<br><br></p><p>以上、Azure Firewall プレスケーリング機能をご利用される際のご参考になれば幸いです。</p><hr>]]>
    </content>
    <id>https://jpaztech.github.io/blog/network/fw-prescaling/</id>
    <link href="https://jpaztech.github.io/blog/network/fw-prescaling/"/>
    <published>2025-10-20T03:00:00.000Z</published>
    <summary>
      <![CDATA[<p>こんにちは、Azure テクニカル サポート チームの園部です。</p>
<p>今回は日本時間 2025 年 10月 17 日に GA (General Availability) されたプレスケーリング機能 (事前スケーリング機能) について紹介します。</p>]]>
    </summary>
    <title>Azure Firewall のプレスケーリング機能 (事前スケーリング機能) について</title>
    <updated>2026-04-20T03:45:50.392Z</updated>
  </entry>
  <entry>
    <author>
      <name>Japan Azure IaaS Core Support Team</name>
    </author>
    <category term="Information" scheme="https://jpaztech.github.io/blog/tags/Information/"/>
    <content>
      <![CDATA[<p>こんにちは。Azure テクニカル サポート チームです。</p><p>本記事では、Microsoft Azure サポートにおける、アドバイザリ区分のお問い合わせにおける対応範囲とベストプラクティスについてご説明します。</p><span id="more"></span><h2 id="アドバイザリとは"><a href="#アドバイザリとは" class="headerlink" title="アドバイザリとは"></a>アドバイザリとは</h2><p>Azure サポートにおいて、お問い合わせは大きく 2 種類に区分されます。</p><ul><li><p><strong>障害対応 (BreakFix)</strong><br>製品における不具合 (エラーやサービス ダウンなどを伴う現象) の回避・解消を目的としたトラブルシューティング対応を指し、Azure サポートでは現象の解消をゴールに対応を行っております。</p></li><li><p><strong>アドバイザリ</strong><br>「製品の使い方、設定についてのハウツー」 など、障害対応以外のニーズに伴う領域を指します。<br>Azure サポートでは、文書化されたベストプラクティスへのアクセス、実装や構成に関する一般的な製品ドキュメントの提供のご案内の範囲で対応させていただくという対応範囲となります。<br>なお、障害対応の延長として、(すでに解消済み・過去に発生の) 問題が発生したことについての原因を知りたいというご要望もアドバイザリに該当します。</p></li></ul><p>詳しくは、<a href="https://jpaztech.github.io/blog/other/azure_technical_support_explained/">Azure における有償 Azure テクニカル サポートの対応範囲</a> をご参照ください。</p><h2 id="サポート契約について"><a href="#サポート契約について" class="headerlink" title="サポート契約について"></a>サポート契約について</h2><p>Azure サポートにおけるアドバイザリ サポートは、Unified サポート (Premier サポートを含む) のみに付属しており、Azure Developer &#x2F; Standard &#x2F; Professional Direct 契約は対象外となります。<br>詳しくは <a href="https://azure.microsoft.com/ja-jp/support/plans">サポートプランの比較</a> をご参照ください。</p><h2 id="アドバイザリのお問い合わせ起票における留意事項"><a href="#アドバイザリのお問い合わせ起票における留意事項" class="headerlink" title="アドバイザリのお問い合わせ起票における留意事項"></a>アドバイザリのお問い合わせ起票における留意事項</h2><h3 id="サブスクリプション・テナントについて、リソースが存在するものを選択してください。"><a href="#サブスクリプション・テナントについて、リソースが存在するものを選択してください。" class="headerlink" title="サブスクリプション・テナントについて、リソースが存在するものを選択してください。"></a>サブスクリプション・テナントについて、リソースが存在するものを選択してください。</h3><p>障害対応だけでなく、アドバイザリのお問い合わせであっても、そのリソースが存在するサブスクリプションもしくはテナントからお問い合わせを起票していただきますようお願いいたします。<br>その質問が発生している環境と、サポート契約の有無を確認するコンプライアンスの観点からご協力をお願いします。</p><p>サポート部門においては、製品の構築・稼働が開始したフェーズからの復旧支援を優先しております。<br>適切なサブスクリプションを選択いただくことで、該当する製品の利用状況・構成状況を把握することが可能です。</p><p>ご参考) お問い合わせの発行方法について<br><a href="https://jpaztech.github.io/blog/information/How-to-inquiry-to-the-Azure-Support/">https://jpaztech.github.io/blog/information/How-to-inquiry-to-the-Azure-Support/</a></p><div class="alert is-important"><p class="alert-title">重要</p><p>リソースが存在しない場合でも、「リソースの作成自体が失敗する」といった場合には、もちろん対応をさせていただきます。</p><p>その際にも、作成エラーが発生したサブスクリプションを選択いただくことが重要です。</p></div><h3 id="事前に参考とされた手順・検証時に発生したエラーなどを明記してください。"><a href="#事前に参考とされた手順・検証時に発生したエラーなどを明記してください。" class="headerlink" title="事前に参考とされた手順・検証時に発生したエラーなどを明記してください。"></a>事前に参考とされた手順・検証時に発生したエラーなどを明記してください。</h3><p>現在、多くの構築・設定手順が <a href="https://learn.microsoft.com/ja-jp/azure/?product=popular">Microsoft Learn の公式ドキュメント</a> として存在します。</p><p>公式ドキュメントは、開発部門ならびにサポート部門が日夜更新をしており、検証済みの最新情報が記載されるものとなります。<br>このような公式ドキュメントに沿った対応にて設定を試みていただき、どの手順まで実施・成功しているのか、といったことを明記いただくことが、サポート対応における早期解決に有効です。<br>ドキュメントは膨大な数がございますが、Microsoft の Copilot をはじめとする昨今の生成 AI は、特にこのような公開情報をソースとする既知事例の検索にあたっても有効となりますので、ぜひご活用をお願いいたします。</p><h2 id="アドバイザリのサポート範囲について"><a href="#アドバイザリのサポート範囲について" class="headerlink" title="アドバイザリのサポート範囲について"></a>アドバイザリのサポート範囲について</h2><p>Azure サポートにおけるアドバイザリ サポートは、公開情報・既知のベストプラクティスの提示を上限として承っております。<br>動作検証につきましては、エラーの再現手順が明確であるなど、必要不可欠と想定される場合に行わせていただきます。<br>「公式ドキュメントの裏付け」 あるいは 「お客様固有のご要望実現の可否の確認」 などの目的となりますと、システム構築ベンダー様に対応いただく範囲となりますため、サポートでは対応できかねます。</p><h3 id="Unified-Premier-サポート契約おける追加対応について"><a href="#Unified-Premier-サポート契約おける追加対応について" class="headerlink" title="Unified &#x2F; Premier サポート契約おける追加対応について"></a>Unified &#x2F; Premier サポート契約おける追加対応について</h3><p>サポート部門におけるアドバイザリの範囲である、文書化されたベストプラクティスへのアクセス、実装や構成に関する一般的な製品ドキュメントの提供を超えた対応 (例: アーキテクチャ設計、ソリューション開発、カスタマイズ対応など) については、Unified &#x2F; Premier サポート契約を締結しているお客様に限り、クラウド ソリューション アーキテクト (CSA) により、有償にてよりお客様のニーズやカスタマイズに沿った方法のご案内を承ることが可能です。</p><p>サポートにおいては、このような目標設定が必要と判明した場合、CSA のご案内を行わせていただきます。</p><p>また、公開ドキュメントに未記載・非公開の仕様についての確認も同様となり、Unified &#x2F; Premier サポート契約に限り、ビジネス影響度や条件・プロジェクトの概要などをお伺いした上でベストエフォートで対応をさせていただきます。</p><p>Azure の仕様として、未記載の仕様については流動的である可能性があります。<br>Azure 利用におけるお客様のご契約規模や想定される利用人数・トラフィック、ならびに設計などが具体化された状態であれば、開発部門から個別確認が行える場合があるためです。</p><div class="alert is-info"><p class="alert-title">Note</p><p> 参考資料</p><p>日本マイクロソフトの社員から、様々な Azure 技術資料が公開されております。</p><p>これらは、Microsoft Learn の製品ドキュメントにとどまらず、現場におけるデザインや活用に大きく踏み込んだものもございます。</p><p>前述のサポート範囲では手が届きづらいニーズへの一助としていただけましたら幸いです。</p><p><a href="https://github.com/Azure/jp-techdocs">https://github.com/Azure/jp-techdocs</a></p></div><p>ご案内は以上となります。</p>]]>
    </content>
    <id>https://jpaztech.github.io/blog/information/advisory-inquiries-in-the-Azure-Support/</id>
    <link href="https://jpaztech.github.io/blog/information/advisory-inquiries-in-the-Azure-Support/"/>
    <published>2025-09-04T08:30:00.000Z</published>
    <summary>
      <![CDATA[<p>こんにちは。Azure テクニカル サポート チームです。</p>
<p>本記事では、Microsoft Azure サポートにおける、アドバイザリ区分のお問い合わせにおける対応範囲とベストプラクティスについてご説明します。</p>]]>
    </summary>
    <title>Azure サポートにおけるアドバイザリ (ハウツーやベストプラクティス共有) のお問い合わせにつきまして</title>
    <updated>2026-04-20T03:45:50.352Z</updated>
  </entry>
  <entry>
    <author>
      <name>Japan Azure IaaS Core Support Team</name>
    </author>
    <category term="VM" scheme="https://jpaztech.github.io/blog/tags/VM/"/>
    <category term="Windows" scheme="https://jpaztech.github.io/blog/tags/Windows/"/>
    <category term="Linux" scheme="https://jpaztech.github.io/blog/tags/Linux/"/>
    <category term="HowTo" scheme="https://jpaztech.github.io/blog/tags/HowTo/"/>
    <content>
      <![CDATA[<p>こんにちは、Azure テクニカル サポート チームの富田です。<br>Azure VM で実行されているゲスト OS のバージョンを一覧表示を行いたいとのお問い合わせをいただくことがございます。<br>実行中の VM の Instance View を取得するコマンドもしくは Azure Resource Graph を使うことで確認可能ですので、この点について解説させていただきます。  </p><div class="alert is-success"><p class="alert-title">ヒント</p><p>本件とは直接関連するものではございませんが、VM 作成時に Azure マーケットプレイスにてご希望のイメージバージョンが見つからないといったお問い合わせをいただくことがございます。</p><p>そのような場合は、Azure CLI などでご希望のイメージがあるか確認をいただけますと幸いです。</p><p><a href="https://learn.microsoft.com/ja-jp/azure/virtual-machines/workloads/redhat/redhat-images#view-images-available-in-azure">https://learn.microsoft.com/ja-jp/azure/virtual-machines/workloads/redhat/redhat-images#view-images-available-in-azure</a></p></div><hr><h2 id="Azure-VM-にてゲスト-OS-の情報を確認できる-2-つのソースの解説"><a href="#Azure-VM-にてゲスト-OS-の情報を確認できる-2-つのソースの解説" class="headerlink" title="Azure VM にてゲスト OS の情報を確認できる 2 つのソースの解説"></a>Azure VM にてゲスト OS の情報を確認できる 2 つのソースの解説</h2><p>Azure VM にてゲスト OS の情報を確認できるソースの例として、「Storage Profile」と「Instance View」がございます。<br>それぞれ以下の特徴があり、リアルタイムな情報を取得には「Instance View」のご利用が必要でございます。  </p><h3 id="Storage-Profile"><a href="#Storage-Profile" class="headerlink" title="Storage Profile"></a>Storage Profile</h3><p>VM 作成時のイメージの情報が、モデル ビューとして Storage Profile 内の imageReference に publisher, offer, sku として記録されます。<br>この情報に OS バージョンの情報が記録されることがございますが、以下の留意点がございます。  </p><ul><li>Azure マーケットプレイス以外から作成された VM では記録されない。</li><li>VM 作成時にハードコーディングされるため、ゲスト OS のバージョンアップを行っても、この値は変化しない。</li></ul><h3 id="Instance-View"><a href="#Instance-View" class="headerlink" title="Instance View"></a>Instance View</h3><p>実行中の VM についての情報を取得できるものとなります。現在実行中のゲスト OS のバージョン情報をリアルタイムに取得できます。<br>ゲスト OS のバージョン情報を取得するには、ご利用には以下の点についてご留意ください。  </p><ul><li>VM が起動している必要がある。</li><li>VM エージェントが正常に稼働している必要がある。</li></ul><p>■ご参考：Azure Windows VM エージェントの概要<br><a href="https://learn.microsoft.com/ja-jp/azure/virtual-machines/extensions/agent-windows">https://learn.microsoft.com/ja-jp/azure/virtual-machines/extensions/agent-windows</a></p><p>■ご参考：Azure Linux VM エージェントの概要<br><a href="https://learn.microsoft.com/ja-jp/azure/virtual-machines/extensions/agent-linux">https://learn.microsoft.com/ja-jp/azure/virtual-machines/extensions/agent-linux</a></p><hr><h2 id="Azure-ポータルでの表示"><a href="#Azure-ポータルでの表示" class="headerlink" title="Azure ポータルでの表示"></a>Azure ポータルでの表示</h2><p>Azure ポータルでは以下ように、VM の概要画面 &#x2F; VM のオペレーティングシステムの画面 &#x2F; VM 一覧画面で情報が表示されますが、リアルタイムに現在実行中のゲスト OS 情報を一覧表示するといったことが叶いませんものとなります。  </p><p><img src="/blog/vm/get-vm-os-list/vminfo.png" alt="VM の概要画面"></p><p><img src="/blog/vm/get-vm-os-list/osinfo.png" alt="VM のオペレーティングシステムの画面"></p><p><img src="/blog/vm/get-vm-os-list/vmlist.png" alt="VM の一覧画面"></p><hr><h2 id="Instance-View-から実行中の-VM-のゲスト-OS-バージョンを一覧取得する例"><a href="#Instance-View-から実行中の-VM-のゲスト-OS-バージョンを一覧取得する例" class="headerlink" title="Instance View から実行中の VM のゲスト OS バージョンを一覧取得する例"></a>Instance View から実行中の VM のゲスト OS バージョンを一覧取得する例</h2><p>上記の点を鑑みますと、Azure PowerShell &#x2F; Azure CLI &#x2F; Azure Resource Graph を用いて、Instance View から実行中のゲスト OS のバージョン情報を取得することが推奨されます。<br>それぞれサンプルをご用意させていただきましたので、ご紹介させていただきます。  </p><p>ゲスト OS バージョンの取得には、VM が起動しており、VM エージェントが正常稼働している必要がございます。<br>また、スクリプトを実行するユーザーが VM の情報を読み取れる権限が必要となります。  </p><h3 id="PowerShell-環境での-Azure-PowerShell-コマンドの例"><a href="#PowerShell-環境での-Azure-PowerShell-コマンドの例" class="headerlink" title="PowerShell 環境での Azure PowerShell コマンドの例"></a>PowerShell 環境での Azure PowerShell コマンドの例</h3><p>サブスクリプション内の VM すべてについて、表形式で出力する Azure PowerShell コマンドの例となります。</p><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">Get-AzVM</span> <span class="literal">-Status</span> |  <span class="built_in">Select-Object</span> <span class="literal">-Property</span> ResourceGroupName, Name, PowerState, OsName, OsVersion | <span class="built_in">Format-Table</span> <span class="literal">-AutoSize</span></span><br></pre></td></tr></table></figure><p>実行結果の例としては、以下のような表示となります。</p><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><span class="line">ResourceGroupName Name          PowerState     OsName                                       OsVersion</span><br><span class="line"><span class="literal">-----------------</span> <span class="literal">----</span>          <span class="literal">----------</span>     <span class="literal">------</span>                                       <span class="literal">---------</span></span><br><span class="line">NEWHP             newHPSH<span class="literal">-0</span>     VM running     Windows <span class="number">11</span> Enterprise multi<span class="literal">-session</span>          <span class="number">10.0</span>.<span class="number">26100.3476</span></span><br><span class="line">PROXY             proxy         VM deallocated</span><br><span class="line">PROXY             proxy<span class="literal">-client</span>  VM deallocated</span><br><span class="line">RHEL79            RHEL79        VM running     redhat                                       <span class="number">7.9</span></span><br><span class="line">RHEL810           RHEL810       VM running     redhat                                       <span class="number">8.10</span></span><br><span class="line">UNMANAGEDDISK     UnmanagedDisk VM running     centos                                       <span class="number">8.2</span>.<span class="number">2004</span></span><br><span class="line">WIN16             Win16         VM running     Windows Server <span class="number">2016</span> Datacenter               <span class="number">10.0</span>.<span class="number">14393.8330</span></span><br><span class="line">WIN22AE           win22ae       VM running     Windows Server <span class="number">2022</span> Datacenter Azure Edition <span class="number">10.0</span>.<span class="number">20348.3932</span></span><br><span class="line">WIN25             win25         VM deallocated</span><br><span class="line">WINBI             winbiVM       VM running     Windows Server <span class="number">2022</span> Datacenter               <span class="number">10.0</span>.<span class="number">20348.4052</span></span><br></pre></td></tr></table></figure><h3 id="Bash-環境での-Azure-CLI-コマンドの例"><a href="#Bash-環境での-Azure-CLI-コマンドの例" class="headerlink" title="Bash 環境での Azure CLI コマンドの例"></a>Bash 環境での Azure CLI コマンドの例</h3><p>サブスクリプション内の VM すべてについて、JSON 形式で出力する Azure CLI コマンドの例となります。<br>Azure CLI の場合、各 VM 毎に Instance View 取得のコマンドを実行するため VM 台数が多い場合はお時間がかかります点、ご留意ください。</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">az vm list --query <span class="string">&quot;[].&#123;VM:id&#125;&quot;</span> -o tsv | xargs -n 1 az vm get-instance-view --query <span class="string">&quot;&#123;VM:id, osName:instanceView.osName, osVersion:instanceView.osVersion&#125;&quot;</span> --<span class="built_in">id</span></span><br></pre></td></tr></table></figure><p>実行結果の例としては、以下のような表示となります。</p><figure class="highlight json"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br></pre></td><td class="code"><pre><span class="line"><span class="punctuation">&#123;</span></span><br><span class="line">  <span class="attr">&quot;VM&quot;</span><span class="punctuation">:</span> <span class="string">&quot;/subscriptions/aaaaa/resourceGroups/NEWHP/providers/Microsoft.Compute/virtualMachines/testVM&quot;</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;osName&quot;</span><span class="punctuation">:</span> <span class="string">&quot;Windows 11 Enterprise multi-session&quot;</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;osVersion&quot;</span><span class="punctuation">:</span> <span class="string">&quot;10.0.26100.3476&quot;</span></span><br><span class="line"><span class="punctuation">&#125;</span></span><br><span class="line"><span class="punctuation">&#123;</span></span><br><span class="line">  <span class="attr">&quot;VM&quot;</span><span class="punctuation">:</span> <span class="string">&quot;/subscriptions/aaaaa/resourceGroups/PROXY/providers/Microsoft.Compute/virtualMachines/deallocatedVM&quot;</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;osName&quot;</span><span class="punctuation">:</span> <span class="literal"><span class="keyword">null</span></span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;osVersion&quot;</span><span class="punctuation">:</span> <span class="literal"><span class="keyword">null</span></span></span><br><span class="line"><span class="punctuation">&#125;</span></span><br><span class="line"><span class="punctuation">&#123;</span></span><br><span class="line">  <span class="attr">&quot;VM&quot;</span><span class="punctuation">:</span> <span class="string">&quot;/subscriptions/aaaaa/resourceGroups/RHEL79/providers/Microsoft.Compute/virtualMachines/RHEL79&quot;</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;osName&quot;</span><span class="punctuation">:</span> <span class="string">&quot;redhat&quot;</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;osVersion&quot;</span><span class="punctuation">:</span> <span class="string">&quot;7.9&quot;</span></span><br><span class="line"><span class="punctuation">&#125;</span></span><br><span class="line"><span class="punctuation">&#123;</span></span><br><span class="line">  <span class="attr">&quot;VM&quot;</span><span class="punctuation">:</span> <span class="string">&quot;/subscriptions/aaaaa/resourceGroups/RHEL810/providers/Microsoft.Compute/virtualMachines/RHEL810&quot;</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;osName&quot;</span><span class="punctuation">:</span> <span class="string">&quot;redhat&quot;</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;osVersion&quot;</span><span class="punctuation">:</span> <span class="string">&quot;8.10&quot;</span></span><br><span class="line"><span class="punctuation">&#125;</span></span><br><span class="line"><span class="punctuation">&#123;</span></span><br><span class="line">  <span class="attr">&quot;VM&quot;</span><span class="punctuation">:</span> <span class="string">&quot;/subscriptions/aaaaa/resourceGroups/WINBI/providers/Microsoft.Compute/virtualMachines/WinSV&quot;</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;osName&quot;</span><span class="punctuation">:</span> <span class="string">&quot;Windows Server 2022 Datacenter&quot;</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;osVersion&quot;</span><span class="punctuation">:</span> <span class="string">&quot;10.0.20348.4052&quot;</span></span><br><span class="line"><span class="punctuation">&#125;</span></span><br></pre></td></tr></table></figure><h3 id="Azure-Resource-Graph-クエリの例"><a href="#Azure-Resource-Graph-クエリの例" class="headerlink" title="Azure Resource Graph クエリの例"></a>Azure Resource Graph クエリの例</h3><p>Azure ポータル上の Azure Resource Graph エクスプローラーを用いて、以下のクエリを実行します。  </p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line">resources</span><br><span class="line">|where type == &quot;microsoft.compute/virtualmachines&quot;</span><br><span class="line">|project subscriptionId, resourceGroup, name, </span><br><span class="line">         powerState = properties.extended.instanceView.powerState.displayStatus, </span><br><span class="line">         osName = properties.extended.instanceView.osName, </span><br><span class="line">         osVersion = properties.extended.instanceView.osVersion</span><br></pre></td></tr></table></figure><p>■ご参考：クイック スタート: Azure portal を使用して Resource Graph クエリを実行する<br><a href="https://learn.microsoft.com/ja-jp/azure/governance/resource-graph/first-query-portal">https://learn.microsoft.com/ja-jp/azure/governance/resource-graph/first-query-portal</a>  </p><p>実行結果の例としては、以下のような表示となります。CSV で結果のエクスポートも可能です。</p><p><img src="/blog/vm/get-vm-os-list/arg.png"></p><hr><h2 id="さいごに"><a href="#さいごに" class="headerlink" title="さいごに"></a>さいごに</h2><p>上記コマンドやクエリの詳細な解説が必要な場合や、コマンドをご要件に合わせて改修したい場合、Microsoft Copilot を利用することもおすすめです。<br>私自身もよく、以下のようなプロンプトを使用して活用しております。  </p><ul><li>以下のコマンドは何をしているのか解説してください。</li><li>以下のコマンドについて、○○の情報を表示するように改修してください。</li></ul><p>生成された回答は必ず正しいとは限りませんので、検証等をいただく必要がございますが、Microsoft Copilot といった AI を用いて色々なことができる便利な時代になりました。<br>これらの情報が皆様のお役に立てれば幸いでございます。</p>]]>
    </content>
    <id>https://jpaztech.github.io/blog/vm/get-vm-os-list/</id>
    <link href="https://jpaztech.github.io/blog/vm/get-vm-os-list/"/>
    <published>2025-08-27T03:00:00.000Z</published>
    <summary>
      <![CDATA[<p>こんにちは、Azure テクニカル サポート チームの富田です。<br>Azure VM で実行されているゲスト OS のバージョンを一覧表示を行いたいとのお問い合わせをいただくことがございます。<br>実行中の VM の Instance View を取得するコマンドもし]]>
    </summary>
    <title>Azure VM で実行されているゲスト OS のバージョンを一覧表示する</title>
    <updated>2026-04-20T03:45:50.648Z</updated>
  </entry>
  <entry>
    <author>
      <name>Japan Azure IaaS Core Support Team</name>
    </author>
    <category term="Network" scheme="https://jpaztech.github.io/blog/tags/Network/"/>
    <category term="AzureFrontDoor" scheme="https://jpaztech.github.io/blog/tags/AzureFrontDoor/"/>
    <category term="AzureCDN" scheme="https://jpaztech.github.io/blog/tags/AzureCDN/"/>
    <content>
      <![CDATA[<p>こんにちは。Azure テクニカル サポート チームの藤原です。</p><p>本ブログでは、Azure Front Door (クラシック) と Azure CDN from Standard (Microsoft CDN クラシック) のマネージド証明書のプロビジョニングの通知についてご案内いたします。</p><p>これ以降、Azure Front Door (クラシック) は <strong>AFD クラシック</strong>、Azure CDN from Standard (Microsoft CDN クラシック) は <strong>Azure CDN クラシック</strong> と記載します。</p><p>AFD クラシックの通知は <code>2S01-LF0</code> という ID で通知され、Azure CDN クラシックは <code>7NL5-R_8</code> という ID で通知されています。これ以降 2 つの通知のことを <strong>本通知</strong> と記載します。</p><hr><h2 id="CNAME-ベースのドメインコントロール検証が廃止されます"><a href="#CNAME-ベースのドメインコントロール検証が廃止されます" class="headerlink" title="CNAME ベースのドメインコントロール検証が廃止されます"></a>CNAME ベースのドメインコントロール検証が廃止されます</h2><p>本通知では AFD クラシックと Azure CDN クラシックにおいて CNAME を使用したドメインコントロール検証 (DCV) が廃止されることをお知らせしています。これは業界全体で進められている DCV 廃止の一環です。</p><p>これを受けて 2025 年 8 月 15 日以降、AFD クラシックと Azure CDN クラシックにおいて、既存のプロファイルにおいてカスタムドメインを追加することと、既存カスタムドメインの証明書を BYOC からマネージド証明書に切り替えることができなくなります。</p><hr><h2 id="マネージド証明書のご利用期限について"><a href="#マネージド証明書のご利用期限について" class="headerlink" title="マネージド証明書のご利用期限について"></a>マネージド証明書のご利用期限について</h2><p>本通知では、既存のカスタムドメインで使用されているマネージド証明書が自動更新されることもお知らせしています。</p><p><del>自動更新された後のマネージド証明書の有効期間は <strong>12 ヶ月</strong> であり、<strong>2026 年 7 月 1 日まで</strong> はご利用いただけます。</del></p><p><del><strong>2026 年 7 月 1 日以降はマネージド証明書の有効期限が切れます</strong> ので、それまでに <strong>BYOC への切り替え</strong> をお願いいたします。</del></p><p>本通知では、自動更新された後のマネージド証明書が 2026 年 7 月 1 日までご利用可能とご案内していましたが、<strong>2026 年 4 月 14 日まで</strong> ご利用可能に変更されました。このため、<strong>2026 年 4 月 14 日中までに BYOC への切り替え</strong> をお願いいたします。</p><p>マネージド証明書から BYOC への切り替え方法については以下のドキュメントをご参照ください。</p><ul><li><a href="https://learn.microsoft.com/ja-jp/azure/frontdoor/front-door-custom-domain-https?tabs=powershell">Azure Front Door (クラシック) カスタム ドメインで HTTPS を構成します</a></li><li><a href="https://learn.microsoft.com/ja-jp/azure/cdn/cdn-custom-ssl?toc=/azure/frontdoor/toc.json&tabs=option-1-default-enable-https-with-a-cdn-managed-certificate">チュートリアル: Azure CDN カスタム ドメインで HTTPS を構成する</a></li></ul><hr><h2 id="マネージド証明書を使用しているかどうかを確認する方法"><a href="#マネージド証明書を使用しているかどうかを確認する方法" class="headerlink" title="マネージド証明書を使用しているかどうかを確認する方法"></a>マネージド証明書を使用しているかどうかを確認する方法</h2><p>AFD クラシック リソースの <strong>Front Door デザイナー</strong> を開き、”フロントエンドまたはドメイン” に表示されているカスタム ドメインをクリックします。</p><p>画面の右ペインに表示された <strong>[証明書の管理の種類]</strong> で「<strong>管理されているフロント ドア</strong>」が選択されている場合は、<strong>マネージド証明書を利用しています</strong>。</p><p><img src="/blog/network/afd-classic-azure-cdn-managed-cert-provisioning/how-to-check-your-managed-cert.png"></p><p align="center">マネージド証明書の確認方法</p>---<h2 id="新しくプロファイルやカスタムドメインを作成する場合について"><a href="#新しくプロファイルやカスタムドメインを作成する場合について" class="headerlink" title="新しくプロファイルやカスタムドメインを作成する場合について"></a>新しくプロファイルやカスタムドメインを作成する場合について</h2><p>AFD クラシックは 2025 年 4 月 1 日以降、新たなプロファイルの作成ができなくなりました。</p><p>本通知でお知らせした内容により <strong>2025 年 8 月 15 日以降</strong> Azure CDN クラシックにおいても新たなプロファイルが作成できなくなり、既存プロファイルにおいてカスタムドメインを追加できなくなります。</p><p>新たなプロファイルの作成や既存プロファイルにおいてカスタムドメインの追加を検討されている場合は、<strong>Azure Front Door Standard</strong> もしくは <strong>Premium</strong> への移行をご検討ください。</p><p>移行についてのドキュメントは以下をご参照ください。</p><ul><li><a href="https://learn.microsoft.com/ja-jp/azure/frontdoor/migrate-tier">Azure Front Door (クラシック) から Standard または Premium レベルに移行する</a></li><li><a href="https://learn.microsoft.com/ja-jp/azure/cdn/tier-migration?toc=/azure/frontdoor/toc.json">Azure CDN from Microsoft (クラシック) から Azure Front Door への移行について</a></li></ul><hr><h2 id="AFD-クラシックと-Azure-CDN-クラシックの廃止時期について"><a href="#AFD-クラシックと-Azure-CDN-クラシックの廃止時期について" class="headerlink" title="AFD クラシックと Azure CDN クラシックの廃止時期について"></a>AFD クラシックと Azure CDN クラシックの廃止時期について</h2><p>本通知ではお知らせしていませんが、<strong>AFD クラシックは 2027 年 3 月 31 日に廃止</strong> される予定になっています。  </p><p><strong>Azure CDN クラシックの廃止時期は 2027 年 9 月 30 日</strong> です。</p><p>廃止に関するドキュメントは以下をご参照ください。</p><ul><li><a href="https://azure.microsoft.com/en-us/updates?id=azure-front-door-classic-will-be-retired-on-31-march-2027">Azure Front Door (classic) will be retired on 31 March 2027</a></li><li><a href="https://azure.microsoft.com/en-us/updates?id=Azure-CDN-Standard-from-Microsoft-classic-will-be-retired-on-30-September-2027">Retirement: Azure CDN Standard from Microsoft (classic) will be retired on September 30th, 2027</a></li></ul>]]>
    </content>
    <id>https://jpaztech.github.io/blog/network/afd-classic-azure-cdn-managed-cert-provisioning/</id>
    <link href="https://jpaztech.github.io/blog/network/afd-classic-azure-cdn-managed-cert-provisioning/"/>
    <published>2025-07-31T08:30:00.000Z</published>
    <summary>
      <![CDATA[<p>こんにちは。Azure テクニカル サポート チームの藤原です。</p>
<p>本ブログでは、Azure Front Door (クラシック) と Azure CDN from Standard (Microsoft CDN クラシック) のマネージド証明書のプロビジョニン]]>
    </summary>
    <title>Azure Front Door (クラシック) と Azure CDN from Standard (Microsoft CDN クラシック) のマネージド証明書のプロビジョニングに関する通知について</title>
    <updated>2026-04-20T03:45:50.353Z</updated>
  </entry>
  <entry>
    <author>
      <name>Japan Azure IaaS Core Support Team</name>
    </author>
    <category term="VM" scheme="https://jpaztech.github.io/blog/tags/VM/"/>
    <category term="RHEL" scheme="https://jpaztech.github.io/blog/tags/RHEL/"/>
    <category term="Linux" scheme="https://jpaztech.github.io/blog/tags/Linux/"/>
    <category term="RHUI" scheme="https://jpaztech.github.io/blog/tags/RHUI/"/>
    <category term="AHB" scheme="https://jpaztech.github.io/blog/tags/AHB/"/>
    <category term="EUS" scheme="https://jpaztech.github.io/blog/tags/EUS/"/>
    <content>
      <![CDATA[<p>Azure サポートの高橋です。今回は RHEL (Red Hat Enterprise Linux) VM をご利用いただいているお客様よりお問い合わせをいただく Azure ハイブリッド特典 (AHB) についてご紹介していきたいと思います。</p><p>Azure Hybrid Benefit (AHB) を利用することで、Azure 上の Red Hat Enterprise Linux (RHEL) VM のソフトウェア サブスクリプション モデルを簡単に切り替えることができます。<br>この記事では、AHB に関する概要、各種ライセンスタイプの違い、BYOS (サブスクリプション持ち込み) と PAYG (従量課金制) の切り替え手順、切り替え後の確認方法について詳しく解説します。</p><span id="more"></span><hr><h2 id="AHB-の概要解説"><a href="#AHB-の概要解説" class="headerlink" title="AHB の概要解説"></a>AHB の概要解説</h2><p>Azure Hybrid Benefit (AHB) は、(RHEL) VM のソフトウェア サブスクリプション モデルを切り替えるために利用するものです。<br>PAYG (従量課金モデル) と BYOS (サブスクリプション持ち込み) をそれぞれ切り替えることができます。<br>VM を再デプロイすることなく、ダウンタイムのリスクなしでサブスクリプション モデルを変更することが可能となります。<br>具体的なイメージについては、こちらの公開ドキュメントをご確認ください。</p><blockquote><p>□ 参考 : Linux VM の Azure ハイブリッド特典を調べる<br><a href="https://learn.microsoft.com/ja-jp/azure/virtual-machines/linux/azure-hybrid-benefit-linux?tabs=ahbRhelPayg,ahbNewPortal,ahbExistingPortal,licenseazcli,rhelAzcliByosConv,rhelazclipaygconv,rhelpaygconversion,rhelcompliance#payg-vs-byos">https://learn.microsoft.com/ja-jp/azure/virtual-machines/linux/azure-hybrid-benefit-linux?tabs=ahbRhelPayg%2CahbNewPortal%2CahbExistingPortal%2Clicenseazcli%2CrhelAzcliByosConv%2Crhelazclipaygconv%2Crhelpaygconversion%2Crhelcompliance#payg-vs-byos</a></p></blockquote><hr><h2 id="ライセンスタイプの違い"><a href="#ライセンスタイプの違い" class="headerlink" title="ライセンスタイプの違い"></a>ライセンスタイプの違い</h2><p>BYOS モデルから PAYG モデルに変換する場合に使用可能な RHEL のライセンスタイプは、以下の表の通りとなります。<br>後述する拡張機能により、選択したライセンスタイプに応じて RHUI リポジトリを利用するよう自動的に構成が行われます。</p><table><thead><tr><th>ライセンスの種類</th><th>ソフトウェア更新プログラム</th></tr></thead><tbody><tr><td>RHEL_BASE</td><td>Red Hat 標準&#x2F;ベース リポジトリを VM にインストールします</td></tr><tr><td>RHEL_EUS</td><td>Red Hat Extended Update Support (EUS) リポジトリを VM にインストールします</td></tr><tr><td>RHEL_SAPAPPS</td><td>RHEL for SAP Business Apps リポジトリを VM にインストールします</td></tr><tr><td>RHEL_SAPHA</td><td>高可用性 (HA) リポジトリを使用して RHEL for SAP を VM にインストールします</td></tr><tr><td>RHEL_BASESAPAPPS</td><td>RHEL 標準&#x2F;ベース SAP Business Apps リポジトリを VM にインストールします</td></tr><tr><td>RHEL_BASESAPHA</td><td>HA 対応の標準&#x2F;ベース RHEL for SAP リポジトリを VM にインストールします</td></tr></tbody></table><p>一般的な RHEL VM では、RHEL_BASE と RHEL_EUS の2種類があります。<br>これらのライセンスタイプの違いは、接続されるリポジトリサーバーが異なります。<br>RHEL_BASEでは、ベースリポジトリ (非 EUS リポジトリ) へ接続されることとなります。<br>以下の例では、BYOS の RHEL 8.8 の VM で、RHEL_BASE にライセンスタイプを切り替えた際の接続されているリポジトリを確認しています。<br><img src="/blog/vm/ahb-rhel/01.png"></p><p>RHEL_EUS では、EUS リポジトリに接続され、マイナーバージョンが固定化されます。<br>先ほどと同様に、RHEL_EUS にライセンスタイプを切り替えたと際に接続されているリポジトリを確認してみると、EUS リポジトリに接続されており、マイナーバージョンが固定されていることが確認できます。(以下の例では RHEL 8.8 に固定化)<br><img src="/blog/vm/ahb-rhel/02.png"></p><p>非 EUS リポジトリと EUS リポジトリの違いについては、以下のブログで詳細にご紹介しているのでご確認ください。</p><blockquote><p>□ 参考 : Azure RHEL VM の 非 EUS&#x2F; EUS リポジトリについて<br><a href="https://jpaztech.github.io/blog/vm/rhui-eus/">https://jpaztech.github.io/blog/vm/rhui-eus/</a></p></blockquote><p>PAYG モデルから BYOS モデル変換する場合、ライセンスタイプは RHEL_BYOS を利用することとなります。<br>リポジトリの構成変更に関してはお客様にて実施いただく必要がございます。</p><div class="alert is-success"><p class="alert-title">ヒント</p><p></p><h2 id="ライセンスタイプ-Null-None-について"><a href="#ライセンスタイプ-Null-None-について" class="headerlink" title="ライセンスタイプ Null &#x2F; None について"></a>ライセンスタイプ Null &#x2F; None について</h2><p>ライセンスタイプ Null &#x2F; None は、VM を作成した時点でのサブスクリプションモデルとなります。</p><p>Azure Marketplace から提供されている RHEL イメージは PAYG となり、持ち込みイメージを利用いただいている場合は BYOS となります。</p><p>Azure ハイブリッド特典を一度も有効化していない場合は、どちらのサブスクリプションモデルでもライセンスタイプは Null として表示されます。</p><p>一度、Azure ハイブリッド特典を有効化し、サブスクリプションモデルを切り替えた後に、再度サブスクリプションモデルを戻した場合には、None として表示されます。</p><p>つまり、ライセンスタイプ Null &#x2F; None は PAYG と BYOS どちらの場合でも表示されますので、Null &#x2F; None の場合は VM 作成時点でのサブスクリプションモデルが適用されることとなります。</p></div><hr><h2 id="BYOS-から-PAYG-への切り替え手順"><a href="#BYOS-から-PAYG-への切り替え手順" class="headerlink" title="BYOS から PAYG への切り替え手順"></a>BYOS から PAYG への切り替え手順</h2><p>それでは、AHB を有効にしてライセンスタイプを切り替える手順についてご紹介いたします。<br>まずは、BYOS から PAYG に切り替える手順についてご紹介いたします。<br>現時点では、Azure portal から BYOS から PAYG に切り替える方法はございません。<br>また、拡張機能のインストールが必要になるため、VM 起動中に実施いただく必要があります。<br>以下の Azure CLI のコマンドにて、AHB の拡張機能のインストールをします。<br>&lt;リソース グループ名&gt;や&lt;VM 名&gt;についてはご自身の環境のものに置き換えください。 </p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">az vm extension <span class="built_in">set</span> -n AHBForRHEL --publisher Microsoft.Azure.AzureHybridBenefit --vm-name &lt;VM 名&gt; --resource-group &lt;リソースグループ名&gt;</span><br></pre></td></tr></table></figure><div class="alert is-warning"><p class="alert-title">警告</p><p></p><h2 id="AHBForRHEL-拡張機能のリポジトリ登録エラーについて"><a href="#AHBForRHEL-拡張機能のリポジトリ登録エラーについて" class="headerlink" title="AHBForRHEL 拡張機能のリポジトリ登録エラーについて"></a>AHBForRHEL 拡張機能のリポジトリ登録エラーについて</h2><p>AHBForRHEL を利用するにあたってahb-service がエラーを出力する旨のお問い合わせがしばしばございます。</p><p>下記のエンドポイントへの通信が遮断されている場合にはエラーが発生することを確認しておりますので、Firewall 等で通信制御を行っている場合は通信許可をいただくことで解消するかご確認ください。</p><p>・拡張機能の構成ファイルの取得</p><p>ahbsa.blob.core.windows.net</p><p>・RHUI構成ファイルの取得</p><p>rhelimage.blob.core.windows.net</p><p>また、RHUI リポジトリへのアクセスができない場合にもエラーが発生いたします。</p><p>RHUI で利用される可能性のある IP アドレスが公開されておりますので、こちらのIP へ接続できることを事前にご確認ください。</p><p>□ 参考 : Azure のオンデマンド Red Hat Enterprise Linux VM 用 Red Hat Update Infrastructure</p><p><a href="https://learn.microsoft.com/ja-jp/azure/virtual-machines/workloads/redhat/redhat-rhui?tabs=rhel8">https://learn.microsoft.com/ja-jp/azure/virtual-machines/workloads/redhat/redhat-rhui?tabs=rhel8</a></p></div><p>拡張機能のインストールが完了したら、以下のコマンドで必要とするライセンスタイプに変更します。<br>以下の例では RHEL_BASE へ変更いたします。</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">az vm update -g &lt;リソースグループ名&gt; -n &lt;VM 名&gt; --license-type RHEL_BASE</span><br></pre></td></tr></table></figure><p>“AHB for RHEL” 機能フラグが有効になっているかどうかを確認します。</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">az feature list --namespace Microsoft.Compute | grep <span class="string">&quot;AHBEnabledForRHEL&quot;</span> -A 3  </span><br><span class="line">出力結果例</span><br><span class="line">    <span class="string">&quot;id&quot;</span>: <span class="string">&quot;/subscriptions/&lt;subscription ID&gt;/providers/Microsoft.Features/providers/microsoft.compute/features/AHBEnabledForRHEL&quot;</span>,</span><br><span class="line">    <span class="string">&quot;name&quot;</span>: <span class="string">&quot;microsoft.compute/AHBEnabledForRHEL&quot;</span>,</span><br><span class="line">    <span class="string">&quot;properties&quot;</span>: &#123;</span><br><span class="line">      <span class="string">&quot;state&quot;</span>: <span class="string">&quot;Registered&quot;</span></span><br><span class="line">    &#125;,</span><br></pre></td></tr></table></figure><p>一度 PAYG に変更したものを再度 BYOS にする際には、ライセンスタイプを None にして切り替える必要があります。</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">az vm update -g &lt;リソースグループ名&gt; -n &lt;VM 名&gt; --license-type NONE</span><br></pre></td></tr></table></figure><p>こちらの公開ドキュメントにも手順が記載されておりますのでご確認ください。</p><blockquote><p>□ 参考 : BYOS を PAYG に転換する<br><a href="https://learn.microsoft.com/ja-jp/azure/virtual-machines/linux/azure-hybrid-benefit-linux?tabs=ahbRhelPayg,ahbNewPortal,ahbExistingPortal,licenseazcli,rhelAzcliByosConv,rhelazclipaygconv,rhelpaygconversion,rhelcompliance#convert-byos-to-payg">https://learn.microsoft.com/ja-jp/azure/virtual-machines/linux/azure-hybrid-benefit-linux?tabs=ahbRhelPayg%2CahbNewPortal%2CahbExistingPortal%2Clicenseazcli%2CrhelAzcliByosConv%2Crhelazclipaygconv%2Crhelpaygconversion%2Crhelcompliance#convert-byos-to-payg</a></p></blockquote><h2 id="PAYG-から-BYOS-への切り替え手順"><a href="#PAYG-から-BYOS-への切り替え手順" class="headerlink" title="PAYG から BYOS への切り替え手順"></a>PAYG から BYOS への切り替え手順</h2><p>PAYG から BYOS に切り替える手順は<br>Azure portal から対象の VM を選択し、設定ブレード内の “オペレーティングシステム” 内にある、ライセンスの項目から変更することができます。<br>この操作は、VM が停止している状態でも起動している状態でも実施することができます。<br>また、VM の動作に影響は発生いたしません。<br>BYOS に切り替える際は、以下の画面のように、”はい” を選択し、<br>“私は、この VM にアタッチする適切な Red Hat Enterprise Linux サブスクリプションを所有しています。” にチェックを入れ適用をしてください。</p><p><img src="/blog/vm/ahb-rhel/03.png"></p><p>もしも、一度 BYOS に変更した後に、再度 PAYG に戻す場合には、<br>“いいえ” を選択して、適用をすることで PAYG に戻ります。</p><p>Azure CLI からは以下のコマンドで切り替えることができます。</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">az vm update -g &lt;リソースグループ名&gt; -n &lt;VM 名&gt; --license-type RHEL_BYOS</span><br></pre></td></tr></table></figure><p>BYOS に切り替えたら必要に応じて subscription-manager で登録作業を実施ください。</p><blockquote><p>□ 参考 : Using Red Hat Enterprise Linux subscriptions with Microsoft Azure Hybrid Benefit<br><a href="https://access.redhat.com/articles/5419341">https://access.redhat.com/articles/5419341</a></p></blockquote><p>一度 BYOS にしたものを PAYG にする際には、ライセンスタイプを None にして切り替える必要があります。</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">az vm update -g &lt;リソースグループ名&gt; -n &lt;VM 名&gt; --license-type NONE</span><br></pre></td></tr></table></figure><p>こちらの公開ドキュメントにも手順が記載されておりますのでご確認ください。</p><blockquote><p>□ 参考 : Azure ハイブリッド特典を有効にする | 既存の VM<br><a href="https://learn.microsoft.com/ja-jp/azure/virtual-machines/linux/azure-hybrid-benefit-linux?tabs=ahbRhelPayg,ahbNewPortal,ahbExistingPortal,licenseazcli,rhelAzcliByosConv,rhelazclipaygconv,rhelpaygconversion,rhelcompliance#existing-vm">https://learn.microsoft.com/ja-jp/azure/virtual-machines/linux/azure-hybrid-benefit-linux?tabs=ahbRhelPayg%2CahbNewPortal%2CahbExistingPortal%2Clicenseazcli%2CrhelAzcliByosConv%2Crhelazclipaygconv%2Crhelpaygconversion%2Crhelcompliance#existing-vm</a></p></blockquote><div class="alert is-important"><p class="alert-title">重要</p><p>AHB を有効化して、BYOS に変換する際には、事前に Red Hat Cloud Access に登録する必要があります。</p><p>Red Hat Cloud Access への登録がされていない場合、ライセンスを変更しようとすると以下のような画面で表示され、選択ができません。</p><p><img src="/blog/vm/ahb-rhel/04.png"></p><p>なお、Red Hat Cloud Access サブスクリプションの登録が、Red Hat から Azure に反映されるまでに時間がかかる場合があります。</p><p>Red Hat Cloud Access の登録方法については、Red Hat 社のドキュメントを確認してください。</p><p>□ 参考 : Using Red Hat Enterprise Linux subscriptions with Microsoft Azure Hybrid Benefit</p><p><a href="https://access.redhat.com/articles/5419341">https://access.redhat.com/articles/5419341</a></p></div><hr><h2 id="切り替え後の確認方法"><a href="#切り替え後の確認方法" class="headerlink" title="切り替え後の確認方法"></a>切り替え後の確認方法</h2><p>ライセンスタイプが正しく切り替わったかについては、以下の点を確認してください。</p><p>・ライセンスタイプの確認<br>Azure CLI のコマンドで、ライセンスタイプを確認することができます。</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">az vm get-instance-view -g &lt;リソースグループ名&gt; -n &lt;VM 名&gt; --query licenseType</span><br><span class="line"><span class="string">&quot;RHEL_BASE&quot;</span></span><br></pre></td></tr></table></figure><p>また、ゲスト OS 内からは、以下のコマンドで確認することができます。(BYOS から PAYG に変更したとき)</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"></span><br><span class="line">SUCCESS. Current LicenseType Configuration: RHEL_BASE</span><br></pre></td></tr></table></figure><p>・リポジトリの設定状況<br>dnf コマンドにて、リポジトリの接続状況確認できます。(以下は Base リポジトリに接続されたとき)<br><img src="/blog/vm/ahb-rhel/05.png"></p><p>・拡張機能のプロビジョニング状態 (BYOS から PAYG に変換したときのみ)<br>Azure portal からは、対象の VM のページから拡張機能がインストールされているか確認することができます。<br><img src="/blog/vm/ahb-rhel/06.png"></p><p>Azure CLI での確認</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br></pre></td><td class="code"><pre><span class="line">az vm get-instance-view -g &lt;リソースグループ名&gt; -n &lt;VM 名&gt; --query instanceView.extensions</span><br><span class="line">[</span><br><span class="line">  &#123;</span><br><span class="line">    <span class="string">&quot;name&quot;</span>: <span class="string">&quot;AHBForRHEL&quot;</span>,</span><br><span class="line">    <span class="string">&quot;statuses&quot;</span>: [</span><br><span class="line">      &#123;</span><br><span class="line">        <span class="string">&quot;code&quot;</span>: <span class="string">&quot;ProvisioningState/succeeded&quot;</span>,</span><br><span class="line">        <span class="string">&quot;displayStatus&quot;</span>: <span class="string">&quot;Provisioning succeeded&quot;</span>,</span><br><span class="line">        <span class="string">&quot;level&quot;</span>: <span class="string">&quot;Info&quot;</span>,</span><br><span class="line">        <span class="string">&quot;message&quot;</span>: <span class="string">&quot;Plugin enabled&quot;</span>,</span><br><span class="line">        <span class="string">&quot;time&quot;</span>: null</span><br><span class="line">      &#125;</span><br><span class="line">    ],</span><br><span class="line">    <span class="string">&quot;substatuses&quot;</span>: null,</span><br><span class="line">    <span class="string">&quot;type&quot;</span>: <span class="string">&quot;Microsoft.Azure.AzureHybridBenefit.AHBForRHEL&quot;</span>,</span><br><span class="line">    <span class="string">&quot;typeHandlerVersion&quot;</span>: <span class="string">&quot;1.0.4&quot;</span></span><br><span class="line">  &#125;,</span><br></pre></td></tr></table></figure><p>VM の一覧から、フィルタに OS licensing benefit を追加することで、ハイブリッド特典が有効な VM の一覧を確認することができます。<br><img src="/blog/vm/ahb-rhel/07.png"></p><hr><h2 id="お問い合わせ先について"><a href="#お問い合わせ先について" class="headerlink" title="お問い合わせ先について"></a>お問い合わせ先について</h2><p>PAYG &#x2F; BYOS に関わらず、Azure プラットフォーム上で起きた Azure 基盤側の問題切り分け調査については、Azure サポートで対応をいたします。<br>PAYG をご利用の環境では、OS 観点に関しましては、<br>以下の Red Hat 社のドキュメントに記載通り、L1 (事例調査) および L2 サポート (検証を含む調査) を Azure サポートから提供する形となります。<br>Azure の Linux サポートは break &amp; fix (障害からの復旧) が基本となります。</p><blockquote><p>□ 参考: Microsoft Azure の問題で Red Hat のサポートを受ける方法<br><a href="https://access.redhat.com/ja/articles/3040851">https://access.redhat.com/ja/articles/3040851</a></p></blockquote><p>BYOS をご利用の環境では、OS 観点に関しましては、Red Hat 社へお問い合わせをください。</p><p>本稿が皆様のお役に立てれば幸いです。</p>]]>
    </content>
    <id>https://jpaztech.github.io/blog/vm/ahb-rhel/</id>
    <link href="https://jpaztech.github.io/blog/vm/ahb-rhel/"/>
    <published>2025-06-23T00:00:00.000Z</published>
    <summary>
      <![CDATA[<p>Azure サポートの高橋です。今回は RHEL (Red Hat Enterprise Linux) VM をご利用いただいているお客様よりお問い合わせをいただく Azure ハイブリッド特典 (AHB) についてご紹介していきたいと思います。</p>
<p>Azure Hybrid Benefit (AHB) を利用することで、Azure 上の Red Hat Enterprise Linux (RHEL) VM のソフトウェア サブスクリプション モデルを簡単に切り替えることができます。<br>この記事では、AHB に関する概要、各種ライセンスタイプの違い、BYOS (サブスクリプション持ち込み) と PAYG (従量課金制) の切り替え手順、切り替え後の確認方法について詳しく解説します。</p>]]>
    </summary>
    <title>Azure Hybrid Benefit (AHB) for RHEL VM に関する解説</title>
    <updated>2026-04-20T03:45:50.553Z</updated>
  </entry>
  <entry>
    <author>
      <name>Japan Azure IaaS Core Support Team</name>
    </author>
    <category term="Application Gateway" scheme="https://jpaztech.github.io/blog/tags/Application-Gateway/"/>
    <category term="Network" scheme="https://jpaztech.github.io/blog/tags/Network/"/>
    <content>
      <![CDATA[<p>いつもお世話になっております。Azure Networking チームの庄です。<br>Application Gateway V1 のリタイアが 2026 年 4 月 28 日であると発表されてから暫く経ち、V1 をご利用のお客様の中で V2 への移行計画を進められているご状況かと思います。</p><p>※ V1 のリタイアについて詳しくは<a href="https://learn.microsoft.com/ja-jp/azure/application-gateway/v1-retirement">こちら</a></p><p>今回のブログでは Application Gateway V1 と V2 で HTTP&#x2F;2 を取り扱う際の動作の違いについてご紹介します。皆様のご参考になりましたら幸いです。</p><p>HTTP&#x2F;2（Hypertext Transfer Protocol version 2）は、ウェブ ページのデータをウェブ サーバーから取得するための新しい通信方法です。<br>HTTP&#x2F;1.1 の後継として、2015 年に正式な仕様として承認されました。HTTP&#x2F;2 には、「h2」と「h2c」の二つの識別子があります。HTTP&#x2F;2 の接続が確立される際にトランスポート層セキュリティ（TLS) が利用されたかどうかによって、HTTP&#x2F;2 通信には「h2」または「h2c」識別子が表示されます。つまり、HTTP&#x2F;2 の識別子を通じて、HTTP&#x2F;2 通信が暗号化されているかどうかを判断することができます。</p><p>・識別子が “h2” となっている場合、それは HTTP&#x2F;2 通信が TLS を使用するプロトコルであることを示しています。</p><p>・識別子が “h2c” となっている場合、HTTP&#x2F;2 通信が TLS を使用しません。この際、クライアントは HTTP&#x2F;2 通信に “Upgrade” ヘッダーと “HTTP2-Settings” ヘッダーを送信します。”Upgrade” ヘッダーの値は「h2c」が設定され、”HTTP2-Settings” ヘッダーの値はトークン（例: AAMAAABkAAQCAAAAAAIAAAAA）が設定されます。</p><p><a href="https://datatracker.ietf.org/doc/html/rfc9113#section-3.1">HTTP&#x2F;2 の関連記事 (英語)</a></p><blockquote><p>The “h2c” string was previously used as a token for use in the HTTP Upgrade mechanism’s Upgrade header field. This usage was never widely deployed and is deprecated by this document. The same applies to the HTTP2-Settings header field, which was used with the upgrade to “h2c”.</p></blockquote><p>現在、Edge や Chrome など現在主要なブラウザーでは、HTTP&#x2F;2 over TLS (h2) のみが HTTP&#x2F;2 として使用できます。<br><img src="./appgw_http2/chrome check.png" alt="HAR1" style="width:800px;"/> </p><p>例えば、<a href="http://www.microsoft.com/">www.microsoft.com</a> のサイトは HTTP&#x2F;2 に対応していますが、 <a href="http://www.microsoft.com/">www.microsoft.com</a> に HTTPS ではなく HTTP で接続する場合、<br>ブラウザーが HTTP&#x2F;2 over TCP (h2c) をサポートしていないため、HTTP&#x2F;2 は使用されず、HTTP&#x2F;1.1 で接続を確立します。<br>(以下のスクリーンショットの例ではその後 HTTPS の URL にリダイレクトされ、HTTP&#x2F;2 over TLS (h2)で接続しています。)</p><img src="./appgw_http2/httpyahoo.png" alt="HAR2" style="width:800px;"/> <img src="./appgw_http2/yahoo.png" alt="HAR3" style="width:800px;"/> <p>なお、ブラウザからのアクセスではなく、curl コマンドなどの他の HTTP クライアントから HTTP リクエストを送信する際には、HTTP&#x2F;2 over TCP (h2c) を利用して HTTP&#x2F;2 通信が行われる可能性があります。この状況では、Application Gateway が接続先となる際に、v1 と v2 で動作が異なります。v1 の場合、HTTP&#x2F;2 通信はダウングレードされて、v2 の場合は HTTP ステータスコード 403 が応答されます。詳細の動作つきましては、以下のセクションをご参照ください。</p><h1 id="Application-Gateway-の-HTTP2-サポートについて"><a href="#Application-Gateway-の-HTTP2-サポートについて" class="headerlink" title="Application Gateway の HTTP2 サポートについて"></a>Application Gateway の HTTP2 サポートについて</h1><p>Application Gateway はリバース プロキシとして動作するため、フロントエンド接続（クライアント - Application Gateway）とバックエンド接続（Application Gateway - バックエンド サーバー）の二つの接続が発生します。現在、バックエンド接続における HTTP&#x2F;2 はサポートされておりません。</p><p>フロントエンド接続における HTTP&#x2F;2 のサポート状況については、リスナーで利用しているプロトコルによって異なります。詳細は以下のテーブルをご参照いただけますと幸いです。</p><table><thead><tr><th>リスナーのプロトコル</th><th>サポート状況</th></tr></thead><tbody><tr><td>HTTPS</td><td>サポート</td></tr><tr><td>HTTP</td><td>非サポート</td></tr></tbody></table><p>一般的なシナリオとして、HTTP&#x2F;2 over TLS (h2) が使用されるため、Application Gateway でも HTTP&#x2F;2 over TLS (h2) のみを考慮しています。そのため、Application Gateway では、HTTPS リスナーでのみ HTTP&#x2F;2 をサポートしています。v1、v2 ともに HTTP リスナーでは HTTP&#x2F;2 の通信をサポートしていませんが、HTTP リスナーに対して実際にクライアントから HTTP&#x2F;2 通信を送信する際には、SKU によって動作が異なります。以下にそれぞれの SKU の動作について紹介します。</p><h3 id="v1-の動作"><a href="#v1-の動作" class="headerlink" title="v1 の動作"></a>v1 の動作</h3><p>v1 の HTTP リスナーに HTTP&#x2F;2 を用いて送信すると、通信がダウングレードされ、Application Gateway は HTTP&#x2F;1.1 でレスポンスを送信します。</p><p>v1 の HTTP リスナーに HTTP&#x2F;2 リクエストを curl コマンドで送信した結果</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br></pre></td><td class="code"><pre><span class="line">root:/# curl -v http://&lt;v1 Appgw の IP&gt; --http2</span><br><span class="line">*   Trying xxxxxx:80...</span><br><span class="line">* Connected to xxxx port 80 (#0)</span><br><span class="line">&gt; GET / HTTP/1.1</span><br><span class="line">&gt; Host: xxxxxx</span><br><span class="line">&gt; User-Agent: curl/7.81.0</span><br><span class="line">&gt; Accept: */*</span><br><span class="line">&gt; Connection: Upgrade, HTTP2-Settings</span><br><span class="line">&gt; Upgrade: h2c</span><br><span class="line">&gt; HTTP2-Settings: AAMAAABkAAQCAAAAAAIAAAAA</span><br><span class="line">&gt;</span><br><span class="line">* Mark bundle as not supporting multiuse</span><br><span class="line">&lt; HTTP/1.1 200 OK</span><br><span class="line">&lt; Date: Wed, 25 Dec 2024 09:09:10 GMT</span><br><span class="line">&lt; Content-Type: text/html</span><br><span class="line">&lt; Content-Length: 7</span><br><span class="line">&lt; Connection: keep-alive</span><br><span class="line">&lt; Server: Microsoft-IIS/10.0</span><br><span class="line"></span><br></pre></td></tr></table></figure><h3 id="v2-の動作"><a href="#v2-の動作" class="headerlink" title="v2 の動作"></a>v2 の動作</h3><p>v2 の場合は、HTTP リスナーに HTTP&#x2F;2 を送信すると、Application Gateway はクライアントに 403 を応答します。</p><p>v2 の HTTP リスナーに HTTP&#x2F;2 リクエストを curl コマンドで送信した結果</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br></pre></td><td class="code"><pre><span class="line">root: curl --http2 -v -k http://&lt;v2 Appgw の IP&gt;</span><br><span class="line">*   Trying xxxx:80...</span><br><span class="line">* Connected to xxxx (xxxx) port 80 (#0)</span><br><span class="line">&gt; GET / HTTP/1.1</span><br><span class="line">&gt; Host: xxxx</span><br><span class="line">&gt; User-Agent: curl/7.81.0</span><br><span class="line">&gt; Accept: */*</span><br><span class="line">&gt; Connection: Upgrade, HTTP2-Settings</span><br><span class="line">&gt; Upgrade: h2c</span><br><span class="line">&gt; HTTP2-Settings: AAMAAABkAAQCAAAAAAIAAAAA</span><br><span class="line">&gt;</span><br><span class="line">* Mark bundle as not supporting multiuse</span><br><span class="line">&lt; HTTP/1.1 403 Forbidden</span><br><span class="line">&lt; Server: Microsoft-Azure-Application-Gateway/v2</span><br><span class="line">&lt; Date: Wed, 25 Dec 2024 08:51:52 GMT</span><br><span class="line">&lt; Content-Type: text/html</span><br><span class="line">&lt; Content-Length: 179</span><br><span class="line">&lt; Connection: keep-alive</span><br><span class="line">&lt;</span><br><span class="line">&lt;html&gt;</span><br><span class="line">&lt;head&gt;&lt;title&gt;403 Forbidden&lt;/title&gt;&lt;/head&gt;</span><br><span class="line">&lt;body&gt;</span><br><span class="line">&lt;center&gt;&lt;h1&gt;403 Forbidden&lt;/h1&gt;&lt;/center&gt;</span><br><span class="line">&lt;hr&gt;&lt;center&gt;Microsoft-Azure-Application-Gateway/v2&lt;/center&gt;</span><br><span class="line">&lt;/body&gt;</span><br><span class="line">&lt;/html&gt;</span><br><span class="line">* Connection #0 to host xxxx left intact</span><br><span class="line"></span><br></pre></td></tr></table></figure><p>上記の HTTP リスナーに HTTP&#x2F;2 を送信した通信結果を、Application Gateway で設定可能な診断ログの 1 つであるアクセス ログから対象の通信結果を確認すると、「httpStatus」のプロパティには 403 が記載され、「serverStatus」のプロパティには 403 以外の別のステータスコードが記載されます。こちらは想定されているログの記録結果です。</p><p>また、このブロックは Application Gateway V2 自体のコード レベルでの動作であり、WAF を利用していない場合でも同様に HTTP 403 を返す動作となります。つまり、Application Gateway v2 は WAF の利用の有無にかかわらず HTTP リスナーで受け取った HTTP&#x2F;2 通信をブロックすることが想定された動作となります。</p>]]>
    </content>
    <id>https://jpaztech.github.io/blog/network/appgw-http2/</id>
    <link href="https://jpaztech.github.io/blog/network/appgw-http2/"/>
    <published>2025-03-21T03:00:00.000Z</published>
    <summary>
      <![CDATA[<p>いつもお世話になっております。Azure Networking チームの庄です。<br>Application Gateway V1 のリタイアが 2026 年 4 月 28 日であると発表されてから暫く経ち、V1 をご利用のお客様の中で V2 への移行計画を進められている]]>
    </summary>
    <title>Application Gateway の HTTP2 サポート</title>
    <updated>2026-04-20T03:45:50.359Z</updated>
  </entry>
  <entry>
    <author>
      <name>Japan Azure IaaS Core Support Team</name>
    </author>
    <category term="Network" scheme="https://jpaztech.github.io/blog/tags/Network/"/>
    <category term="Network Watcher" scheme="https://jpaztech.github.io/blog/tags/Network-Watcher/"/>
    <category term="NSG Flow Log" scheme="https://jpaztech.github.io/blog/tags/NSG-Flow-Log/"/>
    <category term="Vnet Flow Log" scheme="https://jpaztech.github.io/blog/tags/Vnet-Flow-Log/"/>
    <content>
      <![CDATA[<p>こんにちは、Azure テクニカル サポート チームです。</p><p>2027 年 9 月 30 日にネットワーク セキュリティ グループ (NSG) フローログが廃止され、2025 年 6 月 30 日以降新しい NSG フロー ログが作成できなくなるため、VNet フロー ログへ移行いただくことを推奨する内容がアナウンスされました。(Tracking ID:4NBJ-DQ0)<br>アナウンスされてから半年ほど経過いたしましたので、VNet フロー ログへの移行に際する概要およびよくある質問についてこの記事にてご紹介させていただきます。</p><h2 id="アナウンスの概要"><a href="#アナウンスの概要" class="headerlink" title="[アナウンスの概要]"></a>[アナウンスの概要]</h2><p>2027 年 9 月 30 日にネットワーク セキュリティ グループ (NSG) フロー ログが廃止され、2025 年 6 月 30 日以降新しい NSG フロー ログが作成できなくなります。<br>提供終了日 (2027 年 9 月 30 日) を過ぎると、NSG フロー ログで有効になっているトラフィック分析がサポートされなくなり、サブスクリプション内の既存の NSG フロー ログ リソースが削除されるため、NSG のフロー ログの廃止に伴い、VNet フロー ログへの移行を推奨しております。</p><p><a href="https://learn.microsoft.com/ja-jp/azure/network-watcher/nsg-flow-logs-overview">ネットワーク セキュリティ グループのフローのログ記録</a></p><blockquote><p>重要 <br><br>2027 年 9 月 30 日にネットワーク セキュリティ グループ (NSG) フロー ログは廃止されます。 この提供終了の一環として、2025 年 6 月 30 日以降新しい NSG フロー ログを作成できなくなります。<br>NSG フロー ログの制限を克服するために、仮想ネットワーク フロー ログに移行することをお勧めします。<br>提供終了日を過ぎると、NSG フロー ログで有効になっているトラフィック分析がサポートされなくなり、サブスクリプション内の既存の NSG フロー ログ リソースが削除されます。<br>ただし、NSG フロー ログのレコードは削除されず、引き続きそれぞれのアイテム保持ポリシーに従います。 詳細については、公式告知を参照してください。</p></blockquote><h2 id="NSG-フロー-ログと-VNet-フロー-ログの違い"><a href="#NSG-フロー-ログと-VNet-フロー-ログの違い" class="headerlink" title="[NSG フロー ログと VNet フロー ログの違い]"></a>[NSG フロー ログと VNet フロー ログの違い]</h2><p>フロー ログは、ネットワーク トラフィックの監視と分析に使用される Network Watcher の機能の 1 つとして提供しているロギング サービスです。ネットワーク セキュリティ グループ (NSG) で設定したセキュリティ ルールの評価や仮想ネットワーク (VNet) 内のトラフィックを監視し、NSG で許可されたトラフィックと拒否されたトラフィックを記録することが可能です。今までは Subnet や NIC のみでしかログの採取ができませんでしたが、VNet フロー ログの登場によって、VNet 単位でのログを採取することが可能となりました。NSG フロー ログと VNet フロー ログの違いについて完結にお伝えすると、VNet フロー ログは、NSG フロー ログの上位互換にあたる機能となりますが、具体的な違いについては以下の表をご覧ください。</p><table><thead><tr><th>機能の違い</th><th>NSG フロー ログ</th><th>Vnet フロー ログ</th></tr></thead><tbody><tr><td>フロー ログを取得できる対象範囲 (ターゲット)</td><td>Subnet&#x2F;NIC</td><td>VNet&#x2F;Subnet&#x2F;NIC</td></tr><tr><td>ログ形式</td><td><a href="https://learn.microsoft.com/ja-jp/azure/network-watcher/vnet-flow-logs-overview#log-format">ログ形式</a><br><a href="https://learn.microsoft.com/ja-jp/azure/network-watcher/vnet-flow-logs-overview#sample-log-record">サンプル ログ レコード</a></td><td><a href="https://learn.microsoft.com/ja-jp/azure/network-watcher/nsg-flow-logs-overview#log-format">ログ形式</a><br><a href="https://learn.microsoft.com/ja-jp/azure/network-watcher/nsg-flow-logs-overview#sample-log-records">サンプル ログ レコード</a></td></tr><tr><td>トラフィック分析のスキーマ</td><td><a href="https://learn.microsoft.com/ja-jp/azure/network-watcher/traffic-analytics-schema?tabs=nsg#traffic-analytics-schema">トラフィック分析スキーマ</a></td><td><a href="https://learn.microsoft.com/ja-jp/azure/network-watcher/traffic-analytics-schema?tabs=vnet#traffic-analytics-schema">トラフィック分析スキーマ</a></td></tr><tr><td>ストレージ アカウント</td><td><code>https//{storageAccountName}@insights-logs-networksecuritygroupflowevent</code> のパス内に保存</td><td><code>https://{storageAccountName}@insights-logs-flowlogflowevent</code> のパス内に保存</td></tr><tr><td>Log Analytics Workspace</td><td>“AzureNetworkAnalytics_CL” テーブルに保存</td><td>“NTANetAnalytics” テーブルに保存</td></tr><tr><td>NSG フロー ログではサポートされず、<br>VNet フロー ログではサポートされたシナリオ</td><td>右記が非サポート シナリオ</td><td>ステートレス フロー内のバイトとパケット<br>仮想ネットワーク暗号化の識別(VNet Encryption)<br>Azure API マネージメント<br>Application Gateway<br>Virtual Network Manager<br>ExpressRoute Gateway<br>Virtual Machine scale sets<br>VPN Gateway<br>Azure VM (D family v6 series)<br>Azure VM (E family v6 series)<br>Azure VM (F family v6 series)</td></tr><tr><td>VNet フロー ログではサポートされず、<br>NSG フロー ログではサポートされるシナリオ</td><td>なし</td><td>-</td></tr></tbody></table><h2 id="FAQ"><a href="#FAQ" class="headerlink" title="[FAQ]"></a>[FAQ]</h2><p>Q1. 既存の NSG フロー ログのデータは削除されますか<br><br>A1. いいえ。既存の NSG フロー ログのデータは削除されません (ただしストレージ アカウントのリテンション期間に準じます)。移行前のログ (NSG フロー ログ) は保存先のストレージ アカウント内の [insights-logs-networksecuritygroupflowevent] というパスに保存され、移行後のログ (VNet フロー ログ)は [insights-logs-flowlogflowevent] というパスに保存されます。<br>また、トラフィック分析を有効化にしている場合、NSG フロー ログは [AzureNetworkAnalytics_CL] テーブル、VNet フロー ログは [NTANetAnalytics] テーブルを Log Analytics ワークスペースのクエリで確認が可能です。</p><p>Q2. NSG フロー ログから VNet フロー ログへ移行スクリプトを利用して移行した場合、既存の環境において通信影響やパフォーマンス影響はありますか<br><br>A2. いいえ。NSG フロー ログから VNet フロー ログへの移行に伴う通信影響ございません。</p><p>Q3. NSG フロー ログでトラフィック分析を有効化し、Log Analytics で独自のクエリを利用し分析を行っていましたが、VNet フロー ログでも同じクエリで分析することは可能ですか<br><br>A3. いいえ。NSG フロー ログと VNet フローログでは、トラフィック分析のスキーマが異なるため NSG フロー ログで利用していたクエリを使い回すことはできません。VNet フロー ログのスキーマを参考の上、VNet フロー ログ用のクエリを作成いただく必要があります。</p><p>(参考)<br><br><a href="https://learn.microsoft.com/ja-jp/azure/network-watcher/traffic-analytics-schema?tabs=vnet#traffic-analytics-schema">トラフィック分析スキーマ - Network Watcher | Microsoft Learn</a></p><p>Q4. NSG フロー ログから VNet フロー ログへ移行スクリプトを利用する場合の PowerShell のバージョンに指定はありますか<br><br>A4. Powershell 7 以降での動作を想定しております。 Powershell 7よりも前のバージョンでスクリプトを実行した場合、スクリプトの実行に失敗することが想定されます。Powershell のバージョンは $PSVersionTable を実行いただくことで確認可能です。</p><p>Q5. 移行スクリプト (MigrationFromNsgToAzureFlowLogging.ps1) を実行した際に選択できる、”Proceed with migration with aggregation” (集計あり) と “Proceed with migration without aggregation” (集計なし) の違いはなんですか<br><br>A5. “Proceed with migration with aggregation” は、同じ VNet 内の NIC&#x2F;Subnet に関連付けられている NSG の NSG フロー ログを 1 つの VNet フロー ログにまとめて、移行する方法です。例えば、VNetA 内に Subnet-1、NIC1 があり、それぞれに NSG が関連付けられており、NSG フロー ログを設定している場合 (NSG フロー ログが 2 つ設定されている) は、VNetA をターゲットとした VNet フロー ログが 1 つ作成されます。<br>一方で、”Proceed with migration without aggregation” は、同じ VNet 内の Subnet&#x2F;NIC の NSG の NSG フロー ログを VNet フロー ログと 1:1 対応する形で移行する方法です。例えば、 VNetA 内に Subnet-1、NIC1 があり、それぞれに NSG が関連付けられており、NSG フロー ログを設定している場合 (NSG フロー ログが 2 つ設定されている) は、Subnet と NIC をターゲットとした VNet フロー ログが 1 つずつ作成されます。また、1 つの NSG が複数の NIC&#x2F;Subnet に関連付けられている NSG フローログを作成されている場合、それぞれの NIC&#x2F;Subnet に対して個別に VNet フロー ログが作成されます。<br>例えば、 VNetA 内に Subnet-1、NIC1 があり、1 つの NSG が関連付けられており、NSG フロー ログを設定している場合 (NSG フロー ログが 1 つ設定されている) は、Subnet と NIC をターゲットとした VNet フロー ログが 1 つずつ作成されます。<br>なお、移行元に複数の NSG フローログが構成されている環境において “Proceed with migration with aggregation” で移行する場合、NSG フローログごとの設定値 (i.e. 出力先のストレージアカウントやリテンション期間、Traffic Analytics の有無、FlowLog Version)が異なると 1 つの VNet フローログにまとめられない動作になりますことをご留意ください。<br>仮に異なる設定値を持った状態で “Proceed with migration with aggregation” を選択した場合、同じ設定を持った NSG フローログは VNet フローログにまとめられ、異なる設定を持った NSG フローログは “Proceed with migration without aggregation” と同様に 1:1 対応する形で移行される動作となります。</p><p><a href="https://learn.microsoft.com/ja-jp/azure/network-watcher/nsg-flow-logs-migrate#run-migration-script">移行スクリプトを実行する - Network Watcher | Microsoft Learn</a></p><blockquote><p>フロー ログを移行するネットワーク セキュリティ グループが同じ仮想ネットワーク内の 3 つのネットワーク インターフェイスに関連付けられている場合は、集計ありの移行を選択して 1 つの仮想ネットワーク フロー ログ リソースを仮想ネットワークに適用することができます。 <br><br>また、集計なしの移行を選択し、3 つの仮想ネットワーク フロー ログ (ネットワーク インターフェイスごとに 1 つの仮想ネットワーク フロー ログ リソース) を持つこともできます。</p></blockquote><p>Q6. 移行の種類、”Proceed with migration with aggregation” (集計あり) と “Proceed with migration without aggregation” (集計なし) の選び方が分かりません<br><br>A6. フロー ログの保存先をサブネットや NIC ごとに別のストレージ アカウントにしたい場合や、ログの対象を特定のサブネットや NIC のみに限定したい場合は、”Proceed with migration without aggregation” (集計なし) を選択し移行いただく必要があります。</p><p>Q7. NSG フロー ログを有効化しており、トラフィック分析も有効化していますが、VNet フロー ログ移行後はトラフィック分析を無効化したいと考えています。移行スクリプトのオプションでトラフィック分析を無効化することはできますか<br><br>A7. いいえ。移行スクリプトでは、既存の NSG フロー ログの設定を引き継ぐ形で VNet フロー ログが作成されます。トラフィック分析を無効化したい場合、移行前にトラフィック分析を無効化いただく、もしくは移行後にトラフィック分析を無効化いただく必要があります。</p><p>Q8. 移行スクリプト (MigrationFromNsgToAzureFlowLogging.ps1) を実行した際に VNet フロー ログの名称は指定できますか<br><br>A8. いいえ、移行スクリプトを用いた移行では VNet フロー ログの名称が自動的に指定されるため明示的に名称を指定することはできません。明示的に名称を指定したい場合、VNet フロー ログを新規で作成いただく必要があります。<br>自動的に指定される名称は、移行の種類 (“Proceed with migration with aggregation”&#x2F;“Proceed with migration without aggregation”) によって命名規則が異なります。<br><br>“Proceed with migration with aggregation” の場合、&lt;Subnet や NIC が属する VNet 名&gt; “-“ &lt;リソースグループ名&gt; “-“ flowlog の命名規則で VNet フロー ログが作成されます。<br><br>“Proceed with migration without aggregation” の場合、&lt;NIC 名&#x2F; Subnet 名&gt; “-“ &lt;リソースグループ名&gt; “-“ flowlog の命名規則で VNet フロー ログが作成されます。</p><p>Q9. 2025 年 6 月 30 日以降に既存の NSG フローログの設定変更はできますか<br><br>A9. はい。2025 年 6 月 30 日以降、新規の NSG フローログは作成不可となりますが、既存の NSG フローログの設定変更は可能です。</p>]]>
    </content>
    <id>https://jpaztech.github.io/blog/network/migration-from-NSG-Flowlog-to-Vnet-Flowlog/</id>
    <link href="https://jpaztech.github.io/blog/network/migration-from-NSG-Flowlog-to-Vnet-Flowlog/"/>
    <published>2025-02-26T00:00:00.000Z</published>
    <summary>
      <![CDATA[<p>こんにちは、Azure テクニカル サポート チームです。</p>
<p>2027 年 9 月 30 日にネットワーク セキュリティ グループ (NSG) フローログが廃止され、2025 年 6 月 30 日以降新しい NSG フロー ログが作成できなくなるため、VNet]]>
    </summary>
    <title>NSG フローログ から VNet フローログ への移行についてよくある質問</title>
    <updated>2026-04-20T03:45:50.405Z</updated>
  </entry>
  <entry>
    <author>
      <name>Japan Azure IaaS Core Support Team</name>
    </author>
    <category term="Network" scheme="https://jpaztech.github.io/blog/tags/Network/"/>
    <category term="VirtualWAN" scheme="https://jpaztech.github.io/blog/tags/VirtualWAN/"/>
    <content>
      <![CDATA[<p>こんにちは、Azure テクニカル サポート チームです。<br>この記事では、Virtual WAN の仮想ハブに接続した各環境 (VNet&#x2F;ブランチ (サイト間 VPN、ポイント対サイト VPN、ExpressRoute)) における相互接続について紹介いたします。<br>従来の仮想ネットワーク環境と比べ、どのようなケースに Virtual WAN の導入が適しているか、ご判断の助けになれば幸いです。</p><h2 id="Virtual-WAN-の相互接続性について"><a href="#Virtual-WAN-の相互接続性について" class="headerlink" title="Virtual WAN の相互接続性について"></a>Virtual WAN の相互接続性について</h2><p>Virtual WAN は仮想ハブというコンポーネントを中心としており、この仮想ハブに対して様々な環境を接続することができます。<br>仮想ハブに対して接続する主な環境は、仮想ネットワークと、ブランチと呼ばれるオンプレミス環境です。<br>この “ブランチ” については、Virtual WAN 内の仮想ハブに接続するオンプレミス環境をまとめた総称であり、具体的な接続パターンは以下の様なものがあります。  </p><ul><li>サイト間 VPN (S2S VPN)</li><li>ポイント対サイトユーザー VPN (P2S VPN)</li><li>ExpressRoute</li></ul><p>※ その他、仮想ハブと Vnet 上の仮想アプライアンス間で直接 BGP ピアを構成したり、仮想ハブ上に所定のパートナーが提供するアプライアンス製品やサービスをデプロイし SD-WAN 環境を構成するといったことも可能ですが、今回の記事ではよくご利用いただく、仮想ネットワークとブランチ (サイト間 VPN、ポイント対サイト VPN、ExpressRoute) 接続のパターンにフォーカスしたいと思います。</p><p>Virtual WAN では、仮想ネットワークやブランチを仮想ハブに接続することで、複雑な操作を伴わずにそれぞれの環境間を相互接続させるということをコンセプトにしております。<br>上述したような仮想ネットワーク&#x2F;ブランチ (サイト間 VPN、ポイント対サイト VPN、ExpressRoute) の接続については、一部条件付きのケースもございますが、基本的に Virtual WAN によって相互接続させることが可能です。<br>Virtual WAN の相互接続性については、以下の公式ドキュメントにも言及がありますので、併せてご参照ください。</p><p>(参考)<br><a href="https://learn.microsoft.com/ja-jp/azure/virtual-wan/virtual-wan-global-transit-network-architecture">グローバル トランジット ネットワーク アーキテクチャと Virtual WAN</a></p><h2 id="各接続パターンについて"><a href="#各接続パターンについて" class="headerlink" title="各接続パターンについて"></a>各接続パターンについて</h2><p>Virtual WAN 環境と仮想ネットワーク環境における相互接続性の差をわかりやすく示すため、まずは概要として簡単な表を以下に記載しております。</p><p>この表では、縦軸と横軸に記載された環境間での相互接続可否を示しており、記号はそれぞれ以下の意味を表します。  </p><ul><li>〇については相互接続が可能となるよう構成可能  </li><li>×については相互接続が可能となる構成が非サポート  </li><li>△については相互接続可能となるよう構成可能であるが、特定のオプションや別サービスの利用が伴うため考慮が必要</li></ul><p>※ 本記事では詳細な構成及び設定の方法については割愛いたしますが、〇と表記しているケースでも構成によっては相互接続が可能とならないケースもある点ご了承ください。</p><p>また、縦軸と横軸において省略して記載している各表記は、以下を示しております。</p><ul><li>VNet &#x3D; 仮想ネットワーク環境</li><li>S2S &#x3D; サイト間 VPN で接続されたオンプレミス拠点</li><li>P2S &#x3D;  ポイント対サイト VPN で接続されたクライアント端末</li><li>ExpressRoute &#x3D; ExpressRoute 回線で接続されたオンプレミス拠点</li></ul><h4 id="仮想ネットワーク環境の場合"><a href="#仮想ネットワーク環境の場合" class="headerlink" title="仮想ネットワーク環境の場合"></a>仮想ネットワーク環境の場合</h4><p><img src="/blog/network/vwan_transit/vwan_transit_1.png" alt="img1"></p><h4 id="Virtual-WAN-環境の場合"><a href="#Virtual-WAN-環境の場合" class="headerlink" title="Virtual WAN 環境の場合"></a>Virtual WAN 環境の場合</h4><p><img src="/blog/network/vwan_transit/vwan_transit_2.png" alt="img2"></p><p>以下では、各接続パターンにおいてどのような相互接続が可能となるか、通常の仮想ネットワーク環境とも比較しながらもう少し詳しく見ていこうと思います。</p><h3 id="S2S-to-S2S"><a href="#S2S-to-S2S" class="headerlink" title="S2S to S2S"></a>S2S to S2S</h3><p>仮想ハブ上の VPN ゲートウェイには複数のサイト間 VPN を接続可能ですが、サイト間 VPN で接続された拠点同士で相互接続ができるように構成することが可能です。<br><img src="/blog/network/vwan_transit/vwan_transit_3.png" alt="img3"></p><p>従来の仮想ネットワーク環境でも、同様に複数のサイト間 VPN で接続された拠点間の相互接続 (トランジット接続) ができるように構成することが可能です。</p><p>(参考)<br><a href="https://learn.microsoft.com/ja-jp/azure/vpn-gateway/vpn-gateway-vpn-faq#does-azure-vpn-gateway-support-bgp-transit-routing">VPN Gateway に関する FAQ - Azure VPN Gateway では、BGP トランジット ルーティングをサポートしていますか。</a></p><h3 id="P2S-to-S2S"><a href="#P2S-to-S2S" class="headerlink" title="P2S to S2S"></a>P2S to S2S</h3><p>ポイント対サイトユーザー VPN のクライアントから、サイト間 VPN の接続先拠点にアクセスすることが可能です。<br><img src="/blog/network/vwan_transit/vwan_transit_4.png" alt="img4"></p><p>従来の仮想ネットワーク環境でも、ポイント対サイト VPN のクライアントからサイト間 VPN の接続先拠点にアクセスできるよう構成することは可能です。</p><p>(ご参考)<br><a href="https://learn.microsoft.com/ja-jp/Azure/vpn-gateway/vpn-gateway-about-point-to-site-routing">ポイント対サイト VPN ルーティングについて</a><br>※ ポイント対サイトユーザー VPN で利用するプロトコルや、接続端末の OS 種別によっては、カスタムルートの構成やゲスト OS 内でのルート設定といった追加作業が必要になる場合もございます。</p><h3 id="S2S-to-ExpressRoute"><a href="#S2S-to-ExpressRoute" class="headerlink" title="S2S to ExpressRoute"></a>S2S to ExpressRoute</h3><p>このシナリオは、通常の仮想ネットワーク環境と比較し、Virtual WAN 環境で容易に構成できることが大きな特徴です。<br>まず、Virtual WAN 環境では、サイト間 VPN と ExpressRoute 回線を仮想ハブに接続するのみで、相互に疎通させることが可能です。<br><img src="/blog/network/vwan_transit/vwan_transit_5.png" alt="img5"></p><p>従来の仮想ネットワーク環境でも、サイト間 VPN と ExpressRoute 用の仮想ネットワークゲートウェイを同じ仮想ネットワークに共存させて同時にオンプレミス拠点と接続することはできますが、既定の構成のままでは各拠点間の相互接続を行うことはできません。<br>仮想ネットワーク環境でサイト間 VPN と ExpressRoute に接続された拠点間でトランジット通信を実現したい場合、Azure Route Server という別のリソースを追加で構成し、各仮想ネットワークゲートウェイと BGP による経路交換を行う必要があります。</p><p>(参考)<br><a href="https://learn.microsoft.com/ja-jp/azure/route-server/expressroute-vpn-support">ExpressRoute と Azure VPN に対する Azure Route Server のサポート</a></p><p>このように、通常の仮想ネットワーク環境では更に別のサービスを構成してトランジット通信を実現する必要があるほか、VPN 用仮想ネットワークゲートウェイの構成やパラメーター、ゲートウェイサブネットのサイズ等に一定の制約が生じるなど、様々な考慮事項が生じます。<br>Virtual WAN 環境では上記のような別リソースの構成は伴わず、仮想ハブ上のゲートウェイにサイト間 VPN と ExpressRoute 回線の接続を構成すれば、基本的には既定の構成で拠点間の相互通信を実現することができます。</p><h3 id="P2S-to-ExpressRoute"><a href="#P2S-to-ExpressRoute" class="headerlink" title="P2S to ExpressRoute"></a>P2S to ExpressRoute</h3><p>OpenVPN プロトコルで接続したポイント対サイトユーザー VPN のクライアントから、ExpressRoute の接続先拠点にアクセスすることも可能です。<br><img src="/blog/network/vwan_transit/vwan_transit_6.png" alt="img6"></p><p>従来の仮想ネットワーク環境では、前述の Azure Route Server を利用したとしても、P2S VPN の接続クライアントから ExprsesRoute 接続先拠点へのトランジット接続は非サポートとなります。  </p><p>(参考)<a href="https://learn.microsoft.com/ja-jp/azure/route-server/route-server-faq#can-azure-route-server-provide-transit-between-expressroute-and-a-point-to-site-p2s-vpn-gateway-connection-when-enabling-the-branch-to-branch">Azure Route Server に関してよく寄せられる質問 (FAQ)</a></p><h3 id="ExpressRoute-to-ExpressRoute"><a href="#ExpressRoute-to-ExpressRoute" class="headerlink" title="ExpressRoute to ExpressRoute"></a>ExpressRoute to ExpressRoute</h3><p><img src="/blog/network/vwan_transit/vwan_transit_7.png" alt="img7"></p><p>複数の ExpressRoute 回線で接続された拠点間のトランジット通信は、Virtual WAN 環境であっても既定の状態では不可能です。<br>以下のうちいずれかのオプション機能を利用することで、実現が可能となります。</p><ul><li>Global Reach の利用 (仮想ハブを経由することなく各 ExpressRoute 回線間で直接トラフィックが転送されます)</li><li>プライベート ルーティング ポリシーの有効化(仮想ハブに Azure Firewall を伴う、セキュリティ保護付き仮想ハブの利用が必要となります。また、有効化の際にサポートリクエストによる依頼が必要となります。)</li></ul><p>(参考)<br><a href="https://learn.microsoft.com/ja-jp/azure/virtual-wan/how-to-routing-policies#expressroute">ルーティング インテントを使用した ExpressRoute 回線間のトランジット接続</a></p><p>従来の仮想ネットワーク環境でも同様に、既定の状態では複数の ExpressRoute 回線で接続された拠点間のトランジット通信ができません。<br>実現する場合には、Global Reach を利用する必要がございます。</p><h3 id="VNet-to-Branch-S2S-P2S-ExpressRoute"><a href="#VNet-to-Branch-S2S-P2S-ExpressRoute" class="headerlink" title="VNet to Branch (S2S, P2S, ExpressRoute)"></a>VNet to Branch (S2S, P2S, ExpressRoute)</h3><p>Virtual WAN 環境では、仮想ネットワーク環境と各ブランチ (サイト間、ポイント対サイト、ExpressRoute) で接続された環境間の疎通が可能です。<br><img src="/blog/network/vwan_transit/vwan_transit_8.png" alt="img8"></p><p>同様に、従来の仮想ネットワーク環境でも、サイト間、ポイント対サイト、ExpressRoute で接続された環境との通信は可能です。<br>複数の仮想ネットワークを接続する場合は、ハブ用の仮想ネットワークを用意して各スポークと VNet ピアリングを構成した上で、ゲートウェイ転送オプションを有効化しておく必要がございます。<br>Virtual WAN 環境であれば、仮想ハブに複数の仮想ネットワークを順次接続していけば、自動的にブランチ環境との接続性を確保することができます。</p><h3 id="VNet-to-VNet"><a href="#VNet-to-VNet" class="headerlink" title="VNet to VNet"></a>VNet to VNet</h3><p>Virtual WAN 環境では、仮想ハブに接続した仮想ネットワーク同士の疎通も可能です。<br>たくさんの仮想ネットワーク間で相互接続性を確保したい時には、それぞれの仮想ネットワークを仮想ハブに接続していくことで、自動的に相互通信ができるようになります。<br><img src="/blog/network/vwan_transit/vwan_transit_9.png" alt="img9"></p><p>従来の仮想ネットワーク環境では、複数の仮想ネットワーク間は基本的に VNet ピアリングによって接続します。<br>もちろん、VNet ピアリングによって仮想ネットワーク間の通信は可能となりますが、VNet ピアリングでは基本的に直接ピアリングした先の仮想ネットワークにしかアクセスすることができません。<br>相互接続したい仮想ネットワークの数が多くなる場合、メッシュ状に VNet ピアリングを構成するか、ハブ用の仮想ネットワークを用意してルーティング用の NVA を配置するといった対処が必要となります。  </p><h2 id="おわりに"><a href="#おわりに" class="headerlink" title="おわりに"></a>おわりに</h2><p>この記事では、Virtual WAN 環境における各環境間の相互接続についてご紹介いたしました。<br>通常の仮想ネットワーク環境を用いるパターンと比較しますと、実現できることの違いや、同じようなトラフィックフローが実現できたとしても構成の難度や複雑性が異なってくる点がご理解いただけたのではないかと思います。<br>Virtual WAN 環境の利用をご検討いただく一助となれば幸いです。</p>]]>
    </content>
    <id>https://jpaztech.github.io/blog/network/vwan_transit/</id>
    <link href="https://jpaztech.github.io/blog/network/vwan_transit/"/>
    <published>2025-01-08T03:30:00.000Z</published>
    <summary>
      <![CDATA[<p>こんにちは、Azure テクニカル サポート チームです。<br>この記事では、Virtual WAN の仮想ハブに接続した各環境 (VNet&#x2F;ブランチ (サイト間 VPN、ポイント対サイト VPN、ExpressRoute)) における相互接続について紹介いたし]]>
    </summary>
    <title>Virtual WAN の相互接続性について</title>
    <updated>2026-04-20T03:45:50.471Z</updated>
  </entry>
  <entry>
    <author>
      <name>Japan Azure IaaS Core Support Team</name>
    </author>
    <category term="Storage" scheme="https://jpaztech.github.io/blog/tags/Storage/"/>
    <content>
      <![CDATA[<p>こんにちは、Azure テクニカル サポート チームの木下・富田です。  </p><p>今回は Azure ストレージ アカウント内コンテンツへのアクセス時に 401 もしくは 403 エラー（認証エラー）が発生した場合の、対処法をストレージファイアウォール観点でエラー事例とともにご紹介いたします。<br>401&#x2F;403 エラーは認証エラーですので、ネットワークとしては疎通ができている状態ですが、認証によってアクセスが拒否されている状況となります。<br>本記事ではまず、ストレージ アカウント自体に備わっているファイアウォール（ネットワーク設定）の観点でトラブルシューティングのご紹介をさせていただきます。</p><hr><h2 id="ストレージ-アカウント内のコンテンツ表示における-403-エラーの表示例"><a href="#ストレージ-アカウント内のコンテンツ表示における-403-エラーの表示例" class="headerlink" title="ストレージ アカウント内のコンテンツ表示における 403 エラーの表示例"></a>ストレージ アカウント内のコンテンツ表示における 403 エラーの表示例</h2><p>アクセスを行うツールによって表示が異なりますが、いくつかスクリーンショットを交えてエラー表示の例を記載させていただきます。<br>どれも 403 エラーや Access is denied として表示され、アクセス拒否となっていることが分かります。  </p><h3 id="Azure-ポータルでストレージ-アカウントの-Blob-コンテナー内の表示、およびストレージブラウザーで-Blob-や-Azure-Files-にアクセスした際"><a href="#Azure-ポータルでストレージ-アカウントの-Blob-コンテナー内の表示、およびストレージブラウザーで-Blob-や-Azure-Files-にアクセスした際" class="headerlink" title="Azure ポータルでストレージ アカウントの Blob コンテナー内の表示、およびストレージブラウザーで Blob や Azure Files にアクセスした際"></a>Azure ポータルでストレージ アカウントの Blob コンテナー内の表示、およびストレージブラウザーで Blob や Azure Files にアクセスした際</h3><p><img src="/blog/storage/storageFirewall-403Error/Storage01.png" alt="This request is not authorized to perform this operation."></p><h3 id="Azure-ポータルで-Azure-Files（ファイル共有）にアクセスした際"><a href="#Azure-ポータルで-Azure-Files（ファイル共有）にアクセスした際" class="headerlink" title="Azure ポータルで Azure Files（ファイル共有）にアクセスした際"></a>Azure ポータルで Azure Files（ファイル共有）にアクセスした際</h3><p><img src="/blog/storage/storageFirewall-403Error/Storage02.png" alt="このマシンからはアクセスできないようです。このストレージ アカウントは VNet にあります。"><br>401 エラーとして検知される場合も確認されております<br><img src="/blog/storage/storageFirewall-403Error/Storage19.png" alt="アクセス許可がありません"></p><h3 id="Azure-Storage-Explorer-で-Blob-コンテナーにアクセスした際"><a href="#Azure-Storage-Explorer-で-Blob-コンテナーにアクセスした際" class="headerlink" title="Azure Storage Explorer で Blob コンテナーにアクセスした際"></a>Azure Storage Explorer で Blob コンテナーにアクセスした際</h3><p><img src="/blog/storage/storageFirewall-403Error/Storage03.png" alt="This request is not authorized to perform this operation."></p><h3 id="Azure-Storage-Explorer-で-Azure-Files（ファイル共有）にアクセスした際"><a href="#Azure-Storage-Explorer-で-Azure-Files（ファイル共有）にアクセスした際" class="headerlink" title="Azure Storage Explorer で Azure Files（ファイル共有）にアクセスした際"></a>Azure Storage Explorer で Azure Files（ファイル共有）にアクセスした際</h3><p><img src="/blog/storage/storageFirewall-403Error/Storage90.png" alt="Unable to retrieve child resources"></p><h3 id="AzCopy-コマンドにてファイルコピー時した際"><a href="#AzCopy-コマンドにてファイルコピー時した際" class="headerlink" title="AzCopy コマンドにてファイルコピー時した際"></a>AzCopy コマンドにてファイルコピー時した際</h3><p><img src="/blog/storage/storageFirewall-403Error/Storage04.png" alt="INFO: Authentication failed, it is either not correct, or expired, or does not have the correct permission &#x2F; RESPONSE 403: 403 This request is not authorized to perform this operation. &#x2F; ERROR CODE: AuthorizationFailure"></p><h3 id="Azure-Files（ファイル共有）を-New-PSDrive-コマンドでマウントした際"><a href="#Azure-Files（ファイル共有）を-New-PSDrive-コマンドでマウントした際" class="headerlink" title="Azure Files（ファイル共有）を New-PSDrive コマンドでマウントした際"></a>Azure Files（ファイル共有）を New-PSDrive コマンドでマウントした際</h3><p><img src="/blog/storage/storageFirewall-403Error/Storage05.png" alt="New-PSDrive : Access is denied"></p><p>これらのエラーの場合は、以下の原因によりアクセス拒否となっている可能性がございます。  </p><ul><li>ストレージ アカウント自体に備わっているファイアウォール（ネットワーク設定）によりアクセス拒否されている</li><li>データ操作の認可がされていない</li></ul><p>まずは、それぞれのアクセス制御の機能について解説させていただきます。</p><hr><h2 id="ストレージ-アカウントのファイアウォール（ネットワーク設定）とデータへの認可について"><a href="#ストレージ-アカウントのファイアウォール（ネットワーク設定）とデータへの認可について" class="headerlink" title="ストレージ アカウントのファイアウォール（ネットワーク設定）とデータへの認可について"></a>ストレージ アカウントのファイアウォール（ネットワーク設定）とデータへの認可について</h2><p>ストレージ アカウントには、特定の VNET や特定のグローバル IP アドレスからのアクセスのみを許可するといった、ファイアウォール機能が備わっております。<br>こちらのファイアウォールを有効としている場合、許可されていないクライアントからの接続では上記のような 403 エラーでアクセス拒否が発生します。  </p><p>■ご参考：Azure Storage ファイアウォールおよび仮想ネットワークを構成する<br><a href="https://learn.microsoft.com/ja-jp/azure/storage/common/storage-network-security">https://learn.microsoft.com/ja-jp/azure/storage/common/storage-network-security</a>  </p><p>また、ファイアウォールで許可されたクライアントからのアクセスであっても、アクセス先のデータに対して適切な認可がされていない場合は、同様に 403 エラーのアクセス拒否が発生します。  </p><p>■ご参考：Azure Storage 内のデータへのアクセスを承認する<br><a href="https://learn.microsoft.com/ja-jp/azure/storage/common/authorize-data-access">https://learn.microsoft.com/ja-jp/azure/storage/common/authorize-data-access</a>  </p><p>今回、本ブログ記事ではストレージ アカウントのファイアウォールの観点でのトラブルシューティングをご紹介させていただきます。  </p><hr><h2 id="ストレージ-アカウントのファイアウォールを一時的に無効化してみる"><a href="#ストレージ-アカウントのファイアウォールを一時的に無効化してみる" class="headerlink" title="ストレージ アカウントのファイアウォールを一時的に無効化してみる"></a>ストレージ アカウントのファイアウォールを一時的に無効化してみる</h2><div class="alert is-warning"><p class="alert-title">警告</p><p>一時的に全てのネットワークからの接続が許可されますので、この点についてご留意くださいませ。</p></div><p>意図せず 403 エラーでアクセス拒否となった場合、ファイアウォールによってブロックされていないかといった点を切り分けるために、一時的にファイアウォールを無効化するのが容易な手段となります。<br>ファイアウォールが元から無効であったり、ファイアウォールを無効化しても 403 エラーのアクセス拒否が継続する場合は、データ認可の問題などファイアウォールとは別の原因があると判断できます。  </p><p>以下の手順で Azure ポータルよりファイアウォールを無効化することが可能でございます。</p><ol><li>対象のストレージアカウントの画面で「ネットワーク」をクリックします。</li><li>「ファイアウォールと仮想ネットワーク」より「すべてのネットワーク」を選択し「保存」します。</li></ol><p><img src="/blog/storage/storageFirewall-403Error/Storage06.png"></p><p>「すべてのネットワーク」が選択されている場合、ストレージファイアウォールの設定は無効状態となります。</p><p>「すべてのネットワーク」が選択されている状態に変更が完了したら、403 エラーのアクセス拒否が解消されるか確認してください。（少し反映までに時間がかかることもございます。）<br>403 エラーのアクセス拒否が解消されていれば、ストレージファイアウォールの設定に問題があると判断できます。  </p><p>もし、このままストレージファイアウォールを無効としても運用上差し支えなければ無効の状態でご利用ください。<br>アクセス元を制限したい場合は、以下に沿ってファイアウォール有効化の設定をご確認ください。  </p><hr><h2 id="特定のパブリック-IP-アドレス（グローバル-IP-アドレス）からの接続を許可するようにファイアウォールを設定する"><a href="#特定のパブリック-IP-アドレス（グローバル-IP-アドレス）からの接続を許可するようにファイアウォールを設定する" class="headerlink" title="特定のパブリック IP アドレス（グローバル IP アドレス）からの接続を許可するようにファイアウォールを設定する"></a>特定のパブリック IP アドレス（グローバル IP アドレス）からの接続を許可するようにファイアウォールを設定する</h2><p>Azure ポータルにて以下の手順で、特定のパブリック IP アドレス（グローバル IP アドレス）からの接続を許可するようにファイアウォールを設定することが可能です。  </p><ol><li>対象のストレージアカウントの画面で「ネットワーク」をクリックします。</li><li>「ファイアウォールと仮想ネットワーク」のクライアント端末の IP アドレスを追加し「保存」します。</li></ol><p><img src="/blog/storage/storageFirewall-403Error/Storage10.png"></p><p>パブリック IP アドレスを指定しても上手く接続できない場合は、以下の注意点についてご確認くださいませ。</p><ul><li><a href="https://jpaztech.github.io/blog/storage/storageFirewall-accesscontroll/">接続元クライアントが Azure VM の場合は、同一リージョンのストレージ アカウントへの接続時にプライベート IP アドレスで接続するため</a>、このようなパブリック IP アドレスでの接続許可が叶いません。後述の VNET 単位の接続許可の設定をご検討ください。</li><li>クライアント IP アドレスとして表示されるのは、Azure ポータルに接続している IP アドレスです。プロキシ使用時にエンドポイントをバイパスしている際などは、Azure ポータルにアクセスしている IP アドレスとストレージ アカウントにアクセスしている IP アドレスが異なることがございます。</li><li>Express Route をご利用されており、Microsoft Peering または Public Peering を用いて Azure ストレージに接続する構成の場合、Azure ストレージに側の接続元の IP アドレスはオンプレミスのプライベート IP アドレスではなく、Microsoft Peering または Public Peering で構成したパブリック IP アドレスとなります。そのため、Express Route 経由後のパブリック IP アドレスを追加していただく必要があることをあらかじめご留意ください。</li></ul><p>アクセス許可を行いたいアクセス元の IP アドレスが分からない状態の場合、下記の通り Azure ストレージの診断設定でログを取得し、403 エラーを検知しているログより接続元クライアントの IP アドレスを特定することも可能です。  </p><hr><h2 id="ストレージ-アカウントの診断設定およびアクセス元-IP-アドレスの特定"><a href="#ストレージ-アカウントの診断設定およびアクセス元-IP-アドレスの特定" class="headerlink" title="ストレージ アカウントの診断設定およびアクセス元 IP アドレスの特定"></a>ストレージ アカウントの診断設定およびアクセス元 IP アドレスの特定</h2><p>ストレージ アカウントの診断設定を有効にすることで、ストレージにアクセスしたクライアント IP アドレスをログとして記録することが可能です。  </p><p>■ご参考：Azure Monitor の診断設定を作成する<br><a href="https://learn.microsoft.com/ja-jp/azure/azure-monitor/essentials/create-diagnostic-settings">https://learn.microsoft.com/ja-jp/azure/azure-monitor/essentials/create-diagnostic-settings</a>  </p><p>具体的な診断設定によるログ採取の手順例としては、Azure Files（ファイル共有）での手順について、以下の弊社ブログ記事で解説しております。  </p><p>■ご参考：Azure Files の診断設定を試す<br><a href="https://jpaztech.github.io/blog/storage/azureFilesMonitoring">https://jpaztech.github.io/blog/storage/azureFilesMonitoring</a>  </p><p>上記は、Azure Files（ファイル共有）での例とはなっておりますが、診断設定を有効にする種類として file ではなく blob を設定すれば、同様に Blob ストレージについてもアクセスログを採取することが可能です。<br>採取されたログ内に callerIpAddress として、実際のアクセス元となるクライアントの IP アドレスが記録されますので、これによりアクセス元 IP アドレスの特定が可能でございます。  </p><hr><h2 id="特定の仮想ネットワーク（VNET）およびサブネットからのアクセスを許可する"><a href="#特定の仮想ネットワーク（VNET）およびサブネットからのアクセスを許可する" class="headerlink" title="特定の仮想ネットワーク（VNET）およびサブネットからのアクセスを許可する"></a>特定の仮想ネットワーク（VNET）およびサブネットからのアクセスを許可する</h2><p>ストレージ アカウントのファイアウォールでは、特定のパブリック IP アドレスからのアクセス許可でだけではなく、特定の VNET 上のサブネットからのアクセスを許可する設定をすることが可能です。<br>以下が Azure ポータルでその設定をする手順となります。</p><ol><li>対象のストレージアカウントの画面で「ネットワーク」をクリックします。</li><li>「ファイアウォールと仮想ネットワーク」の「仮想ネットワーク」に許可する仮想ネットワークおよびサブネットを追加します。</li></ol><p><img src="/blog/storage/storageFirewall-403Error/Storage07.png"></p><p>すでに利用したい仮想ネットワークがある場合は「既存の仮想ネットワークを追加する」から追加します。<br>仮想ネットワークが未作成の場合は「新しい仮想ネットワークを追加する」より作成追加してください。  </p><p>異なるサブスクリプションの仮想ネットワークを追加する場合は、「サブスクリプション」項目のプルダウンより、対象のサブスクリプション内の仮想ネットワークおよびサブネットを選択し有効化します。<br>(有効化が完了するまで最大 15 分かかる場合がございます。有効化が完了したら「追加」をクリックします。  </p><p><img src="/blog/storage/storageFirewall-403Error/Storage18.png"><br>　<br>3. 追加した仮想ネットワークおよびサブネットが表示されエンドポイントの状態が有効となっていることを確認し「保存」します。</p><p><img src="/blog/storage/storageFirewall-403Error/Storage08.png"></p><div class="alert is-warning"><p class="alert-title">警告</p><p>ストレージファイアウォール設定で「すべてのネットワーク」と「選択されたネットワーク」の切り替えを行う場合や、登録しているサブネットが仮想ネットワーク上で一度削除され、新たに同名でサブネットが作成された場合などにより、古い情報が残存した状態となりエンドポイントの状態が「見つかりません」というようなエラーが表示されることがあります。</p><p>その場合は、一度ストレージファイアウォール「仮想ネットワーク」項目からエラーが表示されているサブネットを削除し、上述の手順で仮想ネットワークおよびサブネットの追加をお試しいただきますようお願いいたします。</p></div><p><img src="/blog/storage/storageFirewall-403Error/Storage09.png"></p><hr><h2 id="さいごに"><a href="#さいごに" class="headerlink" title="さいごに"></a>さいごに</h2><p>ストレージ アカウントのファイアウォールにより許可されたクライアントから、正しく認可されたデータへアクセスがされた場合は、403 エラーのアクセス拒否は発生せず正常にアクセス可能になるものと存じます。<br>403 エラーのアクセス拒否が改善せずお困りの場合は、実施されたトラブルシューティングの内容を添えて弊社 Azure 技術サポート窓口までお問い合わせいただければ、トラブルシューティングのご支援をさせていただくことも可能でございます。  </p><p>本稿が皆様のお役に立ちましたら幸いでございます。</p>]]>
    </content>
    <id>https://jpaztech.github.io/blog/storage/storageFirewall-403Error/</id>
    <link href="https://jpaztech.github.io/blog/storage/storageFirewall-403Error/"/>
    <published>2025-01-07T06:00:00.000Z</published>
    <summary>
      <![CDATA[<p>こんにちは、Azure テクニカル サポート チームの木下・富田です。  </p>
<p>今回は Azure ストレージ アカウント内コンテンツへのアクセス時に 401 もしくは 403 エラー（認証エラー）が発生した場合の、対処法をストレージファイアウォール観点でエラー事]]>
    </summary>
    <title>403 エラーが発生し Azure ストレージ アカウント内のコンテンツにアクセスできない</title>
    <updated>2026-04-20T03:45:50.525Z</updated>
  </entry>
  <entry>
    <author>
      <name>Japan Azure IaaS Core Support Team</name>
    </author>
    <category term="Network" scheme="https://jpaztech.github.io/blog/tags/Network/"/>
    <category term="Virtual WAN" scheme="https://jpaztech.github.io/blog/tags/Virtual-WAN/"/>
    <content>
      <![CDATA[<p>こんにちは、Azure テクニカル サポート チームです。<br>Virtual WAN では、仮想ハブと接続されている仮想ネットワーク、および各ブランチ (サイト間  VPN (S2S VPN)、ExpressRoute、およびユーザー VPN (P2S VPN)) 間の接続が可能になります。<br>(以下、この仮想ネットワークや各ブランチと仮想ハブとの接続を、「接続」と表記します。)<br>この接続において、仮想ハブ内にデプロイした Azure Firewall を経由させることができますので、ご紹介させていただきます。  </p><p><strong>目次</strong>  </p><ul><li>はじめに - セキュリティ保護付き仮想ハブとは -</li><li>セキュリティ保護付き仮想ハブをご利用いただくメリット</li><li>ルーティング インテントとルーティング ポリシーの構成方法について</li><li>ルーティング インテントとルーティング ポリシーを構成した後の通信確認例 </li><li>最後に</li></ul><h2 id="はじめに-セキュリティ保護付き仮想ハブとは"><a href="#はじめに-セキュリティ保護付き仮想ハブとは" class="headerlink" title="はじめに - セキュリティ保護付き仮想ハブとは -"></a>はじめに - セキュリティ保護付き仮想ハブとは -</h2><p>Virtual WAN においては、上述したとおり複数の接続間で通信が可能となる反面、例えば、  </p><ul><li>ある Vnet は他の Vnet とは接続させたいがブランチとは接続させたくない  </li><li>ある Vnet は他の Vnet とは接続させたくないがブランチとは接続したい</li></ul><p>といった、お互いに接続したい要件と接続させたくない要件が両立する場合など、仮想ハブを介した接続同士で通信制御を行いたい場合は考慮が必要となります。<br>また、各接続からインターネットに接続するにあたり、一度 Azure Firewall を経由させることで、通信のフィルターを行いたい、というご要件もあるかと存じます。  </p><p>上述したようなご要件に対応する方法として、Virtual WAN をご利用いただき、かつ仮想ハブとしてセキュリティ保護付き仮想ハブをご利用いただけます。<br>セキュリティ保護付き仮想ハブとは、ハブとスポークの構成を提供する仮想ハブとしての機能に加え、Azure Firewall の機能、<br>および Azure Firewall や Network Virtual Appliance (NVA) を経由するためのルーティング機能がセットになっている仮想ハブとなります。  </p><h2 id="セキュリティ保護付き仮想ハブを用いた構成例"><a href="#セキュリティ保護付き仮想ハブを用いた構成例" class="headerlink" title="セキュリティ保護付き仮想ハブを用いた構成例"></a>セキュリティ保護付き仮想ハブを用いた構成例</h2><p>ひとつの Virtual WAN に一つのセキュリティ保護付き仮想ハブのみをご利用いただく場合、以下のような接続形態を提供します。<br>なお、複数の仮想ハブをまたがる構成においてご利用いただくことも可能ですが、ここでは一つのセキュリティ保護付き仮想ハブのみをご利用いただいている場合を例にご説明します。  </p><h3 id="構成例-1-プライベートな通信間を-Azure-Firewall-にてフィルター"><a href="#構成例-1-プライベートな通信間を-Azure-Firewall-にてフィルター" class="headerlink" title="構成例 1. プライベートな通信間を Azure Firewall にてフィルター"></a>構成例 1. プライベートな通信間を Azure Firewall にてフィルター</h3><p>以下のような接続形態になります。  </p><blockquote><p>(各接続) - (仮想ハブ内の Azure Firewall) - (各接続)  </p></blockquote><p>■構成例 1 の図<br><img src="/blog/network/vwan-vhub-firewall-overview/diag-p2p-viaAzFw.png"></p><p>具体的には、以下のような各通信が該当します。<br>・仮想ネットワーク間の接続 (V2V)<br>・ブランチ間の接続 (B2B)<br>・ブランチと仮想ネットワーク (B2V)  </p><h3 id="構成例-2-インターネットへの通信を-Azure-Firewall-にてフィルター"><a href="#構成例-2-インターネットへの通信を-Azure-Firewall-にてフィルター" class="headerlink" title="構成例 2. インターネットへの通信を Azure Firewall にてフィルター"></a>構成例 2. インターネットへの通信を Azure Firewall にてフィルター</h3><p>以下のような接続形態になります。  </p><blockquote><p>(各接続) - (仮想ハブ内の Azure Firewall) - (インターネット)  </p></blockquote><p>■構成例 2 の図<br><img src="/blog/network/vwan-vhub-firewall-overview/diag-p2i-viaAzFw.png"></p><p>具体的には、以下の通信が該当します。<br>・仮想ネットワークからインターネットに向けた接続 (V2I)<br>・ブランチからインターネットに向けた通信において Azure Firewall を通したい場合 (B2I) (*ご参考)  </p><blockquote><p>(*ご参考)<br>こちらの構成は、以下弊サポート発行 Blog の項目「1）Virtual WAN を利用する」に記載がございますのでご参考になさってください。<br><a href="https://jpaztech.github.io/blog/network/forcetunneling-azure-to-onpre-configuration/#1%EF%BC%89Virtual-WAN-%E3%82%92%E5%88%A9%E7%94%A8%E3%81%99%E3%82%8B">オンプレミスからのインターネット宛ての通信を Azure 経由にする方法</a></p></blockquote><h2 id="セキュリティ保護付き仮想ハブをご利用いただくメリット"><a href="#セキュリティ保護付き仮想ハブをご利用いただくメリット" class="headerlink" title="セキュリティ保護付き仮想ハブをご利用いただくメリット"></a>セキュリティ保護付き仮想ハブをご利用いただくメリット</h2><p>上記のような接続形態は、セキュリティ保護付き仮想ハブをご利用いただかない Virtual WAN、または Virtual WAN そのものをご使用いただかなくても、ご要件次第ではありますが実現可能です。<br>では、セキュリティ保護付き仮想ハブをご利用いただくメリットは何か、というと、<br>一つ一つの接続に対してルーティングを独自に設定する必要がない、という点が挙げられます。  </p><p>セキュリティ保護付き仮想ハブをご利用いただく際、ルーティング インテントとルーティング ポリシーを構成いただくことで、ルーティング制御も自動的に行われます。<br>この構成時にご指定いただくのは、仮想ハブがひとつの構成においては  </p><p>・プライベート トラフィックを保護するか (上記 &lt;形態 1&gt; が該当します)<br>・インターネット トラフィックを保護するか (上記 &lt;形態 2&gt; が該当します)  </p><p>のいずれかとなりますが、この際にルーティングをお客様で別途設定いただく必要はなく、ルーティングの制御も含めて自動的に行われます。<br>もし、ルーティング インテントとルーティング ポリシーをご利用いただかない場合、Azure Firewall で保護したい通信はすべてお客様でルーティングの設定をしていただくことになり、構成次第では複雑な制御が必要になり、また接続が増える等の要件変更のたびに設定が必要となります。  </p><h2 id="ルーティング-インテントとルーティング-ポリシーの構成方法について"><a href="#ルーティング-インテントとルーティング-ポリシーの構成方法について" class="headerlink" title="ルーティング インテントとルーティング ポリシーの構成方法について"></a>ルーティング インテントとルーティング ポリシーの構成方法について</h2><p>ルーティング インテントとルーティング ポリシーの構成方法としては二通りの方法があり、Azure portal を介して、Virtual WAN ポータルまたは Azure Firewall Manager を使って構成できます。<br>仮想ハブ内に Azure Firewall をデプロイされている場合、どちらで実施いただいても同等となります。  </p><p>Azure Firewall が仮想ハブにデプロイされている環境において、Virtual WAN ポータルからプライベート トラフィックを構成する際の図例は以下となります。<br>対象の仮想ハブを選択し、[ルーティング] の [ルーティング ポリシー] を選択し、[プライベート トラフィック] で [Azure Firewall]、[ネクスト ホップ リソース] で、当該の Azure Firewall のリソースを選択します。  </p><p>■Virtual WAN ポータルからの構成図例<br><img src="/blog/network/vwan-vhub-firewall-overview/routing-intent-VWANportal.png"></p><p>上記、Virtual WAN ポータルからの構成後に Azure Firewall Manager を確認すると、プライベート トラフィックが Azure Firewall を経由する構成となっていることがわかります。(Send via Azure Firewall)<br>併せて、仮想ハブ間 (Inter-hub) の通信も Azure Firewall を経由することがわかります。  </p><p>■Azure Firewall Manager における表示例<br><img src="/blog/network/vwan-vhub-firewall-overview/routing-intent-AzFwManager.png"></p><h2 id="ルーティング-インテントとルーティング-ポリシーを構成した後の通信確認例"><a href="#ルーティング-インテントとルーティング-ポリシーを構成した後の通信確認例" class="headerlink" title="ルーティング インテントとルーティング ポリシーを構成した後の通信確認例"></a>ルーティング インテントとルーティング ポリシーを構成した後の通信確認例</h2><p>試しに Vnet 間の通信を行ってみると、仮想ハブ内の Azure Firewall を経由していることがわかります。<br>仮想ハブ内の Azure Firewall を経由していることの確認方法は何点か考えられますが、Azure Firewall の診断ログを確認いただけます。<br>ログを確認するには、事前に診断ログを記録するように設定いただく必要はございますが、運用管理上の観点からも推奨となります。  </p><p>■診断ログ確認画面例<br><img src="/blog/network/vwan-vhub-firewall-overview/AzFw-diaglog.png"></p><h2 id="最後に"><a href="#最後に" class="headerlink" title="最後に"></a>最後に</h2><p>今回は、Virtual WAN をご利用いただき Any to Any の接続を実現しつつ、かつ Azure Firewall を経由させて通信のフィルターを実現するにあたってのセキュリティ保護付き仮想ハブの概要、およびルーティング インテントとルーティング ポリシーについてご説明いたしました。<br>今回は概要ご説明のため、比較的簡易な仮想ハブ 1 つの構成についてご説明いたしましたが、さらに複雑な構成を含む、ルーティング インテントとルーティング ポリシーについての詳細は以下公開文書をご確認ください。  </p><p><a href="https://learn.microsoft.com/ja-jp/azure/virtual-wan/how-to-routing-policies">Virtual WAN ハブのルーティング インテントとルーティング ポリシーの構成方法</a></p>]]>
    </content>
    <id>https://jpaztech.github.io/blog/network/vwan-vhub-firewall-overview/</id>
    <link href="https://jpaztech.github.io/blog/network/vwan-vhub-firewall-overview/"/>
    <published>2025-01-05T15:00:00.000Z</published>
    <summary>
      <![CDATA[<p>こんにちは、Azure テクニカル サポート チームです。<br>Virtual WAN では、仮想ハブと接続されている仮想ネットワーク、および各ブランチ (サイト間  VPN (S2S VPN)、ExpressRoute、およびユーザー VPN (P2S VPN)) 間の]]>
    </summary>
    <title>Azure 仮想ハブに Azure Firewall を配置する構成について</title>
    <updated>2026-04-20T03:45:50.467Z</updated>
  </entry>
  <entry>
    <author>
      <name>Japan Azure IaaS Core Support Team</name>
    </author>
    <category term="Network" scheme="https://jpaztech.github.io/blog/tags/Network/"/>
    <category term="VirtualWAN" scheme="https://jpaztech.github.io/blog/tags/VirtualWAN/"/>
    <content>
      <![CDATA[<span id="more"></span><p>こんにちは、Azure テクニカル サポート チームです。<br>この記事では Azure VirtualWAN を効果的に利用いただくためのアイデアをご提供させていただきます。</p><p>VWAN はハブ＆スポーク VNET 構成を手軽にかつ、大規模に実現することができるサービスです。<br>複数の仮想ネットワークをハブ＆スポークで接続するだけでなく、 ExpressRoute や Site-to-Site 接続によるオンプレミス接続、Point-to-Site 接続によるクライアントアクセスだけでなく、Azure Firewall や NVA を配置する等の高機能を提供することもできる、 Azure Network の最終形のようなサービスです。</p><p><img src="/blog/network/vwan_intro/vwan241225_1.png" alt="img1"></p><p>VWAN は高機能で様々なユースケースに対応することができる柔軟性がある反面、機能面、設定面が複雑でわかりにくいというご意見もございました。今回のドキュメントでは、シンプルな構成であっても VWAN を有効に活用できるケースをご紹介いたします。</p><h2 id="1-1-VWAN-アーキテクチャと特徴"><a href="#1-1-VWAN-アーキテクチャと特徴" class="headerlink" title="1.1 VWAN アーキテクチャと特徴"></a><strong>1.1 VWAN アーキテクチャと特徴</strong></h2><p>VWAN standard は１つ以上の仮想ハブ( vHUB ) を含みます。vHUB を作成すると内部的に仮想ネットワークと vHUB ルータが配置されます。その他、必要に応じて以下のリソースを配置して機能を拡張することができ、オンプレミスサイトへの接続や、セキュリティソリューションを vHUB 内にデプロイが可能です。</p><ol><li>ExpressRoute ゲートウェイ</li><li>Site-to-Site ゲートウェイ</li><li>Point-to-Site ゲートウェイ</li><li>Azure Firewall ( 以降 AzFW )</li><li>NVA ( Network Virtual Appliance )</li></ol><p>vHUB は複数作成することができ、vHUB には VM などリソースを配置されたスポークVNET を接続します。同一 vHUB に接続する異なる VNET 上のリソースは vHUB ルータ経由で通信することができます ( VNet 間のトランジット接続 )</p><p><img src="/blog/network/vwan_intro/vwan241225_2.png" alt="img2"></p><p>また、 同一 VWAN リソース内の vHUB リソース同士はデフォルト状態で接続されており、明示的な設定なしに異なる vHUB に接続するスポーク VNET 上のリソース間で通信ができます。</p><p>VWAN を活用することで簡単に実現できる構成例<br>１．VNET ハブ＆スポーク構成<br>通常、VNET でハブ＆スポーク 構成ではハブ VNET に AzFWもしくは NVA を配置し、スポーク VNET 側では UDR を設定する必要がありますが、設定・管理の手間が発生いたします。<br>VWAN を使用する場合には vHUB がハブ VNET + AzFW&#x2F;NVA の代わりとなるため、簡単かつシンプルにハブ&amp;スポーク構成を実現できます。</p><p><img src="/blog/network/vwan_intro/vwan241225_3.png" alt="img3"></p><h1 id="2-VWAN-活用例"><a href="#2-VWAN-活用例" class="headerlink" title="2. VWAN 活用例"></a><strong>2. VWAN 活用例</strong></h1><h2 id="2-1-大規模-VNET-構成例"><a href="#2-1-大規模-VNET-構成例" class="headerlink" title="2.1  大規模 VNET 構成例"></a><strong>2.1  大規模 VNET 構成例</strong></h2><p>一般的に複数 VNET 間で通信が必要になる環境では、 VNET 間をメッシュで VNET Peering するか、ハブ＆スポーク構成をとる必要があります。<br>しかしながら、どちらの方法でも設定工数が多く、また VNET 追加が発生した場合の作業が多いなど設定管理面で課題があります。</p><h3 id="構成-1-VNET-をフルメッシュで-VNET-Peering-する"><a href="#構成-1-VNET-をフルメッシュで-VNET-Peering-する" class="headerlink" title="構成 1. VNET をフルメッシュで VNET Peering する"></a><strong>構成</strong> 1. VNET をフルメッシュで VNET Peering する</h3><p><img src="/blog/network/vwan_intro/vwan241225_4.png" alt="img4"></p><p>課題点 VNET ピアリング数が多く、新たに VNET を追加する場合にも設定工数がかかる</p><h3 id="構成-2-ハブ-VNET-を作成して-AzFW-NVA-を配置し、ハブ＆スポーク構成を作る"><a href="#構成-2-ハブ-VNET-を作成して-AzFW-NVA-を配置し、ハブ＆スポーク構成を作る" class="headerlink" title="構成 2. ハブ VNET を作成して AzFW, NVA を配置し、ハブ＆スポーク構成を作る"></a><strong>構成 2. ハブ VNET を作成して AzFW, NVA を配置し、ハブ＆スポーク構成を作る</strong></h3><p><img src="/blog/network/vwan_intro/vwan241225_5.png" alt="img5"></p><p>課題点 ハブ VNET 上に AzFW, NVA が必須となり、またスポークVNET 側にはそれぞれユーザ定義ルートを設定、管理する必要がある</p><p>VirtualWAN を使用することでこれらの課題点を解決し、シンプルな運用が可能です。<br>VirtualWAN ( Standard SKU ) では標準で仮想ハブに仮想ハブルータが配置されるため、ユーザが AzFW, NVA を仮想ハブに配置する必要がなく、<br>またスポーク VNET にユーザ定義ルート設定も不要であるため、 VNET 数が多い環境への対応も容易です。</p><p><img src="/blog/network/vwan_intro/vwan241225_6.png" alt="img6"></p><h2 id="2-2-ExpressRoute-Site-to-Site-Point-to-Site-間のトランジットルーティング"><a href="#2-2-ExpressRoute-Site-to-Site-Point-to-Site-間のトランジットルーティング" class="headerlink" title="2.2. ExpressRoute, Site-to-Site, Point-to-Site 間のトランジットルーティング"></a><strong>2.2. ExpressRoute, Site-to-Site, Point-to-Site 間のトランジットルーティング</strong></h2><p>非 VirtualWAN 環境でも 1 VNET に ExpressRoute GW, VPNGW を配置し、 ExpressRoute, サイト間接続, ポイント対サイト接続することができますが、<br>ExpressRoute, サイト間接続&#x2F;ポイント対サイト接続の相互接続( トランジット接続 ) はできません。<br>Azure Route Server を追加することで ExpressRoute ⇔ サイト間接続の相互接続は可能になりますが、それでも ExpressRoute ⇔ ポイント対サイト間の接続はできません。</p><p>ご参考. <a href="https://learn.microsoft.com/ja-jp/azure/route-server/expressroute-vpn-support">ExpressRoute と Azure VPN のサポート - Azure Route Server</a></p><h2 id="2-3-スポーク-VNET-間、オンプレミスサイト間の通信を強制的に-AzFW-経由させる"><a href="#2-3-スポーク-VNET-間、オンプレミスサイト間の通信を強制的に-AzFW-経由させる" class="headerlink" title="2.3. スポーク VNET  間、オンプレミスサイト間の通信を強制的に AzFW 経由させる"></a><strong>2.3. スポーク VNET  間、オンプレミスサイト間の通信を強制的に AzFW 経由させる</strong></h2><p>しばしば通信セキュリティ要件として、オンプレミスサイトと VNET 間の通信や、VNET 間の通信を AzFW を経由させたい、という要件がございます。<br>非 VirtualWAN 環境でもハブ＆スポーク VNET 構成を組むことで、通信をハブ VNET 上の AzFW を経由させることは可能ではありますが、<br>前述の通り、 スポーク VNET にユーザ定義ルート設定が必要になり煩雑な運用が発生いたします。</p><p>VirtualWAN では、セキュリティ付き仮想ハブ機能を有効にするだけで、<br>仮想ハブ上に AzFW や、その他認定された NVA を配置することができます</p><p>ご参考. <a href="https://learn.microsoft.com/ja-jp/azure/firewall-manager/secured-virtual-hub?toc=/azure/virtual-wan/toc.json&bc=/azure/virtual-wan/breadcrumb/toc.json">セキュリティ保護付き仮想ハブとは</a></p><h2 id="2-4-複数リージョンにまたがる大規模-VNET-構成"><a href="#2-4-複数リージョンにまたがる大規模-VNET-構成" class="headerlink" title="2.4 複数リージョンにまたがる大規模 VNET 構成"></a><strong>2.4 複数リージョンにまたがる大規模 VNET 構成</strong></h2><p>VirtualWAN を使用しない場合、複数ハブ VNET を接続・運用する際のルーティング設計は非常に難しくなります。<br>一方、VirtualWAN では複数 vHUB を配置することができ、ハブ間を簡単に自動で接続する機能が標準で準備されております。<br>これにより、 VirtualWAN ユーザーはスポーク VNET やハブ VNET のルーティングを意識することなく、スポークVNET間の通信が行えます。<br>vHUB はどのリージョンにも配置することができ、ハブごとにゲートウェイを配置することが可能です。<br>これにより下記２つのメリットが期待できます。</p><ul><li><p>オンプレミスサイトとの通信品質の改善<br>オンプレミスサイトとの通信でも、地理的に近いリージョンの vHUB に接続ポイントを設けることで通信遅延を低減が可能です。</p></li><li><p>リージョン障害への耐性向上<br>リージョン障害が発生し　vHUB の一つが支障した場合でも別リージョン　vHUB がオンプレミスサイトへの接続を持っていれば、<br>自動的に通信が迂回し、サービス継続させることができます。<br>例としては vHUB A, B, C が存在し、vHUB C 配下にスポーク VNET C が接続。vHUB A, B がオンプレミスサイトへの接続を持っている構成を想定します。<br>このとき vHUB A が大規模障害により停止した場合でも、スポーク VNET C は vHUB B 経由でオンプレイスサイトとの通信を継続できます。</p></li></ul><h1 id="3-まとめ"><a href="#3-まとめ" class="headerlink" title="3. まとめ"></a><strong>3. まとめ</strong></h1><p>この記事では VirtualWAN を使用するだけで簡単に実現ができる構成についてご紹介をいたしました。<br>VirtualWAN は高機能なサービスではございますが、シンプルに使用するだけでも強力なソリューションとなります。<br>今後、ご活用の機会がありましたらご検討をお願いいたします。</p>]]>
    </content>
    <id>https://jpaztech.github.io/blog/network/vwan_intro/</id>
    <link href="https://jpaztech.github.io/blog/network/vwan_intro/"/>
    <published>2024-12-25T03:30:00.000Z</published>
    <summary>
      <![CDATA[<span id="more"></span>

<p>こんにちは、Azure テクニカル サポート チームです。<br>この記事では Azure VirtualWAN を効果的に利用いただくためのアイデアをご提供させていただきます。</p>
<p>VWAN はハブ＆スポーク V]]>
    </summary>
    <title>VirtualWAN 活用について</title>
    <updated>2026-04-20T03:45:50.469Z</updated>
  </entry>
</feed>
