ansible AWS

ansibleでaws-cliをインストールする (+S3)

投稿日:

やりたいことは以下の2つ。

  • ansibleでaws-cliをインストールする
  • ansibleでインストールしたaws-cliでs3コマンドを打てるようにする

なお、相手には既にpipがインストールがしてあるものとします。
ansibleを実行するために最小構成でPythonをインストールしたもののpipは入れていない、
という状況であれば、先にpipをインストールする必要があります。

リージョン、S3のkey,secretは仮に以下とします。
事前にAWSのコンソールで設定,取得してください。

  • region: ap-northeast-1
  • s3.key: AHJKOKODAJOIFAJDJDIOA
  • s3.secret: AugioaiARJOIfjop20FJIOADOiFJAODA

ファイル達

構成は以下の通りです。(※)のファイルが核心です。
stagingとかになってますが、もちろん成立する範囲で修正してください。

group_vars/staging.ymlに設定を書きます。

roles/awscli/templates/config.conf.j2にaws-cliの設定を書きます。
s3.regionが評価され値が入ります。相手の~/.aws/configに配置します。

roles/awscli/templates/credentials.conf.j2にs3の設定を書きます。
s3.keyとs3.secretが評価され値が入ります。相手の~/.aws/credentialsに配置します。

rokes/awscli/tasks/main.ymlに状態を定義します。
内容は以下の通りです。
1) aws-cliがpip installされた状態
2) ~/.aws/以下に設定ファイルがコピーされた状態

Playbook(provision.yml)は以下の通りです。

実行結果

Playbookを実行します。

相手のユーザディレクトリに.awsというディレクトリが作られ、中にファイルが作られます。

相手側でaws s3 lsコマンドを打って設定しろと言われなければ成功です。

おわり。

-ansible, AWS
-

Copyright© ikuty.com , 2019 AllRights Reserved Powered by AFFINGER4.