Amazon web services 当我运行terraform应用程序时

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

我正在创建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_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时,我得到了上面相同的错误,这是“远程执行”