alexisfacques.ansible_module_dig

ansible-module-dig

ansible-module-digは、リモートのAnsibleホストからDNSルックアップ操作を行い、名前ごとの解決されたIP(v4)アドレスのリストを返すカスタムAnsibleモジュールです。このdigモジュールは、ルックアップ操作を行う前にホストの/etc/hostsファイルを解析するように設定することもできます。

このモジュールは次の両方の目的で使用できます:

  • 解決:1つまたは複数のホスト名を解決する。
  • 確認:1つまたは複数のホスト名が解決できるかどうか確認する(ホスト名が少なくとも1つのアドレスに解決できない場合、モジュールは失敗します)。

digモジュールとAnsibleのlookup('dig', ... )

このモジュールを使用する前に、自分が何をしているのか理解しておいてください! AnsibleでDNSルックアップを実行する公式の方法は、digルックアップを使用することです。

ルックアップフィルターを使用する場合の主な問題は、すべてのテンプレートと同様に、評価がAnsibleコントロールマシンで行われ、ターゲットホストではないことです。これは、あなたの制御マシンがクラスターのすべてのホストを解決できるがホストが解決できない場合(例えば、外部管理ネットワーク経由で設定プレイブックを実行したり、オフラインまたは高度に安全なネットワーク環境で実行したりする場合)に、予期しない副作用を引き起こす可能性があります。

このAnsible digモジュールは、リモートホストから直接ルックアップを実行することによってこのギャップを埋めます。

はじめに

要件

このモジュールを実行するホストには、以下の要件があります。

  • Python用のdnspython

インストール

「Ansibleロール」方式

  • このリポジトリをAnsibleのrole_pathにクローンするか、ansible-galaxyを使ってインストールします;
    ansible-galaxy install alexisfacques.ansible_module_dig
    
  • digモジュールを必要とするロールやタスクを実行する前に、プレイブックでロールをインポートします:
    - hosts: all
      roles:
        - alexisfacques.ansible_module_dig
      tasks:
        - name: google.comが解決できることを確認
          dig:
            qtype: A
            name: google.com
          register: dig_result
    

「Ansibleライブラリ」方式

ロールをインポートするのが面倒な場合は、このモジュールをansible.cfgファイルで定義されたlibraryディレクトリに保存できます(デフォルトは、プレイブックを含むディレクトリ内のlibraryというサブディレクトリです):

[defaults]
library = /path/to/your/library

使い方

パラメータ

パラメータ 選択肢/デフォルト コメント
qtype
デフォルト:
A
必要なクエリのタイプを示します:ANY、A、MX、SIG... タイプは有効なクエリタイプのいずれでもかまいません。
name
- 文字列 | リスト / 必須
ルックアップするリソースの名前。
nameserver
- 文字列 | リスト
使用するネームサーバーの名前またはIPv4アドレス。
with_etc_hosts 選択肢:
true
false

デフォルト:
true
モジュールがルックアップ操作を実行する前に、ホストの/etc/hostsファイルを使用して名前を解決しようとするかどうか。

戻り値

キー 返される 説明
addresses 成功時、すべての名前が少なくとも1つのIPv4アドレスに解決された場合。 ルックアップした各名前に対するIPv4アドレスの2次元配列。

使用例

使用例はこちらで見ることができます。

謝辞

ライセンス

このプロジェクトはMITライセンスの下でライセンスされています - 詳しくはLICENSEファイルをご覧ください。

プロジェクトについて

DNS lookups in Ansble (on remote host) made easy.

インストール
ansible-galaxy install alexisfacques.ansible_module_dig
ライセンス
mit
ダウンロード
313
所有者
🔵⚪️