在 AWS CDK 中设置“对 PrivateLink 流量实施入站规则”设置

问题描述 投票:0回答:1

为了允许 API Gateway 访问我在 AWS 中的私有网络负载均衡器,我需要将属性

Enforce inbound rules on PrivateLink traffic
设置为
Off
参见参考资料)。从 AWS 控制台可以很容易地做到这一点,只需转到指定负载均衡器的安全选项卡即可:

但是,在查看了 Load BalancerSecurity Group CDK 参考资料后,我无法找到从 CDK 执行此操作的方法。即使是普通的 CloudFormation 似乎也没有与此功能相关的属性(AWS::ElasticLoadBalancingV2::LoadBalancerAWS::EC2::SecurityGroup)。有没有办法从 CDK 设置这个属性?我有严格的任务要求自动化所有基础设施。

amazon-web-services aws-cloudformation aws-cdk amazon-elb aws-security-group
1个回答
0
投票

TL;DR 使用自定义资源通过

SetSecurityGroups
SDK 调用设置属性。

SetSecurityGroups API 有一个

EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic
参数,可设置为
on
off
。请参阅文档中的为 API Gateway 私有集成设置网络负载均衡器

您可以使用自定义资源将此 API 调用与您的 CDK 应用程序集成。在 CloudFormation 不支持某个属性的情况下,自定义资源是一个后备选项。 CDK 和 CloudFormation 中都存在这个概念。自定义资源通常由 Lambda 支持,CloudFormation 在部署期间为您调用。 CDK 提供多种类型的自定义资源。选项可能会让人不知所措。

幸运的是,您可以使用 AwsCustomResource,这是一种专为进行 AWS SDK 调用而定制的构造。将

SetSecurityGroups
作为
action
属性传递,并将
EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic: off
作为
parameter

© www.soinside.com 2019 - 2024. All rights reserved.