如何快速有效地调试 CloudFormation 模板?

2024-04-14

CloudFormation 是一项功能强大的 AWS 产品,允许以编程方式创建 AWS 资源堆栈,例如应用程序的网络层, https://s3.amazonaws.com/cloudformation-templates-us-east-1/vpc_multiple_subnets.template a 高性能计算集群, https://s3.amazonaws.com/cloudformation-templates-us-east-1/cc2-spot-cluster.template or 整个应用程序堆栈, https://s3.amazonaws.com/cloudformation-templates-us-east-1/Rails_Multi_AZ.template通过一次 API 调用。它的力量非常强大。使用它无疑被认为是一种很好的 AWS 实践,尤其是当它与Chef, http://www.opscode.com/chef/ Puppet, http://puppetlabs.com/ or 云初始化。 https://help.ubuntu.com/community/CloudInit调试它让我陷入了恶习。

以生产为例:库存mongodb 集群模板 https://mongodb-documentation.readthedocs.io/en/latest/ecosystem/tutorial/automate-deployment-with-cloudformation.html对我不起作用。我特别不知道为什么。我确信这很简单,因为它几乎总是如此。我的问题不在于我无法弄清楚出了什么问题。也就是说,堆栈需要 20 到 30 分钟才会失败,然后再花三到四分钟才能删除(假设它完全正确删除了资源)。

我缺少什么?我知道关于--disable-rollback标记并像氧气一样使用它。我很久以前就学会了用cfn-signal并将它们像沉船上的压舱物一样扔掉。如何使模板调试过程更快,或者我是否会在犯错误半小时后永远注意到错误?


Use the aws cloudformation validate-template http://docs.aws.amazon.com/cli/latest/reference/cloudformation/validate-template.htmlAWS CLI 工具中的命令。它仅验证您的模板是否是有效的 JSON 或 YAML,而不验证您的键和值是否正确(例如,不检查键中的拼写错误)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何快速有效地调试 CloudFormation 模板? 的相关文章

  • 以非 root 用户身份使用 AWS CodeBuild

    有没有办法掉root用户开启AWS 代码构建 我们正在构建一个 Yocto 项目 如果我们是 root Bitbake 健全性检查 该项目将在 CodeBuild 上失败 我们绝望的做法也不起作用 build commands chmod
  • AWS Lambda python API 调用方法不返回 JSON - 不可序列化?

    我有一个 Lambda 函数 它是对 API 的基本 Python GET 调用 它在本地运行良好 但是当我上传到 Lambda 以及请求库 时 它不会从 API 调用返回 JSON 响应 我只是希望它将整个 JSON 对象返回给调用者 我
  • AWS Textract InvalidParameterException

    我有一个 Net core 客户端应用程序 根据 AWS 文档 使用带有 S3 SNS 和 SQS 的 amazon Textract 检测和分析多页文档中的文本 https docs aws amazon com texttract la
  • 输出和导出之间的区别

    在 CloudFormation 中 我们能够从模板输出一些值 以便其他进程 堆栈等可以检索它们 这通常是某个名称 可能是 URL 或在堆栈创建 部署 过程中生成的名称等 我们还能够从模板 导出 返回值作为 输出 与 导出 之间有什么区别
  • 使用 Terraform 管理访问 RDS 数据库的凭据时出现问题

    我通过 Terraform 创建了一个秘密 该秘密用于访问也在 Terraform 中定义的 RDS 数据库 并且在秘密中 我不想包含username and password 因此我创建了一个空密钥 然后在 AWS 控制台中手动添加凭证
  • 如何在我的 AWS EC2 实例上安装特定字体?

    我有一个在 AWS EC2 Amazon Linux Elastic Beanstalk 实例上运行的 Python 应用程序 该实例需要某些特定字体才能生成输出 并且想知道如何在部署或实例启动过程中安装它们 我的代码在本地计算机 OS X
  • 具有服务器端加密 s3 存储桶的 AWS Cloudfront

    这是对这个问题 https stackoverflow com questions 50166557 how can a cloudfront distribution an aws kms key to get an s3 image e
  • 在 RedShift 中声明变量

    SQL Server能够声明一个变量 然后在查询中调用该变量 如下所示 DECLARE StartDate date SET StartDate 2015 01 01 SELECT FROM Orders WHERE OrderDate g
  • 从本地计算机连接到 AWS 上的 Neptune

    我正在尝试从办公室的本地计算机连接到 AWS 实例中的 Neptune DB 就像从办公室连接到 RDS 一样 是否可以从本地计算机连接 Neptune 数据库 Neptune 数据库是否公开可用 开发人员有什么方法可以从办公室连接 Nep
  • 如何在 PuTTY 中保存并运行 Java 文件?

    我是 AWS 亚马逊网络服务 的新手 所以这可能是一个基本问题 我在 AWS 上创建了一个 EC2 实例 我有一台 Windows 计算机 因此我使用 PUTTY 来连接 Linux 实例 连接到我的 EC2 实例后 我使用以下命令编写 J
  • AWS SQS Batch SendMessageBatchRequest 非常慢

    我的应用程序使用 SendMessageBatchRequest 将每个请求发布 10 条消息到 AWS SQS 每条消息的大小小于250字节 该应用程序预计每天发布约一百万条记录 但要实现这一目标 消息发布的速度非常慢 AmazonSQS
  • 每次在我的 AWS SQS 目标上推送通知时如何触发事件?

    我正在将 AWS SQS 用于 Amazon MWS 订单 API 每当有人从已将我添加为其开发人员的卖家帐户订购时 亚马逊都会将通知发送到我的 AWS SQS 应用程序 我可以从那里提取通知 但为此 我必须创建一个调度程序来提取通知 我是
  • 将密钥对添加到现有 EC2 实例

    我被给予AWS控制台访问正在运行 2 个实例的帐户 但我无法关闭 在生产中 但是 我想获得对这些实例的 SSH 访问权限 是否可以创建一个新的密钥对并将其应用到实例 以便我可以通过 SSH 访问 获取现有的pem当前无法选择创建实例所用的密
  • 使用S3上传但不允许公共访问

    我的想法是创建一个 S3 存储桶以允许用户上传二进制对象 下一步是确认上传 然后 API 将启动文件处理 为了使其更安全 客户端将首先请求上传位置 然后 API 会在 S3 上为此上传分配并预先创建一个一次性使用目录 并在该目录上设置访问策
  • 带有 AWS S3 文件的 Icecast 服务器

    我目前正在运行 Icecast 服务器 用于在 EC2 实例上传输音频 目前我所有的 mp3 文件都存储在 EC2 实例上 我想将它们移动到 AWS S3 进行存储 到目前为止 我已经能够找到能够更新播放列表 https mediareal
  • 如何修改 Amazon RDS 实例的 my.ini 参数

    在启动 MySQL 5 5 RDS 实例时 Amazon 使用默认参数组来配置 my ini 参数 但控制台不允许我修改它们 我怎样才能实现这个目标 例如默认将存储引擎设置为MyISAM或设置字符集 此处记录了这一点 http aws am
  • 在 Serverless Framework 1.0 中使用路径参数

    我想使用路径参数 customer customerId of a GET请求以使用 AWS Lambda 查询客户 functions createCustomer handler handler createCustomer event
  • 在 ec2 上托管 Rails

    我想将 Rails 部署到亚马逊 ec2 上 我看过 poolparty 和 ec2onrails 但似乎都不再维护了 人们用什么来做到这一点 都是自制的木偶和卡皮斯特拉诺 还是有一个项目可以让我继续下去 我可以推荐两个项目 如果您有一个
  • 使用无服务器访问 SSM 变量

    我想用无服务器变量中的 SSM 参数 https serverless com blog serverless v1 22 0 按照文档 我运行了以下命令 aws ssm put parameter name foo value bar t
  • 无法使用 aws 无服务器离线从另一个 lambda 调用 lambda

    我想从 serverless offline 内的另一个 lambda 调用 lambda 我想创建一个无服务器离线 Web 应用程序 但我收到此错误 UnknownError 不支持的媒体类型 在 Object extractError

随机推荐

  • 如何生成圆形分布中的随机点

    我想知道如何生成出现在圆形分布中的随机数 我能够在矩形分布中生成随机点 以便这些点在 0 我将如何继续生成圆内的点 以便 x 500 2 y 500 2 import random import math radius of the cir
  • java中将图像向右旋转90度

    我无法将图像向右旋转 90 度 我需要能够在java中单独旋转图像 唯一的事情 不幸的是 我需要在特定点绘制图像 并且没有带有参数的方法 1 单独旋转图像 2 允许我设置 x 和 y 任何帮助表示赞赏 public class Tumble
  • 防止 JavaScript 文件缓存

    我试图阻止浏览器缓存 2 个 JavaScript 文件 我尝试过使用没有成功 这是我的元素代码
  • 最小操作码大小 x86-64 strlen 实现

    我正在研究最小操作码大小x86 64 strlen我的代码高尔夫 二进制可执行文件的实现不应超过一定的大小 为简单起见 请考虑 demoscene 总体思路来自于here http www int80h org strlen 尺寸优化思路来
  • 显式模板专业化

    我不想问这样一个笼统的问题 但下面的代码是显式模板专业化的练习 我不断收到错误 c users documents visual studio 2010 projects template array template array arra
  • 在 C 程序中使用 tcl 和 tk 存根

    我需要一个简单的 C 程序来创建 tcl 解释器 初始化 tcl 和 tk 然后加载给定的 tcl tk 脚本 我想使用 tcl 和 tk 存根 以确保程序将在具有不同版本的 tcl tk 的计算机上运行 我将使用这个程序而不是运行wish
  • 以编程方式清除 iPhone 上的二级缓存

    我创建了一个应用程序 我将从服务器下载图像并将其本地存储在 iPhone 的文件系统上 事情发生得很好 现在的问题是 当我退出应用程序时 我想清除 iPhone 上本地缓存的图像 如何删除 iPhone 上的缓存图像 它使用 iPhone
  • 处理不再存在的枚举值的反序列化

    我有一个枚举 JJJ 它有 3 个值 A B 和 C 在我的程序的早期版本中 它还有一个附加值 D 我希望能够读取由早期版本的程序创建的序列化对象 程序中 但在序列化对象中遇到值为 D 的 JJJ 类型变量时会抛出异常 最理想的情况是 我希
  • 将 JVM 字节码往返于文本表示的故障安全方法

    我正在寻找一种在 JVM 类文件和文本表示之间往返的故障安全方法 一项严格的要求是 只要文本表示形式保持不变 生成的往返 JVM 类文件在功能上与原始 JVM 类文件完全相同 此外 文本表示必须是人类可读和可编辑的 应该可以对文本表示进行小
  • ServiceStack OAuth - 注册而不是登录

    在 servicestack OAuth 实现中 我只看到了自动登录的可能性 例如 脸书账号 但是否能够支持通过 Facebook 登录进行注册过程 我想要的是让用户登录到 facebook 应用程序 然后加载他们的姓名 姓氏和电子邮件 并
  • 如何从命令行创建 Android 项目

    我正在尝试从命令行创建一个 Android 项目 我在以下链接上尝试了它是什么 如何从命令行使用gradle创建android项目 https stackoverflow com questions 20801042 how to crea
  • Laravel 扩展包类

    我在 Laravel 安装中添加了一个购物车包 但我需要向该类添加一个方法 如果我直接修改类 当我更新到新版本时 我的更改会被覆盖吗 如果是这样 在不破坏未来更新的情况下修改软件包的最佳方法是什么 谢谢您的帮助 JB 我不知道是否有任何从供
  • J2EE 中的应用程序管理事务

    有没有人有一个从 J2EE 6 容器内的 CDI 托管 bean 内开始 提交 回滚事务的最佳方法的示例 我遇到了一种特殊情况 其中带注释的方法对我不起作用 我从同一类中的另一个方法调用该方法 并且我需要手动设置事务边界 我想知道我可以在代
  • 错误消息“未终止的字符串文字”

    我使用 jQuery 输出 PHP 从数据库创建的 JSON 字符串的结果 唯一的问题是一些数据位于多行上 我该如何解决这个问题 导致 JavaScript 中出现未终止的字符串文字错误 以下代码将删除所有 r 和 n 字符 preg re
  • 为什么 Haskell [] (list) 不是类型类?

    我正在编写一个 Haskell 函数 它接受一个列表作为输入 也就是说 它没有理由不能是队列或出列 或者任何允许我访问它的 头 和 尾 并检查它是否为空 的东西 所以 a 输入类型似乎太具体了 但据我所知 没有标准库类型类可以准确捕获此接口
  • 返回打开、关闭或从一天中的时间开始关闭的功能

    我有很多小时的操作时间 我想确定商店是否在 30 29 28 27 分钟内打开 关闭或即将关闭 我在 Xcode Objectic C 中执行此操作 现在我必须在 50 个不同的操作小时内执行此操作 我已经制作了一个函数来执行此操作 但它不
  • 我可以从 freebase.com 导出地名翻译吗

    所以我看过 of the freebase http freebase comAPI 和我对它找到的名称的翻译印象深刻 IE 罗马 Roma Rom Rzym Rooma 罗马市 这是因为我有一个包含 5000 多个地点名称的数据库 我非常
  • 如何将 sqlite 3.8.2 升级到 >= 3.8.3

    在使用 Python 3 7 2 的虚拟环境中 我尝试运行 djangopython manage py startap myapp我收到此错误 raise ImproperlyConfigured SQLite 3 8 3 or late
  • PHP mail() 中的空 $_POST

    对于以下方面的一些帮助将不胜感激 我已经在网络和 stackoverflow 上搜索了几个小时 我的php邮件功能有这个问题 我的网站上有一个表单 该网站使用 WordPress 其中包含两个文本字段 姓名和电话号码 表单中还有一个隐藏字段
  • 如何快速有效地调试 CloudFormation 模板?

    CloudFormation 是一项功能强大的 AWS 产品 允许以编程方式创建 AWS 资源堆栈 例如应用程序的网络层 https s3 amazonaws com cloudformation templates us east 1 v