代码之家  ›  专栏  ›  技术社区  ›  Sibi

aws配置:安全组id和名称不匹配

  •  0
  • Sibi  · 技术社区  · 8 年前

    我有以下配置:

    resource "aws_security_group" "allow_ssh" {
      name = "allow_ssh"
      vpc_id = "${aws_default_vpc.default.id}"
      description = "Allow ssh connections on port 22"
      ingress {
          from_port = 22
          to_port = 22
          protocol = "tcp"
          cidr_blocks = ["0.0.0.0/0"]
      }
    }
    
    resource "aws_instance" "your-app" {
      ami           = "ami-2757f631"
      instance_type = "t2.micro"
      security_groups = ["${aws_security_group.allow_ssh.id}"]
      key_name = "${aws_key_pair.twilio_key.key_name}"
    }
    

    当我这样做的时候 terraform apply ,我得到这个错误:

    * aws_instance.your-app: Error launching instance, possible mismatch of Security Group IDs and Names. See AWS Instance docs here: https://terraform.io/docs/providers/aws/r/instance.html.
    
            AWS Error: Value () for parameter groupId is invalid. The value cannot be empty
    

    我该怎么做才能解决上述错误?

    1 回复  |  直到 8 年前
        1
  •  4
  •   Sibi    8 年前

    你必须改变 id name 为了让它工作:

    resource "aws_instance" "twilio-app" {
      ami           = "ami-2757f631"
      instance_type = "t2.micro"
      key_name = "${aws_key_pair.twilio_key.key_name}"
      security_groups = [ "${aws_security_group.allow_ssh.name}" ]
    }
    

    它接受组名而不是id参数。