我们为所有项目创建了通用的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
答案 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-abcd1234
和subnet-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。