【问题标题】:How does Amazon RDS dns resolution work?Amazon RDS dns 解析如何工作?
【发布时间】:2015-08-29 20:08:53
【问题描述】:

亚马逊会为您提供一个类似 x.y.us-west-4.rds.amazonaws.com 的网址。每当您尝试首先连接到数据库服务器时,此 dns 名称应该得到解析。在 dns 解析后,您将获得一个 IP 地址(静态是猜测),然后您尝试连接到此 IP 地址。

全球有很多 RDS 服务器。不可能为所有这些分配一个静态 IP。那么亚马逊如何在数量有限的情况下管理这一切。 IP 数量?

【问题讨论】:

    标签: amazon-web-services dns amazon-rds amazon-route53


    【解决方案1】:

    您似乎对 RDS 以及 AWS 的规模有一些不正确的信息。

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

    全球有很多 RDS 服务器

    嗯,是的,也不是。 “全局”并不是那么相关,因为 RDS 是一项区域服务......并且您的 RDS 实例本身正在一个虚拟机上运行,​​该虚拟机在您请求 RDS 实例时启动之前并不存在,它在物理上恰好位于一个可用区。

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

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

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

    【讨论】:

    • 谢谢! blogspot.com 上有很多博客,例如 x.blogspot.com。 x 可以是任何东西。我不认为他们将每个子域解析为唯一的 ip。你能帮我解决一下吗?
    • 那是 HTTP——一种与 MySQL 使用的协议截然不同的协议。我想知道,也许,您实际上是在问一些与您提出的字面问题不同的问题。对于网站,在 DNS 中,您可以将 *.example.com 指向单个 IP 地址,${anything}.example.com 将路由到那里。然后,服务器可以检查 HTTP 请求中的 Host: 标头来决定提供哪些内容,或者,如果服务器是像 HAProxy 这样的反向代理,它可以根据Host: 标头的内容,浏览器随每个请求一起发送。
    猜你喜欢
    • 2019-09-18
    • 2017-06-02
    • 1970-01-01
    • 1970-01-01
    • 2017-12-14
    • 2020-02-22
    • 1970-01-01
    • 2022-07-26
    • 2017-11-27
    相关资源
    最近更新 更多