Ansible-Vaultの使用方法

目次

  1. Ansible-Vault 使い方
  2. Ansible-Vault コマンド一覧

1. Ansible-Vault 使い方

『Ansible-Vault』を使用することで、パスワードを管理できます。
パスワードを暗号化することでセキュリティ強化につながります。
疎通確認の際に作成したhostsファイルを修正します。
『ansible_password』を追記し、値は変数とします。

[root@Kensyo ansible]# vi hosts
[target]
WIN-Q2VNSHQHMBR ansible_host=192.168.181.102

[target:vars]
ansible_user=Administrator
ansible_password="{{ ansible_password }}"
ansible_port=5986
ansible_connection=winrm
ansible_winrm_server_cert_validation=ignore

“{{ ansible_password }}”の値を格納する先として、『group_vars』『host_vars』などを用います。group_varsを使用する場合には直下にグループ名のディレクトリを作成し、host_varsの場合にはホスト名のディレクトリを作成してください。今回は『target』グループを使用するため、group_vars/targetディレクトリを作成し値を格納します。

[root@Kensyo ansible]# mkdir group_vars
[root@Kensyo ansible]# cd group_vars
[root@Kensyo group_vars]# 

Ansible入門者向け学習ガイド (Windows編)

はじめに

別記事の『Ansible入門者向けガイド(CentOS編)』では『 CentOS 』をAnsibleのターゲットにしましたが、今回は『Windows』を対象に、モジュールやWindowsの接続方法、『CentOS』と異なる部分を中心に記事にまとめました。

目次

  1. Ansibleを操作するサーバを準備(以降コントロールノードと呼ぶ)
  2. 構築対象となるサーバを準備(以降ターゲットノードと呼ぶ)
  3. コントロールノードにansibleをインストール
  4. WinRMの設定(ターゲットノードの設定)
  5. Ansible疎通確認
  6. ターゲットノードで設定を行い内容を手作業で確認
  7. playbook作成
  8. playbook実行
  9. ターゲットノードでインストールできていることを確認
  10. おわりに

項番1,2の手順は様々な環境が存在するため、省略いたします。

OSがインストールされており、ネットワークの設定済みの環境を使用します。

使用環境

  • CentOS7.7(コントロールノード)
  • Windows_Server_2016(ターゲットノード)
  • Ansible 2.9.6
  • Python 2.7.5

3. コントロールノードにAnsibleをインストール

インストールの手順は以下です。 (yum を使用したインストール方法)

[root@Kensyo ~]# yum install epel-release -y
[root@Kensyo ~]# yum 

Ansible入門者向け学習ガイド(CentOS編)

はじめに

Ansibleへの入門として、Ansibleインストールからplaybookの実行までの一連の流れをまとめました。

Ansibleとは

『Ansible』とはRed Hat社が開発するオープンソースの構成管理ツールです。
構成管理ツールは Chef、Puppetなどのツールもありますが、『エージェントレス』であり設定ファイルの記述がシンプルでわかりやすいため、構成管理ツールの中でもハードルが低く使いやすいのが特徴です。

Ansibleを使えるようになると以下のメリットがあります。

  • 工数の削減が期待できる
  • 品質が向上する
  • 不要なオペレーションやアクセスをなくすことができる

例えば、50台のサーバに同一の設定を行う場合、手作業で行うとミスが発生する可能性があります。それに対し、作業を自動化した場合は全台に同一の設定を実行することができるため、人的ミスを少しでも防ぐことができかつ工数の短縮も図ることができます。
また、不要なオペレーションやアクセスをなくすことができるため、誤動作の防止にもつながります。

Ansibleを理解する

Ansibleは手作業で行うことを自動化するツールです。Ansibleを理解するには自動化を行う前に手作業で目的の動作が行われるか検証するのが良いと思います。
手作業で問題が発生しなかった作業をplaybook化するイメージです。

Ansibleを効率的に学習する前に、まずは大まかな操作(Ansibleの導入からPlaybookの実行まで)を知る必要があると思います。。
また、手順や操作方法が分かるようになれば学習するべき内容を絞り出すことができ、理解がより深まってくると思います。

当サイトでは、単純すぎず複雑すぎない手順を用意いたしました。

Ansibleの操作手順

実際にAnsibleをインストールし操作を行います。当サイトではhttpdのインストール、
httpd.confの修正、firewallの設定、selinuxの設定を行う操作を記述致します。

目次

  1. Ansibleを操作するサーバを準備(以降コントロールノードと呼ぶ)
  2. 構築対象となるサーバを準備(以降ターゲットノードと呼ぶ)
  3. コントロールノードにansibleをインストール
  4. sshの設定(公開鍵認証)
  5. Ansible疎通確認
  6. ターゲットノードで設定を行い内容を手作業で確認
  7. playbook作成
    1. httpdタスクの作成
    2. firewallタスクの作成
    3. selinuxタスクの作成
  8. playbook実行
  9. ターゲットノードで設定が変更されているか確認

項番1,2の手順は様々な環境が存在するため、省略いたします。

OSがインストールされており、ネットワークの設定済みの環境を使用します。

使用環境

  • CentOS7.7(コントロールノード)
  • CentOS7.6(ターゲットノード)