【发布时间】:2021-09-12 10:04:23
【问题描述】:
我正在尝试实现一个 Cloudformation 模板,它将现有的 EBS 卷挂载到现有的 EC2 实例。 这是我使用的代码:
AWSTemplateFormatVersion: "2010-09-09"
Description: MountEBStoDev
Parameters:
EBSVolumeID:
Description: The volume we want to attach to the instances
Type: "List<AWS::EC2::Volume::Id>"
InstanceIdToMount:
Description: The instance to attach the volume to
Type: "List<AWS::EC2::Instance::Id>"
Resources:
MountPoint:
Type: "AWS::EC2::VolumeAttachment"
Properties:
Device: /dev/sdh
InstanceId: !Ref InstanceIdToMount
VolumeId: !Ref EBSVolumeID
运行堆栈时,用户可以选择所需的 EBS 和 EC2 实例,我可以看到选择后正确指定了参数,但 Cloudformation 无法附加 EBS 并出现错误
"属性 InstanceId 的值必须是字符串类型"
我怀疑参数类型中的 List 是罪魁祸首,但我没有找到其他方法可以让用户从可用实例/EBS 中进行选择(除了静态列表)。
任何帮助将不胜感激。
【问题讨论】:
-
你如何运行堆栈?
标签: amazon-web-services amazon-ec2 amazon-cloudformation amazon-ebs