gpt4 book ai didi

amazon-web-services - AWS CloudFormation - Ubuntu Nginx 元数据

转载 作者:行者123 更新时间:2023-12-03 07:45:37 25 4
gpt4 key购买 nike

所以我是 CloudFormation 的新手,我正在尝试使用 Nginx 创建一个 index.html 页面,该页面显示一行文本、服务器的公共(public) DNS 名称和 AWS 区域。我正在用 YAML 编写堆栈代码。这是 UserData 下的代码的一部分:

sudo apt-get update
sudo apt-get install -y nginx
sudo service nginx start
cd /var/www/html
echo "<title>CloudFormation</title><h1>Name</h1><p>This page created entirely by CloudFormation</p>" > index.html

我不知道如何使用 echo 命令将元数据传递到 index.html 中。我尝试过 !Sub {EC2Instance.PublicDnsName} 但没有成功。显然,方法是使用 Amazon Metadata Web Service 并使用某些命令获取值,然后将它们传递到 index.html 中,但由于我在堆栈中编码而不使用控制台,所以我不知道语法。有人指点一下吗?

最佳答案

抱歉,我的代码太长,所以我无法发表评论。我不使用 yaml,但我可以在 json 中执行您期望的代码,如下所示。我使用 Fn::Base64Fn::join 语法。您可以引用它并迁移到yaml。

"UserData": {
"Fn::Base64": {
"Fn::Join": [
"",
[
"#!/bin/bash",
"\n",
"sudo apt-get update\n",
"sudo apt-get install -y nginx\n",
"sudo service nginx start\n",
"\n",
"cat > /var/www/html/index.html << \"EOF\"\n",
"<title>CloudFormation</title>\n",
"<h1>Name</h1><p>This page created entirely by CloudFormation. Author: ",
{
"Ref": "Author_name_in_parameter"
},
"</p>\n",
"EOF\n",
"\n"
]
]
}
}

关于amazon-web-services - AWS CloudFormation - Ubuntu Nginx 元数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46516507/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com