我有2个Amazon EC2实例。我正在使用一个用于开发。我开始了一个新的,我想要正常工作,所以我可以使用这个更清洁的一个来制作AMI。我在RDS实例中使用Django和Postgres后端。 RDS实例正在运行Postgresql 9.4.4。开发EC2实例(有效的实例)正在运行Postgresql 9.3.9。新实例正在运行Postgresql 9.3.10。
在开发实例上,使用命令行连接和使用RDS实例没有问题:
psql --host django.xxxxxxxxx.us-east-1.rds.amazonaws.com --port 5432 --username django_login --dbname django_db
但如果我在新实例上使用相同的命令,我会得到
psql:无法将主机名“django.xxxxxxxxx.us-east-1.rds.amazonaws.com”翻译为:名称或服务未知
两个EC2实例都在同一个安全组(launch-wizard-1)中。 RDS有一个安全组,所有TCP,所有UDP和所有IMCP都设置为launch-wizard-1作为源。
开发实例位于us-east-1d。新实例在us-east-1c中。 RDS实例位于us-east-1d。我怀疑可能是问题,但据我了解RDS文档应该没问题。但是,如果这是问题,您知道如何更改EC2实例的可用区吗?
我试过这个,将RDS实例设置为private,然后再设置为public。它没有什么区别。
任何想法都将受到赞赏。
答案 0 :(得分:0)
问题是我怀疑的。该实例位于不同的子网中。我在us-east-1c的实例中创建了一个ami,在ami的us-east-1d子网中创建了一个新实例。现在我可以从新实例连接。
顺便说一句 - 当您创建一个应该将子网设置为与其他实例匹配的实例时,并不是很明显。在实例配置页面上查找该选项。