我已经编写了一个用于启动堆栈的cloudformation模板。我的要求是让所有实例都在同一个可用区(AZ)中,而不是在多个AZ中。我正在使用自动缩放组,因此我无法在同一个AZ中启动实例。
如果实例在不同的AZ上启动,我就无法将持久性docker容器从一个实例迁移到另一个实例,因为flocker使用EBS卷。
任何解决方法都会有很大的帮助。
谢谢。
答案 0 :(得分:1)
我认为如果您在云形成模板中指定放置组或子网,则应该能够执行此操作。
请参考Placement Group in Ec2 Cloud Formation和Subnet in Cloud Formation了解指定这些内容的确切方法。
如果您为实例指定展示位置组,则会在同一个展示位置组中创建这些展示位置组在同一可用区(AZ)。如果指定子网,则它们将在同一AZ的同一子网中创建。
此外,如果您的自动缩放组仅限于一个AZ,那么即使这样也行。见Autoscaling Group CloudFormation
答案 1 :(得分:0)
这很容易。 AZ在子网级别指定。您所需的AZ中的{VPC} Create a subnet例如。欧盟 - 西-1。
在Auto Scaling组中,指定此子网而不指定其他子网。
完成。新推出的实例将启动到这个新子网和AZ。
注意:如果此Auto Scaling组中已存在不同子网中的实例,则需要终止它们并让Auto Scaling完成工作并启动替换。