AWS DNS Route53以及其相关

AWS有个服务,叫Route53,可以注册和管理域名。对我而言最方便的地方是它的alias。可以直接连到同一账户内的其他服务比如S3 和 LoadBalancer。
如果用传统的server模式,可以连到loadbalancer,享用AWS免费的SSL服务。在LB那边就把443转向server的80,不需要在自己的EC2上处理SSL问题。LB还可以把AccessLog放到S3上,集中处理起来也比较方便。后面哪个机器挂了,直接换,LB这边换个重定向就好。
如果使用server less模式,可以直接定向到S3。如果是lambda的APIgateway,可以使用CNAME或是在S3那边再做跳转。

对于多个AWS账户下,服务器和域名不在同一个账户的问题,可以选择1. 转移域名到同一个账户下; 2. 在web服务器和LB所在账户下建立新的hosted zone,把域名的name servers 指向该hostzed zone; 3. 在一个hosted zone 内创建指向另一个AWS账户的alias。

  1. 域名转移到同一账户下, 官方文档的说法是http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-transfer-between-aws-accounts.html。但是还可以使用别的方法(AWS之外的老方法)。首先打开Transfer lock,把该域名的转移保护取消,然后生成授权码 Authorization code。在转入方可是使用该授权码要求转入。但是!注册不满60天的域名无法转让

  2. 在服务器的那个AWS账户下创建Route53 hosted zone. 把注册域名那边的name servers (NS) 换到新创建的hosted zone里的 name servers. Start of Authority (SOA) 那边怎么改还不知道?

  3. Route53 的 DNS record (A CNAME)使用alias指向其他的AWS account 资源。

AWS还要一项免费的SSL

DNS 背景知识

DNS注册 AWS可以直接注册,12块美金一个顶级域名。注册了之后,在Route53页左侧导航栏的Domains下,有一个Registered domains 可以看到可管理域名。这里面需要注意的是Name Servers。我们希望使用AWS的hosted zone 来管理各种DNS记录。所以这里的name servers 需要使用对应的记录。
SSL Cert:

  1. Subject Alternative Name – Multi-Domain (SAN), 一个证书cover多个域名,甚至可以是不同root的,比如abc.com, def.com都可以放在同一个证书里。
  2. wildcard Cert, *.example.com. 但是不知道这个能不能管example.com

hosted zone 是一个管理各种DNS记录的工具, 比如A, CNAME, SOA。

ACM Amazon Certificate Manager 是一个管理SSL/TLS证书的工具。使用它可以导入外部证书,也可以生成AWS自己的SSL 证书。但是这个证书只能给AWS的load balancer 使用。外面的SSL证书一个每年好几十上百块美金,但是这个AWS内部的居然是免费生成。唯一的条件是要使用AWS 的load balancer,对于我这种身家性命所有东西都放在AWS上的方案来讲,是最好不过的。
在生成证书时,可以选择发给一个或多个域名的证书。一般情况下,会生成两个域名的证书。example.com 和 www.example.com,当然如果嫌麻烦,可以把www的换成*.example.com,wildcard 类型
在生成证书时,系统会发送确认邮件给下面的email地址。

你可能感兴趣的:(AWS DNS Route53以及其相关)