【问题标题】:How to create a domain and a subdomain in AWS?如何在 AWS 中创建域和子域?
【发布时间】:2011-08-10 10:41:35
【问题描述】:

如何在 AWS 中创建域和子域?

【问题讨论】:

    标签: amazon-web-services


    【解决方案1】:

    使用 Amazon AWS Route 53 和 Apache 2.4 网络服务器

    创建一个带有通配符的规范名称,以将所有子域流量路由到所在的根 Web 服务器。

    现在添加子域详细信息以及根域路由,如下所示。

    # -----------------------------------
    # GS - Virtual Host Configurations
    # -----------------------------------
    <VirtualHost *:80>
        ServerName www.gajen.com
        ServerAlias gajen.com
        DocumentRoot "/var/www/html"
    </VirtualHost>
    
    
    # Stagings
    # --------
    
    # Discovery
    <VirtualHost *:80>
        ServerName discovery.gajen.com
        DocumentRoot "/var/www/html/discovery"
    </VirtualHost>
    
    # Alpha
    <VirtualHost *:80>
        ServerName alpha.gajen.com
        DocumentRoot "/var/www/html/alpha"
    </VirtualHost>
    

    【讨论】:

    • 这是迄今为止最好的答案。
    • 谁能告诉我如何用 nginx 做到这一点?
    • @sulejman 在服务器配置中查找 server_name 指令
    • 请注意——您缺少一个尾随点。在您的 DNS 记录值的末尾。应该是gajen.com。
    • 如何将域/子域与弹性 IP 地址相关联?创建记录?
    【解决方案2】:

    我在这里找到的其他答案有点神秘。以下是在 Route53 中托管域顶点和该域的任何其他主机名的主要步骤。这是假设您通过 GoDaddy 或 Network Solutions 或其他任何地方购买了一个域。 (从 2014 年年中起,您可以直接在 Route53 中购买域名):

    1. 通过转到 https://console.aws.amazon.com/route53/home 并创建一个新的托管区域,在 Amazon 的 Route53 中创建一个新的区域存根。该过程将传播一个带有四个 NS 记录和一个 SOA 记录的空区域文件。复制四个 NS 服务器名称。 [如果您在 Route53 购买域名,这将自动为您完成,您可以跳过下面的步骤 23。]
    2. 在您的域注册商处(GoDaddy、eNom、Network Solutions 等)编辑特定域的 DNS 主机,然后将步骤 1 中的四个值放置到位。保存并传播。
    3. 现在,您域的 DNS 托管在 Amazon 的 Route53 中,并且很可能比由域名供应商托管时更快、更健壮。
    4. 添加更多记录到您的新 Route53 区域文件,例如区域顶点记录(@ 记录)或 www 记录等。注意:Route53 不允许使用“@”别名 - - 您必须拼出域名.com。 (请务必在名称后使用尾随点!
    5. 现在,将 Route53 用于您的 DNS 的一大优势是,如果您的网站托管在 Amazon ELB 地址后面,您可以将您的区域顶点(@记录)映射到该 ELB 的别名地址。只需在其中创建一个包含您的区域顶点(“company.com.”)的 A 记录,确保留下尾随点。然后选择记录值上方的“别名”,您将在下拉菜单中进行选择,或者您可以将 ELB 名称粘贴到其中。或者,如果您的区域顶点应该指向一个简单的 IP 地址,请选择 A 记录并添加 IP。

    如果您在多个 AWS 区域(不仅仅是跨多个 AZ)运行节点,您还可以使用 Route53 的“基于延迟的路由”,它将在任何给定时刻将用户引导到给定延迟的最快节点(它基于最低延迟,不是最近的地理位置)。或者你可以使用 Route53 的健康检查来设置你的记录值——例如如果健康检查通过,你的 A 记录指向 1.2.3.4,如果失败,A 记录指向 5.6.7.8。

    编辑: 我发现的另一个有用的 Route53 技巧(偶然,虽然我后来读到它是一个已知/受支持的功能)是您可以使用 A 记录别名指向 ELB(或存储桶) 、CloudFront 发行版等)在其他 AWS 账户中。它们不会自动填充到别名下拉列表中,但您可以将它们复制并粘贴到“别名目标”输入中。

    【讨论】:

    • 这对我有用。如果他们让您知道他们没有遵循“@”约定,那就太好了。谢谢!
    • @james2doyle 我完全同意——根据我起初看到的其他事情,我完全认为他们会关注@,但他们没有。至少现在还没有。
    • 弹性IP可以创建子域吗?
    • @Jaymin - 不,EIP 不是 DNS 元素,因此映射到 EIP 的子域或主机记录必须创建为指向 IP 的 A 记录。
    【解决方案3】:

    您不会在 AWS 中“创建”域或子域。在注册商级别创建域 - GoDaddy、Network Solutions、VeriSign 等,而在 DNS 中创建子域。

    如果您指的是如何创建一个 Web 服务器来响应 mydomain.com 和/或 subdomain.mydomain.com,那么您需要更改 mydomain.com DNS 记录以指向您的亚马逊的 IP 地址EC2 实例。

    首先,启动您打算用作 Web 服务器的 EC2 AMI。然后,您需要使用 AWS 控制台分配弹性 IP 地址并将其分配给 Web 服务器实例。记下 Elastic IP 是什么。现在转到您的注册商的域控制面板,添加/更改名为“www”和“@”的 A 或 CNAME 记录的 IP 地址,以匹配您分配给 Web 服务器实例的弹性 IP。现在为您的子域创建一个新的 CNAME 记录并将其指向“@”。保存您的更改。

    如果您的 Web 服务器实例正在运行 Apache,那么您现在必须配置基于名称的虚拟主机 - 网络上有大量教程用于此目的。如果您正在运行 IIS,则必须将主机标头分配给您的站点。同样,也有很多教程。 Google 是您的朋友。

    希望这会有所帮助。

    【讨论】:

      【解决方案4】:

      虽然这个问题已经得到解答并且已经存在多年了,但我这周刚刚经历了这个过程。我认为将我在 AWS 中创建域和子域的操作截图显示出来会很有帮助。

      创建域

      1. 转到 AWS Route 53。
      2. 检查域名可用性
      3. 如果可用,请点击添加到购物车,然后继续。
      4. 以下页面添加您的信息,然后点击继续。
      5. 然后在下一页上,选择完成订单。
      6. 域名现已创建。

      创建子域。

      1. 转到 AWS Route 53。
      2. 单击托管区域。
      3. 点击您的域名
      4. 单击“创建记录集”。
      5. 在右侧的“创建记录集”面板中,输入子域。可以将类型条目保留为默认值。如果您已经有一个 EC2 实例,则为 Alias 选择“yes”。然后在 Alias Target 文本字段中,找到您的 EC2 实例。
      6. 点击“创建”。
      7. 现已创建子域。

      【讨论】:

        【解决方案5】:

        您不会将您的域名转移到 AWS。而是分配一个弹性 IP 地址并将其关联到您的实例。然后转到您的域提供商并将您的域指向弹性 IP 地址。您无需将域转移到 AWS。您可以从 AWS 管理控制台执行此操作。

        通过这种方式,您可以启动第二个实例并测试任何应用程序更新,然后只需将弹性 IP 移动到第二个实例,而无需与您的域提供商进行任何更改

        http://www.youtube.com/watch?v=c8yuGvnU3A0

        【讨论】:

          【解决方案6】:

          AWS Route 53 可以(截至 2016 年)允许您通过 https://console.aws.amazon.com/route53/home#DomainListing: 页面注册域。我知道它实际上是通过第三方来处理注册的,但你不需要知道。

          拥有域后,您可以使用 托管区域 连接到资源。我记得上面的注册过程会自动为您的域名创建一个托管区域。

          要将域链接到资源,您需要进入该托管区域并创建一个“A”记录集。该界面非常不言自明。

          如果您想要一个子域,请在同一个托管区域中创建另一个“A”记录集:您可以选择每次都在域名上设置前缀,当然也可以链接到不同的资源。

          https://docs.aws.amazon.com/AmazonS3/latest/dev/website-hosting-custom-domain-walkthrough.html 教程对于初学者来说行话有点重,但涵盖了以上几点。

          【讨论】:

            【解决方案7】:

            第 1 步 - 对于域 a) 创建托管区域。 b) 更新域名提供商中的 NS 和 SOA 记录 c) 让域传播。24-48 小时

            第 2 步 - 对于子域 a) 在上述托管区域(例如子域)中创建 CNAME 记录 b) 指向例如网站bucket https//bucket_in_S3的地址

            您的子域已准备就绪并立即生效。

            【讨论】:

              【解决方案8】:

              在设计解决方案时考虑到 DNS 对您来说非常重要。查看他们的Route 53 product。它是一个可编程的 DNS 接口,传播时间也很短。如果您需要进行更改,这将很重要。您应该能够告诉您的注册商指向 Route 53。

              我还强烈建议您将所有服务器放在 Elastic Load Balancer (ELB) 服务器后面,并将您拥有的任何 DNS 服务指向它。这将减少您在移动服务器和升级时可能遇到的任何停机时间。

              【讨论】:

                【解决方案9】:

                在 Route 53 中创建域设置后,只需像您一样添加别名或 CNAME www.yourdomain.com

                这里是 A-Record yourdomain.com Cname 是 www.yourdomain.com

                和你的子域一样

                sub.yourdomain.com

                这个过程不只是技术上的困难,

                如果你想了解更多,我很乐意,

                AWS 摇滚

                【讨论】:

                • 并且在名称库虚拟主机中只需在站点可用的地方创建新站点,将其服务器名称放置到 sub.yourdomain.com 并在您的咖啡结束时喝杯咖啡,它将被传播,但这一切都会发生在一个 aws 实例中,因为您已经附加了弹性 IP,如果您有多个实例(如 raid),那么您的所有实例都将附加到 LB aka Loadbalancer 并且您的 LB 地址将进入您的 A - Rec ad rest 是同样,仍然是 AWS ROCKS
                【解决方案10】:

                使用 AWS 无法创建域名或子域名,您必须从域注册商创建它,然后将它们指向 AWS Route 53 服务 - 该服务将您的域名映射到 Ip 以及每个主机区域的专用名称服务器。

                因此,重点是首先从第三方域名注册商创建域或子域,然后使用 AWS 路由 53 服务进行其余流程。

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 2017-07-22
                  • 2016-06-11
                  • 2023-01-19
                  • 2017-05-09
                  • 1970-01-01
                  • 2019-11-26
                  • 2019-12-08
                  • 1970-01-01
                  相关资源
                  最近更新 更多