繁体   English   中英

AWS RDS 通过动态 IP 保持用户访问

AWS RDS keep user access with dynamic IP

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

在 AWS rds 上,我添加了一些 postgres 用户。 有需要 IP 地址才能访问数据库实例的Security groups吗?

因此,如果用户有 static IP 地址,那么我将添加一次,没有问题。

但如果用户有动态地址,我看到的唯一方法是定期更新 IP 以保持用户有效连接。

我的问题是:是否有可能保持动态 IP 用户的有效连接,而无需手动更新安全组数据?

谢谢 !

2 个回复

以下是一些选项;

  1. 使用堡垒主机连接 Ec2

  2. 如果用户使用固定私有 IP CIDR的办公网络/VPN 连接,则允许安全组中的 IP CIDR入站 注意:* 这可能会打开对您组织更广泛的专用网络的访问。 仅当您从组织私有网络获得该 AWS VPC 连接时,RDS 才能在本地使用。

基于@amitd 的回答,您可以并且应该使用堡垒主机,但是您仍然需要将该主机打开到您的动态 IP。 要将仅允许访问该主机的 IP 地址更新到我分配的 IP 我使用以下脚本

#! /bin/bash

# This script makes it easier to maintain security groups that allow SSH access
# from a computer with a dynamic IP, such as a computer on a home network or ISP.
#
# Using the script will allow you to SSH to an EC2 without having to allow
# access to the whole world (0.0.0.0/0). If you run this script whenever your IP
# changes then the security groups in your account specified by your AWS profile
# will be updated.
#
# The script will find any security groups for your current profile that are
# tagged with a Tag with a Key of "ssh-from-my-ip" and a case insensitive value
# of "true" or "yes".
#
# For each security group found it will revoke any existing tcp ingress on
# port 22 and authorize ingress on port 22 for your current IP.
#
# Dependencies - AWS CLI and jq


# need my current ip
MY_IP=$(curl --silent https://checkip.amazonaws.com)
echo "Your IP is ${MY_IP}"

# need security group id(s) and existing CIDR for the SG
pairs=$(aws ec2 describe-security-groups | aws ec2 describe-security-groups | jq -c '.SecurityGroups[]? | select( (.Tags[]? | select(.Key == "ssh-from-my-ip") | .Value | test("true|yes"; "i"))) | if .IpPermissions | length == 0 then {sg: .GroupId, cidr: null } else {sg: .GroupId, cidr: .IpPermissions[].IpRanges[].CidrIp} end')

for p in $pairs
do
  SG=$(echo "$p" | jq -r '.sg')
  OLD_CIDR=$(echo "$p" | jq -r '.cidr')

  echo "Updating security group ${SG}"
  if [[ $OLD_CIDR != 'null' ]]
  then
    echo "Revoking ingress permission for ${OLD_CIDR} in security group ${SG}"
    # remove the existing ingress permission
    aws ec2 revoke-security-group-ingress \
        --group-id "${SG}" \
        --protocol tcp \
        --port 22 \
        --cidr "${OLD_CIDR}"
  fi

  # authorize my new IP CIDR
  NEW_CIDR="${MY_IP}"/32
  echo "Authorizing ingress permission for ${NEW_CIDR} in security group ${SG}"
  aws ec2 authorize-security-group-ingress --group-id "${SG}" --ip-permissions '[{"IpProtocol": "tcp", "FromPort": 22, "ToPort": 22, "IpRanges": [{"CidrIp": "'"${NEW_CIDR}"'", "Description": "Rule0"}]}]'
done
1 无法在 AWS 中使用 JDBC 访问 RDS

我发现很难使用 JDBC 连接连接到 RDS,我能够通过 MYSQL 工作台连接,我将我的 WAR 文件部署在运行 tomcat 的 WS 中,这个 WAR 文件有我的 JDBCcode 连接到 RDS,但我什至无法建立连接。 我的代码如下: - 我包含了所有必要的 jar 文件和规则安全组,但 ...

2 允许从IP地址或IAM用户进行访问的AWS访问策略

我正在使用AWS Elasticsearch,并且需要设置访问策略以允许从固定IP访问以访问Kibana和Web界面。 我还希望允许特定的用户访问密钥能够从任何IP访问它,因为将从我们的服务器中插入记录。 所以它归结为创建一个策略,我需要一个or关系IP和ARN 。 这是我的IP政 ...

4 AWS-java.sql.SQLException:对用户“ @'ip”的访问被拒绝(使用密码:是)[重复]

这个问题已经在这里有了答案: 授予数据库 10个答案的“ 所有”特权 我正在尝试创建一个简单的Sprint引导应用程序,该应用程序连接到在AWS云中的RDS上运行的mysql实例,如此处所述 。 我已经创建了数据库实例,甚至可以从本地mysql命令行客户端连接到该 ...

5 AWS无法从网络访问RDS(Postgres)

我从X国家的家中,在RDS上创建了一个Postgres数据库,目前我在Y地区,无法访问该数据库。 我收到连接超时响应。 该数据库设置为可公开访问。 我想这与子网/ ACL或类似的东西有关。 由于我不熟悉AWS,因此希望获得快速修复的帮助。 我需要数据库来评估项目,稍后我计划更深入地研究 ...

6 AWS通过PHP在VPC中访问RDS

我在AWS ,灯架连接到RDS 。 我可以使用SSH通过MySQL Workbench安全组从MySQL Workbench连接到RDS。 但是...现在我需要使用PHP与外界联系,我似乎遇到了一些问题。 通常我会像这样使用sqli连接到RDS: 但是,由于新实例位于RDS的 ...

7 AWS无法访问RDS实例

我有一个可公共访问的AWS RDS实例(PSQL)。 为了进行测试,我附加了一个在端口5432上都可以访问0.0.0.0/0的安全组。 我的VPC已连接Internet网关,并且具有以下功能 如果我尝试连接到实例,则会出现网络超时,并且我的请求似乎被阻止。 但是我没有发现其他应该阻 ...

8 RDS-指定可以访问RDS实例的IP地址

遵循AWS文档之后,我能够成功创建RDS数据库实例(PosgreSQL),并且想知道是否可以创建一个规则来限制可以访问数据库的允许IP地址。 老实说,我不知道从这里再次开始。 我在AWS文档中的某个地方迷失了大约2个小时。 如果有人能指出我有用的信息,我将不胜感激。 我在RDS中 ...

10 您如何从AWS访问RDS数据库

我正在查看AWS API,但似乎找不到一种方法来帮助我获取有关现有RDS数据库的信息。 我还尝试使用一种方法来获取所有RDS数据库的列表,但此操作也失败了。 我查看了2种方法,显然它们不是我想要的,或者我使用的方法不正确。 方法1:我查看了ModifyDBInstanceReque ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM