てくなべ

ネットワーク、自動化などの技術的なことを書いていきます。Ansible、StackStorm等

【Ansible】ping 系モジュールまとめ(ping/win_ping/ios_ping/nxos_ping/net_ping)

Ansible には ping モジュールや net_ping モジュールなど、モジュール名に ping が含まれるものがいくつかあります。 名前は似ていますが、どこからどこへの ping なのか、何のプロトコルを使うのか、などの点で性質が異なります。

例えば、 公式ドキュメントの ping モジュールの説明には

For Network targets, use the net_ping module instead.

とありますが、net_ping モジュールは ping モジュールとは用途や性質が異なり、代わりにはならず混乱してしまうのではないかと思い、一旦以下にまとめます。

モジュール名 from to プロトコル 補足
ping コントロールホスト ターゲットホスト コネクションプラグインに依存(*1)
win_ping コントロールホスト ターゲットホスト WinRM
ios_ping ターゲットホスト dest オプション指定先 ICMP Cisco IOSping コマンドを生成して、ターゲットホスト上で実行する
nxos_ping ターゲットホスト dest オプション指定先 ICMP Cisco NX-OS の ping コマンドを生成して、ターゲットホスト上で実行する
net_ping ターゲットホスト dest オプション指定先 ICMP ansible_network_os 変数に応じて、ios_pingnxos_ping モジュールを利用する
  • *1 : ping モジュールのプロトコルについて
    • 利用するコネクションプラグインに依存します
      • ssh: sshPython スクリプトを送って実行できるか
      • network_cli: SSH でネットワーク機器に接続できるか
      • netconf: NETCONF でネットワーク機器に接続できるか

参考