При попытке создать экземпляр aws ec2 с использованием terraform код завершается неудачно с помощью chef Provider. После установки клиента chef он пишет закрытый ключ (client.pem), но не может выдать сообщение об ошибке «вы не авторизованы для этого действия». После этого нож создания клиента также не удается, потому что client.pem не существует. Ниже приведен мой код terraform.
resource "aws_instance" "web" {
ami = "ami-07ebfd5b3428b6f4d"
instance_type = var.instance_type
subnet_id = "subnet-09c4311dd01388e28"
security_groups = ["sg-0cc3e7c431b859575"]
associate_public_ip_address = true
key_name = var.instance_key
tags = {
Name = "chefclient"
}
provisioner "chef"{
connection{
type = "ssh"
user = "ubuntu"
host = aws_instance.web.public_ip
private_key = file("/home/ubuntu/chefprovision/cptest.pem")
}
os_type = "linux"
prevent_sudo = false
client_options = ["chef_license 'accept'"]
environment = "_default"
log_to_file = true
fetch_chef_certificates = true
node_name = "client1"
server_url = "https://ec2-54-160-5-63.compute-1.amazonaws.com/organizations/cloudlego"
recreate_client = true
run_list = [""]
user_name = "legoadmin"
user_key = file("/home/ubuntu/chefprovision/legoadmin.pem")
skip_register = true
ssl_verify_mode = ":verify_none"
}
}
Может ли кто-нибудь мне помочь, что мне не хватает?