ansible.cfgを使ってみる
毎回コマンド入力で秘密鍵を指定するのは大変なのでansible.cfgに登録してみます。ansible.cfgのファイル置き場は以下の通り
- 環境変数ANSIBLE_CONFIGで指定されたパス
- カレントディレクトリの./ansible.cfg
- ~/.ansible.cfg
- /etc/ansible/ansible.cfg
今回はホームディレクトリに配置してみました。実際はplaybookと一緒にgitで管理が良さそうですね。
1 2 3 4 5 |
[defaults] hostfile = ~/ansible/inventory/hosts remote_user = ec2-user private_key_file = ~/nbus.pem host_key_checking = False |
設定後のコマンド実行
1 2 3 4 5 |
$ ansible target -m ping 10.1.1.100 | SUCCESS => { "changed": false, "ping": "pong" } |
コマンドを実行してみる
1 2 3 |
$ ansible target -m command -a uptime 10.1.1.100 | SUCCESS | rc=0 >> 14:16:46 up 33 min, 1 user, load average: 0.00, 0.00, 0.00 |
パラメータを使う場合はダブルクォートで囲めば良いようです。
1 2 3 |
$ ansible target -m command -a "uname -a" 10.1.1.100 | SUCCESS | rc=0 >> Linux ip-10-1-1-100 4.4.5-15.26.amzn1.x86_64 #1 SMP Wed Mar 16 17:15:34 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux |
ルート権限が必要な場合は-sオプションでsudoするようです
1 2 |
$ ansible target -s -a "mkdir /var/hoge" 10.1.1.100 | SUCCESS | rc=0 >> |
Apacheを導入してみる
apacheをコマンドラインで入れてみます。
1 2 3 4 5 6 7 8 9 |
$ ansible target -s -m yum -a name=httpd 10.1.1.100 | SUCCESS => { "changed": true, "msg": "", "rc": 0, "results": [ "Loaded plugins: priorities, update-motd, upgrade-helper\nResolving Dependencies\n--> Running transaction check\n---> Package httpd.x86_64 0:2.2.31-1.7.amzn1 will be installed\n--> Processing Dependency: httpd-tools = 2.2.31-1.7.amzn1 for package: httpd-2.2.31-1.7.amzn1.x86_64\n--> Processing Dependency: apr-util-ldap for package: httpd-2.2.31-1.7.amzn1.x86_64\n--> Processing Dependency: libaprutil-1.so.0()(64bit) for package: httpd-2.2.31-1.7.amzn1.x86_64\n--> Processing Dependency: libapr-1.so.0()(64bit) for package: httpd-2.2.31-1.7.amzn1.x86_64\n--> Running transaction check\n---> Package apr.x86_64 0:1.5.1-1.12.amzn1 will be installed\n---> Package apr-util.x86_64 0:1.4.1-4.17.amzn1 will be installed\n---> Package apr-util-ldap.x86_64 0:1.4.1-4.17.amzn1 will be installed\n---> Package httpd-tools.x86_64 0:2.2.31-1.7.amzn1 will be installed\n--> Finished Dependency Resolution\n\nDependencies Resolved\n\n================================================================================\n Package Arch Version Repository Size\n================================================================================\nInstalling:\n httpd x86_64 2.2.31-1.7.amzn1 amzn-main 1.2 M\nInstalling for dependencies:\n apr x86_64 1.5.1-1.12.amzn1 amzn-main 116 k\n apr-util x86_64 1.4.1-4.17.amzn1 amzn-main 87 k\n apr-util-ldap x86_64 1.4.1-4.17.amzn1 amzn-main 17 k\n httpd-tools x86_64 2.2.31-1.7.amzn1 amzn-main 79 k\n\nTransaction Summary\n================================================================================\nInstall 1 Package (+4 Dependent packages)\n\nTotal download size: 1.5 M\nInstalled size: 3.6 M\nDownloading packages:\n--------------------------------------------------------------------------------\nTotal 14 MB/s | 1.5 MB 00:00 \nRunning transaction check\nRunning transaction test\nTransaction test succeeded\nRunning transaction\n Installing : apr-1.5.1-1.12.amzn1.x86_64 1/5 \n Installing : apr-util-1.4.1-4.17.amzn1.x86_64 2/5 \n Installing : apr-util-ldap-1.4.1-4.17.amzn1.x86_64 3/5 \n Installing : httpd-tools-2.2.31-1.7.amzn1.x86_64 4/5 \n Installing : httpd-2.2.31-1.7.amzn1.x86_64 5/5 \n Verifying : httpd-2.2.31-1.7.amzn1.x86_64 1/5 \n Verifying : apr-1.5.1-1.12.amzn1.x86_64 2/5 \n Verifying : apr-util-ldap-1.4.1-4.17.amzn1.x86_64 3/5 \n Verifying : httpd-tools-2.2.31-1.7.amzn1.x86_64 4/5 \n Verifying : apr-util-1.4.1-4.17.amzn1.x86_64 5/5 \n\nInstalled:\n httpd.x86_64 0:2.2.31-1.7.amzn1 \n\nDependency Installed:\n apr.x86_64 0:1.5.1-1.12.amzn1 apr-util.x86_64 0:1.4.1-4.17.amzn1 \n apr-util-ldap.x86_64 0:1.4.1-4.17.amzn1 httpd-tools.x86_64 0:2.2.31-1.7.amzn1\n\nComplete!\n" ] } |
インストールされた模様?リモートで接続して確認してみます。
1 2 |
$ sudo service httpd status httpd is stopped |
インストールされてますね。
次こそplaybookに再挑戦しましょうかね。