Eu me deparei com esse problema exato quando eu estava configurando o chef pela primeira vez no EC2. Aqui está o comando que usamos para iniciar instâncias do EC2 com knife
com êxito:
knife ec2 server create \
--flavor m3.medium \
--image ami-****** \
--iam-profile "iam-app" \
--ebs-size 30 \
--security-group-ids sg-**** \
--subnet subnet-6de**** \
--ssh-key my-key-name \
--ssh-user ubuntu \
--ssh-port 22 \
--identity-file "/local/path/to/ssh/key/for/this/instance" \
--ssh-gateway [email protected] \ #remove this line if you're not connecting through a bastion host
--server-connect-attribute private_ip_address \ # Because we connect through a bastion host we want to explicitly connect to the the private IP address. You may want to set this to the public IP address. I believe these are fog attributes.
--node-name "test-play-1" \
--tags Name="test-play-1",Environment="Test" \
--run-list "role[app]" \
--environment test
Observe que é uma prática recomendada usar um Host Bastião para se conectar às suas instâncias, em vez de se conectar diretamente a cada instância do EC2. Além disso, para servidores voltados para o público, usamos uma linha como essa para atribuir explicitamente o endereço IP elástico:
--associate-eip 54.186.***.***