【问题标题】:How to add the ip of an instance in a vpc to the security group of rds ec2 classic instance with aws cli如何使用aws cli将vpc中实例的ip添加到rds ec2经典实例的安全组
【发布时间】:2020-03-27 22:09:42
【问题描述】:

我描述的场景与此处Unable to add Ec2 VPC Security group in Non VPC RDS MySQL Security group? 或此处Adding Spot Instances to the Security Group of an RDS Instance 所描述的不同: 我在 ec2 vpc 中有很多点,我想让您访问 ec2 经典中的 rds 数据库。就像第二个链接一样,我的景点不时更新,我必须能够将草坪机器的 ip 添加到 rds 实例的安全组中。

可以从控制台进行配置并且工作正常,只需转到您的 rds 实例的安全组并添加一个带有 CIDR/IP 的规则。

但是通过 cli 使用以下命令执行此操作: aws rds authorize-db-security-group-ingress --db-security-group-name default --cidrip xxx.xx.x.xxx/32

我收到此错误: HTTPSConnectionPool(host='ec2.eu-west-1c.amazonaws.com', port=443): Max retries exceeded with url: / (Caused by NewConnectionError('<botocore.awsrequest.AWSHTTPSConnection object at 0x__________>: Failed to establish a new connection: Errno -2] Name or service not known',))

详情

  • 我创建了一个具有以下权限边界的 IAM 用户:AuthorizeDBSecurityGroupIngress

  • spot vpc 和 rds ec2 经典实例都在同一个 eu-west-1c 可用区。

在命令的文档中不要特别指定你不能做https://docs.aws.amazon.com/cli/latest/reference/rds/authorize-db-security-group-ingress.html。同样奇怪的是,它可以从控制台而不是从 cli 完成。

我不知道我错过了什么,有什么想法吗?

【问题讨论】:

    标签: amazon-web-services amazon-ec2 amazon-rds aws-cli


    【解决方案1】:

    还有另一种使用安全组的方法,您可以使用安全组 ID,而不是使用 IP。

    例如:

    您创建了一个新的安全组,我们称之为“MySpecialSG”。请勿在此 SG 中添加任何规则。

    然后创建一个新的SG,我们称之为“Allow my Other SG”。现在您将添加一个入站规则,但不是使用 IP,而是使用“MySpecialSG”组 ID 和您需要的端口。

    最后一个 SG 是您将分配给数据库实例的那个。

    【讨论】:

    • 问题是我要添加的 ips 来自 vpc 中的实例,并且数据库在 ec2 经典中。 rds 实例不允许我添加 ec2 classic 以外的安全组。如果我尝试在 ec2 classic 中创建一个使用 vpc 安全组 ID 添加规则的安全组,我会收到此错误:An error occurred creating your security group. You may not define rules between a VPC group and a non-VPC group (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: cf39eaf2-5350-4ac0-81d5-c753c83....)
    • 我没有使用经典。但是我会尝试使用代理并让您的所有实例都使用该代理。然后在您的安全组上,您将指定代理的 IP。
    • 这是我想避免的选项,但我认为这是我必须解决此问题的唯一选项。奇怪的是官方文档并没有明确说明不能这样做。感谢吉列尔莫的贡献。
    【解决方案2】:

    我终于解决了这个问题。解决方案是我没有添加 IAM 用户凭证以及执行该操作所需的访问策略。

    要通过实例的用户数据使用 aws cli,您必须将该 IAM 用户的凭证导出为环境变量。

    信息:

    【讨论】:

      猜你喜欢
      • 2016-08-30
      • 1970-01-01
      • 2017-04-13
      • 1970-01-01
      • 2019-01-05
      • 1970-01-01
      • 1970-01-01
      • 2020-10-16
      • 1970-01-01
      相关资源
      最近更新 更多