标签: amazon-rds

将文件从 s3 存储桶传输到亚马逊 RDS 数据库

我正在尝试将数据从 s3 存储桶加载到亚马逊 RDS 数据库。我知道这不是编程问题。但我真的很感激帮助。我使用了下面的代码:

aws rds restore-db-instance-from-s3 ^
--allocated-storage 250 ^ 
--db-instance-identifier myidentifier ^
--db-instance-class db.m4.large ^
--engine mysql ^
--master-user-name masterawsuser ^
--master-user-password masteruserpassword ^
--s3-bucket-name mybucket ^
--s3-ingestion-role-arn arn:aws:iam::account-number:role/rolename ^
--s3-prefix bucketprefix ^
--source-engine mysql ^
--source-engine-version 5.6.27
Run Code Online (Sandbox Code Playgroud)

但是我收到了以下错误,尽管我给出了正确的 ARN 编号:

“An error occurred (InvalidParameterValue) when calling the   RestoreDBInstanceFrom S3 operation: IAM role ARN value is invalid or does not include the   required permissions for: S3_SNAPSHOT_INGESTION”
Run Code Online (Sandbox Code Playgroud)

对此有何评论?

谢谢

amazon-s3 amazon-web-services amazon-rds

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

将 AWS Cognito ID 链接到 AWS RDS 实例

我对 AWS 还很陌生,我尝试设计第一个 API。我倾向于使用 AWS 的以下元素:Cognito(用于用户身份验证)、Lambda(用于 REST API)和 RDS(用于 postgres)。我开发了一个实体关系模型,其中包括一个用户实体。这个实体将有一个idemailpasswordname(以及其他一些东西)。

  1. 问题:这个实体可以在 Cognito 中存储/处理吗?

该实体应该有一个 id,它将在 erm 图中的其他部分用作外键。

我想要的是:用户实体将完全由 Cognito 处理,用户的 id 可以在我的 RDS 中使用。

  1. 问题:这可能吗?

Afaik Cognito 仅支持 Facebook、Google 和 Amazon 帐户。但我也可以添加我自己的身份验证方法。所以我必须走这条路。

  1. 问题:这些实体将存储在哪里?这可以由 Cognito 处理还是我必须将用户实体存储在我的 RDS 中?如果是这样,我为什么需要 Cognito?

amazon-web-services amazon-rds aws-lambda aws-cognito

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

如何使用 Terraform 在 RDS MySQL 上执行 SQL 脚本?

我创建了aws_db_instance使用 Terraform 配置来配置 RDS MySQL 数据库。现在我的下一个问题是在 RDS 上执行 SQL 脚本(CREATE TABLE 和 INSERT 语句)。我做了以下但没有效果。terraform plan甚至看不到我在执行 sql 时所做的更改。我在这里错过了什么?谢谢。

resource "aws_db_instance" "mydb" {
  # ...

  provisioner "remote-exec" {
    inline = [
      "chmod +x script.sql",
      "script.sql args",
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-rds terraform

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

AWS MySQL RDS 故障转移 - 复制滞后处理?

在正常的 MySQL 复制设置中,当主服务器出现问题时,从服务器可能会滞后并且没有最新数据。

在 AWS RDS 中,当从站自动提升为主站时,会提出以下问题:

  1. 滞后的数据会永远丢失吗?
  2. 如果主DB又up了,会不会有冲突?
  3. 在我的应用程序中,我是否需要在查询数据库时进行一些特殊处理?

mysql replication amazon-web-services amazon-rds

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

无法在 pgAdmin 4 上查询数据,但它可以使用 psql 和 Python

我在 rds 上创建了一个 postgresql 数据库,我可以在终端上使用 psql 或在 Python 上使用 sqlalchemy 连接和查询它。使用 pgAdmin4 时,我无法查询或可视化数据,但可以创建/更改表、导入数据、...

我也尝试将它连接到 Metabase 和 DBeaver,但连接超时。

任何想法为什么会发生这种情况?

我还使用 pgAdmin3 连接了数据库,并且能够可视化数据并查询它,但是由于我使用的是 postgresql 11.4,pgAdmin3 不完全支持它。

当我在 pgAdmin 4 上打开查询工具时,我收到以下消息:

无法向服务器发送数据。套接字未连接无法发送启动包:套接字未连接。

postgresql amazon-rds pgadmin dbeaver

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

连接到 AWS Aurora 集群时偶尔出现“名称解析暂时失败”

我正在运行 Amazon Web Services RDS Aurora 5.6 数据库集群。有几个 lambda 与这些数据库实例对话,它们都是用 python 编写的。现在一切运行良好,但突然之间,从几天前开始,python 代码有时会开始抛出以下错误:

[ERROR] InterfaceError: 2003: Can't connect to MySQL server on 'CLUSTER-DOMAIN:3306' (-3 Temporary failure in name resolution)

这种情况每 1000 个左右的新连接就会发生 1 个。有趣的是,最近几天我没有接触过整个服务(自从它开始发生以来)。所有 lambda 都使用官方 MySQL 连接器客户端,并使用以下代码段在每次初始化时进行连接:

import mysql.connector as mysql
import os

connection = mysql.connect(user=os.environ['DATABASE_USER'],
                         password=os.environ['DATABASE_PASSWORD'],
                         database=os.environ['DATABASE_NAME'],
                         host=os.environ['DATABASE_HOST'],
                         autocommit=True)
Run Code Online (Sandbox Code Playgroud)

为了排除这是 Python MySQL 客户端中的问题,我添加了以下内容来解析主机:

import os
import socket

host = socket.gethostbyname(os.environ['DATABASE_HOST'])
Run Code Online (Sandbox Code Playgroud)

同样在这里,我有时会收到以下错误:

[ERROR] gaierror: [Errno -2] 名称或服务未知

现在我怀疑这与 DNS 有关,但由于我只是使用集群端点,因此我无能为力。有趣的是,我最近在不同地区也遇到了完全相同的问题,使用相同的设置(Aurora 5.6 集群,python 中的 lambda 连接到它)并且在那里发生了同样的情况。

我已经尝试重新启动集群中的所有机器,但问题似乎仍然存在。这真的是DNS问题吗?我能做些什么来阻止这种情况发生?

python amazon-web-services amazon-rds aws-lambda amazon-aurora

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

使用 RDS 后端修改 AWS Amplify 中的解析器

将 AWS Amplify 与 dynamodb 后端配合使用时,可以通过在本地修改文件然后执行amplify push.

我正在使用 RDS(amplify api add-graphql-datasource如文档中所述添加了它)。查询和解析器会自动在 AppSync 中设置。当我更新 Aurora RDS 架构时,我amplify api add-graphql-datasource再次运行以更新查询和解析器。

但是如何vtl使用 amplify CLI添加新的查询/突变并将它们绑定到新的解析器(在本地主机上的文件中定义)?

我想出了如何通过使用 AppSync Web 控制台来做到这一点。我修改架构,并创建解析器中的AppSync,然后使用amplify codegen来更新App.tsqueries.ts等等。但是,这种做法是不好的,至少有两个原因。

  1. 在处理多个环境时,必须通过 AppSync 控制台手动更改每个环境,这对于较大的项目来说很困难。
  2. amplify codegen不更新schema.graphql本地主机上的文件。
  3. amplify push在对 AppSync 进行更改后执行使用本地主机上定义的架构并覆盖 AppSync 控制台中定义的架构。
  4. 中的自定义解析器app/amplify/backend/<backend_name>/resolvers与 AppSync 不同步
  5. 堆栈文件不会自动更新。

我会以错误的方式解决这个问题吗?在使用和 RDS 后端时,是否有更好的方法使用放大 CLI 更新架构/解析器?

谢谢!

amazon-web-services amazon-rds graphql aws-amplify aws-amplify-cli

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

从现有 RDS 数据库实例 (Aurora PostgreSQL) 创建 CloudFormation Yaml

我的 AWS 账户中有一个 RDS 数据库实例 (Aurora PostgreSQL) 设置。这是使用 AWS 控制台手动创建的。我现在想为该数据库创建 CloudFormation 模板 Yaml,如果需要,我可以稍后使用它来创建数据库。这也将帮助我在另一个环境中复制数据库。我还会将其用作基础设施自动化的一部分。

amazon-web-services amazon-rds aws-cloudformation amazon-aurora

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

使用 AWS Aurora PostgreSQL 数据库集群连接到哪个端点进行读/写操作

我有一个使用 Aurora PostgreSQL 集群的应用程序 (AWS API Gateway)。

集群有 1 个读/写(主要)和一个读取器端点。

目前,我的应用程序连接到所有操作的特定编写器实例:rds-instance-1.xxx.ap-southeast-2.rds.amazonaws.com

但我有以下端点可用:

rds.cluster-xxx.ap-southeast-2.rds.amazonaws.com    
rds.cluster-ro-xxx.ap-southeast-2.rds.amazonaws.com
rds-instance-1.xxx.ap-southeast-2.rds.amazonaws.com 
rds-instance-1-ap-southeast-2c.xxx.ap-southeast-2.rds.amazonaws.com
Run Code Online (Sandbox Code Playgroud)

如果我正在执行读写操作,我应该连接到我正在使用的实例端点吗?或者我应该使用 rds.cluster-xxx.ap-southeast-2.rds.amazonaws.com 吗?使用不同端点有什么好处?我知道如果我连接到只读端点,我只能进行读取,但对于读/写,连接到以下内容有什么区别:

rds.cluster-xxx.ap-southeast-2.rds.amazonaws.com
Run Code Online (Sandbox Code Playgroud)

或者

rds-instance-1.xxx.ap-southeast-2.rds.amazonaws.com 
Run Code Online (Sandbox Code Playgroud)

?

用于一般工作负载的正确/最佳端点是什么,为什么?

postgresql amazon-web-services amazon-rds amazon-aurora

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

如何将镶木地板文件从 s3 导入 postgresql rds

我正在尝试将镶木地板文件从 s3 加载到 AWS postgresql RDS。使用 aws_s3.table_import_from_s3 的数据导入对于 csv 文件工作正常,但是当我尝试对镶木地板文件使用类似的方法时,出现以下错误:

错误:编码“UTF8”的字节序列无效:0x00

在 AWS 文档中,我看到了自定义分隔符或 zip 文件的选项。是否可以导入镶木地板数据?

postgresql data-import amazon-rds parquet

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