Dim*_*ris 4 amazon-ec2 template amazon-web-services amazon-cloudformation
我们想为 AWS 中相当标准的堆栈创建一个模板。我们需要三层。
层:弹性负载均衡器
层:根据站点需求触发的警报创建/销毁多个Web服务器
层:数据库服务器
第 2 层上的实例应该知道数据库实例的主机名。理想情况下,我想获取数据库实例的私有 IP 并将其通过用户数据传递到 Web 服务器。
Fn::GetAtt不支持私有ip(只支持public)
我想另一种方法是构建堆栈,然后手动设置数据库私有 ip。虽然它确实使我们的设置不那么干净。理想情况下,我们希望在模板中描述所有内容。(即使这涉及通过user-data运行脚本)
有什么建议?
小智 6
我现在这样做是为了向我的傀儡主人添加新节点。例如,我在新节点的 UserData 部分中获取了 puppet master 实例的私有 IP:
"echo ", { "Fn::GetAtt" : [ "MasterOfPuppets", "PrivateIp" ] }, " ",
{ "Fn::GetAtt" : [ "MasterOfPuppets", "PrivateDnsName" ] } ," puppet
>> /etc/hosts\n","\n",
Run Code Online (Sandbox Code Playgroud)
请参阅CloudFormation 用户指南的第 119 页。
或者,您可以使用实例 MetaData:
curl http://169.254.169.254/latest/meta-data/local-ipv4/
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
939 次 |
最近记录: |