如何向我的堆栈添加 AWS Shield Advanced 保护?

How to add AWS Shield Advance protection to my stack?

我有一个包含 CloudFront 分发资源的 CloudFormation 堆栈。我们的组织已订阅 AWS Shield Advance 服务,我想为 CloudFront 分发添加保护。

我想通过 CloudFormation yaml 模板添加它,这样我就不必为每个堆栈手动添加。但是,CloudFormation 似乎无法识别 AWS::Shield::Protection 资源类型。

我在网上找不到任何例子,我想知道是否有人知道它是否可行?

你是对的。 AWS Shield 没有出现在 the list of CloudFormation Resource Types.

但是,有一个 CreateProtection() API 调用,因此您可以想象将 Lambda 函数编写为 CloudFormation 模板中的自定义资源,以增加保护:

an Amazon CloudFront distribution, Elastic Load Balancing load balancer, AWS Global Accelerator accelerator, Elastic IP Address, or an Amazon Route 53 hosted zone

现在 CloudFormation 支持它。 你应该使用 AWS::FMS::Policy .