2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Ansibleの環境設定ファイル

Last updated at Posted at 2020-04-14

#1.Ansible.cnf (環境設定ファイル)について

ansibleコマンドやansible-playbookコマンドを実行するときに参照される各種設定ファイルです。
いろいろな設定がありますが、今回はその一部を紹介します。
 

2.設定可能なパラメータについて

ansible.cfgのパラメータは初期状態ではすべてコメントアウトされています。
デフォルトの状態では無効になっているため、設定変更を行うためには、コメントアウトを解除し、
設定を行う必要があります。
ansible.cfgで接続可能なパラメータは多岐にわたりますが、最低ライン知っておくとよいかと思われる
物をピックアップして記載します。

詳細は以下を参照してください。
https://docs.ansible.com/ansible/latest/reference_appendices/config.html#ansible-configuration-settings

基本書式
 (パラメータ名)=(値)
 ※コメントアウトするには、#を頭につけます。

・通信に関わる設定

概要 パラメータ名 セクション デフォルト値
接続先の
SSHポート
remote_port [default] 22 ポート番号
接続先の
ユーザー
remote_user [default] ローカル
ユーザー
ユーザー名
SSHの引数 ssh_args [ssh_connection] なし sshコマンドの引数

・ログの設定
ansible、ansible-playbook コマンド実行時に標準出力に出力されるメッセージを保存します。
実行時のエビデンスとして利用できます。

概要 パラメータ名 セクション デフォルト値
ログ出力先 log_path [default] なし フルパス指定

※log_pathはコメントアウト状態の初期値では、/var/log/ansible.logが
 指定されています。これだとrootユーザー以外で実行した場合は出力エラーになるため、
 ansibleの環境ディレクトリにlogディレクトリを作るなど、別のディレクトリを選択するることをお勧めします。

・接続後のユーザー変更

概要 パラメータ名 セクション デフォルト値
変更実行? become [privilege_escalation] しない true/false
ユーザー変更方法 become_method [privilege_escalation] なし su/sudo
変更ユーザー become_user [privilege_escalation] なし ユーザー名
変更時のパスワード確認 become_ask_pass privilege_escalation] なし true/false

※become_ask_passをfalseにした場合、最初に接続したユーザーと同じパスワードにしておく、
 接続先の/etc/sudoers設定などの方法でユーザー切り替え可能にしておく必要があります。

#3.環境設定ファイルの読み込み場所と優先順位
デフォルトではansible.cfg というファイルになります。
ansible、ansible-playbookコマンドを実行する際、環境変数で指定されたパス、/etc/ansible/ansible.cfg の順に見つけられたものを読み込みます。
(参照)Ansibleの環境設定

(参考)https://docs.ansible.com/ansible/latest/cli/ansible-config.html

#4.ansible.cfg で記載された設定値の上書きについて
状況により、ansible.cfgで記載された設定値を変更したい場合がありえます。
こういった場合、ansible.cfgを変更する方法もありますが、一時的であれば以下の方法でも変更できます。

①コマンド引数に変数として定義
 ansible、ansible-playbook の引数 -e "変数名" "値" として追記
 また、sshの接続ユーザーなどは -U などのオプションで置き換えられます。
②環境変数に定義
 export ANSIBLE_(環境変数名英大文字)=(値)で定義
③playbookに記述
 すべての項目ではありませんが、実行ユーザーなどの一部の項目については、playbookに記述して指定できます。
 (これは自動化処理個別の設定であり、環境変数の変更かといわれると微妙ですが)

以上

2
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?