Public 附加安全组后访问
Public access after attaching security groups
即使我添加了为所有 IP 打开端口 5432 的安全组并在 Public 访问部分配置了 Yes 之后,我的 RDS 实例 (PostgreSQL) 仍无法连接到 VPC 外部。
RDS 信息:
安全组:
有没有人遇到同样的情况?
有解决这个问题的方法吗?
我假设在配置 Public 访问部分或安全组时有一些延迟。
鉴于您可以连接到 EC2 实例并且其他一切似乎都已正确设置,如果您想 publicly 公开您的数据库,您需要验证您的子网组正在使用 public 个子网.您可以在 RDS 实例的实例详细信息中检查您的子网组和子网。在安全和网络下,您应该找到类似以下内容的内容:
子网组
examplegroup
子网
subnet-84b243ef
subnet-etu1769c
subnet-186b3f30
然后您需要查看这些子网并了解它们的配置方式:
- 转到 VPC 控制面板
- 点击子网
- 选择您要检查的子网
- 点击路线table
- 如果它 public 你应该看到这样的东西:
示例路线 table:
Destination | Target
10.0.0.0/16 | local
0.0.0.0/0 | igw-e2f87847
igw
表示互联网网关。如果您看到 nat
而不是 0.0.0.0/0
条目,则可能意味着这是一个私有子网。
您可以在 bash
中使用 aws cli
和 jq
以编程方式执行此操作。这将列出与给定数据库实例的子网组子网关联的所有路由 tables:
instance_name='example'
aws rds describe-db-instances --filter Name=db-instance-id,Values=${instance_name} | jq .DBInstances[].DBSubnetGroup.Subnets[].SubnetIdentifier -r | while read subnet; do
aws ec2 describe-route-tables --filters Name=association.subnet-id,Values=${subnet} | jq .RouteTables[].Routes
done
即使我添加了为所有 IP 打开端口 5432 的安全组并在 Public 访问部分配置了 Yes 之后,我的 RDS 实例 (PostgreSQL) 仍无法连接到 VPC 外部。
RDS 信息:
安全组:
有没有人遇到同样的情况? 有解决这个问题的方法吗?
我假设在配置 Public 访问部分或安全组时有一些延迟。
鉴于您可以连接到 EC2 实例并且其他一切似乎都已正确设置,如果您想 publicly 公开您的数据库,您需要验证您的子网组正在使用 public 个子网.您可以在 RDS 实例的实例详细信息中检查您的子网组和子网。在安全和网络下,您应该找到类似以下内容的内容:
子网组
examplegroup
子网
subnet-84b243ef
subnet-etu1769c
subnet-186b3f30
然后您需要查看这些子网并了解它们的配置方式:
- 转到 VPC 控制面板
- 点击子网
- 选择您要检查的子网
- 点击路线table
- 如果它 public 你应该看到这样的东西:
示例路线 table:
Destination | Target
10.0.0.0/16 | local
0.0.0.0/0 | igw-e2f87847
igw
表示互联网网关。如果您看到 nat
而不是 0.0.0.0/0
条目,则可能意味着这是一个私有子网。
您可以在 bash
中使用 aws cli
和 jq
以编程方式执行此操作。这将列出与给定数据库实例的子网组子网关联的所有路由 tables:
instance_name='example'
aws rds describe-db-instances --filter Name=db-instance-id,Values=${instance_name} | jq .DBInstances[].DBSubnetGroup.Subnets[].SubnetIdentifier -r | while read subnet; do
aws ec2 describe-route-tables --filters Name=association.subnet-id,Values=${subnet} | jq .RouteTables[].Routes
done