Terraform-无法使用Terraform aws模块/安全组/aws定义安全组

Terraform-无法使用Terraform aws模块/安全组/aws定义安全组,terraform,terraform-provider-aws,terraform0.12+,terraform-aws-modules,Terraform,Terraform Provider Aws,Terraform0.12+,Terraform Aws Modules,我正在尝试本模块中的示例 main.tf: module "vpc" { source = "terraform-aws-modules/vpc/aws" name = "${var.environment}-project-vpc" cidr = "10.0.0.0/16" # # Important! # https://github.com/terraform-aws-modules/terraform-aws-vpc/issues/403 # Only

我正在尝试本模块中的示例

main.tf:

module "vpc" {
  source = "terraform-aws-modules/vpc/aws"

  name = "${var.environment}-project-vpc"
  cidr = "10.0.0.0/16"

  #
  # Important!
  # https://github.com/terraform-aws-modules/terraform-aws-vpc/issues/403
  # Only append or delete from the end of the list
  #
  azs             = ["us-east-2a", "us-east-2b", "us-east-2c"]
  private_subnets = ["10.0.1.0/24", "10.0.2.0/24", "10.0.3.0/24"]
  public_subnets  = ["10.0.101.0/24", "10.0.102.0/24", "10.0.103.0/24"]

  enable_nat_gateway     = true
  single_nat_gateway     = true
  one_nat_gateway_per_az = false

  enable_dns_hostnames = true
  enable_dns_support   = true

  tags = module.project_config.tags
}


module "bastion_sg" {
  source = "terraform-aws-modules/security-group/aws"

  name        = "bastion-service"
  description = "Security group for bastion-service"
  vpc_id      = module.vpc.default_vpc_id

  ingress_rules = ["https-443-tcp", "http-80-tcp", "ssh", "all-icmp"]
  egress_rules  = ["all-all"]
}

resource "aws_instance" "bastion" {
  # name          = "bastion"
  # description   = "bastion ssh host to access internals of the infrastructure by SSH"
  ami           = "ami-08ee2516c7709ea48"
  instance_type = "t2.micro"
  security_groups = [
    module.bastion_sg.this_security_group_id
  ]
  subnet_id = module.vpc.public_subnets[0]
}
而terraform应用程序失败

错误:索引无效
在.terraform/modules/bastion\u sg/terraform-aws-security-group-3.10.0/main.tf第65行的资源“aws\u安全组规则”“入口规则”中:
65:description=var.rules[var.incress\u rules[count.index][3]
|----------------
|count.index是2
|var.ingress_rules是包含4个元素的字符串列表
|var.rules是包含115个元素的字符串列表的映射
给定的键未标识此集合值中的元素。
错误:索引无效
在.terraform/modules/bastion\u sg/terraform-aws-security-group-3.10.0/main.tf第67行的资源“aws\u安全组规则”“入口规则”中:
67:from_port=var.rules[var.incress_rules[count.index][0]
|----------------
|count.index是2
|var.ingress_rules是包含4个元素的字符串列表
|var.rules是包含115个元素的字符串列表的映射
给定的键未标识此集合值中的元素。
错误:索引无效
在.terraform/modules/bastion\u sg/terraform-aws-security-group-3.10.0/main.tf第68行的资源“aws\u安全组规则”“入口规则”中:
68:to_port=var.rules[var.incress_rules[count.index][1]
|----------------
|count.index是2
|var.ingress_rules是包含4个元素的字符串列表
|var.rules是包含115个元素的字符串列表的映射
给定的键未标识此集合值中的元素。
错误:索引无效
在.terraform/modules/bastion\u sg/terraform-aws-security-group-3.10.0/main.tf第69行的资源“aws\u安全组规则”“入口规则”中:
69:protocol=var.rules[var.incress\u rules[count.index][2]
|----------------
|count.index是2
|var.ingress_rules是包含4个元素的字符串列表
|var.rules是包含115个元素的字符串列表的映射
给定的键未标识此集合值中的元素。

我做错了什么?好的,把这个弄清楚

“堡垒”模块{ source=“terraform aws模块/安全组/aws” name=“堡垒服务” description=“堡垒服务的安全组” vpc_id=module.vpc.vpc_id 入口cidr_块=[“0.0.0.0/0”,module.vpc.vpc_cidr_块] 入口规则=[“https-443-tcp”、“http-80-tcp”、“ssh-tcp”、“所有icmp”] 出口规则=[“全部”] } 规则的正确名称是“ssh tcp”,而不是“ssh”