AnsibleでS3からファイルをダウンロードする方法を紹介します!
① s3_getを利用する
AnsibleのCloudModuleであるs3_get
を利用する方法です。
前提条件
- ターゲットノードにS3へのアクセス許可が必要
実行コマンド
$ ansible-playbook -i ansible_hosts s3_get.yml
ansible_hosts
[test_server] 172.140.1.1
s3_get.yml
- name: s3_get hosts: test_server tasks: - aws_s3: bucket: kabegiwa-bucket object: /test.txt dest: /home/ec2-user/test.txt mode: get
② get_urlを利用する
S3バケットに静的Webサイトホスティングの設定またはオブジェクトごとにPublicアクセスの許可設定を実施し、ダウンロードを行う方法です。
前提条件
- S3上のファイルは静的WebホスティングまたはPublicアクセスの許可が必要
実行コマンド
$ ansible-playbook -i ansible_hosts geturl.yml
ansible_hosts
[test_server] 172.140.1.1
geturl.yml
- name: get_url_test hosts: test_server tasks: - get_url: url=https://s3-ap-northeast-1.amazonaws.com/kabegiwa-bucket/test.txt dest=/home/ec2-user/
③ AWSCLIを利用する方法
単純にAnsibleのcommand
を利用してAWSCLIを実行させます。
前提条件
- ターゲットノードにS3へのアクセス許可がなければならない
- ターゲットノードにAWSCLIがインストールされていなければならない
実行コマンド
$ ansible-playbook -i ansible_hosts awscli.yml
ansible_hosts
[linux] 172.22.69.51
awscli.yml
- name: awscli_test hosts: test_server tasks: - command: 'aws s3 cp s3://kabegiwa-bucket/test.txt /home/ec2-user/test.txt'
- 作者: 若山史郎
- 発売日: 2014/07/30
- メディア: Kindle版
- この商品を含むブログ (2件) を見る