之前的EC2实例是部署在日本东京的,现在由于测试需要想将同样的集群(涉及到7,8台机器)在其他地区也部署一套。
全部从头搭建比较麻烦, 于是打算通过AMI映像
来实现机器的跨域迁移。
操作步骤
1.选中原先的ec2实例,并根据其创建映像
2. 点击右侧的AMI,对创建的映像进行复制,将其复制到你的目标区域内(这里选的是新加坡)
3.切换到对应的地区,就可以看到之前创建的映像了。 通过映像创建新的实例
实例迁移过程中遇到的问题:
虽然通过映像可以帮助我们方便的进行实例迁移,不过还是会有其他的一些问题
- 访问aws中的实例需要设置对应的路由表和安全组规则,我们在创建实例的时候也会让我们选择对应的安全组,如果想创建一个一模一样的集群,那么就需要先在目标地区也创建相同的安全组和路由表等配置
- 如果原先的实例中有涉及到其ip信息的配置,那么在目标地区创建的实例,我们需要修改对应的ip信息
- 我迁移的集群包含consul-server,consul-client集群,在修改完启动配置里的ip信息并启动后发现报如下错误:
提示由于两台机器有相同的node id导致了冲突,因为我是从一个映像创建的consul-client集群, 所以不同的实例有了相同的node id, 登录对应的机器,修改其node id并重启即可。
迁移的consul-server集群也由于该问题导致无法正常进行选举
对于这种需要选主的集群或者有id标识的集群,这种迁移方式都可能会导致类似的问题,迁移的时候需要注意