Engine Yard 中有几个环境。它们中的每一个都运行相同的应用程序,但处于不同的阶段:生产、登台等。总共大约 10 个环境。现在,我们想每晚转储生产数据库,并在其余环境中恢复它以获得最新数据。
问题是,一个环境中的实例无法访问其他环境中的实例。有两种适合我们的连接方式:
--host
mysqldump
的参数. RDS 主机的格式为 environment.random_string.region.rds.amazonaws.com
而不是常规的 EC2 主机名。 它们都不是开箱即用的。直接的解决方案是在所有想要访问的服务器上生成 RSA key ,并将它们添加到
authorized_hosts
。到所有应该允许访问的服务器。然而,这个解决方案是不可扩展的:一旦我们添加或重新创建了一个环境,我们就需要重复这个过程。有没有更好的解决方案?
最佳答案
有一种方法可以在您的其他实例上设置一个特殊的备份配置文件,这将允许您从同一账户中的另一个环境直接访问生产 S3 存储桶。这涉及到一些风险,因为从技术上讲,它还允许您的非生产环境能够编辑生产存储桶的内容。
根据您的配置的具体情况,可能还有一些其他选项。您最好的选择是向发动机场支持团队开一张票,以便我们进一步讨论您的需求。
关于amazon-web-services - 从引擎场中的另一个环境访问一个环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27862029/