像数据库(RDS)这样的资源必须与EC2实例位于同一VPC中才能访问。
如果EC2实例位于不同的CIDR块中,是否可以到达同一VPC中的RDS实例?
即VPC有2个CIDR块a和b。块a中的实例,块b中的数据库。
海王星的EC2实例如何?
答案 0 :(得分:1)
是的,这可以通过将正确的安全组附加到您的资源来实现。只要您通过安全组设置有效的配置,源和目标是否在同一子网中都没有关系。例如,进行以下设置:
在instance-1
中的subnet-1
中 10.0.0.0/16
(CIDR:vpcA
)
instance-2
中subnet-2
中的10.1.0.0/16
(CIDR:vpcA
)(同一VPC)
创建以下安全组:
security-group-client
(无特定规则)
security-group-target
(具有允许从security-group-client
到所需端口的传入请求的入站规则)
现在将security-group-client
附加到您的客户端实例(例如instance-1),并将security-group-target
附加到您的目标对象(instance-2
)
您的实例位于不同的CIDR块(或子网)中的事实并不重要。默认情况下,他们无权访问,但您始终可以进行设置。
您应该能够对Amazon Neptune之类的东西应用相同的逻辑。您可以在数据库子网组中配置一个实例,该实例仅仅是一组子网。每个子网都有一个与其关联的CIDR。您的数据库实例在您的一个子网中置备。 (您可以在创建过程中强制选择一个子网/可用区,但这与本讨论无关)。
拥有数据库后,如上所述创建2个安全组,一个用于客户端,一个用于数据库。数据库的安全组应允许来自另一个数据库的入站连接。然后,您可以通过发出modify-db-cluster
请求(或通过控制台,将安全组附加到数据库群集),或者只是在创建工作流程本身之前就先创建安全组并将其与数据库关联。
希望这会有所帮助。