我们有一个亚马逊网络服务账户,有多个EC2实例和一个RDS实例。在引入VPC之前,这些服务就已经运行了。现在我需要升级RDS实例类,新的类只能在VPC中创建。那么,如果我们的RDS实例被修改(转换)为新的类,并且新的RDS实例在私有网络中,那么使用该RDS的EC2实例是否需要同时移到私有网络中,或者这是否可以是一个单独的过程?
发布于 2018-09-01 01:20:10
传统EC2和私有网络RDS和EC2安全组不能交叉兼容。如果您的RDS具有EC2 sec组引用,您将无法将传统ec2 sec组添加到您的vpc RDS sec组。
Differences Between Security Groups for EC2-Classic and EC2-VPC
您最好的选择是将您的EC2基础设施与RDS一起迁移到VPC。当然,如果您希望分离进程,然后在迁移EC2基础设施时将其锁定,则可以授予对RDS的全局访问权限,但这是一个很大的问题(巨大的安全风险)。
这是一个不平凡的过程,我能感受到你的痛苦。最不复杂的事情是在迁移过程中引起停机,这样您就不会在RDS实例之间产生分歧。但这并不理想,尤其是当您有一个大型RDS存储时。顺便说一句,您需要测试创建快照和恢复RDS的过程需要多长时间,因为这可能需要一段时间。
如果您可以管理它,另一种方法是在迁移RDS时强制应用程序使用只读副本。这样,您的应用程序仍然可以正常运行(某种程度上),并且您不必担心迁移后RDS实例之间的协调问题。但很明显,你的应用程序需要意识到它处于只读模式,否则你的行为会变得不稳定。
忘了提一下,有一种叫做classic-link的东西在这里可能会有帮助,但我个人从来没有用过classic-link。点击此处查看AWS白皮书:
Move Amazon RDS MySQL Databases to Amazon VPC using Amazon EC2 ClassicLink and Read Replicas
https://stackoverflow.com/questions/52041479
复制相似问题