1

我已经编写了一个用于启动我的堆栈的 cloudformation 模板。我的要求是让所有实例位于同一个可用区 (AZ) 中,而不是位于多个 AZ 中。我正在使用自动缩放组,因此我无法在同一个 AZ 中启动实例。

如果实例在不同的 AZ 上启动,我无法将持久性 docker 容器从一个实例迁移到另一个实例,因为flocker 使用 EBS 卷。

任何解决方法都会有很大帮助。

谢谢你。

4

2 回答 2

1

我认为如果您在云形成模板中指定放置组或子网,您应该可以做到。
请参阅Ec2 Cloud Formation 中的放置组和Cloud Formation 中的子网,以了解指定这些的确切方法。
如果您为实例指定置放群组,它们将在同一可用区 (AZ) 的同一置放群组中创建。如果您指定子网,它们将创建在同一 AZ 的同一子网中。

此外,如果您的自动缩放组仅限于单个 AZ,即使这样也应该有效。请参阅自动缩放组 CloudFormation

于 2015-12-22T09:28:31.107 回答
0

这真的很容易。AZ 在子网级别上指定。在您想要的 AZ 中的 VPC 中创建一个子网,例如。欧盟西部 1。

在您的 Auto Scaling 组上,指定此子网,不要指定其他子网。

完毕。新启动的实例将启动到这个新的子网和 AZ。

注意:如果此 Auto Scaling 组中已经存在不同子网中的实例,您需要终止它们并让 Auto Scaling 完成工作并启动替换。

于 2015-12-30T22:36:32.660 回答