【发布时间】:2020-03-10 02:30:00
【问题描述】:
我正在尝试使用以下代码从 EC2 机器连接到 AWS RDS (postgres)。当我从本地机器运行它并在数据库中创建表时,这非常有效。但是当我从 EC2 运行它时,它会抛出一个错误:
sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) 无法连接到服务器:连接超时 服务器是否在主机“”(IP)上运行并接受 端口上的 TCP/IP 连接?
import csv
import boto3
from io import StringIO
from sqlalchemy import create_engine, MetaData, Table, Column, BigInteger, Date, Integer, String
engine = create_engine('postgresql://<user>:<password>@<host>:<port>/<db>')
table_name = 'checking'
meta = MetaData()
table_name = Table(
table_name, meta,
Column('phone', BigInteger, primary_key = True),
Column('first_name', String),
schema = 'testing'
)
meta.create_all(engine)
我认为 RDS 或 EC2 存在一些权限问题。在 EC2 上,我可以随时随地访问 HTTP、HTTPS、TCP、SSH。
【问题讨论】:
标签: postgresql amazon-web-services amazon-ec2 sqlalchemy