启用DNS主机名实现VPC内ECS私网域名访问

对于大数据处理场景,如果客户端需要从开源大数据开发平台E-MapReduce(简称EMR)集群外部(如ECS或K8s Pod)提交作业,会因为无法通过内网域名解析导致作业提交失败。您可以启用DNS主机名,启用后集群外部的客户端可以通过DNS主机域名与EMR集群中的任意节点互通,简化作业提交流程。

功能简介

什么是DNS主机名?

域名系统(DNS)是互联网中用于将域名解析为IP地址的标准系统和协议。DNS主机名是一个在网络中唯一且绝对区分网络计算机的名称,它由主机名和域名组成。DNS服务器负责将DNS主机名称解析到对应的IP地址,使用户能够通过域名便捷地访问各种网络资源。

工作原理

在专有网络VPC中,DNS主机名用于标识ECS实例,通过在VPC内启用DNS主机名,可以为该VPC内的ECS实例配置内置权威域名。该域名格式为[regionID].ecs.internal,关于该域名的基本构成和使用限制,请参见ECS私网域名

说明

启用DNS主机名后,该VPC会绑定默认DHCP选项集,若该VPC下无默认DHCP选项集,系统会自动创建并绑定至该VPC。

例如在马来西亚(吉隆坡)地域已创建的VPC中启用DNS主机名,此时该VPC中的ECS实例配置的内置权威域名为ap-southeast-3.ecs.internal,您可以为VPC中的ECS实例配置实例ID格式的主机名,并设置基于实例ID格式的私网域名解析,配置后VPC内的ECS即可通过主机域名i-******.ap-southeast-3.ecs.internal实现资源互访。具体流程如下图所示。

image

适用场景

通过DNS主机域名访问业务服务器,主要适用于以下场景:

  • 分布式计算集群:在分布式计算如Hadoop的集群环境,针对EMR集群,通过DNS主机域名可以确保外部客户端访问集群内的服务,从而简化资源调度及作业提交流程。

  • 自动化部署和配置管理:在自动化部署和配置管理场景中,通过在配置文件和脚本中使用DNS主机域名代替直接的IP地址引用,可以实现即使实例IP变化也不影响服务发现和配置的准确性。

场景示例

本文以下图场景为例,某企业在马来西亚(吉隆坡)地域拥有专有网络VPC。在VPC中部署了EMR进行大数据分析,EMR集群通常由Master和Core这两种类型的节点组成。Kerberos作为身份验证协议,部署在Master节点,确保集群中的安全性和所有节点间通信的安全性。目前提交作业仅限于EMR集群内部。

现因业务发展,企业需要通过集群外部的客户端ECS实例(已部署Gateway环境),向EMR集群主机名为i-8ps******5py2u的Master节点提交作业。该企业可以为VPC启用DNS主机名,启用后,集群外部的客户端可以通过DNS主机域名与EMR集群中的Master节点进行通信。

图 1. 外部客户端访问EMR内的Master节点

image

注意事项

  • 启用DNS主机名时,请勿删除默认DNS服务器地址,删除该地址会导致ECS实例的主机域名无法解析。

  • 同VPC下集群外部的客户端ECS实例(已部署Gateway环境),必须与EMR集群的Master节点配置的安全组相同。

  • DNS主机名功能目前处于邀测中,如需使用,请联系客户经理申请。

前提条件

  • 您已在马来西亚(吉隆坡)地域创建专有网络VPC。

  • 您已在EMR on ECS控制台创建EMR集群,该集群使用默认配置即一个Master节点,两个Core节点,并已打开Kerberos身份认证开关。

  • 您已创建用于在外部提交EMR作业的客户端ECS实例,并已在该实例中部署Gateway环境

操作步骤

步骤一:启用DNS主机名

  1. 登录专有网络管理控制台
  2. 在顶部菜单栏处,选择目标专有网络VPC的地域。本文选择马来西亚(吉隆坡)

  3. 专有网络页面,单击目标VPC实例ID,在专有网络基本信息区域,启用DNS主机名。

    启用主机名.png

步骤二:为ECS实例配置私网域名解析

启用DNS主机名后,您需要为集群外部的客户端和Master节点的ECS实例配置私网域名解析。

  1. 登录ECS管理控制台

  2. 在左侧导航栏,选择实例与镜像 > 实例

  3. 分别为客户端和Master节点的ECS实例配置私网域名解析。

    操作列选择图标> 实例属性 > 编辑实例属性,在编辑实例属性对话框,配置如下方式域名解析。

    配置域名解析.png

步骤三:结果验证

本文用于验证域名解析的客户端以Alibaba Cloud Linux 3.2104 64位操作系统为例。

  1. 登录集群外部的客户端ECS,打开命令行窗口。

  2. 执行以下ping命令,测试客户端的ECS是否能够通过DNS主机域名访问EMR集群的Master节点。

    ping i-8ps******5py2u.ap-southeast-3.ecs.internal
  3. 如果能收到如下回复报文,则表示DNS主机域名可以访问EMR集群的Master节点。

    测试结果.png

更多操作

禁用DNS主机名

说明

禁用DNS主机名后,VPC分配的私网域名失效,通过私网域名无法解析ECS实例对应的IP地址。

专有网络页面,单击实例ID,然后在专有网络基本信息区域,找到DNS主机名,在右侧单击禁用禁用DNS主机名.png

相关文档