はじめに
先日、以下の記事を拝見しました。
そこで、ネットワークセキュリティグループのルール内のプロトコル(TCP
など)の大文字小文字が、ポータルから設定するときと、Ansible から設定するときとで異なることを知りました。
気になったので、いくつかの設定方法でこのあたりの事情を調べてみました。
- 環境
- Azure ポータル 本記事執筆時点
- Ansible azure.azcollection コレクション 1.14.0
- Azure CLI 2.43.0
設定方法と結果
プロトコルは TCP、UDP 等が指定できますが 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 で、全て大文字の受け入れられた点と、変換される点が意外でした。