获取 Cloudformation Stack 中所有资源的 ARN

Slu*_*man 4 amazon-web-services aws-cloudformation aws-cli

获取 Cloudformation 创建的每个资源的 ARN 的最简单方法是什么?

我试图找到一种简单的方法来做到这一点,以便我可以收集这些信息并将其发送到外部监控/拓扑工具,以用于构建组件之间的关系。

据我所知,没有简单的方法可以获取 Cloudformation 中每个资源的 ARN。

我认为:

aws cloudformation describe-stack-resources --stack-name <stack-name-here>
Run Code Online (Sandbox Code Playgroud)

可能有用,但我没有从中获得 ARN。

解决这个问题的最佳方法是什么?

vah*_*det 5

如果describe-stack-resources(或list-stack-resource)要返回 ARN 值,您可以通过--queryflag提取结果的某些字段。但是,用于在堆栈中列出 AWS 资源的 CLI 命令不提供 ARN。即使是输出字段LogicalResourceIdPhysicalResourceId并且ResourceType显然不能用于第二查询分别得到ARNS。

您可以使用get-resources命令resourcegroupstaggingapi返回的标签和资源ARNS列表。例如,如果您使用堆栈名称标记所有资源;你应该可以这样称呼它:

aws resourcegroupstaggingapi get-resources --tag-filters "Key=stackName,Values=myStackName"
Run Code Online (Sandbox Code Playgroud)

您还可以检查此内容以进行进一步讨论,并在其输出外观的文档中访问此示例