Amazon web services 动态路由53子域转发

Amazon web services 动态路由53子域转发,amazon-web-services,amazon-s3,dns,amazon-route53,forwarding,Amazon Web Services,Amazon S3,Dns,Amazon Route53,Forwarding,我正在尝试将Route53域重定向到另一个Route53域,同时维护子域 我有一个Route 53托管区,例如.com,其中包含我的主网站 我有另一个Route 53托管区域,例如example.co.uk,我使用S3静态网站重定向规则将其重定向到example.com(如中所述) 这对于根域非常有效,但我希望映射子域,如以下示例所示: sub1.example.co.uk --> sub1.example.com sub2.example.co.uk -->

我正在尝试将Route53域重定向到另一个Route53域,同时维护子域

我有一个Route 53托管区,例如.com,其中包含我的主网站

我有另一个Route 53托管区域,例如example.co.uk,我使用S3静态网站重定向规则将其重定向到example.com(如中所述)

这对于根域非常有效,但我希望映射子域,如以下示例所示:

sub1.example.co.uk   -->    sub1.example.com

sub2.example.co.uk   -->    sub2.example.com

...

sub999.example.co.uk -->    sub999.example.com
我知道这可以通过为每个子域创建一个新的S3 bucket并配置适当的S3静态网站重定向规则来实现,但我想知道是否有一种方法可以动态地将*.example.co.uk转发到*.example.com。 最好不必运行单独的EC2实例(运行nginx)

谢谢


Stijn

使用任何现成的AWS服务组合(当然不包括EC2)都没有简单的方法来实现这一点。。。除了为每个要重定向的子域创建唯一的bucket之外。每个帐户100个存储桶的限制现在是一个软限制,而不是硬限制,因此您现在可以通过提供一个合理的用例请求AWS支持增加您的存储桶限制

当然,这并不能解决必须提供它们的问题,尽管Route 53中的一个通配符CNAME允许您使用根区域网站端点作为目标,将其整体路由到S3,至少S3目前的工作方式是这样的,这意味着依赖一些似乎不太可能改变的未记录的S3行为,但无论如何都可能改变

请求与已创建的bucket不匹配的主机名仍将转到S3,并返回“NoSuchBucket”错误,这本身就是一个问题。。。事实上,在你追求通配符的过程中,这是值得思考的

两段之前,我提到利用一些未记录的行为,使用指向S3的通配符CNAME。想象一下,那些读过文档但没有体验过S3实际行为的潜在评论者会这样说,我在我的一个Route 53托管区域中设置了一个通配符CNAME,指向
*.mysterysting.example.com
S3-website-us-west-2.amazonaws.com
。这并不是文档中所说的您应该这样做,但可以肯定的是,这完全符合我的预期。。。无论你用什么来代替
*
,如果你在us-west-2中有一个以完整域名命名的bucket,S3会根据请求提供它。如果不是,则是“NoSuchBucket”错误,包含S3试图查找但无法找到的bucket名称。那么,为什么我没有提到实际的测试设置域来证明我的观点呢?好。。。任何嗅探的人都可以使用一个与通配符匹配的未使用主机名创建一个bucket,并在我的域中拥有一个网站,该网站托管在S3中,并且没有配置,我也不知道。(!?)当然,他们会为水桶付费,但嘿,免费域名抢占!你知道的下一件事,他们在冒充我,偷走顾客,谁知道呢

所以,红旗:一定要注意通配符重定向未预见资源的含义

另一方面,如果您想重定向所有内容(并采取措施确保目标确实是一个死胡同,不能秘密地为未使用的主机名声明),那么EC2实例也不是一个坏主意。t2.micro每天可以轻松地为数十万个轻量级请求(比如重定向)提供服务(我有一个每天例行处理超过300k的请求,并且总是有多余的CPU点数),费用<10美元/月