Amazon Linux2にAnsibleをインストールしてみた。

ここ最近OCIばかり触っていたけど久しぶりAWSに戻ってみました。
数ヶ月ぶりのAWSだったからかUI変わってて戸惑いましたね〜。

## EC2インスタンスにAnsibleインストール
とりあえずepelのインストール実施。なんかエラーが。。。
そう言えばAmazon Linuxだと通常のepelの入れ方はダメでしたね。
そのような事をどこかの記事でもいたことがあるぞ。

[root@ip-10-0-11-166 ~]# yum install epel-release
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
No package epel-release available.
Error: Nothing to do


epel-release is available in Amazon Linux Extra topic "epel"

To use, run
# sudo amazon-linux-extras install epel

Learn more at
https://aws.amazon.com/amazon-linux-2/faqs/#Amazon_Linux_Extras


[root@ip-10-0-11-166 ~]#

## んじゃどうするのか?
エラー文の末尾にラーンモアがあったのでそのURLを見てみた。
aws.amazon.com

ふむふむどうやらamazon-linux-extras installコマンドでインストールできるみたい。
早速打ってみた。
お?おお?Ansibleあるね?
これepleなくてもインストールできるんじゃ・・・

[root@ip-10-0-11-166 ~]# amazon-linux-extras install
  0  ansible2                 available    \
        [ =2.4.2  =2.4.6  =2.8  =stable ]
  2  httpd_modules            available    [ =1.0  =stable ]
  3  memcached1.5             available    \
        [ =1.5.1  =1.5.16  =1.5.17 ]
  5  postgresql9.6            available    \
        [ =9.6.6  =9.6.8  =stable ]
  6  postgresql10             available    [ =10  =stable ]
  8  redis4.0                 available    \
        [ =4.0.5  =4.0.10  =stable ]
  9  R3.4                     available    [ =3.4.3  =stable ]
 10  rust1                    available    \
        [ =1.22.1  =1.26.0  =1.26.1  =1.27.2  =1.31.0  =1.38.0
          =stable ]
 11  vim                      available    [ =8.0  =stable ]
 15  php7.2                   available    \
        [ =7.2.0  =7.2.4  =7.2.5  =7.2.8  =7.2.11  =7.2.13  =7.2.14
          =7.2.16  =7.2.17  =7.2.19  =7.2.21  =7.2.22  =7.2.23
          =7.2.24  =7.2.26  =stable ]
 17  lamp-mariadb10.2-php7.2  available    \
        [ =10.2.10_7.2.0  =10.2.10_7.2.4  =10.2.10_7.2.5
          =10.2.10_7.2.8  =10.2.10_7.2.11  =10.2.10_7.2.13
          =10.2.10_7.2.14  =10.2.10_7.2.16  =10.2.10_7.2.17
          =10.2.10_7.2.19  =10.2.10_7.2.22  =10.2.10_7.2.23
          =10.2.10_7.2.24  =stable ]
 18  libreoffice              available    \
        [ =5.0.6.2_15  =5.3.6.1  =stable ]
 19  gimp                     available    [ =2.8.22 ]
 20  docker=latest            enabled      \
        [ =17.12.1  =18.03.1  =18.06.1  =18.09.9  =stable ]
 21  mate-desktop1.x          available    \
        [ =1.19.0  =1.20.0  =stable ]
 22  GraphicsMagick1.3        available    \
        [ =1.3.29  =1.3.32  =1.3.34  =stable ]
 23  tomcat8.5                available    \
        [ =8.5.31  =8.5.32  =8.5.38  =8.5.40  =8.5.42  =8.5.50
          =stable ]
 24  epel                     available    [ =7.11  =stable ]
 25  testing                  available    [ =1.0  =stable ]
 26  ecs                      available    [ =stable ]
 27  corretto8                available    \
        [ =1.8.0_192  =1.8.0_202  =1.8.0_212  =1.8.0_222  =1.8.0_232
          =1.8.0_242  =stable ]
 28  firecracker              available    [ =0.11  =stable ]
 29  golang1.11               available    \
        [ =1.11.3  =1.11.11  =1.11.13  =stable ]
 30  squid4                   available    [ =4  =stable ]
 31  php7.3                   available    \
        [ =7.3.2  =7.3.3  =7.3.4  =7.3.6  =7.3.8  =7.3.9  =7.3.10
          =7.3.11  =7.3.13  =stable ]
 32  lustre2.10               available    \
        [ =2.10.5  =2.10.8  =stable ]
 33  java-openjdk11           available    [ =11  =stable ]
 34  lynis                    available    [ =stable ]
 35  kernel-ng                available    [ =stable ]
 36  BCC                      available    [ =0.x  =stable ]
 37  mono                     available    [ =5.x  =stable ]
 38  nginx1                   available    [ =stable ]
 39  ruby2.6                  available    [ =2.6  =stable ]
 40  mock                     available    [ =stable ]
 41  postgresql11             available    [ =11  =stable ]
 42  php7.4                   available    [ =stable ]
 43  livepatch                available    [ =stable ]
 44  python3.8                available    [ =stable ]
 45  haproxy2                 available    [ =stable ]
[root@ip-10-0-11-166 ~]# 

## Ansibleインストールやってみた

[root@ip-10-0-11-166 ~]# amazon-linux-extras install 0
Installing ansible
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
Cleaning repos: amzn2-core amzn2extra-ansible2 amzn2extra-docker
12 metadata files removed
4 sqlite files removed
0 metadata files removed
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
amzn2-core                                                                                                | 3.7 kB  00:00:00     
amzn2extra-ansible2                                                                                       | 3.0 kB  00:00:00     
amzn2extra-docker                                                                                         | 3.0 kB  00:00:00     
(1/7): amzn2-core/2/x86_64/group_gz                                                                       | 2.5 kB  00:00:00     
(2/7): amzn2-core/2/x86_64/updateinfo                                                                     | 257 kB  00:00:00     
(3/7): amzn2extra-docker/2/x86_64/primary_db                                                              |  68 kB  00:00:00     
(4/7): amzn2extra-ansible2/2/x86_64/primary_db                                                            |  34 kB  00:00:00     
(5/7): amzn2extra-ansible2/2/x86_64/updateinfo                                                            |   76 B  00:00:00     
(6/7): amzn2extra-docker/2/x86_64/updateinfo                                                              |   76 B  00:00:00     
(7/7): amzn2-core/2/x86_64/primary_db                                                                     |  44 MB  00:00:00     
Resolving Dependencies
--> Running transaction check
---> Package ansible.noarch 0:2.9.12-1.amzn2 will be installed
--> Processing Dependency: sshpass for package: ansible-2.9.12-1.amzn2.noarch
--> Processing Dependency: python-paramiko for package: ansible-2.9.12-1.amzn2.noarch
--> Processing Dependency: python-keyczar for package: ansible-2.9.12-1.amzn2.noarch
--> Processing Dependency: python-httplib2 for package: ansible-2.9.12-1.amzn2.noarch
--> Processing Dependency: python-crypto for package: ansible-2.9.12-1.amzn2.noarch
--> Running transaction check
---> Package python-keyczar.noarch 0:0.71c-2.amzn2 will be installed
---> Package python2-crypto.x86_64 0:2.6.1-13.amzn2.0.3 will be installed
--> Processing Dependency: libtomcrypt.so.1()(64bit) for package: python2-crypto-2.6.1-13.amzn2.0.3.x86_64
---> Package python2-httplib2.noarch 0:0.18.1-3.amzn2 will be installed
---> Package python2-paramiko.noarch 0:1.16.1-3.amzn2.0.2 will be installed
--> Processing Dependency: python2-ecdsa for package: python2-paramiko-1.16.1-3.amzn2.0.2.noarch
---> Package sshpass.x86_64 0:1.06-1.amzn2.0.1 will be installed
--> Running transaction check
---> Package libtomcrypt.x86_64 0:1.18.2-1.amzn2.0.1 will be installed
--> Processing Dependency: libtommath >= 1.0 for package: libtomcrypt-1.18.2-1.amzn2.0.1.x86_64
--> Processing Dependency: libtommath.so.1()(64bit) for package: libtomcrypt-1.18.2-1.amzn2.0.1.x86_64
---> Package python2-ecdsa.noarch 0:0.13.3-1.amzn2.0.1 will be installed
--> Running transaction check
---> Package libtommath.x86_64 0:1.0.1-4.amzn2.0.1 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=================================================================================================================================
 Package                        Arch                 Version                             Repository                         Size
=================================================================================================================================
Installing:
 ansible                        noarch               2.9.12-1.amzn2                      amzn2extra-ansible2                17 M
Installing for dependencies:
 libtomcrypt                    x86_64               1.18.2-1.amzn2.0.1                  amzn2extra-ansible2               409 k
 libtommath                     x86_64               1.0.1-4.amzn2.0.1                   amzn2extra-ansible2                36 k
 python-keyczar                 noarch               0.71c-2.amzn2                       amzn2extra-ansible2               218 k
 python2-crypto                 x86_64               2.6.1-13.amzn2.0.3                  amzn2extra-ansible2               476 k
 python2-ecdsa                  noarch               0.13.3-1.amzn2.0.1                  amzn2extra-ansible2                94 k
 python2-httplib2               noarch               0.18.1-3.amzn2                      amzn2extra-ansible2               125 k
 python2-paramiko               noarch               1.16.1-3.amzn2.0.2                  amzn2extra-ansible2               259 k
 sshpass                        x86_64               1.06-1.amzn2.0.1                    amzn2extra-ansible2                22 k

Transaction Summary
=================================================================================================================================
Install  1 Package (+8 Dependent packages)

Total download size: 19 M
Installed size: 110 M
Is this ok [y/d/N]: y
Downloading packages:
(1/9): libtomcrypt-1.18.2-1.amzn2.0.1.x86_64.rpm                                                          | 409 kB  00:00:00     
(2/9): libtommath-1.0.1-4.amzn2.0.1.x86_64.rpm                                                            |  36 kB  00:00:00     
(3/9): python-keyczar-0.71c-2.amzn2.noarch.rpm                                                            | 218 kB  00:00:00     
(4/9): python2-crypto-2.6.1-13.amzn2.0.3.x86_64.rpm                                                       | 476 kB  00:00:00     
(5/9): python2-ecdsa-0.13.3-1.amzn2.0.1.noarch.rpm                                                        |  94 kB  00:00:00     
(6/9): python2-httplib2-0.18.1-3.amzn2.noarch.rpm                                                         | 125 kB  00:00:00     
(7/9): ansible-2.9.12-1.amzn2.noarch.rpm                                                                  |  17 MB  00:00:00     
(8/9): python2-paramiko-1.16.1-3.amzn2.0.2.noarch.rpm                                                     | 259 kB  00:00:00     
(9/9): sshpass-1.06-1.amzn2.0.1.x86_64.rpm                                                                |  22 kB  00:00:00     
---------------------------------------------------------------------------------------------------------------------------------
Total                                                                                             30 MB/s |  19 MB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : sshpass-1.06-1.amzn2.0.1.x86_64                                                                               1/9 
  Installing : python2-httplib2-0.18.1-3.amzn2.noarch                                                                        2/9 
  Installing : libtommath-1.0.1-4.amzn2.0.1.x86_64                                                                           3/9 
  Installing : libtomcrypt-1.18.2-1.amzn2.0.1.x86_64                                                                         4/9 
  Installing : python2-crypto-2.6.1-13.amzn2.0.3.x86_64                                                                      5/9 
  Installing : python-keyczar-0.71c-2.amzn2.noarch                                                                           6/9 
  Installing : python2-ecdsa-0.13.3-1.amzn2.0.1.noarch                                                                       7/9 
  Installing : python2-paramiko-1.16.1-3.amzn2.0.2.noarch                                                                    8/9 
  Installing : ansible-2.9.12-1.amzn2.noarch                                                                                 9/9 
  Verifying  : python2-ecdsa-0.13.3-1.amzn2.0.1.noarch                                                                       1/9 
  Verifying  : libtommath-1.0.1-4.amzn2.0.1.x86_64                                                                           2/9 
  Verifying  : python2-crypto-2.6.1-13.amzn2.0.3.x86_64                                                                      3/9 
  Verifying  : python-keyczar-0.71c-2.amzn2.noarch                                                                           4/9 
  Verifying  : libtomcrypt-1.18.2-1.amzn2.0.1.x86_64                                                                         5/9 
  Verifying  : python2-paramiko-1.16.1-3.amzn2.0.2.noarch                                                                    6/9 
  Verifying  : ansible-2.9.12-1.amzn2.noarch                                                                                 7/9 
  Verifying  : python2-httplib2-0.18.1-3.amzn2.noarch                                                                        8/9 
  Verifying  : sshpass-1.06-1.amzn2.0.1.x86_64                                                                               9/9 

Installed:
  ansible.noarch 0:2.9.12-1.amzn2                                                                                                

Dependency Installed:
  libtomcrypt.x86_64 0:1.18.2-1.amzn2.0.1                          libtommath.x86_64 0:1.0.1-4.amzn2.0.1                         
  python-keyczar.noarch 0:0.71c-2.amzn2                            python2-crypto.x86_64 0:2.6.1-13.amzn2.0.3                    
  python2-ecdsa.noarch 0:0.13.3-1.amzn2.0.1                        python2-httplib2.noarch 0:0.18.1-3.amzn2                      
  python2-paramiko.noarch 0:1.16.1-3.amzn2.0.2                     sshpass.x86_64 0:1.06-1.amzn2.0.1                             

Complete!

できちゃいました。。

[root@ip-10-0-11-166 ~]# ansible --version
ansible 2.9.12
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/site-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.18 (default, Aug 27 2020, 21:22:52) [GCC 7.3.1 20180712 (Red Hat 7.3.1-9)]
[root@ip-10-0-11-166 ~]#