我正在尝试通过 Node.js AWS SDK 执行实例创建,并为此使用以下代码:
OpsWorks.createInstanceAsync({
InstanceType: config.instanceType,
LayerIds: [config.layerId],
StackId: config.stackId,
RootDeviceType: params.RootDeviceType || 'ebs',
AvailabilityZone: params.AvailabilityZone,
InstanceType: params.InstanceType,
SubnetId: params.SubnetId,
AmiId: config.amiId
});
});
当未指定 AmiId 时,这段代码可以正常工作(启动全新的实例)。为了减少部署时间,我计划使用 AMI,当添加 AmiId 参数时,我收到以下错误:
ValidationException: The AMI ID cannot be set for this OS
知道 OpsWorks (Ubuntu 14.04) 上发生这种情况的原因吗?
谢谢
最佳答案
您需要为 AMI 添加操作系统。使用下面的代码。
OpsWorks.createInstanceAsync({
InstanceType: config.instanceType,
LayerIds: [config.layerId],
StackId: config.stackId,
RootDeviceType: params.RootDeviceType || 'ebs',
AvailabilityZone: params.AvailabilityZone,
InstanceType: params.InstanceType,
SubnetId: params.SubnetId,
Os: 'Custom',
AmiId: config.amiId
});
});
关于node.js - AWS 开发工具包实例创建不接受 AMI ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38356767/