Terraform 从地形创建AWS_ALB

Terraform 从地形创建AWS_ALB,terraform,amazon,devops,aws-alb,Terraform,Amazon,Devops,Aws Alb,我试图通过terraform创建一个简单的AWS_ALB,我创建了一个单独的VPC,其中包含公共和私有子网,但ALB创建给我带来了无效子网错误 resource "aws_alb" "test" { name = "test-alb-tf" internal = false security_groups = ["sg-0385b126e18d3ca67"] subnets = ["192.168.11.0/24"] } 公共

我试图通过terraform创建一个简单的AWS_ALB,我创建了一个单独的VPC,其中包含公共和私有子网,但ALB创建给我带来了无效子网错误

resource "aws_alb" "test" {
  name            = "test-alb-tf"
  internal        = false
  security_groups = ["sg-0385b126e18d3ca67"]
  subnets         = ["192.168.11.0/24"]
}
公共子网的创建如下所示

        {
            "MapPublicIpOnLaunch": true,
            "AvailabilityZoneId": "use1-az2",
            "Tags": [
                {
                    "Value": "staging",
                    "Key": "Environment"
                },
                {
                    "Value": "secure-public-us-east-1a",
                    "Key": "Name"
                },
                {
                    "Value": "true",
                    "Key": "Terraform"
                }
            ],
            "AvailableIpAddressCount": 250,
            "DefaultForAz": false,
            "SubnetArn": "arn:aws:ec2:us-east-1:041840987519:subnet/subnet-03757baf0df052c07",
            "Ipv6CidrBlockAssociationSet": [],
            "VpcId": "vpc-00689d5ff034a0c99",
            "State": "available",
            "AvailabilityZone": "us-east-1a",
            "SubnetId": "subnet-03757baf0df052c07",
            "OwnerId": "041840987519",
            "CidrBlock": "192.168.11.0/24",
            "AssignIpv6AddressOnCreation": false
        },
这就是地形图所显示的

  # aws_alb.test will be created
  + resource "aws_alb" "test" {
      + arn                        = (known after apply)
      + arn_suffix                 = (known after apply)
      + dns_name                   = (known after apply)
      + enable_deletion_protection = false
      + enable_http2               = true
      + id                         = (known after apply)
      + idle_timeout               = 60
      + internal                   = false
      + ip_address_type            = (known after apply)
      + load_balancer_type         = "application"
      + name                       = "test-alb-tf"
      + security_groups            = [
          + "sg-0385b126e18d3ca67",
        ]
      + subnets                    = [
          + "192.168.11.0/24",
        ]
      + vpc_id                     = (known after apply)
      + zone_id                    = (known after apply)

      + subnet_mapping {
          + allocation_id = (known after apply)
          + subnet_id     = (known after apply)
        }
    }
这就是我得到的错误

Error: Error creating application Load Balancer: InvalidSubnet: The subnet ID '192.168.11.0/24' is not valid
    status code: 400, request id: 5521ae30-dc0b-4f4c-ae89-47eb729126c7

任何人都知道我遗漏了什么

,因此错误清楚地表明了问题所在

The subnet ID '192.168.11.0/24' is not valid
您是否登录aws控制台并检查要分配给此ALB的子网?
它的id为
子网-xxxxxxxx

我也刚刚得到它:(它需要子网Id,而不是实际的子网。因此,如果这是接受答案,您需要投票并接受它。是的,我已经投票并接受了。还有一个问题,是否有办法动态提供通过vpc模块创建的子网Id?回答自己的问题,vpc模块输出依赖的值。如果您使用vpc创建alb,您可以参考例如,它与aws_vpc..private_子网或模块输出(您已经提到过)。如果单独创建alb,则需要通过数据源
terraform_remote_state
()