2017-11-01 6 views
0

cfn-initにディスクからロードされたカスタムJSONファイルを使用するように指示する方法はありますか?そうすれば、すぐに問題をトラブルシューティングできます。それ以外の場合は、AWS::CloudFormation::Initセクションを変更する唯一の方法は、スタックを削除して新たに作成することです。cfn-initカスタムjsonを指定

私はむしろちょうどその代わり169.254.169.254かしかし、それはそれを取得からテンプレートを取得するので、それはC:\template.jsonを使用していますcfn-init -f C:\template.json ...のようなものを教えて、私のtemplate.jsonに変更を加えると思います。

答えて

1

cfn-initはファイルを受け入れますが、ファイルにはルートキーとして"Metadata"キーが必要です。

は、だから我々はtemplate.jsonにこれを保存する場合:

{ 
    "AWS::CloudFormation::Init": { 
     "config": { 
      "files": { 
       "C:\\Users\\Administrator\\Desktop\\test-file": { 
        "source": "https://s3.us-east-2.amazonaws.com/example-bucket/example-file" 
       } 
      } 
     } 
    }, 
    "AWS::CloudFormation::Authentication": { 
     "S3AccessCreds": { 
      "type": "S3", 
      "buckets": ["example-bucket"], 
      "roleName": "s3access" 
     } 
    } 
} 

その後、我々はcfn-init -v --region us-east-2 template.jsonを実行することができます。

注:あなたはあなたが得るでしょうcfn-init -v -s my_stack -r my_instance --region us-east-2 template.json使用する場合は、スタックまたはリソースを含めないでください:

Error: You cannot specify more than one input source for metadata

rootとしてだけではなく、「メタデータ」の全体のテンプレートファイルを置く場合は、取得します:

Could not find 'AWS::CloudFormation::Init' key in template.json

関連する問題