Ansibleを使用して他のサーバーにaws cliをインストールする手順について記載しています。
1.hostsを編集します。
以下のコマンドを実行します。
sudo vi /etc/ansible/hosts
初期内容
# This is the default ansible 'hosts' file. # # It should live in /etc/ansible/hosts # # - Comments begin with the '#' character # - Blank lines are ignored # - Groups of hosts are delimited by [header] elements # - You can enter hostnames or ip addresses # - A hostname/ip can be a member of multiple groups # Ex 1: Ungrouped hosts, specify before any group headers. ## green.example.com ## blue.example.com ## 192.168.100.1 ## 192.168.100.10 # Ex 2: A collection of hosts belonging to the 'webservers' group ## [webservers] ## alpha.example.org ## beta.example.org ## 192.168.1.100 ## 192.168.1.110 # If you have multiple hosts following a pattern you can specify # them like this: ## www[001:006].example.com # Ex 3: A collection of database servers in the 'dbservers' group ## [dbservers] ## ## db01.intranet.mydomain.net ## db02.intranet.mydomain.net ## 10.25.1.56 ## 10.25.1.57 # Here's another example of host ranges, this time there are no # leading 0s: ## db-[99:101]-node.example.com
次のコードを挿入する。※サンプル
# グループを使用してホスト名として管理する方法 [EC2-WEB01] xxx.xxx.xxx.xxx [EC2-WEB02] xxx.xxx.xxx.xxx [EC2-WEB03] xxx.xxx.xxx.xxx [EC2-WEB04] xxx.xxx.xxx.xxx [EC2-BAT01] xxx.xxx.xxx.xxx [EC2-BAT02] xxx.xxx.xxx.xxx [EC2-SRV01] xxx.xxx.xxx.xxx [EC2-SRV02] xxx.xxx.xxx.xxx [EC2-SQL01] xxx.xxx.xxx.xxx [EC2-SQL02] xxx.xxx.xxx.xxx # グループをグループで纏める方法 [web:children] EC2-WEB01 EC2-WEB02 EC2-WEB03 EC2-WEB04 [bat:children] EC2-BAT01 EC2-BAT02 [srv:children] EC2-SRV01 EC2-SRV02 [sql:children] EC2-SQL01 EC2-SQL02 # すてべのグループを纏める方法 [all:children] web bat srv sql
2.リモートでAWS CLIをインストールする。
以下のコマンドを実行する。
ansible all -s -a 'curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"'
ansible all -s -a "python get-pip.py"
ansible all -s -a "pip install awscli"
※「all」を使用せずに、個別にIPアドレスで指定(xxx.xxx.xxx.xxx)する方法や、グループ名を指定することも可能。
sudoを使用すると警告が表示される。
[WARNING]: Consider using 'become', 'become_method', and 'become_user' rather than running sudo
※「-s」をオプションで使用すればsudoと同様の権限で実行できる