てくなべ (tekunabe)

ansible / network automation / 学習メモ

[Azure] ネットワークセキュリティグループ(NSG)のルールのプロトコルの大文字小文字事情

はじめに

先日、以下の記事を拝見しました。

zenn.dev

そこで、ネットワークセキュリティグループのルール内のプロトコルTCP など)の大文字小文字が、ポータルから設定するときと、Ansible から設定するときとで異なることを知りました。

気になったので、いくつかの設定方法でこのあたりの事情を調べてみました。

  • 環境
    • Azure ポータル 本記事執筆時点
    • Ansible azure.azcollection コレクション 1.14.0
    • Azure CLI 2.43.0

設定方法と結果

プロトコルTCPUDP 等が指定できますが TCP で試しました。

方法 入力値 ポータルで確認した結果 補足
Azure ポータル TCP TCP すべて大文字のプロトコル名を選択する
Ansible azure.azcollection.azure_rm_securitygroup モジュールprotocol オプション Tcp Tcp
同上 TCP (エラー) モジュールの仕様上、TCPとしては Tcp しか受け入れられないため設定できない
Azure CLI az network nsg rule create--protocol オプション Tcp Tcp
同上 TCP Tcp API リクエストとしては "protocol": "Tcp" に変換された
API Security Rules - Create Or Update(実際は Ansible azure.azcollection.azure_rm_resource モジュール経由) TCP TCP そのまま
同上 Tcp Tcp そのまま

Azure CLI で、全て大文字の受け入れられた点と、変換される点が意外でした。