AWS :: CloudFormation :: Init:安装后更新文件

时间:2017-06-15 23:55:38

标签: amazon-ec2 solr amazon-cloudformation

我正在AWS EC2实例上设置我的solr实例:

EC2_Instance(:SolrInstance) {
 KeyName key_name
 ...

 'AWS::CloudFormation::Init' => {
   "configSets": {
     "InstallAndRun": [ "Install", "Configure" ]
   },
  "Install": {
    sources: {
     "/opt/solr-6.2.1/server/solr/lib": solr_jar,
     "/opt/solr-6.2.1/server/solr/configsets/data_driven_schema_configs/conf": solr_confs,
     "/opt/solr-6.2.1/server/resources": log4jproperties
   },
 },
 "Configure": {
   commands: {
     "010_start_app": {
      "command": "/opt/solr-6.2.1/bin/solr start -c && sleep 40"
     }
   }
  })
 UserData FnBase64(FnFormat(File.read('cfn_scripts/install_solr.sh')))
 }

solr_confs和solr_confs是S3上的一些zip文件。

然后在install_solr.sh中,我有以下内容:

#!/bin/bash -x

set -e

/opt/aws/bin/cfn-init -v --stack %{AWS::StackName} --resource SolrInstance --configsets InstallAndRun --region %{AWS::Region}

适用于第一次部署。

现在我需要更新solr_confs文件中的一个文件。

我更新了文件并将其压缩,但是,当我部署到已创建的现有堆栈时,堆栈未检测到任何更改,并且我的文件未更新。

看起来AWS :: CloudFormation :: Init和Install只工作一次?

我应该如何更新甚至添加新文件?

1 个答案:

答案 0 :(得分:2)