当您创建新的Amazon RDS实例时,会提供选择“公开访问”选项的真/假, 对于现有实例是否可以更改此设置?
对于现有实例,您可以通过转到AWS管理控制台,选择要更改的实例,然后在“连接”部分中更改“公开可访问性”选项来更改此选项。
当您创建新的Amazon RDS实例时,会提供选择“公开访问”选项的真/假, 对于现有实例是否可以更改此设置?
对于现有实例,您可以通过转到AWS管理控制台,选择要更改的实例,然后在“连接”部分中更改“公开可访问性”选项来更改此选项。
编辑:是的,现在可以将“公开访问”属性从“否”更改为“是”(反之亦然)。太好了!
为了历史纪录保留旧答案:
不行。
不过这确实很不错,对吧?作为解决方法,您最好选择以下选项:
证据:
在寻找同样答案时,我偶然发现了这个。遗憾的是,看起来10个月后仍然是“不行”的——您不能将现有的数据库更改为公开可用。
然而,您可以接近......虽然它不是公开可用的,但对于您在同一VPC中启动的EC2实例是可用的。并且您可以通过EC2实例从计算机设置SSH隧道到该数据库,有效地使您可以访问该实例,而无需从快照重新启动它。
您没有指定计算机的操作系统,因此我方便地假设您使用Linux ......
首先,启动一个EC2实例,通过安全组为其提供访问RDS实例的权限,确保您可以登录到该EC2实例,并确保您可以从该EC2实例访问RDS数据库。如果其中任何一个失败了,则其余步骤都无法工作。
接下来,设置一个隧道:
ssh -v -N -L 1234:rds.endpoint:3306 yourec2username@your.ec2.host
rds.endpoint是您的RDS实例的URL,your.ec2.host是您的EC2实例的主机名,yourec2username是您在EC2主机上的用户名。
然后,您可以使用以下方式连接到RDS实例
mysql -p -u dbuser -h 127.0.0.1 -P 1234 dbname --password=dbpassword
希望这能帮助到下一个碰巧遇到这个问题的人...虽然这是一个老问题,但这可能对某些人有所帮助。
不需要删除和恢复数据库,只需在AWS控制台中打开DB实例,单击修改
,查找附加连接配置
,然后那儿只有两个选项公开访问
和非公开访问
。选择您的选项,等待几秒钟,以便修改应用于您的实例,就完成了。
欲了解更多信息,请查看官方文档
看起来AWS现在允许更改可访问性属性。然而,数据库似乎已经被修改,在此期间可能会出现连接问题。
我没有找到任何关于此的博客/新闻文章。但是在我的账户中,我可以这样做。
首先找出您所在的VPC。
如果您希望使RDS实例公共可访问,则必须在DNS主机和解析中启用VPC属性。
您可以使用参数PubliclyAccessible
来设置此项,该参数将解析为公共IP地址。
这是来自AWS文档的内容:
Amazon RDS支持两种VPC平台:EC2-VPC和EC2-Classic。除非您另有指定,否则所有新的DB实例都将在EC2-VPC平台的默认VPC中创建。EC2-Classic平台没有默认VPC,但与任何平台一样,您可以创建自己的VPC并指定DB实例位于该VPC中。
目前,Cloudformation工具中没有“PubliclyAccessible”变量。因此,如果您正在使用CloudFormation模板部署RDS,则无法更改此参数。默认情况下为“No”。但是,如果您使用AWS控制台,则可以选择将“Publicly Accessible”值从默认值“No”更改为“Yes”。我认为AWS应该更新cloudformation的“AWS::RDS::DBInstance”函数以包含此参数。
谢谢。