2016-05-23 2 views
0

Я получаю и ошибаюсь, когда хочу предоставить ec2. Вот как я создал свою среду.Предоставление AWS с возможностью доступа

Я кладу AWS учетные данные в ~/.boto

кошки/и т.д./анзибль/хостами

[local] 
    localhost 

кошка /etc/ansible/ec2-vars/testserver.yml

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 

кошка /etc/ansible/provision-ec2.yml

 --- 
     - hosts: localhost 
     connection: local 
     gather_facts: false 
     user: root 
     pre_tasks: 
     - include_vars: ec2_vars/{{type}}.yml 
     roles: 
     - provision-ec2 

кошка /etc/ansible/roles/provision-ec2/tasks/main.yml

  --- 
      - 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 

Теперь выполните следующую команду, и это то, что я получаю.

[[email protected]**-**-*** 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] ***************************** ********** путь задачи: /etc/ansible/roles/provision-ec2/tasks/main.yml:2 фатальный: [localhost -> localhost]: FAILED! => {"changed": false, "failed": true, "msg": "Никакой обработчик не был готов к аутентификации. Были проверены 1 обработчик. ['HmacAuthV4Handler'] Проверьте свои учетные данные"}

НЕТ БОЛЬШИХ ХОЗЯЙСТВ ЛЕВЫЙ ************************************************** *********** для повторного использования, используйте: --limit @ provision-ec2.retry

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

ответ

1

Вы смешиваете подчеркивание и дефис.

кошки/и т.д./анзибль/ec2-вары /testserver.yml

include_vars: ec2_vars /{{type}}.yml

+0

Спасибо, теперь я получаю новую ошибку. Я сохранил учетные данные aws в ~./Boto. Я только что отредактировал сообщение, чтобы отразить новую ошибку. @helloV – Lolu911

+0

Какая ошибка? – helloV

+0

только что обновил сообщение – Lolu911

Смежные вопросы