gpt4 book ai didi

amazon-ec2 - Amazon Web Services EC2 到 RDS 与 VPC 的连接

转载 作者:行者123 更新时间:2023-12-04 13:19:15 25 4
gpt4 key购买 nike

我一直在尝试使用 EC2 实例和运行 MySQL 的 RDS 数据库设置 AWS 免费套餐帐户。不幸的是,我无法弄清楚如何从 EC2 实例授予对数据库的访问权限。我已经阅读了所有的 AWS 文档,但不幸的是它已经过时了,就像 StackOverflow 上发布的所有问题一样。所有文档都表明我应该转到 RDS 仪表板的安全组部分。但是,当我这样做时,这就是我所面临的。

enter image description here

** 我会包含该图像,但我没有它的声誉。

好的,我知道我没有使用 EC2-Classic 平台,我必须对 EC2 仪表板中的安全组进行这些更改,但是如何?!我不想公开访问端口 3306,我只希望 EC2 实例能够与私有(private)子网上的 RDS 数据库通信。任何帮助将不胜感激。

指向“支持的平台上的 AWS 文档”和“在 VPC 中使用 RDS”的链接没有帮助。它们已过时,并且还不断将我引回到 RDS 仪表板下的安全组,然后它只向我显示此消息。

最佳答案

经验法则:在 VPC 中设置资源时,请使用 仅限 VPC 安全组 .个别 RDS、Redshift 等。安全组仅在 ec2-classic 的情况下工作。这意味着,当您不在 VPC 中进行设置时。

转到 VPC 控制台,然后在左侧菜单中,您将找到安全组。这些安全组应该控制对部署在 VPC 内的 AWS 资源的访问。

我无法详细说明,因为我不知道您的 VPC 配置以及您设置的子网(公共(public)/私有(private))。

例子

这是假设的场景......

VPC: 10.0.0.0/16
1 public subnet: 10.0.0.0/24
1 Private Subnet: 10.0.1.0/24
  • 假设您将 EC2 实例放入公共(public)子网
  • 假设您将 RDS 实例放入私有(private)子网
  • 并且您希望 EC2 实例可以在全局 80,443 上访问,并且 RDS 实例应该只能通过 EC2 实例访问。

  • 因此,这些是安全组设置:

    对于 EC2 实例安全组:
    Inbound: port 80, 443 : from 0.0.0.0/0
    Outbound: port 3306 : to 10.0.1.0/24

    对于 RDS 安全组:
    Inbound: port 3306: from 10.0.0.0/24

    解释
    Inbound: port 80, 443 : from 0.0.0.0/0

    这将允许从 Internet 在端口 80 和 443 上访问 EC2 实例。
    Outbound: port 3306 : to 10.0.1.0/24

    这允许 EC2 实例仅将端口 3306 上的流量发送到私有(private)子网 10.0.1.0/24
    Inbound: port 3306: from 10.0.0.0/24

    这允许 RDS 实例接受来自公共(public)子网 10.0.0.0/24 的端口 3306 上的流量。您的 EC2 实例位于公共(public)子网中,因此 RDS 本质上将接受来自端口 3306 上 Ec2 实例的流量

    注意:以上设置假定您已相应地为公共(public)/私有(private)子网设置了路由表。

    希望这可以帮助。

    关于amazon-ec2 - Amazon Web Services EC2 到 RDS 与 VPC 的连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24636332/

    25 4 0
    文章推荐: symfony - Symfony2注销CSRF保护: csrf_provider unrecognized
    文章推荐: php - html 大小以适应对象的内容