我已经编写了一个用于启动我的堆栈的 cloudformation 模板。我的要求是让所有实例位于同一个可用区 (AZ) 中,而不是位于多个 AZ 中。我正在使用自动缩放组,因此我无法在同一个 AZ 中启动实例。
如果实例在不同的 AZ 上启动,我无法将持久性 docker 容器从一个实例迁移到另一个实例,因为flocker 使用 EBS 卷。
任何解决方法都会有很大帮助。
谢谢你。
我已经编写了一个用于启动我的堆栈的 cloudformation 模板。我的要求是让所有实例位于同一个可用区 (AZ) 中,而不是位于多个 AZ 中。我正在使用自动缩放组,因此我无法在同一个 AZ 中启动实例。
如果实例在不同的 AZ 上启动,我无法将持久性 docker 容器从一个实例迁移到另一个实例,因为flocker 使用 EBS 卷。
任何解决方法都会有很大帮助。
谢谢你。
我认为如果您在云形成模板中指定放置组或子网,您应该可以做到。
请参阅Ec2 Cloud Formation 中的放置组和Cloud Formation 中的子网,以了解指定这些的确切方法。
如果您为实例指定置放群组,它们将在同一可用区 (AZ) 的同一置放群组中创建。如果您指定子网,它们将创建在同一 AZ 的同一子网中。
此外,如果您的自动缩放组仅限于单个 AZ,即使这样也应该有效。请参阅自动缩放组 CloudFormation
这真的很容易。AZ 在子网级别上指定。在您想要的 AZ 中的 VPC 中创建一个子网,例如。欧盟西部 1。
在您的 Auto Scaling 组上,指定此子网,不要指定其他子网。
完毕。新启动的实例将启动到这个新的子网和 AZ。
注意:如果此 Auto Scaling 组中已经存在不同子网中的实例,您需要终止它们并让 Auto Scaling 完成工作并启动替换。