amazon-web-services - 为什么我无法在对等互连后从另一个 VPC 中的 EC2 实例连接 AWS RDS 实例

标签 amazon-web-services amazon-ec2 amazon-rds amazon-vpc

我在 VPC A 中的 EC2 实例上运行 Tableau Server。同时,我在另一个 VPC B 中创建了一个 postgres RDS。现在我想在 Tableau Server 和 RDS 之间建立连接。 RDS VPC的CIDR为172.31.0.0/16,EC2 VPC的CIDR为10.0.0.0/16。

根据A DB Instance in a VPC Accessed by an EC2 Instance in a Different VPC ,我在 VPC A 和 VPC B 之间创建了对等互连,pcx-xyz123。此外,我还为 VPC 创建了以下路由表。

RDS VPC
Destination      Target
172.31.0.0/16    local
10.0.0.0/16      pcx-xyz123

EC2 VPC
Destination      Target
10.0.0.0/16      local
172.31.0.0/16    pcx-xyz123

两个路由表都是主要的。虽然每个都有 0 个子网(不确定这是否重要)。

但是,我仍然无法从 Tableau Server 连接 RDS。

这两个实例是由同一个帐户创建的。它们都列在美国东部(俄亥俄州)下。所以我假设他们在同一个地区。加上两者都有us-east-2在他们的主机名中。在我的 PC 上,我可以使用 psql 命令或 pgAdmin 连接到 RDS。

为什么我不能连接两个实例?

编辑 :
我在与 Tableau Server 相同的 VPC 的同一子网中创建了另一个 EC2 Linux 实例,仅用于调试目的。我以相同的方式配置了对等互连和路由表,并将子网与路由表相关联。但是,我仍然无法连接到 EC2 Linux 实例上的 RDS。

最佳答案

VPC 对等互连的工作方式与公共(public)子网连接到 Internet 网关的方式非常相似——路由表 定义流量如何进出子网。
要使 VPC 对等互连工作:

  • 邀请并接受 对等连接(完成)
  • 创建 路由表在每个 VPC 中指向其他 VPC 的 IP 范围的对等连接(完成)
  • 关联每个子网您希望能够与路由表对等
  • 或者,编辑 现有路由表包括对等条目
  • 如果您的 RDS 数据库是公共(public)的,并且您尝试使用数据库的公共(public) DNS 进行连接,那么您将需要 编辑 DNS 设置 your peering connection允许 DNS 解析。

  • 路由工作如下:
  • 当流量离开子网时,会引用路由表来确定将流量发送到哪里
  • 最严格的(例如/24)首先被评估,直到限制最少的(例如/0)
  • 流量根据相应的路由表条目
  • 进行路由。

    这意味着您可以将一些子网配置为对等,而不必包括所有子网。传统上,它是 私有(private)子网 那个对等点,可能只有特定的私有(private)子网——但这完全是你的选择。
    把它想象成路线图上的方向,告诉交通它应该被引导到哪里。

    关于amazon-web-services - 为什么我无法在对等互连后从另一个 VPC 中的 EC2 实例连接 AWS RDS 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46312956/

    相关文章:

    java - 在Java Web应用程序中,尽管AWS SDK内部使用1.3,如何添加common-codec 1.6

    amazon-web-services - Terraform 多个 s3 存储桶创建

    heroku - Heroku Dynos 是否享受 AWS 网络内的免费数据传输?

    php - 如何将 php-pear 安装到 AWS EC2

    ubuntu - 在没有停止/启动或弹性 IP 的情况下更改 EC2 实例的公共(public) IP 地址

    mysql - 如何从本地系统备份表并将其恢复到 amazon RDS

    amazon-web-services - 使用 AWS DMS 将数据从 RDS Postgres(只读副本)复制到 Redshift 时出现复制槽错误

    linux - 那个命令是什么?导出路径=~/.local/bin :$PATH

    ruby-on-rails-3 - 如何将 resque 与橡胶 gem 一起使用

    sql-server - Amazon AWS RDS 上的数据库 'master' 中的 CREATE TABLE 权限被拒绝