如何在CloudFormation模板中获取实例根卷ID?

时间:2015-02-12 19:37:32

标签: amazon-web-services amazon-cloudformation

有没有办法在CloudFormation模板中获取实例根卷ID?实例是从AMI图像创建的。我想为Cloudwatch Alarm指定卷ID。 Fn :: GetAtt函数无法返回它,在阅读了大量文档之后,我发现只有一种方法可以做到这一点:"自定义资源",但它太复杂了。

1 个答案:

答案 0 :(得分:0)

您应首先尝试创建卷(http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html),然后将其附加到/dev/sda1http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volumeattachment.html)。

虽然文档没有对此进行排除,但我并不完全相信它会起作用。我假设您至少需要来自所需AMI的正确快照ID。

如果它恰好工作,第二个链接下的示例显示了如何引用并获取卷ID。 建议替代方案,我确实认为实例指标为短暂磁盘提供了集合IO (请参阅http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/ec2-metricscollected.html下的EC2)。

我意识到你并没有要求重新设计你的堆栈...但是根据这个磁盘IO实际代表的含义,你可以通过切换到实例存储(免费且非常快)或额外的EBS来实现额外的好处(例如,为数据库的数据目录安装时,可获得许多好处)。这两个也可以解决您当前的问题。