通过 ssh 连接到 aws rds 实例所需的参数
parameters needed for connecting to aws rds instance via ssh
有谁知道在哪里可以找到涉及堡垒主机和 AWS RDS 实例的 ssh 连接所需参数所需的值?
我在下面列出了到目前为止我能找到的内容:
SSH Hostname
- 在 AWS 控制台中为 RDS 实例指定的端点
SSH Username
- 我在教程中到处都看到它是 ec2-user
,我也应该使用这个吗?
SSH password
- 我需要这个吗,因为我已经有了密钥对的 .pem 文件?
`
- SSH 密钥文件` - 知道了
MySQL Hostname
- 我不确定为此添加什么。
MYSQL Server Port
- 3306
Username
- 根
Password
- 不确定这是指哪个密码
有两种方法,
如果您尝试从本地计算机访问 RDS 实例,您需要确保从数据库设置中启用 public 访问。通过这种方式,您可以使用数据库端点和用户名密码进行连接。
另一种方法是通过 ssh 隧道,其中数据库不需要 publicly 可访问,但需要从 vpc 内的实例访问。您需要通过 ssh 连接到机器使用实例的凭据,如用户名密码或密钥文件。然后,一旦连接到 ec2 实例,您就可以使用数据库端点凭据使用 SQL 连接命令连接到 RDS 实例。您将需要配置安全组以允许来自 RDS 和 ec2 的连接执行此操作。
参数详情:
SSH 主机名 - Ec2 实例外部 IP 地址或 DNS 名称。可以在 ec2 控制台描述选项卡上找到。
SSH 用户名 - ec2 实例用户名。可以在 ec2 console -> ec2 details 中找到。
SSH 密码 - ec2 实例密码。 - 如果使用密钥文件则不需要。
SSH 密钥文件` - 创建 ec2 实例时创建或使用的 pem 文件。
MySQL 主机名 - RDS 端点 - 您可以从 RDS 控制台获取。
MYSQL 服务器端口 - 通常为 3306,但如果在 RDS 创建期间修改,请在 RDS 控制台中查看。
用户名 - 创建 RDS 时设置的数据库用户名。
密码 - 创建实例时设置的数据库密码。
首先,您不是通过 SSH 连接到数据库,SSH 仅适用于 EC2 实例。合乎逻辑的步骤是:
- 从本地计算机到 EC2 实例的 SSH(可选,具体取决于以下设置)
- 使用类似
mysql -H (hostname) -u admin -p
的方式连接到数据库,它会提示输入密码。
如果您想直接连接到数据库,请确保将您的 IP 列入数据库安全组的白名单。默认情况下,安全组不允许您直接连接到它,默认情况下也不允许您连接到任何地方。
如果您想从堡垒主机连接到数据库,同样,您需要将堡垒主机的 IP 列入白名单。
安全组是从 IP 到 PORT 的基本 ALLOW。所以对于 MySQL,端口将为 3306。
在 AWS 中,有很多变量会导致失败。
- 这些资源在同一个区域吗?
- 这些资源是否在同一个子网中?子网是私有的还是 public?
在RDS的配置过程中,至少在过去,你在配置过程中根本无法设置安全组。你总是要记得回去点击修改,然后进去给它一个安全组。
此处围绕安全组的最佳做法是
- 为您的堡垒主机实例创建一个,只允许 22 个到您的家庭 IP。
- 为您的 RDS 实例创建一个,允许来自堡垒主机的安全组 ID 的 3306。这样你就不用担心你的堡垒机 IP 变化了,任何有堡垒机安全组的实例都可以访问这个 RDS 上的 3306。
- 将安全组分配给正确的资源。
如果您仍有问题,我可以就此进行更深入的探讨。
有谁知道在哪里可以找到涉及堡垒主机和 AWS RDS 实例的 ssh 连接所需参数所需的值?
我在下面列出了到目前为止我能找到的内容:
SSH Hostname
- 在 AWS 控制台中为 RDS 实例指定的端点SSH Username
- 我在教程中到处都看到它是ec2-user
,我也应该使用这个吗?SSH password
- 我需要这个吗,因为我已经有了密钥对的 .pem 文件? `- SSH 密钥文件` - 知道了
MySQL Hostname
- 我不确定为此添加什么。MYSQL Server Port
- 3306Username
- 根Password
- 不确定这是指哪个密码
有两种方法,
如果您尝试从本地计算机访问 RDS 实例,您需要确保从数据库设置中启用 public 访问。通过这种方式,您可以使用数据库端点和用户名密码进行连接。
另一种方法是通过 ssh 隧道,其中数据库不需要 publicly 可访问,但需要从 vpc 内的实例访问。您需要通过 ssh 连接到机器使用实例的凭据,如用户名密码或密钥文件。然后,一旦连接到 ec2 实例,您就可以使用数据库端点凭据使用 SQL 连接命令连接到 RDS 实例。您将需要配置安全组以允许来自 RDS 和 ec2 的连接执行此操作。
参数详情:
SSH 主机名 - Ec2 实例外部 IP 地址或 DNS 名称。可以在 ec2 控制台描述选项卡上找到。
SSH 用户名 - ec2 实例用户名。可以在 ec2 console -> ec2 details 中找到。
SSH 密码 - ec2 实例密码。 - 如果使用密钥文件则不需要。
SSH 密钥文件` - 创建 ec2 实例时创建或使用的 pem 文件。
MySQL 主机名 - RDS 端点 - 您可以从 RDS 控制台获取。
MYSQL 服务器端口 - 通常为 3306,但如果在 RDS 创建期间修改,请在 RDS 控制台中查看。
用户名 - 创建 RDS 时设置的数据库用户名。
密码 - 创建实例时设置的数据库密码。
首先,您不是通过 SSH 连接到数据库,SSH 仅适用于 EC2 实例。合乎逻辑的步骤是:
- 从本地计算机到 EC2 实例的 SSH(可选,具体取决于以下设置)
- 使用类似
mysql -H (hostname) -u admin -p
的方式连接到数据库,它会提示输入密码。
如果您想直接连接到数据库,请确保将您的 IP 列入数据库安全组的白名单。默认情况下,安全组不允许您直接连接到它,默认情况下也不允许您连接到任何地方。
如果您想从堡垒主机连接到数据库,同样,您需要将堡垒主机的 IP 列入白名单。
安全组是从 IP 到 PORT 的基本 ALLOW。所以对于 MySQL,端口将为 3306。
在 AWS 中,有很多变量会导致失败。
- 这些资源在同一个区域吗?
- 这些资源是否在同一个子网中?子网是私有的还是 public?
在RDS的配置过程中,至少在过去,你在配置过程中根本无法设置安全组。你总是要记得回去点击修改,然后进去给它一个安全组。
此处围绕安全组的最佳做法是
- 为您的堡垒主机实例创建一个,只允许 22 个到您的家庭 IP。
- 为您的 RDS 实例创建一个,允许来自堡垒主机的安全组 ID 的 3306。这样你就不用担心你的堡垒机 IP 变化了,任何有堡垒机安全组的实例都可以访问这个 RDS 上的 3306。
- 将安全组分配给正确的资源。
如果您仍有问题,我可以就此进行更深入的探讨。