我正在尝试使用Terraform构建VPC资源,以提供MWAA构建。在AWS文档中,我看到以下资源(除了子网等(被定义为创建一个完整的VPC环境。我定义了aws_vpc
&具有Terraform的aws_internet_gateway
,但找不到用于InternetGatewayAttachment
的Terraform模板-仅用于aws_vpn_gateway_attachment
的。
- 如何将VPC资源附加到IGW w/Terraform
- 我需要一个资源吗?还是这与TF aws_internet_gateway资源定义中的vpc_id有关
p。S.-我来自GCP&而不是super熟悉的w/AWS网络概念。
Resources:
VPC:
Type: AWS::EC2::VPC
Properties:
CidrBlock: !Ref VpcCIDR
EnableDnsSupport: true
EnableDnsHostnames: true
Tags:
- Key: Name
Value: !Ref EnvironmentName
InternetGateway:
Type: AWS::EC2::InternetGateway
Properties:
Tags:
- Key: Name
Value: !Ref EnvironmentName
InternetGatewayAttachment:
Type: AWS::EC2::VPCGatewayAttachment
Properties:
InternetGatewayId: !Ref InternetGateway
VpcId: !Ref VPC
....
1创建VPC
2创建一个互联网网关
资源"aws_vpc"my_vpc";{cidr_block=";10.0.0.0/16"}
资源"aws_internet_gateway"gw";{vpc_id=aws_vpc.my_vpc.id}
在互联网网关中,您可以给出vpc的名称。
如果你查看官方文档,你会发现互联网网关资源要求你指定专有网络ID。Terraform不支持在不立即将互联网网关连接到专有网络的情况下创建互联网网关。
如何将VPC资源附加到带有Terraform的IGW?
你有两个选择——一个是X战警的答案,即使用aws_vpc
和aws_internet_gateway
。
还有另一个选项可以稍后使用单独的aws_internet_gateway_attachment
资源进行附加。
我需要一个资源吗?还是这与TF aws_internet_gateway资源定义中的vpc_id有关?
您不需要资源,这是从互联网网关上的vpc_id
中暗示的,但如果您想将附件推迟到以后,资源会很有帮助。
请确保不要在aws_internet_gateway
和aws_internet_gateway_attachment
中同时定义vpc_id
-这会导致Terraform尝试双重连接并导致类似的错误,我刚刚遇到并发现了这个问题(!((ID已删除(:
互联网网关。。。Resource.AlreadyAssociated…已连接到网络