首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无障碍AWS条款

无障碍AWS条款
EN

Stack Overflow用户
提问于 2016-05-23 18:28:39
回答 1查看 753关注 0票数 0

我得到和错误时,我想提供一个ec2。我就是这样建立我的环境的。

我把我的aws凭证放在~/..boto

cat /etc/不可接受/主机

代码语言:javascript
复制
   [local]
  localhost

cat /etc/ansible/EC2-VAR/testserver.yml

代码语言:javascript
复制
   ec2_keypair: "ansible"
   ec2_security_group: "sg-*******"
   ec2_instance_type: "t2.micro"
   ec2_image: "ami-********"
   ec2_subnet_ids: ['subnet-*******','subnet-REDACTED','subnet-REDACTED']
   ec2_region: "us-east-1"
   ec2_tag_Name: "testserver"
   ec2_tag_Type: "testserver"
   ec2_tag_Environment: "development"
   ec2_volume_size: 8

cat /etc/ansible/provision ec2.yml

代码语言:javascript
复制
     ---
      - hosts: localhost
        connection: local
        gather_facts: false
        user: root
        pre_tasks:
         - include_vars: ec2_vars/{{type}}.yml
        roles:
         - provision-ec2

cat /etc/ansible/roles/provision-ec2/tasks/main.yml

代码语言:javascript
复制
          ---
          - name: Provision EC2 Box
             local_action:
            module: ec2
           key_name: "{{ ec2_keypair }}"
           group_id: "{{ ec2_security_group }}"
            instance_type: "{{ ec2_instance_type }}"
            image: "{{ ec2_image }}"
            vpc_subnet_id: "{{ ec2_subnet_ids|random }}"
            region: "{{ ec2_region }}"
            instance_tags: '{"Name":"{{ec2_tag_Name}}","Type":"       {{ec2_tag_Type}}","Environment":"{{ec2_tag_Environment}}"}'
      assign_public_ip: yes
      wait: true
      count: 1
      volumes:
     - device_name: /dev/sda1
     device_type: gp2
      volume_size: "{{ ec2_volume_size }}"
      delete_on_termination: true
       register: ec2

       - debug: var=item
       with_items: ec2.instances

     - add_host: name={{ item.public_ip }} >
                     groups=tag_Type_{{ec2_tag_Type}},tag_Environment_{{ec2_tag_Environment}}
         ec2_region={{ec2_region}}
         ec2_tag_Name={{ec2_tag_Name}}
         ec2_tag_Type={{ec2_tag_Type}}
         ec2_tag_Environment={{ec2_tag_Environment}}
         ec2_ip_address={{item.public_ip}}
        with_items: ec2.instances

        - name: Wait for the instances to boot by checking the ssh port
       wait_for: host={{item.public_ip}} port=22 delay=60 timeout=320     state=started
   with_items: ec2.instances

现在我运行以下命令,这就是我得到的。

代码语言:javascript
复制
  [root@ip-**-**-*** ansible]# ansible-playbook -vv -i localhost, -e     "type=testservers" provision-ec2.yml
   Using /etc/ansible/ansible.cfg as config file

     PLAYBOOK: provision-ec2.yml   ****************************************************
 1 plays in provision-ec2.yml

  PLAY [localhost] ***************************************************************

 TASK [include_vars] ************************************************************
task path: /etc/ansible/provision-ec2.yml:7
 fatal: [localhost]: FAILED! => {"changed": false, "failed": true, "file":    "/etc/ansible/ec2_vars/testservers.yml", "msg": "Source file not found."}

  NO MORE HOSTS LEFT *************************************************************
    to retry, use: --limit @provision-ec2.retry

  PLAY RECAP *********************************************************************
  localhost                  : ok=0    changed=0    unreachable=0    failed=1

请帮帮忙。

新错误:

任务提供- EC2 :EC2 Box *任务路径:EC2致命: localhost -> localhost: FAILED!=> {"changed":false,"failed":true,"msg":“msg”:“未准备好对其进行身份验证。”检查了1个处理程序。'HmacAuthV4Handler‘检查您的凭据“}}

不再有主机离开*************************************************************重试,请使用:--限制@provision ec2.重试

播放简介********************************************************************* localhost : ok=1 changed=0 unreachable=0 failed=1

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-23 18:36:36

你把下划线和连字符混在一起。

cat /etc/ansible/ec2-vars/testserver.yml

ec2_vars/{{type}}.yml :include_vars

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37398034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档