Blog de Amazon Web Services (AWS)
AWS – Necesitamos hablar sobre la resolución híbrida de nombres con Active Directory Domain Services
Por: Ariel Kirsman, Caio Ribeiro César y Daniel Pires
Cuando los clientes revisan la arquitectura de los entornos de AWS utilizando los servicios de Microsoft, es extremadamente importante definir el sitio de Active Directory correctamente, junto con las definiciones de subred apropiadas, para evitar que los clientes usen controladores de dominio remotos, ya que esto ocasionaría una mayor latencia.
Necesitamos hablar sobre la resolución de nombre híbrida (DNS híbrido) entre los servicios nativos de AWS y Active Directory Domain Services (AD DS).
Comencemos con los servicios utilizados.
a. Route 53 Resolver Endpoints & Conditional Forwarding Rules
Amazon Route 53 proporciona características de DNS como: registro de dominio de DNS público, la capacidad de crear zonas de DNS privadas, herramientas de DNS híbridas y resolución de nombres DNS. Con la resolución de nombres DNS, Route 53 Resolver puede realizar búsquedas recursivas en servidores de nombres públicos.
La funcionalidad de Resolver Endpoint permite que las consultas DNS que se originan en el entorno local (on-premises) y AD DS resuelvan dominios alojados en AWS. Para entornos locales, la conectividad debe establecerse entre la infraestructura DNS local y AWS a través de Direct Connect (DX) o una red privada virtual (VPN). Los endpoints se configuran asignando una dirección IP en cada subred para la que se desea proveer resolución de nombres. Para que las consultas DNS salientes funcionen, se activan mediante el uso de Conditional Forwarding Rule’s. Los dominios alojados en su infraestructura de DNS local se pueden configurar con reglas de enrutamiento en Route 53 Resolver. Las reglas se activarán cuando se realice una consulta en uno de estos dominios e intentarán reenviar solicitudes DNS a los servidores DNS configurados junto con las reglas . Con esta funcionalidad, tenemos un conjunto de características que permiten la consulta bidireccional entre el entorno local o AD DS y AWS a través de conexiones privadas.
b. Active Directory Domain Services (AD DS)
Aquí tenemos el viejo y querido AD. Podemos almacenar información sobre objetos en el entorno, haciendo que la información sea fácil de encontrar y usar para los administradores y usuarios. Los Servicios de dominio de Active Directory (AD DS) utilizan los servicios de resolución de nombres del Sistema de nombres de dominio (DNS) para permitir a los clientes localizar controladores de dominio y los controladores de dominio que alojan el servicio de directorio para comunicarse entre sí. En otras palabras, al crear un nuevo servidor y hacer un «domain join», tenemos el Fully Qualified Domain Name creado en DNS, ya integrado con AD.
Con el mayor uso de los servicios de Microsoft en la nube de AWS, nuestros clientes están integrando estos servicios para acomodar mejor la arquitectura de resolución de nombres en la nube de AWS en escenarios híbridos.
La mayoría de estos clientes ya tiene una infraestructura de DNS local. Cuando se crean recursos en AWS, AWS proporciona servicios DNS a través de Amazon Route 53 como un servicio administrado.
Si usted está usando AWS Managed Microsoft AD o Active Directory Connector, al crear una instancia de Windows en Amazon EC2 podrá unirse automáticamente al directorio activo (Seamless Domain Join) . Cuando elige esta configuración, AWS apunta la configuración de DNS en la interfaz de red de la instancia EC2 a las direcciones IP de los servidores DNS proporcionados por AWS Managed Microsoft AD o Active Directory Connector; en consecuencia, las instancias están asociadas con el dominio AD.
Si iniciamos una instancia EC2 de Linux o Windows y no utilizamos la función de Seamless Domain Join, la configuración de DNS para la instancia será proporcionada por la configuración de DHCP de la VPC (DHCP Options Set)*.
Por defecto, la configuración de DHCP proporciona la dirección de red de Route 53, » +2 » , es decir, si la subred es 10.0.1.0/24, el endpoint de Route 53 estará en 10.0.1.2.
A continuación mostraremos el proceso de creación de una infraestructura DNS híbrida que le permite integrar su infraestructura DNS local con Amazon Route 53 DNS .
1. En el entorno local (o AD en EC2), tenemos:
a. Directorio «caiorc.corp» creado en Active Directory Connector.
b. Controlador de dominio con DNS, dirección IP 10.0.8.205.
2. El primer paso es crear el Outbound Endpoint de Route 53 que permitirá al Route 53 Resolver consultas DNS reenviadas a dominios DNS alojados fuera de Route 53. Cuando creamos este Outbound Endpoint, AWS crea una interfaz de red elástica (ENI) en las zonas de disponibilidad (AZ’s) que especificamos.
3. En la consola de Route 53 seleccionar la opción » Resolver > Outbound Endpoint» y luego «Configure Endpoints».
4. Seleccione la opción «Outbound Only» .
5. Seleccione el nombre del endpoint, junto con el security group al que debe tener acceso su flota de domain controllers. Luego, agregue dos direcciones IP en diferentes zonas de disponibilidad para garantizar alta disponibilidad.
6. Ahora, crearemos las Resolver Rules. Estas reglas permiten dos acciones: Forward o System. Con la opción Forward, se puede configurar el Resolver de Route 53 para reenviar consultas DNS a DNS’s externos (por ejemplo, el DNS local). Con la opción System, Route 53 consultará a la jerarquía para la resolución de nombres (zonas DNS privadas, DNS de la VPC y DNS público).
7. Seleccionamos un nombre para la regla y la opción «Forward» y agregamos el nombre de nuestro dominio local (caiorc.corp). Las consultas DNS para ese nombre de dominio se reenvían a la dirección IP especificada en la sección Direcciones IP de destino en la parte inferior de la página (que serán las direcciones IP de nuestros servidores AD DS).
8. Para permitir que su infraestructura de DNS local (on-premises, por ejemplo) consulte a Route 53 Resolver para zonas DNS alojadas en Route 53, necesitamos crear Inbound Endpoints. Los Inbound Endpoints permiten que otros servicios consulten Route 53 para la resolución de DNS. Cuando crea un Inbound Endpoint, AWS crea una interfaz de red elástica (ENI) en cada zona de disponibilidad (AZ) especificada para recibir consultas DNS entrantes.
9. En la consola de Route 53, seleccione la opción «Inbound Endpoint > Create Inbound Endpoint«. Agregamos un nombre, VPC y security group y luego direcciones IP en diferentes zonas de disponibilidad.
10. Crearemos el conditional forwarder en el DNS local para resolver la búsqueda directa de la zona de AWS (por ejemplo, ec2.internal). Esto permite a los clientes DNS locales emitir consultas de reenvío de DNS a instancias de AWS por sus nombres DNS internos.
Importante: si tiene un entorno de Managed Active Directory, ya que estos servidores están en su VPC , le recomendamos el uso de «VPC +2 Resolver» para el conditional forwarder. Es decir, en mi VPC con CIDR «10.0.0.0/16» tendríamos un condicional de «sa-east-1.compute.internal» para la dirección IP «10.0.0.2» y no las direcciones IP del punto final entrante de Route 53 .
Ahora probaremos las configuraciones anteriores para el outbound endpoint.
- Accederemos a una instancia que no esté unida a un dominio (Linux). Con la opción DHCP estándar establecida (Route 53).
2. En este EC2, confirmaremos la configuración de DNS y luego realizaremos una consulta para el dominio «caiorc.corp».
1. En una computadora en el entorno local, realice una búsqueda de nslookup para la dirección interna de una instancia EC2.
En esta publicación, mencionamos algunas recomendaciones en entornos de AWS con DNS híbrido utilizando Route 53 Resolver y AD DS.
Notas de recomendación:
1. Utilice los controladores de dominio como servidores DNS, ya que los controladores de dominio proveen funcionalidades tales como actualizaciones dinámicas de clientes DNS de Windows. Otros tipos de servidores DNS pueden no ser compatibles con estas características.
2. Intente mantener una resolución de nombre DNS local en la región de AWS para reducir la latencia.
3. Comparta endpoints centralizados de Route 53 Resolver en todas las VPC’s de su organización. Cree conditional forwarders en servidores DNS locales para todas las zonas DNS de Route 53 y zonas DNS en AWS Managed AD (o AD DS en EC2 u on-premises) y apúntelos a los endpoints del Route 53 Resolver.
4. Use Amazon DNS Server (Route 53) como un «reenviador» (conditional forwarder) para todos los demás dominios DNS que no están autorizados en sus servidores DNS en los controladores de dominio AD. Esta configuración permite a los controladores de dominio resolver recursivamente registros en la zona privada de Amazon Route 53 y utilizar los conditional forwarders de Route 53 Resolver.
5. Use Route 53 Resolver Endpoint para crear un hub de resolución de DNS y administrar el tráfico de DNS creando conditional forwarders.
*Algunos administradores agregan información al DHCP Options Set que apunta a los servidores DNS de Active Directory. Por mucho que esto funcione para la resolución AD DS, perdemos la resolución «ec2.internal», lo que nos obliga a crear un conditional forwarder en AD DS para esta resolución que apunta a Route 53. La instancia de Amazon EC2 limita el número de paquetes que pueden enviarse al servidor DNS proporcionado por Amazon a un máximo de 1024 paquetes por segundo por interfaz de red. Este límite no puede ser aumentado. Si encuentra este límite de rendimiento, le recomendamos la configuración de esta página para el reenvío condicional a las zonas privadas de Amazon Route 53 para usar el servicio Resolver y usar root hints para la resolución de nombres de Internet.
Para obtener más información sobre este escenario, recomendamos la sesión de Gavin McCullagh, AWS re:Invent 2019: Deep dive on DNS in the hybrid cloud (NET410).
Sobre los autores
Caio Ribeiro Cesar
Caio comenzó su carrera hace 13 años como administrador de sistemas y trabajó en áreas como Seguridad, Identity Online y Plataformas de correo electrónico. Actualmente trabaja como arquitecto de soluciones especializadas para la tecnología de Microsoft en la nube de AWS.
Daniel Pires
Daniel actualmente trabaja como Gerente Técnico de Cuentas en Amazon Web Services. Ha trabajado con las tecnologías de Microsoft durante más de 15 años (Active Directory, Hybrid Identity, Microsoft Azure).
Ariel Kirsman
Ariel trabaja en tecnología de información desde hace 25 años. Ejerció roles de desarrollo, software testing y seguridad, principalmente sobre plataformas Microsoft, para luego enfocarse en la construcción de soluciones en el cloud de AWS.