Как запустить экземпляр EC2 в существующем VP C с помощью Terraform? - PullRequest
0 голосов
/ 14 февраля 2020

Я пишу сценарий TF для запуска экземпляра EC2 в существующий VP C. Я видел несколько примеров, когда скрипт назначал идентификатор su bnet, используя переменную из другой части скрипта, в которой были созданы VP C и su bnet. Вместо использования subnet_id = "$ {aws_su bnet .main-publi c -1.id}", как было показано в этом примере, я попытался поместить действительный идентификатор su bnet из существующего su bnet в существующий vpn, оба из которых были сделаны с использованием консоли, например:

subnet_id = "subnet-xxxxx"

и применяли группу безопасности таким же образом. Но когда экземпляр E C встал, он был в VP C по умолчанию с группой безопасности по умолчанию. Почему это случилось? Как запустить EC2 в существующий VP C и su bnet с существующими группами безопасности?

Вот полный сценарий

EC2.tf

provider "aws" {
  profile    = "default"
  region     = var.region
}

resource "aws_instance" "WindowsBox" {
  ami           = "ami-xxxxx"
  instance_type = "t2.medium"
  key_name = aws_key_pair.keypair.key_name

  subnet_id = "subnet-xxxxx"
  vpc_security_group_ids = ["sg-xxxxx"]

  tags = {
    Name ="WindowsBox"
  }
}

resource "aws_eip" "ip" {
    vpc = true
    instance = aws_instance.WindowsBox.id
}

resource "aws_key_pair" "keypair" {
  key_name = "WindowsBox-keypair"
  public_key = file("./kp/WindowsBox-keypair.pub")
}

Variables.tf

variable "region" {
  default = "us-east-2"
}

1 Ответ

0 голосов
/ 14 февраля 2020

Группа безопасности, которую вы используете для создания экземпляра, также должна существовать внутри VP C. Я думаю, что это не тот случай.

Я бы проверил идентификатор VP C группы безопасности, совпадающий с идентификатором VP C для su bnet.

Надеюсь, это поможет

...