gpt4 book ai didi

amazon-ec2 - 声明式云形成/Terraform 中的动态 EC2 资源配置

转载 作者:行者123 更新时间:2023-12-03 07:34:29 25 4
gpt4 key购买 nike

我们正在将我们的基础设施迁移到云形成,因为以更好的方式描述基础设施要容易得多。这对于安全组、路由、VPC、中转网关等事物非常有效。

但是,我们有两个正在努力解决的问题,我认为这不符合 terrafrom 和云形成等声明式基础设施即代码范式。

(1) 我们有一个业务需求,需要在一天中的特定时间运行预定的批处理。这些都是计算密集型的。为了节省成本,我们在当时启动的 EC2 上运行这些程序,然后在批处理完成后将其拆除。然而,这似乎需要对 terraform/CF 文件进行临时更改,然后再更改回来。有没有更原生的方法来做到这一点?

(2) 我们动态存储并允许客户端在其负载均衡器 (ALB) 上编辑其防火墙规则。此信息无法存储在 terraform/CF 文件中,因为客户可以根据需要更改它。

有没有办法在 CF/Terraform 中正确执行这些操作?

最佳答案

(1) 如果您必须使用 EC2,您可以创建一个 Lambda 来启动您的 EC2 实例。然后,创建一个在您指定的日期/时间触发 Lambda 的 CloudWatch 事件。更多详情可以查看https://aws.amazon.com/premiumsupport/knowledge-center/start-stop-lambda-cloudwatch/ 。工作完成后,使用 awssdk 或 awscli 让 EC2 自行关闭。

或者,您可以使用 AWS Lambda 来运行批处理作业。仅当 Lambda 运行时您才需要付费。同样,创建一个用于调度 Lambda 的 CloudWatch Event 规则。

(2) 您可以将防火墙规则存储在您自己的数据库中,并使用 awssdk 修改实际的 ALB SG 规则。我认为将这些东西存储在 Terraform/CF 中不是一个好主意。恕我直言,Terraform/CF 非常适合声明基础设施,但对于动态变化的资源(尤其是像您的客户这样的第三方)而言,并不是一个好的解决方案。

关于amazon-ec2 - 声明式云形成/Terraform 中的动态 EC2 资源配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67179535/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com