Amazon web services 当我运行terraform应用程序时
我正在创建ec2实例,这是我的main.tf文件Amazon web services 当我运行terraform应用程序时,amazon-web-services,amazon-ec2,terraform,Amazon Web Services,Amazon Ec2,Terraform,我正在创建ec2实例,这是我的main.tf文件 variable "aws_key_pair" { default = "~/aws/aws_keys/terraform-ec2.pem" } provider "aws" { region = "us-east-1" version = "~>2.46" } resource "aws_securit
variable "aws_key_pair" {
default = "~/aws/aws_keys/terraform-ec2.pem"
}
provider "aws" {
region = "us-east-1"
version = "~>2.46"
}
resource "aws_security_group" "http_server_sg" {
name = "http_server_sg"
vpc_id = "vpc-c5f40fb8"
ingress {
from_port = 80
to_port = 80
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"]
}
ingress {
from_port = 22
to_port = 22
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"]
}
egress {
from_port = 0
to_port = 0
protocol = -1
cidr_blocks = ["0.0.0.0/0"]
}
tags = {
name = "http_server_sg"
}
}
resource "aws_instance" "http_server" {
ami = "ami-0947d2ba12ee1ff75"
key_name = "terraform-ec2"
instance_type = "t2.micro"
vpc_security_group_ids = [aws_security_group.http_server_sg.id]
subnet_id = "subnet-1169c14e"
connection {
type = "ssh"
host = self.public_ip
user = "ec2_user"
private_key = file(var.aws_key_pair)
}
provisioner "remote_exec" {
inline = [
"sudo yum install httpd -y",
"sudo service httpd start",
"echo Welcome to virtual server setup by terraform , IP address ${self.public_dns} | sudo tee /var/www/html/index.html"
]
}
}
当我运行:terraform apply时,我得到以下错误
无法加载插件 需要重新初始化插件。请运行“terraform init” 插件是Terraform用来访问和操作的外部二进制文件 资源。提供的配置需要无法定位的插件 不满足版本约束,或在其他方面不兼容 Terraform会自动从您的 配置,包括子模块中使用的提供程序。看 要求和约束,运行“地形提供者” 未能实例化provisioner“remote_exec”以获取架构:未知 供应器“远程执行” 但我已经完成了terraform init,当我运行terraform validate时,我得到了上面相同的错误,这是“远程执行”