【Azureトラシュー】Front DoorをPowerShellやAZ CLIで参照/操作できない(新旧リソース編)Tech TIPS

Azureの「Front Door」をPowerShellで参照また操作しようとしても、期待した結果にならない場合、それは対象のFront Doorの「種類」とPowerShellコマンドレットとが食い違っているのかもしれない。新旧2種類のFront DoorとPowerShell/Azure CLI/リソーステンプレートについて整理する。

» 2024年08月14日 05時00分 公開
[島田広道デジタルアドバンテージ]
「Tech TIPS」のインデックス

連載目次

必ずあるはずのAzure Front DoorがPowerShellだと1つも見つけられない! なぜ?

対象:Azure Front Door、PowerShell、Azure CLI、リソーステンプレート


 Tech TIPS「【Azure】Front Doorのトラフィック切り替えをPowerShellで自動化する」でも説明しているように、Azureの「Front Door」は他のリソースと同様、PowerShellでコントロール可能だ。

 しかし、「FrontDoor」という名称が含まれるPowerShellコマンドレットをいくら実行しても、想定通りにFront Doorを参照/操作できない場合がある。またAzure CLIやリソーステンプレートでも似たようなトラブルが生じることがある。

 本Tech TIPSでは、こうした現象が生じる原因の一つについて説明したい。シンプルに表現するなら、Front Doorの種類に応じて正しいPowerShellコマンドレットやAzure CLIコマンドライン、リソーステンプレートを選ばなければならない、ということだ。

 Front Doorを正しく参照/操作できない原因としては、サブスクリプションやリソースグループの指定が間違っている、権限が足りないなど複数の原因が考えられる。以下の説明の通りに対処すれば必ずトラブルを解消できるとは限らない、という点には留意していただきたい。

■執筆時の各種ツール/APIのバージョン


Front Doorには新旧の2種類がある

 Azure Front Doorをリリース時期およびアーキテクチャで分類すると、次の2つに大別できる。

  • Azure Front Doorクラシック
  • Azure Front Door Standard/Premium

 前者は「クラシック」という名が示す通り古いバージョンで、Front Doorとして最初にリリースされたバージョンでもある。2027年3月いっぱいで廃止される予定だ(詳細はMicrosoft Learn「Azure Front Door (クラシック) の廃止に関する FAQ」参照)。

 一方、後者の「Standard」「Premium」は、クラシックより後の2022年5月にリリースされたバージョンだ。今後を含むFront Doorの主流はこちらと言える。

 以下ではクラシックを「旧Front Door」、Standard/Premiumを「新Front Door」と呼ぶことにする。

新旧Front DoorではPowerShellコマンドレットが別々

 新旧Front DoorはどちらもPowerShellコマンドレットで参照/操作できる。しかし、コマンドレットそのものは全く異なるし、必要なPowerShellのモジュールも別々だ。下表では、新Front Doorのプロファイルに相当する部分を参照/操作するためのコマンドレットをリストアップしてみた。

  Front Doorクラシック Front Door Standard/Premium
モジュール名 Az.FrontDoor Az.Cdn
取得のコマンドレット Get-AzFrontDoor Get-AzFrontDoorCdnProfile
新規作成のコマンドレット New-AzFrontDoor New-AzFrontDoorCdnProfile
更新のコマンドレット Set-AzFrontDoor Update-AzFrontDoorCdnProfile
削除のコマンドレット Remove-AzFrontDoor Remove-AzFrontDoorCdnProfile
新旧Front DoorのPowerShellコマンドレットの違い
新Front Doorのプロファイルに相当する部分を参照/操作するためのコマンドレットをリストアップしている(これが全てではない)。

 モジュール名については、「Front Door」という名前で探すと、旧Front Door向けである「Az.FrontDoor」の情報にたどり着きやすい。しかし、今後も主流である新Front Doorで使うには「Az.Cdn」の方を選ばなければならない。

 コマンドレット名については、「Get」「New」といった動詞とハイフンの後に続く文字列の先頭で、新旧Front Doorのどちらが対象なのか判別できる。「AzFrontDoorCdn」から始まるなら新Front Door向けである。一方、「AzFrontDoor」から始まり、かつ「Cdn」と続かずに別の文字列が連なるなら旧Front Doorを対象としている。

「Get-AzFrontDoor」と「Get-AzFrontDoorCdnProfile」の違い 「Get-AzFrontDoor」と「Get-AzFrontDoorCdnProfile」の違い

 コマンドレットが異なれば、当然ながら指定すべきオプションなども変わってくる。そもそも新旧Front Doorではアーキテクチャが大きく異なるため、新旧のコマンドレットが1対1に対応していないことも多い。そのため、旧Front DoorをPowerShellで操作する解説記事を読んでも、新Front Doorではほぼ役に立たないので注意が必要だ。

 新Front Door(Standard/Premium)のPowerShellコマンドレットの詳細については、Microsoft Learnのレファレンス「Az.Cdn」を参照していただきたい。ただし、このページの一覧表には、後述の「Azure CDN」という別のサービス向けのPowerShellコマンドレットも含まれているので、混同しないように注意が必要だ。

新旧Front DoorではAzure CLIも別々

 Azure CLIでFront Doorを参照/操作する場合も、新旧でそれぞれ別々のコマンドラインを指定しなければならない。下表では、新Front Doorのプロファイルに相当する部分を参照/操作するためのAzure CLIコマンドラインをリストアップしてみた。

  Front Doorクラシック Front Door Standard/Premium
ベースコマンド名 az network front-door az afd
取得のコマンドライン az network front-door show az afd profile show
一覧取得のコマンドライン az network front-door list az afd profile list
新規作成のコマンドライン az network front-door create az afd profile create
更新のコマンドライン az network front-door update az afd profile update
削除のコマンドライン az network front-door delete az afd profile delete
待機のコマンドライン az network front-door wait az afd profile wait
新旧Front DoorのAzure CLIコマンドラインの違い
新Front Doorのプロファイルに相当する部分を参照/操作するためのコマンドラインをリストアップしている(これが全てではない)。

 上表のように「az network front-door」から始まるなら旧Front Door向け、「az afd」から始まるなら新Front Door向けと区別できる。PowerShellと同様、「Front Door」という名前に注目して検索すると、「az network front-door」すなわち旧Front Door向けの解説にたどり着いてしまう危険性があるので注意が必要だ。

「az network front-door list」と「az afd profile list」の違い 「az network front-door list」と「az afd profile list」の違い

 新Front Door(Standard/Premium)のAzure CLIの詳細については、Microsoft Learnのレファレンス「az afd」を参照していただきたい。

新旧Front Doorではリソーステンプレートも別々

 新旧Front Doorのデプロイ時に用意すべきリソーステンプレートも、新旧で全く異なる。例えばリソースタイプは下表のように別々だ。

  Front Doorクラシック Front Door Standard/Premium
プロファイル(相当) Microsoft.Network/frontDoors Microsoft.Cdn/profiles
エンドポイント(相当) Microsoft.Network/frontDoors/
frontendEndpoints
Microsoft.Cdn/profiles/
afdEndpoints
新旧Front Doorのリソースタイプの違い
新Front Doorのプロファイルおよびエンドポイントに相当するリソースだけをピックアップしている。

 リソースタイプについても、「frontDoors」が含まれる方が廃止予定の旧Front Door向けである。一方、「Front」「Door」がなく、関係のなさそうな「Cdn」が含まれる方が今後も主流の新Front Door向けだ。勘違いしないように注意したい。

 新Front Door(Standard/Premium)のリソーステンプレートの詳細については、Microsoft Learnのレファレンス「Microsoft.Cdn Profile」を参照していただきたい。

【注意】新Front DoorはAzure CDNと混同しやすい!?

 Azureには、Front Doorとよく似た「Azure CDN」というサービスが存在する。特に新Front DoorとAzure CDNは、Microsoft Learnの「Azure Front Door と Azure CDN サービスの比較」にある通り、若干の相違はあるが、全体的には似ているサービスだ。

 こうした背景からか、新Front DoorとAzure CDNの間では、PowerShellコマンドレットやリソーステンプレートを混同しやすい。

 PowerShellの場合、新Front Doorは「*-AzFrontDoorCdn*」、Azure CDNは「*-AzCdn*」というように、別々のPowerShellコマンドレットがそれぞれ割り当てられている。その一方で、両者ともAz.Cdnモジュールでサポートされている。そのせいなのか、前述のようにMicrosoft Learnのリファレンスページの一覧表では、両者のコマンドレットが混在して記されていることから、実に分かりにくい。

「Get-AzFrontDoorCdnProfile」と「Get-AzCdnProfile」の違い 「Get-AzFrontDoorCdnProfile」と「Get-AzCdnProfile」の違い

 リソーステンプレートでは、新Front DoorとAzure CDNはほとんど同じように扱われる。例えばプロファイルのリソースタイプはどちらも「Microsoft.Cdn/profiles」で共通だ。SKUに「Standard_AzureFrontDoor」「Premium_AzureFrontDoor」を指定すると新Front Doorに、「Standard_Microsoft」「Premium_Verizon」などを選ぶとAzure CDNになる。

 PowerShellコマンドレットもリソーステンプレートも、サービス名やマーケティング上の区分けより、どちらかといえばアーキテクチャによって分類されているようだ。その点を踏まえて、正しくコードを選択するように注意したい。

「Tech TIPS」のインデックス

Tech TIPS

Copyright© Digital Advantage Corp. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

AI for エンジニアリング
「サプライチェーン攻撃」対策
1P情シスのための脆弱性管理/対策の現実解
OSSのサプライチェーン管理、取るべきアクションとは
Microsoft & Windows最前線2024
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。