【AWS CloudShell】AnsibleでEC2を操作してみました

devops

前回に引き続き、AWS CloudShellについての記事となります。今回は、Ansibleを使用してEC2を操作してみました。過去の記事で、ローカルのPC環境からAnsibleを実行したことがあるのですが、同じ操作をAWS CloudShellで実行しましたので、手順を共有いたします。

ローカルPCからAnsibleを実行した時の記事はこちらです。

AWS CloudShellでAnsibleを実行する手順

Ansible実行環境の準備

Pythonのバージョンを確認

$ python
Python 2.7.18 (default, Jun 10 2021, 00:11:02)

pipとAnsibleのインストール

$ sudo yum update

$ sudo yum install pip

$ sudo pip install ansible

Ansible定義ファイルのクローン

Codecommitで以前作成したAnsible定義をクローンします。

$ mkdir ansible

$ cd ansible

$ sudo git clon <リポジトリ名>

秘密鍵をAWS CloudShellに設置

$ vi ~/.ssh/<キーペア名>

$ chmod 600 ~/.ssh/<キーペア名

Ansibleの実行

今回は、apt updateとアプリケーションのインストールをAnsibleで実行しています。無事にAnsibleの実行に成功しました。

$ ansible-playbook web.yml -i hosts/prd

PLAY [Deploy web server] *********************************************************************************************************************************************************************************************************

TASK [Gathering Facts] ***********************************************************************************************************************************************************************************************************
ok: [54.64.xx.xxx]

TASK [apt : Upgrade all package] *************************************************************************************************************************************************************************************************
changed: [54.64.xx.xxx]

TASK [apt : Install apt packages] ************************************************************************************************************************************************************************************************
ok: [54.64.xx.xxx]

PLAY RECAP ***********************************************************************************************************************************************************************************************************************
[54.64.xx.xxx]               : ok=3    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

まとめ

AWS CloudShellでは、Ansibleも手軽に実行できることが分かりました。AWS CloudShellは、ほぼ無料で使用できるため、用途によってはCloud9よりも使い勝手が良いのではないかと思いました。

タイトルとURLをコピーしました