在最长的时间里,我已经让GoDaddy主持了我的网站.我有一个已经在GoDaddy注册的域名,目前已经托管了它们.我读了这个
article并通过Route 53创建了一个新的托管区域,然后得到了委托设置值并将4个值作为名称服务器插入到GoDaddy中.我知道这可能需要几个小时才能生效,但是我在哪里指定要使用哪个ec2实例?我在我的AWS账户上运行了几个实例,但只有一个实例与我关注的网站相关.
解决方法
您从Route53获得的4个值是名称服务器 – 它们提供了存储记录的位置(即使用Route53).在Route53中,您需要拥有实际的A记录.以前,你(大概)有一个或多个A记录与GoDaddy指向你的EC2实例的弹性IP地址,现在,你需要在Route53中重新创建相同的记录,以便查找指向Route53(这将是你的新名称服务器一旦更改传播)将返回您之前使用GoDaddy的相同记录集.
当您访问Route53时,您将获得托管区域的列表:
选择其中一个和“转到记录集”:
从那里,创建一个新的A记录,指向您的弹性IP地址.
你有一个网站,它有一些代码可以呈现它.问题是,当我在我的浏览器中输入example.com时,如何查看代码?我的浏览器将从根名称服务器(.)开始进行DNS查找(它应该已经知道) – 这些将提供.com名称服务器的列表,它可以在其中查找example.com的名称服务器.这些名称服务器将提供可用于访问代码的IP地址.然后,您的浏览器转到该IP地址,并传递主机标头以指定它尝试访问的域(例如,同一服务器上可能有多个域).
为了从GoDaddy迁移到AWS,您可以a)将代码移动到AWS(如果您有静态网站,将其移至S3而不是EC2),并将GoDaddy DNS记录指向新主机(例如您的EC2)实例的IP地址).在EC2中,实例的IP地址将在实例重新启动时发生变化等.因此,它是一个动态IP地址,不适合托管网站.相反,您需要分配一个静态IP地址,一旦可以分配给实例 – AWS将其称为“弹性IP”.这是您将用于A记录的内容. (无论您使用的是GoDaddy的DNS还是Route53,都是如此 – 您需要一条指向服务器IP地址的A记录 – 但由于您使用AWS来托管您的网站,因此无需使用Route53 – 有一些例外 – 例如使用弹性负载平衡器).