amazon-web-services - 如何通过 AWS 控制台以编程方式重新创建资源?

标签 amazon-web-services aws-lambda aws-sdk aws-cloudformation

我正在尝试以编程方式重新创建一堆通过 AWS 控制台手动创建/配置的 AWS 资源。

AWS 控制台可以为您做很多事情。

例如,您可以使用 AWS 控制台在大约 10 秒内创建带有 Api-Gateway 触发器的 Lambda 函数。

控制台在幕后发挥了很多作用,定义和配置资源,例如策略、阶段、权限、模型等。

理论上,CloudTrail 应该让我了解幕后究竟发生了什么,但在本例中它似乎保持沉默(即带有 Api-Gateway 触发器的 Lambda 函数)。

我可以玩捉迷藏,并使用 CLI 进行广泛的转储来列出阶段、策略、导出 api 定义等,并查找差异,但有更简单的方法吗? - 就像某种方式来跟踪控制台在发挥其所有魔力时所创建的 REST 调用?

注意:CloudFormer 本来可以提供帮助,但它只是写了一半的软件(嘿亚马逊!)并且只涵盖了我定义的资源的大约三分之一。拥抱 Cloudformation 是否意味着不使用这些出色的节省时间的控制台?

最佳答案

CloudFormation 和其他基础设施即代码服务可以减少您在使用 AWS 控制台或任何其他云控制台管理资源时的点击次数。

但是,当您必须启动具有几乎相同配置和软件堆栈的资源时,这些会派上用场。

如果您使用 CloudFormation,您将能够根据您的需要定义策略,使用哪个操作系统镜像,安装哪个堆栈等。它为您提供对资源的精细控制。

如果您必须多次部署这些资源,我建议您创建一个 CloudFormation 模板并使用它。

因此,我建议不要寻找从当前基础设施重新创建代码的方法,而是创建一个 CloudFormation 模板并将其用于 future 的需求。

如果您需要比当前流程更简单的东西,就是这样,因为您只需编写一次所需的配置。

Hashicorp Terraform也是 AWS CloudFormation 的一个很好的替代品。您可以使用Terraforming将当前基础设施导出到 Terraform 可读文件中。

关于amazon-web-services - 如何通过 AWS 控制台以编程方式重新创建资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56984810/

相关文章:

java - AWS Lambda 尝试列出 DynamoDb 表时出错

ios - 如何修复 AWSCore (AWS-sdk-ios) 中的 [AWSTask 异常] 崩溃

amazon-web-services - 如何加入 ALB 入口组而不是覆盖 EKS 中的现有入口组?

ruby - AWS Lambda 无法找到 Ruby 依赖项

amazon-web-services - 使用 SAM 模板为 Lambda 事件创建非代理 API 网关

python - "KeyError: ' 在 AWS S3 中记录 '"- Lambda 触发器

amazon-s3 - AmazonS3 : Getting warning: S3AbortableInputStream:Not all bytes were read from the S3ObjectInputStream, 中止 HTTP 连接

java - 如何使用依赖注入(inject)在 Spring 中注入(inject)资源类实例

regex - AWS WAF Regexp 问题与前瞻

amazon-web-services - 使用 Cloudformation 将多个 BlockDeviceMappings 安装到 EC2 实例