ansible scritp中的AWS elb未分配我已分配给安全组和子网的vpc id

时间:2017-10-21 06:24:23

标签: amazon-web-services amazon-elb

我们为所有项目创建了通用的vpc。我手动使用vpc创建了子网和安全组。

我为创建ELB做自动化。我使用ansible脚本创建elb。 如果我使用安全组和子网创建elb,则会分配default vpc而不是我们用于子网的custom vpc

我们尝试分配自定义vpc 以及使用不支持的 vpc_id 。 我们收到 Security group "sg-0567" does not belong to VPC "vpc-7456as" 错误。它正在尝试使用默认的vpc创建elb。

请告知如何分配我们在自动化期间已创建的自定义vpc

1 个答案:

答案 0 :(得分:2)

创建ELB时没有单独的参数传递vpc-id。 vpc是根据您在模板中提供的subnet-id's分配的。

示例模板代码

instance_ids:
  - i-abcd1234
region: us-east-1
subnets:
  - subnet-abcd1234
  - subnet-1a2b3c4d
listeners:
  - protocol: http
    load_balancer_port: 80
    instance_port: 80

如果subnet-abcd1234subnet-1a2b3c4d属于vpc-abcd1234,则会自动将ELB分配给该VPC。当您没有通过任何安全组时,该VPC的default security-group会自动分配给ELB。

完成忘记传递region。这总是一种很好的做法。如果未指定,则使用 AWS_REGION EC2_REGION 环境变量(如果有)的值。

当您收到Security group "sg-0567" does not belong to VPC "vpc-7456as"错误时,则表示您在脚本中传递给ELB的安全组不是分配ELB的VPC的一部分。即。您的安全组和子网 NOT 是同一VPC的一部分。

请记住,安全组可以跨多个子网,但不能跨多个VPC。