难以在AWS rds中找到区域名称
如何使用boto脚本获取AWS中所有RDS实例的名称.我想编写一个python脚本,该脚本获取所有区域,然后显示其dbinstances. 解决方案 以下应为您提供RDS的所有可用区域. import boto.rds regions = boto.rds.regions() 将返回RegionInfo对象的列表. [RegionInfo:us-east-1, RegionInfo:cn-north-1, RegionInfo:ap-northeast-1, RegionInfo:eu-west-1, RegionInfo:ap-southeast-1, RegionInfo:ap-southeast-2, RegionInfo:us-west-2, RegionInfo:us-gov-west-1, RegionInfo:us-west-1, RegionInfo:eu-central-1, RegionInfo:sa-east-1] 如
10 2024-04-03
编程技术问答社区
AWS Lambda RDS连接超时
我正在尝试使用连接到我的RDS数据库的node.js编写lambda函数.该数据库正在工作,并且可以从我的弹性豆茎环境中访问.当我运行该功能时,它会返回超时错误. 试图以完全相同的结果将超时最多增加5分钟. 一项研究之后我得出的结论是,这可能是一个安全问题,但在亚马逊文档或这是安全详细信息: RD和Lambda都位于同一安全组. RDS具有所有流量入站和出站规则. lambda在其角色中具有AmazonVpcfullaccess策略. 我的代码是: 'use strict'; console.log("Loading getContacts function"); var AWS = require('aws-sdk'); var mysql = require('mysql'); exports.handler = (event, context, callback) => { var connection = mysql.createCo
14 2024-03-22
编程技术问答社区
使用AWS CloudFormation添加一个选项组
我正在构建一个云形式模板,该模板将创建一个带有Multi-az选项的SQL Server数据库(使用RDS)(因此它在其他可用性区域中维护同步备用副本). 但是,要使这项工作,我需要将数据库实例与具有镜像选项的选项组相关联.无法找到如何使用云形式模板创建选项组的任何地方. 如何在云形式模板中创建选项组? 解决方案 到目前为止,云形式不支持选项组.如果需要在模板中创建数据库,则可以事先使用cli创建选项组并将其设置为参数.这样,您可以正确填充AWS::RDS::DBInstance资源的OptionGroupName值. 其他解决方案 复制组尚未由云形式模板支持.因此,创建外部python脚本的唯一可能方法将使用boto lib 创建复制组 示例如何创建redis复制组 import boto.elasticache import time import sys connection = boto.elasticache.connect_to_reg
12 2024-03-22
编程技术问答社区
通过CLI停止一个RDS实例
我正在尝试使用AWS的最新功能之一,它允许您停止RDS实例. 我跟随我在哪里解释了我在哪里解释.需要运行命令: aws rds stop-db-instance --db-instance-identifier mydbinstance但是,当我这样做时,我得到了: usage: aws [options] [ ...] [parameters] To see help text, you can run: aws help aws help aws help aws: error: argument operation: Invalid choice, valid choices are: add-role-to-db-cluster | add-source-identifier-to-
8 2024-03-22
编程技术问答社区
生产中RDS的Mysql debezium连接器导致死锁
我们正在创建一个从RD中的MySQL到弹性搜索的数据管道,以创建搜索索引, 为此,使用Debezium CDC及其MySQL源和弹性水槽连接器. 现在,由于MySQL在RDS中,我们必须授予我们想要CDC的两个表的MySQL用户锁表,如文档中所述. 我们还有其他各种MySQL用户执行交易,这可能需要两个表中的任何一个. 一旦我们将MySQL连接器连接到生产数据库,就会创建一个锁,整个系统都倒塌了,在意识到这一点之后,我们很快就停止了Kafka并卸下了连接器,但是锁仍然在增加,仅在增加了锁.通过阻止我们的生产代码运行并手动杀死流程后,解决了所有新查询之后. 这可能是什么原因,我们如何防止这种原因? 解决方案 我只是在猜测,因为我不知道您的查询流量.我认为您看到的锁会增加,是一直在等待桌子锁定的查询的积压. 我的意思是以下顺序是我相信发生的事情: Debezium在您的两个表上启动桌子锁. 该应用程序仍在工作,它正在尝试执行访问这些锁定表的查询.
18 2024-02-28
编程技术问答社区
寻找ansible RDS实例
我正在尝试动态使用Ansible我的EC2实例进行配置.我遇到问题,弄清楚如何找到我的RDS实例.我可以设置关键标签,但Ansible Ec2.py不会捡起它们(因此,例如,我想要一个用于生产,分期和仅进行测试的RDS实例. 解决方案 如果您的意思是Ansible Ec2.Py库存脚本不会访问RDS实例,那么是的,我相信您只会找到EC2实例. 我们有一个类似的设置,其分期和生产环境具有单独的RDS实例.我们解决的方式是针对需要与MySQL数据库运行的任何剧本/角色,我们将它们与魔术主机" Localhost"相对,并在变量中设置了RDS端点.我们每个环境使用一个单独的变量文件,然后在播放开始时加载它们. ,例如 |--vars/ | |--staging.yml | |--production.yml | |--playbook.yml 示例" production.yml"文件: --- DB_SERVER: database-e
6 2024-02-26
编程技术问答社区
是否可以为waitUntilDBInstanceAvailable()注册一个回调函数?
我正在将AWS SDK用于PHP,并具有命令行工具,等待使用$this->rdsClient->waitUntilDBInstanceAvailable([ 'DBInstanceIdentifier' => 'test' ]); 是否有一种注册回调函数的方法,以便每次SDK Polls RDS,我的回调函数都被称为? 类似: $this->rdsClient->waitUntilDBInstanceAvailable([ 'DBInstanceIdentifier' => 'test', 'CallbackFunction' => function() { echo '.'; } ]); 这会给用户提供有关脚本仍在等待的事实,并且没有任意挂起的事实. 文档说: 输入阵列使用DiccitionBinstances操作和服务员特定设置的参数 ,但我找不到这些服务员特定设置是什么. 解决方案 有一
12 2024-01-26
编程技术问答社区
如何从Yii2连接到RDS数据库?
我已将基于YII2的应用程序部署到AWS Elastic Beanstalk上,我也在Elastic Beanstalk上使用数据库(已经具有表格)创建了RDS实例.但是我收到了此错误:" sqlstate [hy000] [2002] php_network_getaddresses:getAddrinfo失败:名称或服务未知" 所有文件都正确上传到AWS实例. file/common/config/main-local.php具有: 'components' => [ 'db' => [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=', 'dsn' => 'mysql:host=RDS_HOSTNAME:RDS_PORT;dbname=RDS_DB_NAME', 'username' => 'R
28 2024-01-26
编程技术问答社区
我的加密的AWS数据库真的被加密了吗?
我正在尝试AWS,创建MySQL加密数据库.我已经在那里迁移了一个数据库,以使用应用程序对其进行测试,并注意到数据完全可以读取,尽管AWS中的配置说数据库已加密.我只是想知道这是否应该是这样.对此感到怀疑.我使用MySQL标准客户端进行了连接,因此我没想到它是可读的.关于此的任何线索都很棒. 解决方案 一个加密的数据库仅表示永久存储上的文件已加密.他们将不得不被解密以进行查询.然后,解密的信息将留在记忆中,以避免旧的安全性格适用:如果您的对手有物理访问权限,则所有赌注都关闭.因此,如果要保护数据库内容,则必须将其放在只有 you 的计算机上.
20 2024-01-26
编程技术问答社区
无法用MYSQL工作平台连接到亚马逊RDS
我与MySQL Workbench连接RDS实例 我会遵循错误 无法在'visitorbook.cdokqvroltrt.us-west- 2.rds.amazonaws.com上连接到mySQL Server'(10060) 我已经为端口3306的IP配置了我的安全组. 解决方案 使用pem文件,通过EC2实例使用ssh tunnel.无需更改安全组.如果DB连接起作用形式为EC2实例,则它也将从本地机器起作用. 您可以在Workbench连接设置中设置SSH隧道选项.
22 2024-01-26
编程技术问答社区
为什么我的AWS RDS备份保留的时间比配置更长?
我已经配置了RDS以保留备份(快照)1天,但是我总是看到保留了3天的备份.为什么? 解决方案 问:为什么我的自动化数据库快照比天数更多 在我的DB实例的保留期内? 与比 保留期间的天数.一个额外的自动快照 保留以确保执行时间恢复的能力 在保留期间的任何时间.例如,如果您的备份 窗口设置为1天,您将需要2个自动快照 支持在前24小时内恢复任何内容.您可能还会看到 作为新的自动快照时,其他自动快照始终是 在删除最古老的自动快照之前创建. 其他解决方案 我刚刚了解到它可以 比这更糟. 在我的情况下,保留在1天的情况下保留了11个(SIC!)备份..... 这是因为有关机器是一台接受机器,通常每天运行几个小时(弹性!).不幸的是,有关DB的是800GB,这使这些副本相当昂贵! 从那时起,我了解到 1天的保留期实际上是一个24小时的保留期,仅计算"运行"状态小时 ....... . As stated in the documentation (foll
18 2024-01-26
编程技术问答社区
为什么我不能停止RDS实例?
我在同一VPC中启用了两个RDS实例.两者都是postgresql. 虽然M4.xlarge One已启用了多个AZ并加密. T2.Micro具有.这是两个实例之间的唯一区别.奇怪的是,T2.Micro实例可以停止,但M4.xlarge不能.对于M4.xlarge的"停止"选项是灰色的. 解决方案 您无法停止在多AZ部署中的DB实例. 最新/userguide/user_stopinstance.html 修改实例,以便它不再是多动物.修改完成后,您应该能够停止它.重新启动后,您可以将其切换为多动物. 其他解决方案 现在可以在多AZ模式下停止RDS 还注意,它只能停止长达7天 您可以一次停止数据库实例长达7天. 7天后,它将自动启动 其他解决方案 您可以停止RDS DB实例,除了多动剂配置中的SQL Server DB实例. 您应该知道一些局限性: 限制 以下是停止和启动DB实例的一些局限性: 您不能停止具有读取副本的DB实例,
14 2024-01-26
编程技术问答社区
将RDS数据导出到S3/Glacier
我想将数据从Oracle RD导出到S3,然后将其移至冰川.我的最终目标是将存储在RDS中的数据备份到S3和冰川,以满足合规性要求.任何人都可以提出实现最佳方法的最佳方法. 解决方案 RDS快照存储在S3中,但是您无法下载它们或在它们上设置策略,以将它们备份到冰川. 所以,您必须手动执行此操作.设置一个具有足够磁盘空间的实例,以存储数据库的转储.编写一个连接到您的RDS实例的脚本(最好是某种副本,而不是主复制品)并转储所有数据.压缩它,然后将其上传到S3中的备份存储桶中. 您可以设置生命周期策略S3存储桶,然后将备份存储在冰川中.如果将对象设置为冰川存储,则无法立即下载. 其他解决方案 您可以使用AWS API在S3存储桶之间复制数据. 如果您可以访问带有RDS备份的存储桶,请使用/a>使用策略将其复制到新的S3存储桶中. 其他解决方案 使用AWS数据管道,您可以从RDS中的表(不确定Oracle,需要检查)将数据(行)复制到Amazon S3存储桶中
16 2024-01-26
编程技术问答社区
AWS RDS中max_connections的值
有人知道我可以在AWS RDS中找到MAX_CONNECTIONS的最高价值吗?我主要对运行MySQL的DB.T2实例感兴趣. 我找不到任何适当的链接. 谢谢! 解决方案 作为 @error2007S指出,您可以在控制台中找到它,以完成更通用的方式: T2.Micro 66 t2.small 150 m3.medium 296 t2.Medium 312 m3.large 609 t2.large 648 M4.large 648 m3.xlarge 1237 r3.large 1258 m4.xlarge 1320 m2.xlarge 1412 m3.2xlarge 2492 r3.xlarge 2540 取自在这里 其他解决方案 当您转到RDS的配置详细信息时,您会在详细信息中找到一个参数组.单击该参数组. 在该参数组中搜索max_connections您将获得值.
18 2024-01-26
编程技术问答社区
AWS RDS证书授权更新
我最近收到了一封电子邮件,内容涉及对我的RDS证书授权的必需更新. RDS方面的说明似乎很简单: https ://docs.aws.amazon.com/amazonrds/latest/userguide/usingwithrds.ssl-certificate-rotation.html 但是,在步骤4上,有一条重要的消息:"当您安排此操作时,请确保您已事先更新了客户端信任商店." 我似乎找不到有关更新连接到RD的服务器的任何信息. 我的设置是beanstalk上的EC2实例. 有人知道我应该怎么做吗? 谢谢. 类似的问题:更新Amazon RDS SSL/TLS证书> 解决方案 基本上,仅当您使用从应用程序到RDS服务器的SSL连接时,才需要安装认证.不管SSL连接如何,建议更新服务器的证书,但是当您不使用SSL连接到RDS时,这不是必需的. 服务器端用法 使用SSL连接时,应尽快更改RDS服务器的证书.转到RDS控制台,然后您
10 2024-01-26
编程技术问答社区
更新亚马逊RDS的SSL/TLS证书-Elastic Beanstalk
aws最近宣布需要: 在2019年10月31日之前更新您的Amazon RDS SSL/TLS证书 我有一个带有经典的弹性豆键负载平衡器托管的导轨应用程序,该应用程序使用RDS连接到Postgres DB. 根据亚马逊所需的步骤是: 从使用SSL/TLS加密到DB实例的连接中,下载新的SSL/TLS证书. 更新您的数据库应用程序以使用新的SSL/TLS证书. 修改DB实例将CA从RDS-CA-2015更改为RDS-CA-2019. (由于我的负载平衡器这样设置(通过HTTP端口80(不是SSL)连接到我的EC2实例,这是否意味着我不需要遵循步骤1和2?仅遵循步骤3? 还是我必须下载更新的证书并将其安装/添加到我的负载平衡器或EC实例中?不知道该怎么做. 解决方案 仅在您的应用程序 不要更改lb tls 设置可能会破坏您的应用程序, lb tls 是另一回事,其中 rds tls 是其他的. 如果您的应用程序只是创建平原连接,则可以直接
从亚马逊MySQL RDS本地导入转储时,MySQL语法错误?
当我从Amazon RDS创建数据库转储时,然后尝试在本地导入它时,结果为ERROR 1064 (42000) at line 54. 在第54行中有以下语句: CREATE TABLE account_emailconfirmation ( 用于转储使用的命令是: mysqldump -u user -h host.rds.amazonaws.com -p --default-character-set=utf8 --result-file=sync.sql database_name 用于导入的命令是: mysql --user=root -p mpl -vv
12 2024-01-25
编程技术问答社区
AWS rds-如何在Java应用程序中从一个读副本中读取数据?
我是AWS的新手. 我有一个mySQL RDS实例,我刚刚创建了2个读取副本.我的应用程序是用java编写的,到目前为止,我已经完成了我已连接到一个AWS实例的JDBC,但是现在如何在3个服务器周围分发工作? 解决方案 您可以设置,或者如果您冒险,可以使用Nginx,haproxy或类似的东西来设置自己的内部负载平衡器.无论哪种情况,您的LB都会在端口3306上收听. 其他解决方案 aws建议建立53号公路.这是有关该主题的官方文章 https://aws.amazon.com/premumsupport/knowledge-center/requests-rds-read-read-replicas/ 其他解决方案 如果您可以选择使用Spring Boot和spring-cloud-aws-jdbc 您可以在此工作示例中查看和说明此 post
16 2024-01-25
编程技术问答社区
如何改变AWS RDS中Postgresql的 "数据库名称"?
我想创建一个生产数据库的复制,用于分期并从生产快照中创建登台DB实例.但是,这个新实例仍然具有数据库名称:"生产数据库".我能够将PSQL上的数据库重命名为" staging-databse",但这并未在AWS控制台中反映出来.恐怕未来的开发人员会非常困惑,并且很奇怪,如何重命名AWS上的"数据库名称"? 解决方案 不立即明显 - 创建新的DB时展开附加配置卡以创建初始DB名称 其他解决方案 我为小型测试创建了一个新的免费层实例,这是我在配置中看到的DB名称: 我到处都看,但无法弄清楚我的数据库名称是什么或如何创建初始数据库.事实证明,数据库名称为postgres.还值得注意的是,我保留了默认用户名,因此在这种情况下,用户名和数据库名称相同.如果您更改了默认用户名,并且postgres不起作用,也可以尝试使用用户名作为数据库名称. 其他解决方案 不要使用默认数据库选项.它所做的只是默认情况下创建一个自定义的数据库.可能有使用它,但我从不使用它,因为它似乎没有
10 2024-01-25
编程技术问答社区
在RDS管理控制台无法命名数据库
我正在创建一个RDS PostgreSQL 10.6实例,当我命名时,名称不能保存. 我可以在创建实例时添加数据库名称: 但是,在创建该名称后似乎没有保存: 注意DB name是空白的. RDS错误还是我缺少某些内容? 解决方案 尽管我没有找到我的自定义名称不应用的原因,但默认数据库名称为postgres,所以现在我可以与我的客户端连接
6 2024-01-24
编程技术问答社区