CloudFormation配置Route53 Resolver DNS查询日志关联VPC方案咨询
解决方案
你要的VPC关联功能可通过CloudFormation原生资源直接实现,无需额外开发Lambda组件。你查阅的文档对应的AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation资源就是专门用于关联日志配置与VPC的,完整模板如下:
Description: Configure DNS Resolver Query Logging with VPC association Parameters: # 可调整为CommaDelimitedList类型接收多个VPC ID,实现单账号多VPC批量关联 VpcId: Type: String Description: ID of the VPC to associate with DNS query logging config CentralS3DestinationArn: Type: String Description: ARN of the centralized S3 bucket for storing DNS logs Resources: # 原有已定义的查询日志配置 Route53ResolverQueryConfig: Type: AWS::Route53Resolver::ResolverQueryLoggingConfig Properties: DestinationArn: !Ref CentralS3DestinationArn Name: route53-dns-query-logging # 新增VPC关联配置,每个待关联VPC对应一个该资源实例 ResolverQueryLogConfigAssociation: Type: AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation Properties: ResolverQueryLogConfigId: !Ref Route53ResolverQueryConfig ResourceId: !Ref VpcId
- 如果需要关联单个账号下的多个VPC,只需将
VpcId参数修改为逗号分隔的列表类型,搭配CloudFormation循环语法批量生成关联资源即可。 - 你可以直接将该模板通过CloudFormation StackSet批量部署到所有剩余子账号,部署时传入对应账号的VPC ID列表和中心化S3存储桶ARN即可完成全量配置。
- 如果你需要自动识别每个账号下的所有现有VPC完成关联,仅需在上述模板基础上新增一个轻量CloudFormation自定义资源调用
list_vpcs接口拉取VPC列表后批量创建关联,无需额外配置维护窗口、独立Lambda触发器等组件,整体模板代码量不会超过80行。
内容的提问来源于stack exchange,提问作者Justin Lawhorne
相关产品推荐
相关产品推荐

