CloudFormation模板位于实例上,由cloud-init调用?

时间:2018-01-04 14:10:11

标签: amazon-web-services amazon-cloudformation

我理解模板的AWS::CloudFormation::Init块由cfn-init脚本执行。

以下是我用来执行此操作的语法:

 @IBAction func editTapped(_ sender: Any) {

        print("editTapped")
        for i in 0..< ttableView.visibleCells.count{
       let cell = ttableView.cellForRow(at: IndexPath(row: i, section: 0)) as! TableViewCell
            cell.textField.isEnabled = true

        }
    }

我可以通过UserData或SSH进行调用。

现在我希望能够修改模板的AWS::CloudFormation::Init部分并通过ssh重复cnf-init调用。

问题: 云形成代码位于我的实例上的文件在哪里,由cfn-init执行?

2 个答案:

答案 0 :(得分:1)

cfn-init命令使用位于/var/lib/cfn-init/data/metadata.json的配置文件。 JSON文件包含在Cloud Formation模板的AWS :: CloudFormation :: Init块中定义的配置集。

我已经在Amazon Linux 2上确认了上述路径。其他操作系统上的位置可能不同。

答案 1 :(得分:0)

所有云init文件都在/ var / lib / cloud(在Centos 7上),userdata脚本在/ var / lib / cloud / instance

请参阅我的其他答案 cloud-init: What is the execution order of cloud-config directives? 有关cloud-init源的一般提示,执行顺序