私はAmazon EC2マシンを作成し、Anativesの助けを借りて提供したいと考えています。 は今、私は次のエラーを取得:可能なAmazon EC2。キーペアは存在しません
fatal: [localhost]: FAILED! => {"changed": false, "failed": true, "msg": "Instance creation failed => InvalidKeyPair.NotFound: The key pair '~/.keys/EC2-Kibi-Enterprise-Deployment.pem' does not exist"}
をしかし.PEMキーが存在します。
$ ls -lh ~/.keys/EC2-Kibi-Enterprise-Deployment.pem
-r-------- 1 sergey sergey 1.7K Apr 6 09:56 /home/sergey/.keys/EC2-Kibi-Enterprise-Deployment.pem
そして、それは、EU(アイルランド)地域で作成されました。
--
- name: Setup servers on Amazon EC2 machines
hosts: localhost
gather_facts: no
tasks:
- include_vars: group_vars/all/ec2_vars.yml
### Create Amazon EC2 instances
- name: Amazon EC2 | Create instances
ec2:
count: "{{ count }}"
key_name: "{{ key }}"
region: "{{ region }}"
zone: "{{ zone }}"
group: "{{ group }}"
instance_type: "{{ machine }}"
image: "{{ image }}"
wait: true
wait_timeout: 500
#vpc_subnet_id: "{{ subnet }}"
#assign_public_ip: yes
register: ec2
- name: Amazon EC2 | Wait for SSH to come up
wait_for:
host: "{{ item.public_ip }}"
port: 22
delay: 10
timeout: 60
state: started
with_items: "{{ ec2.instances }}"
- name: Amazon EC2 | Add hosts to the kibi_servers in-memory inventory group
add_host: hostname={{ item.public_ip }} groupname=kibi_servers
with_items: "{{ ec2.instances }}"
### END
### Provision roles
- name: Amazon EC2 | Provision new instances
hosts: kibi_servers
become: yes
roles:
- common
- java
- elasticsearch
- logstash
- nginx
- kibi
- supervisor
### END
そして、私のvarファイル:
count: 2
region: eu-west-1
zone: eu-west-1a
group: default
image: ami-d1ec01a6
machine: t2.medium
subnet: subnet-3a2aa952
key: ~/.keys/EC2-Kibi-Enterprise-Deployment.pem
がここに.pemファイルの何が問題になっている。ここ
は私の脚本のですか?
SSH鍵ペアをローカルに作成し、Amazonコンソールに公開鍵をインポートする必要はありますか?それは鍵ですか? – trex
公開鍵(プライベート部分ではありません)をAWSにアップロードする必要があります。あなたはコンソールを介してそれを行うことができますし、この例のようにAnsibleを介して行うこともできます。 – ydaetskcoR
'ec2_keypair'モジュールが存在しないようです。しかし、[ec2_key](http://docs.ansible.com/ansible/ec2_key_module.html)モジュールがあります。私はそれを使用し、また、 'key_name:〜/ .ssh/EC2-Kibi-Enterprise'をvarファイルに指定しました。今、私は次のエラーがあります: 'localhost =>(item = ssh-rsa AA ..."、 "msg": "どちらかの地域またはec2_urlを指定する必要があります"} '。 – trex