Memo/Ansible/AWS

https://dexlab.net:443/pukiwiki/index.php?Memo/Ansible/AWS
 

AWS(Amazon Web Services)


AWS assume role

  • 参考 ~/.aws/config: Memo/AmazonWebServices/IAM#tfb76382
  • account1がログイン用、account2がswitch先とする
  • boto module の場合、単純にansible module側「profile: account2」を指定するだけでは、以下のエラーで失敗した。
  • boto3 module の場合、成功した
  • 「~/.boto -> ~/.aws/credentials」のようなsymlinkがあると失敗するので、「~/.boto」は消す
  • sts_assume_role を使う場合
        - name: assume role
          sts_assume_role:
            role_arn: "{{ role_arn }}"
            role_session_name: session1
            region: "{{ region }}"
            profile: "{{ aws_profile }}"
          register: assumed_role
        - name: EC2 remote facts
          ec2_remote_facts:
            region: "{{ region }}"
            filters:
              instance-state-name: running
          register: result_ec2
          changed_when: False
          environment:
            AWS_ACCESS_KEY_ID: "{{ assumed_role.sts_creds.access_key }}"
            AWS_SECRET_ACCESS_KEY: "{{ assumed_role.sts_creds.secret_key }}"
            AWS_SESSION_TOKEN: "{{ assumed_role.sts_creds.session_token }}"
        - name: Number of running
          debug: msg="{{ result_ec2.instances | count }}"

コマンドのjson出力を取り込んで、yaml形式で出力する


aws profileを利用する

いつのバージョンから(boto3 module?)か「~/.boto」は不用になった。 assume role利用の際に邪魔になるので、「~/.boto」は作らない方が良い。

「~/.aws/credentials」が既にある場合、ansibleからその中のアクセスキー等を利用したい。
ansibleのawsモジュールには profile: オプションで boto configの値を指定でき、フォーマットはaws configと同じなのでsymlinkで良さそう

  • ansible v2.1, boto >= 2.24.0で動作確認できた。ansible v2.4.xは不具合があってdynamodb_tableは動かない
      tasks:
    #    - name: create symlink ~/.boto
    #      file: src=~/.aws/credentials dest=~/.boto state=link
    
        - name: Delete dynamodb table
          dynamodb_table:
            profile: "{{ aws_profile }}"
            region: "{{ aws_region }}"
            name: "{{ item }}"
            hash_key_name: "{{ item }}" # ドキュメントでは required:no だが、実行時にエラーが出るため追加
            state: absent
          with_items:
            - test

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-12-04 (火) 18:34:53 (14d)