Amazon RDS dns 解析如何工作?

How does Amazon RDS dns resolution work?

Amazon 为您提供 url 形式,例如 x.y.us-west-4.rds.amazonaws.com 。每当您首先尝试连接到数据库服务器时,此 dns 名称应该获得 resolved.After dns 解析,您将获得一个 IP 地址(静态是猜测),然后您尝试连接到该 IP 地址。

全球有很多 RDS 服务器。不可能为所有这些分配一个静态 IP。那么亚马逊是如何用限量编号来管理这一切的呢? IP 的数量?

您似乎掌握了一些关于 RDS 的不正确信息,也许还有关于 AWS 规模的信息。

Amazon publishes their IP address ranges 并且在该列表中,您会发现 AWS 在 us-east-1 区域拥有超过 500 万个 IP 地址,所以,是的,可以分配每个RDS 实例一个静态 IP 地址,这就是它的工作原理。

there are lots of RDS servers globally

好吧,是也不是。 "Globally" 并不是那么相关,因为 RDS 是一项区域服务...并且您的 RDS 实例本身是 运行,恰好在一个虚拟机上,该虚拟机直到启动时才存在您请求了一个 RDS 实例,并且它在物理上恰好位于一个可用区中。

启动时,它被分配了一个静态 IP 地址,并创建了指向那里的 DNS 条目。

此外,当然,RDS 实例可以在没有 public IP 地址的情况下启动到 VPC。

无论如何,MySQL 有线协议没有规定传递主机名 in-band。 HTTP 有这个(在 Host: header 中)和 HTTPS 有这个(在 TLS 的 SNI 扩展中)但与那些协议不同,不可能使用主机名来识别适当的 back-end在 MySQL 连接上,因此多个主机名无法访问单个 IP 地址或池后面的不同服务,由主机名标识。