■ Ansibleとは
-
Ansibleの特徴
- エージェントレスでサーバ構築を自動化してくれるツールです。
- sshdが動作しているマシンにSSHで接続し環境を構築してくれます。
- 設定ファイルはYAMLで書きます。プログラムの知識(Ruby、Python、etc.)は不要です。
- 数台~数十台規模のサーバ構築だったらchefよりも簡単です。
-
環境の準備
前々回の記事を参照してください。
Ansible 最初の一歩
■ ロケールをニッポンに変更する
-
playbook.yml
lineinfileモジュールで文字列の置換を行っています。
fileモジュールでシンボリックリンクをはっています。playbook.yml- hosts: all remote_user: ec2-user become: true tasks: - name: set LANG lineinfile: > dest=/etc/sysconfig/i18n regexp='LANG=.*' line='LANG=ja_JP.utf8' - name: set ZONE lineinfile: > dest=/etc/sysconfig/clock regexp='ZONE=.*' line='ZONE="Asia/Tokyo"' - name: set UTC lineinfile: > dest=/etc/sysconfig/clock regexp='UTC=.*' line='UTC=false' - name: link localtime file: > src=/usr/share/zoneinfo/Asia/Tokyo dest=/etc/localtime state=link force=yes
-
ansible-playbook
実行してみます。$ ansible-playbook playbook.yml target01 : ok=5 changed=4 unreachable=0 failed=0
■ 確認
-
playbook実行前
$ env | grep LANG LANG=en_US.UTF-8 $ cat /etc/sysconfig/i18n LANG=en_US.UTF-8 $ locale LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL= $ date Thu Jun 30 15:05:14 UTC 2016 $ strings /etc/localtime TZif2 TZif2 UTC0 $ cat /etc/sysconfig/clock ZONE="UTC" UTC=true
-
playbook実行後
ログインし直すと以下のように設定が変更されています。$ env | grep LANG LANG=ja_JP.utf8 $ cat /etc/sysconfig/i18n LANG=ja_JP.utf8 $ locale LANG=ja_JP.utf8 LC_CTYPE="ja_JP.utf8" LC_NUMERIC="ja_JP.utf8" LC_TIME="ja_JP.utf8" LC_COLLATE="ja_JP.utf8" LC_MONETARY="ja_JP.utf8" LC_MESSAGES="ja_JP.utf8" LC_PAPER="ja_JP.utf8" LC_NAME="ja_JP.utf8" LC_ADDRESS="ja_JP.utf8" LC_TELEPHONE="ja_JP.utf8" LC_MEASUREMENT="ja_JP.utf8" LC_IDENTIFICATION="ja_JP.utf8" LC_ALL= [ec2-user@ip-172-31-23-139 ~]$ date 2016年 7月 1日 金曜日 00:27:46 JST $ strings /etc/localtime TZif2 JCST TZif2 JCST JST-9 $ cat /etc/sysconfig/clock ZONE="Asia/Tokyo" UTC=false
おしまい(^^)v