我在EC2上设置了一个自动缩放组以及一个RDS Postgres实例。 我不使用ELB。 也许我应该…
面临的挑战是每创build一个新的EC2实例,它都会分配一个唯一的公有IP地址。 这意味着需要将新的入站规则应用于RDS的安全组,以允许此新的EC2实例通过端口5432(postgresql)连接到RDS。
我也遇到了Route 53的问题,因为需要将新的IP地址添加到DNS“A Record”以便正确parsingURL。
有没有一种方法来设置AWS来为我做这个,或者我需要使用boto编写一些python代码?
这意味着需要将新的入站规则应用于RDS的安全组,以允许此新的EC2实例通过端口5432(postgresql)连接到RDS。
我build议使用私有IP,而不是将公有IP用于安全组规则。 在同一VPC中同时运行EC2和RDS,然后在RDS的安全组规则中允许包含EC2实例的整个VPC子网IP范围。
我也遇到了Route 53的问题,因为需要将新的IP地址添加到DNS“A Record”以便正确parsingURL。
你基本上有3个选项:
不要单独将每个EC2实例的IP地址添加到入站安全组。 而是允许来自EC2实例安全组的入站stream量。 然后,任何使用该安全组的EC2实例将被允许从相同的规则进行访问。
一般来说,如果需要外部访问,自动扩展组最好用在弹性负载均衡器之后。 这是因为当实例需要根据负载或其他指标dynamic启动和停止时,通常使用自动扩展组。 当一个客户连接到你的组,通常,它不应该关心它实际上连接到哪一个。 通过为每个实例分配单独的IP地址,外部世界需要跟踪所有这些实例。