Ansible(Tower/AWX)から、Windows系OSがインストールされた機器を操作する方法を解説します。
後編として、Ansible(AWXがメイン)の設定方法を解説していきたいと思います。
【前編:WinRMインストール】はこちら。
【中編:Windowsの設定】はこちら。
本記事では、AnsibleAWXを使用して説明を行います。
基本的な操作方法が分らない方はこちらを参考にして頂ければと思います。
認証情報の作成
Windowsホストに接続するため、AnsibleAWXの認証情報(ログインユーザー/パスワード)の設定を行います。
メニュー > 認証情報 > 新規認証情報の作成 を選択します。
各項目を下記のように設定します。
設定後は「保存」ボタンをクリックして、内容を保存します。
- 名前:認証情報の名前(例では、Windows)
- ユーザー名:接続するWindowsホストのログインユーザー
- パスワード:ログインユーザーに対応したパスワード
インベントリーの作成
Windowsホスト用のインベントリーの作成を行います。
メニュー > インベントリー > 新規インベントリーの作成(インベントリー) を選択します。
各項目を下記のように設定します。
設定後は「保存」ボタンをクリックして、内容を保存します。
- 名前:任意の名前(例では、Windows)
次に、インベントリー変数を設定します。
下記のように設定し、「保存」ボタンをクリックします。
ansible_connection: winrm ansible_ssh_port: 5986 ansible_winrm_transport: basic ansible_winrm_server_cert_validation: ignore
接続先ホストの設定を行うので、ホスト タブ > 新規ホストの作成 を選択します。
下記のように設定し、「保存」ボタンをクリックします。
- ホスト名:接続先のWindowsホストのIPアドレス(名前解決されているのであればホスト名でも可)
プレイブックの作成
疎通確認用の簡単なプレイブックを作成します。
プレイブック名は「win_ping.yml」とします。
文字コード:UTF-8/改行コード:LF で作成しています。
---
- hosts: all
gather_facts: False
tasks:
- name: "疎通確認"
win_ping:
テンプレートの作成
前項で作成した「認証情報」「インベントリー」を組み合わせて、テンプレートを作成します。
メニュー > テンプレート > 新規テンプレートの作成(ジョブテンプレート)を選択します。
各項目を下記のように設定します。
設定後は「保存」ボタンをクリックして、内容を保存します。
- 名前:任意の名前(例では、Windows)
- ジョブタイプ:実行
- インベントリー:前項で作成したインベントリー(例では、Windows)
- プロジェクト:実行するプレイブックが格納されているプロジェクト
- PLAYBOOK:前項で作成したプレイブック(例では、win_ping.yml)
- 認証情報:前項で作成した認証情報(例では、Windows)
テンプレートの実行
作成したジョブテンプレート「Windows」を起動(実行)します。
下記のように表示されれば、接続に成功しています。
下記は接続成功時のログになります。(ログレベル1で取得しました)
Using /etc/ansible/ansible.cfg as config file
SSH password:
PLAY [all] *********************************************************************
TASK [疎通確認] ********************************************************************
ok: [192.168.11.10] => {"changed": false, "ping": "pong"}
PLAY RECAP *********************************************************************
192.168.11.10 : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
お疲れ様です。記事は以上です。
WinRMの導入から実際にWindows系モジュールを使ったプレイブックの実行までを解説しました。
今後は、様々なWindows系モジュールの使用方法を解説していきたいと思います。
コメント