标签: amazon-rds

AWS CloudFormation RDS 实例无法创建 - 找不到 DBCluster

我正在使用 cloudformation 并遇到了 DBSubnetGroup 无法解决的问题。我的目标是构建一个简单的设置:

  • 具有两个子网的 VPC
  • 这些子网上的 RDS 数据库子网组
  • 该数据库子网中的 RDS 数据库集群
  • 该集群中的单个 RDS 实例

在cloudformation中,我不断收到错误:

Could not find DB Cluster: MyRDSClusterId (Service: AmazonRDS; Status Code: 
404; Error Code: DBClusterNotFoundFault; Request ID: ...)
Run Code Online (Sandbox Code Playgroud)

对我来说一切看起来都不错,cloudformation 说我的 DBCluster 已正确创建。我在这里做错了什么?任何对我做错了什么的见解将不胜感激。

这是我的云信息模板:

AWSTemplateFormatVersion: "2010-09-09"
Description: Stack with DBSubnetGroup, DBCluster, and one DBInstance
Resources:
  MyAppVPC:
    Type: AWS::EC2::VPC
    Properties:
      CidrBlock: 192.168.0.0/16
      EnableDnsSupport: true
      EnableDnsHostnames: true
      InstanceTenancy: default
  MyAppRDSSubnetA:
    Type: AWS::EC2::Subnet
    Properties:
      AvailabilityZone: us-east-1a
      VpcId: !Ref MyAppVPC
      CidrBlock: 192.168.0.0/24
      MapPublicIpOnLaunch: true
  MyAppRDSSubnetB:
    Type: AWS::EC2::Subnet
    Properties:
      AvailabilityZone: …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-rds aws-cloudformation

1
推荐指数
1
解决办法
4001
查看次数

如何在Mysql中检查用户是否需要SSL?

我正在使用 Mysql 版本 5.7.22 的 AWS RDS Mysql 实例进行测试。

为特定用户“root”请求ssl后(GRANT USAGE ON . TO 'root'@'%' REQUIRE SSL;"),这是 SHOW GRANTS for root 的结果;

+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Grants for root@%                                                                                                                                                                                                                                                                                                              |
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD,
  PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, 
 CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, 
 REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, 
ALTER ROUTINE, CREATE USER, EVENT, TRIGGER ON *.* TO 'root'@'%' 
 WITH GRANT OPTION |
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in …
Run Code Online (Sandbox Code Playgroud)

mysql ssl amazon-rds

1
推荐指数
1
解决办法
7740
查看次数

使用 Google App 脚本将 AWS RDS 连接到 Google Sheets 时出错

我正在尝试将 AWS RDS 连接到 Google Sheets,但我得到的只是

无法建立数据库连接。检查连接字符串、用户名和密码。

我已经尝试了跟踪器中找到的方法,即“使用端点主机地址的IP”,但仍然出现相同的错误,

我有:

  1. 设置 [RDS 设置 - 公共可访问性 - 开启] 并验证端点和访问详细信息适用于所有其他查看器(Navicat、Adminer 等)

  2. 在“RDS VPC-安全组”入站和出站中添加了所有需要的 google IP 白名单(请参阅: https: //developers.google.com/apps-script/guides/jdbc)。

这是我正在使用的代码:

var connectionName = 'x.x.x.x:3306'
var user = 'admin';
var userPwd = 'pass';
var db = 'dbname';

var dbUrl = 'jdbc:mysql://' + connectionName + '/' + db;

function readFromTable11() {
  var conn = Jdbc.getConnection(dbUrl, user, userPwd); //error here
  Logger.log(conn);
  var start = new Date();
  var stmt = conn.createStatement();
  stmt.setMaxRows(1000);
  var results = stmt.executeQuery('SELECT * …
Run Code Online (Sandbox Code Playgroud)

jdbc database-connectivity amazon-rds google-apps-script

1
推荐指数
1
解决办法
1575
查看次数

可公开访问的 rds 和公共/私有子网

在 AWS 中,如果我的子网中的 RDS 已关闭其公共可访问性功能,我是否需要担心将其子网设为私有?如果是这样,我该如何将子网设为私有?(假设之前是公开的)

amazon-ec2 amazon-web-services amazon-rds

1
推荐指数
1
解决办法
995
查看次数

PostgreSQL SSL 中客户端证书的要求

我是 DBA 角色的新手,第一次设置 SSL。我在本文的帮助下创建了一个密钥并生成了一个用于使用 openssl 进行测试的证书。本文说还要为客户端生成密钥和证书。我已经生成了它并针对本地服务器进行了测试。

我们有一个测试 aws rds 实例,我已经下载了此链接中提供的 RDS 证书。我可以使用以下命令连接到 rds 实例,而无需使用任何客户端密钥/证书。

psql -h somehost.rds.amazonaws.com -p 5432     "dbname=test user=testuser sslrootcert=rds-ca-2019-root.pem sslmode=verify-full"
Run Code Online (Sandbox Code Playgroud)

但是,如果我不指定 sslrootcert 那么我会收到以下错误

psql: root certificate file "/root/.postgresql/root.crt" does not exist
Either provide the file or change sslmode to disable server certificate verification.
Run Code Online (Sandbox Code Playgroud)

我想知道为什么我不需要 AWS 的客户端密钥和证书?

如果我们使用由证书颁发机构签名的证书,我们将不需要客户端密钥和秘密?

如果我们想要为所有客户端提供一个证书,我需要做什么额外的工作才能在生产中启用 SSL?

我想使用 sslmode=verify-full

postgresql ssl openssl amazon-rds postgresql-9.6

1
推荐指数
1
解决办法
1万
查看次数

“AWS RDS 数据库错误:ER_NO_SUCH_TABLE:表不存在” - 但相同的架构在本地 mysql/Nodejs 上运行良好

我有本地 Node.js,我已使用下面的代码连接到数据库(AWS RDS),它对于其他查询工作正常,但对于一个查询,它会出现错误,因为它不存在。我在本地测试了相同的代码,它运行得很好,但是当我将其上传到 AWS RDS 时,我仅在一个查询中收到此错误。如果我在这里遗漏了一些东西,请提出任何建议。

-snippet本地 Node.js 代码


    const express = require("express");
    const mysqlx = require("mysql");
    const jwt = require("jsonwebtoken");
    const auth = require("./verifyTokenExisting");
    const authNew = require("./verifyTokenNew");
    const cors = require("cors");
    const cookieParser = require("cookie-parser");
    const pdf = require("html-pdf");
    const pdfTemplate = require("./documents/pdfTemplate");
    const fs = require("fs");
    
    app.post("/api/invoice-all", (req, res) => {
    ........................................................
    
     connection.query("SELECT * FROM  users_basket WHERE users_user_id=?;", [user_id], function (err, results) {
          if (err) console.log("Error3", err);   // here the error is coming
          else { …
Run Code Online (Sandbox Code Playgroud)

mysql database mysql-workbench amazon-web-services amazon-rds

1
推荐指数
1
解决办法
6187
查看次数

您可以使用 AWS DMS 将 Aurora DB 从一个账户移动到另一个账户吗?

我正在尝试将 Aurora 集群从我们的一个帐户迁移到另一个帐户。实际上,我们没有很多写入请求,而且数据库本身也很小,但不知何故,我们决定最大限度地减少停机时间。

我研究了几种选择

  1. 使用快照:切断源数据库中的突变,拍摄快照,在另一个帐户中共享和恢复。这肯定会带来一些停机时间
  2. 使用Aurora克隆:切断源DB中的突变,克隆目标账户中的集群并切换到目标DB。根据AWS的说法,克隆比拍摄和恢复快照要快得多,因此停机时间应该更短。
  3. 我不确定是否可以使用 DMS 来执行此操作,因为我没有找到有关跨帐户移动 Aurora 的有用文档/教程。另外,我不确定 DMS 是否会在迁移过程中将任何写入请求同步到目标数据库。
  4. 如果 DMS​​ 无法实时同步,那么我可能应该使用 Bucardo 进行实时迁移。

postgresql database-migration amazon-rds amazon-aurora aws-dms

1
推荐指数
1
解决办法
2273
查看次数

AWS 安全组自定义 TCP 规则中端口 0 的含义

我在出站安全配置中有一个自定义 TCP 规则,端口范围为 0。这个 0 是否意味着它对规则中提供的 IP 范围的所有端口开放?当我将其更改为正确的端口(5432)号时,我遇到了将此 0 作为端口的问题,之后它工作正常。

amazon-web-services amazon-rds aws-security-group

1
推荐指数
1
解决办法
6759
查看次数

AWS DMS 任务在 CDC 模式下运行一段时间后失败

我在设置任务以初始迁移 + CDC 模式下将 RDS 数据库(PostgreSQL,引擎 10.15)中的数据迁移到 S3 存储桶时遇到问题。两个端点均已成功配置并测试。我已经创建了两次该任务,两次最多运行几个小时,第一次初始转储运行良好,并且也发生了一些增量转储,第二次仅初始转储完成并且没有增量转储在任务失败之前执行。

现在的错误消息是:

Last Error Task 'data-migration-bp-dev' was suspended after 9 successive recovery failures Stop Reason FATAL_ERROR Error Level FATAL_
Run Code Online (Sandbox Code Playgroud)

但就在第一次失败之后:

Last Error An internal WAL conversational protocol error has occurred. Task error notification received from subtask 0, thread 0 reptask/replicationtask.c:2859 1020452 Error executing source loop; Stream component failed at subtask 0, component st_0_data-migration-rds-bp-dev; Stream component 'st_0_data-migration-rds-bp-dev' terminated reptask/replicationtask.c:2866 1020452 Stop Reason RECOVERABLE_ERROR Error Level RECOVERABLE
Run Code Online (Sandbox Code Playgroud)

在 CloudWatch 日志中,我看到以下错误消息:

SOURCE_CAPTURE I: Streaming initiated …
Run Code Online (Sandbox Code Playgroud)

postgresql dms amazon-web-services amazon-rds wal

1
推荐指数
1
解决办法
1万
查看次数

AWS RDS 中数据加密的 KMS 中使用的密钥 Amazon 不能访问吗?

我是 AWS 新手。使用的应用程序和数据库都驻留在AWS服务器中。比如说,为了保护静态数据,我使用 KMS 服务加密我的数据库。但应用程序将有权访问密钥,因为应用程序必须访问数据库才能执行操作。那么这是否意味着密钥也驻留在 AWS 服务器中。这是否会反过来造成亚马逊可以访问此密钥或者 AWS 的任何其他客户可以破解此密钥的威胁。

security encryption amazon-web-services amazon-rds amazon-kms

1
推荐指数
1
解决办法
1302
查看次数