从 cloudformation 模板绘制图像

Posted

技术标签:

【中文标题】从 cloudformation 模板绘制图像【英文标题】:Drawing an image from a cloudformation template 【发布时间】:2018-06-14 15:17:18 【问题描述】:

是我可以用来将cloudformation 模板 转换为图表的任何绘图/导出工具。

需要将我的cloudformation stack 导出到 imagegraphviz 文件中。

问候,

【问题讨论】:

【参考方案1】:

您可以使用AWS CloudFormation designer。点击打开,然后上传您的模板。最后截取结果的屏幕截图以将其转换为图像格式。

以下是结果的示例:

如需了解更多信息,请查看doc。

【讨论】:

【参考方案2】:

您可以使用最新版本的cfn-lint 工具从您的模板中获取资源图表。

像这样使用它:

pip3 install cfn-lint pydot
cfn-lint template.json -g

例如,它会生成一个如下渲染的 DOT 文件:

对应这个模板:


  "AWSTemplateFormatVersion": "2010-09-09",
  "Description": "Sample template that demonstrates Fn::GetAtt",
  "Resources": 
    "DetectTextInImage": 
      "Type": "AWS::Lambda::Function",
      "Properties": 
        "Role": 
          "Fn::GetAtt": [
            "DetectTextInImageRole",
            "Arn"
          ]
        
      
    ,
    "DetectTextInImageBucketEvent1Permission": 
      "Type": "AWS::Lambda::Permission",
      "Properties": 
    ,
    "DetectTextInImageRole": 
      "Type": "AWS::IAM::Role",
      "Properties": 
    ,
    "ResultsTable": 
      "Type": "AWS::DynamoDB::Table",
      "Properties": 
    ,
    "SourceImageBucket": 
      "Type": "AWS::S3::Bucket",
      "Properties": 
        "NotificationConfiguration": 
          "LambdaConfigurations": [
            
              "Function": 
                "Fn::GetAtt": [
                  "DetectTextInImage",
                  "Arn"
                ]
              
            
          ]
        
      
    
  

编辑 CloudFormation 模板时,CloudFormation Linter Visual Studio Code extension 右上角还有一个 resource dependency graph preview button:

【讨论】:

以上是关于从 cloudformation 模板绘制图像的主要内容,如果未能解决你的问题,请参考以下文章

RHCA CL220实战系列之KVM部署CloudForms

使用 Boto 从 CloudFormation 模板返回输出?

从 CloudFormation 模板中的 DropDownList 中选择多个值

RHCA CL220 CloudForms 3.1 配置

RHCA CL220 CloudForms 3.1 配置虚拟机

如何从 cloudformation 模板中的参数文件传递公钥?