我正在从一个像foo.com这样的裸露域名服务的站点开展工作,并从AWS S3'提供服务。
然而, 我可以用AWSfind的文档给我的印象是,如果我想这样做,我需要移动所有的DNS到亚马逊的Route53。
我宁愿不这样做,但是因为我不能在裸域上使用CNAMES,也不能指向一个固定的IP(因为它们可能会改变),所以我不确定我的select是什么。
是否有可能只委托裸体域的服务到另一个提供者,而不需要移动的一切?
我在AWS文档中看到了类似这样的代码片段,我可以使用Gandi将其添加到DNS中,但是我明白这会将所有域名处理委托给亚马逊名称服务器,我不认为我想要。
foo.com. 172800 IN NS ns-9999.awsdns-99.com.
如果我的提供商Gandi不支持ALIAS或ANAMElogging,我的select是什么?
我知道我可以在一个IP上指定一个实例,并指向一个Alogging,然后用它来将请求从裸域返回到位于www.foo.com上的静态位置,但是还有其他的select,但是这个觉得它会打败静态服务的目的,所以除了使用像Cloudflare或者wwwizer这样的为你提供裸机域名服务的提供者之外,你还能做什么?
DNS是一个分层系统,根本没有提供一个机制来只分配其他地区的顶点logging。
最直接的解决scheme是将您的DNS托pipe移动到Route 53,因为路由53中的Aliaslogging通过使用Route 53的内部知识来解决S3的域内容(以及ELB和CloudFront的内容),以便返回正确的Alogging对您的查询的回应。 (别名不是DNSloggingtypes,它是一个configuration指令。)
没有什么理由可以考虑抵制这种变化 – 您不必将注册服务商更改为Route 53(尽pipe可以),只需要将您的权威域名服务器更改为当前的注册服务商。 您可以继续使用当前的注册商为您的年度续订和他们提供的任何其他奖金/捆绑的东西…只是不适用于DNS托pipe本身。
其他提供程序通过将传入的DNS请求代理到目的地“外面”,查找目标并将响应的适当部分返回给原始请求者,从而实现类似function的出现。
这就是Cloudflare所做的,“CNAME扁平化”
生成响应的CloudFlare [DNS]服务器遵循CNAME链,以便对来自客户端(例如浏览器)的请求的响应仅包含非CNAME数据 – 通常是IP地址。 这有效地创build了A或AAAAlogging。
使用Web代理服务器,使用静态IP地址和Alogging是一个可行的select – 事实上,如果您想通过SSL证书为您的站点提供服务(S3不支持SSL自定义域名)。 如果代理服务器与存储桶位于同一AWS区域,则不需要额外的数据传输费用,并且给定硬件上的代理服务器可以提供比同一硬件上的实际Web服务器更多的内容,因为没有磁盘访问。 (在一个这样的设置下,一个t2 micro,正在运行的haproxy,我昨天服务了891,683个web请求,没有在一分钟的CloudWatch图表上达到5%的CPU)。 当然,这会带来额外的成本和可用性问题。
但是没有魔法弹。