如何解决部署期间如何使用非AWS资源扩展AWS CDK
我想使用Sumo Logic自动设置AWS Application Load Balancer日志的集合,如此处所述:
这涉及到创建存储桶,创建具有S3源的Sumo Logic托管的收集器,获取Sumo Logic提供的收集器源的URL,然后创建具有HTTP订阅的SNS主题,其中订阅URL是由Sumo Logic来源。
与此相关的问题是SumoLogic源URL在合成时未知。必须先部署Bucket,然后创建Sumlogic事物,然后创建SNS主题。
据我所知,我将不得不通过使用较慢的堆栈分别调用CDK来完成此操作。一堆即可创建存储桶。部署完该堆栈后,请使用Sumo Logic api创建或确认Sumo Logic托管的收集器和源的先前创建,再部署另一个CDK来创建SNS主题和HTTP订阅。
我只是想知道是否有人知道一种更好的方法,也许可以使用某种部署时间挂钩。
解决方法
您可以通过两种方式(我知道)自动执行AWS Application Load Balancer的收集。
- 使用CloudFormation
- Sumo Logic的template为AWS Application Load Balancer创建收集流程,该流程是AWS Observability Solution的一部分。您可以派生存储库,并在删除不需要的资源之后创建自己的CloudFormation模板。
- Sumo Logic还具有Serverless Application,它会自动为现有和新的(在应用程序安装后创建的)负载平衡器启用访问日志记录。使用该应用程序的示例template。
- 使用Terraform
- 如Grzegorz所述,您也可以创建terraform脚本。
免责声明:目前由Sumo Logic使用。
,您可以尝试使用“自定义资源SDK”调用来触发执行所需功能的lambda。
https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_custom-resources.AwsSdkCall.html
,(我知道这不是一个完美的答案,因为它建议使用其他工具,但我相信它可以满足问题中表达的需求)
如何使用Terraform?
sumologic_s3_source
in Terraform可以在Sumo 中创建源,并输出其URL以供Terraform中的其他用途使用-例如设置AWS资源。
有关此文档的文档甚至提到URL是返回值之一:
url-与SNS一起使用以通知Sumo Logic新HTTP的HTTP端点 文件。
免责声明:我目前在Sumo Logic工作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。