Я пытаюсь получить базовый пример terraform и запустить его, а затем поместить туда очень простое колб-приложение в докер-контейнер.Сценарий все работает, если я удаляю раздел поставщика файлов и раздел пользовательских данных.Файл pem находится в том же месте на моем диске, что и сценарий main.tf
и файл terraform.exe
.
Если я оставлю средство подготовки файлов в файле, сценарий завершится с ошибкой:
Error: Error applying plan:
1 error(s) occurred:
* aws_launch_configuration.example: 1 error(s) occurred:
* dial tcp :22: connectex: No connection could be made because the target machine actively refused it.
Если я удаляю раздел подготовки файла, сценарий работает нормально, и я могу ssh войти в созданный экземпляр, используя свой закрытый ключ, так что часть key_name
работает нормально, я думаю, это связано с попыткой инициатора файлаподключиться, чтобы добавить мои файлы.
Вот моя конфигурация запуска из моего скрипта, я пытался использовать блок подключения, полученный из другого поста в Интернете, но я не вижу, что я делаю неправильно.
resource "aws_launch_configuration" "example" {
image_id = "${lookup(var.eu_west_ami, var.region)}"
instance_type = "t2.micro"
key_name = "Terraform-python"
security_groups = ["${aws_security_group.instance.id}"]
provisioner "file" {
source = "python/hello_flask.py"
destination = "/home/ec2-user/hello_flask.py"
connection {
type = "ssh"
user = "ec2-user"
private_key = "${file("Terraform-python.pem")}"
timeout = "2m"
agent = false
}
}
provisioner "file" {
source = "python/flask_dockerfile"
destination = "/home/ec2-user/flask_dockerfile"
connection {
type = "ssh"
user = "ec2-user"
private_key = "${file("Terraform-python.pem")}"
timeout = "2m"
agent = false
}
}
user_data = <<-EOF
#!/bin/bash
sudo yum update -y
sudo yum install -y docker
sudo service docker start
sudo usermod -a -G docker ec2-user
sudo docker build -t flask_dockerfile:latest /home/ec2-user/flask_dockerfile
sudo docker run -d -p 5000:5000 flask_dockerfile
EOF
lifecycle {
create_before_destroy = true
}
}
Вероятно, это что-то очень простое и глупое, что я делаю, заранее спасибо всем, кто взглянул.