kan*_*kan 2 amazon-rds amazon-data-pipeline
我一直在尝试在 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
Run Code Online (Sandbox Code Playgroud)
我相信问题是我需要允许数据管道访问我的 MySQL RDS,但不知道如何实现。我将myEc2RdsSecurityGrps字段设置为 EC2 > 安全组下为 RDS 实例列出的安全组名称,但这没有帮助。
RDS 实例的值IAM DB Authentication Enabled设置为“是”。
此外,这里的 IAM 角色非常新,但创建的两个角色如下:(Roles > Create Role > Data Pipeline > EC2 Role for Data Pipeline为 Data Pipeline 启动的 EC2 实例提供对 S3、DynamoDB 和其他服务的访问)以及Roles > Create Role > Data Pipeline > Data Pipeline(允许 Data Pipeline 和 Data Pipeline 管理的 EMR 集群调用 AWS 服务)代表你)。
我是不是少了一步?
RDS 实例的安全性应向 Datapipeline 中 EC2 任务运行程序的安全组开放数据库端口。
为 VPC 中的 EC2 实例创建安全组
记下新安全组的 ID。
如果您在自己的计算机上运行 Task Runner,请记下其公共 IP 地址(采用 CIDR 表示法)。如果计算机位于防火墙后面,请记下其网络的整个地址范围。稍后您将需要此地址。
接下来,在资源安全组中创建规则,允许任务运行程序必须访问的数据源的入站流量。例如,如果 Task Runner 必须访问 Amazon Redshift 集群,则 Amazon Redshift 集群的安全组必须允许来自该资源的入站流量。
向 RDS 数据库的安全组添加规则
| 归档时间: |
|
| 查看次数: |
15811 次 |
| 最近记录: |