【问题标题】:Creating RDS MySql Read Replica from aws lambda从 aws lambda 创建 RDS MySql 只读副本
【发布时间】:2021-07-22 15:26:12
【问题描述】:

我正在创建一个 python 脚本来创建只读副本。这是我写的代码。

 import boto3
 def lambda_handler(event, context):
     client= boto3.client('rds')
     client.create_db_instance_read_replica(
     DBInstanceIdentifier='database-replica',
     SourceDBInstanceIdentifier='database-1',
     )

我收到此错误:

errorMessage": "Connect timeout on endpoint URL: \"https://rds.ap-southeast-2.amazonaws.com/\""

我已经配置了我认为需要的所有 IAM 角色。任何人都可以有类似问题的经验。

【问题讨论】:

  • 您似乎已将 Lamba 函数置于无法访问 Internet 的子网中。
  • 不是这样,所有子网都有路由连接到互联网网关
  • 您能否确认您已将 lambda 附加到私有子网。在访问 Internet 时,Lambda 需要 NAT 网关才能访问 Internet。
  • 要访问私有 Amazon VPC 资源,例如关系数据库服务 (Amazon RDS) 数据库实例,请将您在 Amazon VPC 中的 Lambda 函数与一个或多个私有子网关联。参考 - aws.amazon.com/premiumsupport/knowledge-center/…
  • 不,子网是公有子网。

标签: python-3.x amazon-web-services aws-lambda boto3


【解决方案1】:

要访问私有 Amazon VPC 资源,例如关系数据库服务 (Amazon RDS) 数据库实例或 Amazon Elastic Compute Cloud (Amazon EC2) 实例,请将您在 Amazon VPC 中的 Lambda 函数与一个或多个私有子网相关联。

要授予对您的函数的 Internet 访问权限,其关联的 VPC 必须在公共子网中具有 NAT 网关(或 NAT 实例)。

并确保您的 RDS 安全组具有自引用。 [意味着将自己的安全组附加到自己]

Ref

【讨论】:

  • 很高兴它对您有所帮助。
猜你喜欢
  • 2014-05-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-19
  • 1970-01-01
  • 1970-01-01
  • 2020-12-07
相关资源
最近更新 更多