我们是否需要逃避" Fn :: Base64:!Sub"在AWS?

时间:2017-11-28 17:49:21

标签: amazon-web-services yaml amazon-cloudformation

当我们在YAML CloudFormation模板中对UserData部分使用Fn::Base64: !Sub |时,我们是否需要转义双引号,反斜杠等内容?

语法示例:

UserData:
  Fn::Base64:
    !Sub |
      #!/bin/bash -xe
      yum update -y aws-cfn-bootstrap
      /opt/aws/bin/cfn-init -v --stack ${AWS::StackName} --resource LaunchConfig --configsets wordpress_install --region ${AWS::Region}
      /opt/aws/bin/cfn-signal -e $? --stack ${AWS::StackName} --resource WebServerGroup --region ${AWS::Region}

1 个答案:

答案 0 :(得分:1)

我制作了一个实验性的UserData部分:

Fn::Base64: !Sub |
  <script>
  cd "C:\\Windows"
  cd \"C:\\Windows\"
  </script>

然后查看从机器内传递到http://169.254.169.254/latest/user-data中的EC2实例的userdata:

<script>
cd "C:\\Windows"
cd \"C:\\Windows\"
</script>

因此,用户数据确实按原样传递,无需转义任何内容。