gpt4 book ai didi

amazon-rds - 无法建立与 jdbc 的连接 :mysql communication link failure

转载 作者:行者123 更新时间:2023-12-02 09:16:51 26 4
gpt4 key购买 nike

我一直在尝试在 S3 存储桶和 Elasitcbeanstalk 环境之间建立一个数据管道,其中包括一个 MySQL RDS 实例(都在同一个 VPC 中)。

我得到了失败:

The last packet sent successfully to the server was 0 milliseconds ago. 
The driver has not received any packets from the server.
amazonaws.datapipeline.database.ConnectionFactory: Unable to establish
connection to jdbc:mysql://***.us-west-2.rds.amazonaws.com:3306/mydata
Communications link failure

我认为问题在于我需要允许数据管道访问我的 MySQL RDS,但不知道如何访问。我将 myEc2RdsSecurityGrps 字段设置为在 EC2 > 安全组下为 RDS 实例列出的安全组名称,但这没有帮助。

RDS 实例的值 IAM DB Authentication Enabled 设置为 Yes。

此外,这里的 IAM 角色非常新,但有两个是这样创建的:Roles > Create Role > Data Pipeline > EC2 Role for Data Pipeline(提供对 S3、DynamoDB 和其他服务的访问权限Data Pipeline 启动的 EC2 实例)以及 Roles > Create Role > Data Pipeline > Data Pipeline(允许 Data Pipeline 和 Data Pipeline 管理的 EMR 集群代表您调用 AWS 服务)。

我错过了一步吗?

最佳答案

RDS 实例的安全性应该向数据管道中的 EC2 任务运行器的安全组开放数据库端口。

为 VPC 中的 EC2 实例创建安全组

  1. https://console.aws.amazon.com/ec2/ 打开 Amazon EC2 控制台.
  2. 在导航 Pane 中,点击安全组。
  3. 点击创建安全组。
  4. 指定安全组的名称和描述。
  5. 从列表中选择您的 VPC,然后单击创建。

记下新安全组的 ID。

如果您在自己的计算机上运行 Task Runner,请以 CIDR 表示法记下其公共(public) IP 地址。如果计算机位于防火墙后面,请记下其网络的整个地址范围。稍后您将需要此地址。

接下来,在资源安全组中创建规则,允许 Task Runner 必须访问的数据源的入站流量。例如,如果 Task Runner 必须访问 Amazon Redshift 集群,则 Amazon Redshift 集群的安全组必须允许来自该资源的入站流量。

为RDS数据库添加规则到安全组

  1. https://console.aws.amazon.com/rds/ 打开 Amazon RDS 控制台.
  2. 在导航 Pane 中,单击实例。
  3. 单击数据库实例的详细信息图标。在安全和网络下,单击指向安全组的链接,这会将您带到 Amazon EC2 控制台。如果您对安全组使用旧控制台设计,请单击控制台页面顶部显示的图标切换到新控制台设计。
  4. 在“入站”选项卡中,单击“编辑”,然后单击“添加规则”。指定您在启动数据库实例时使用的数据库端口。开始在源中键入运行 Task Runner 的资源所使用的安全组 ID 或 IP 地址。
  5. 点击保存。

http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-resources-vpc.html#dp-vpc-security-groups

关于amazon-rds - 无法建立与 jdbc 的连接 :mysql communication link failure,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46311096/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com