Automatización de entradas de zona privada DNS con funciones de OCI

En algunas situaciones, los clientes desean personalizar la configuración de DNS para una VCN y, en lugar de oraclevcn.com, utilizar un dominio diferente para hosts conectados a VCN. La función Zona privada DNS del servicio DNS de Oracle Cloud Infrastructure (OCI) permite a los usuarios ampliar las capacidades del solucionador de DNS de VCN incorporado, para que puedan utilizar nombres de dominio personalizados para los recursos de las VCN. Esta arquitectura se amplía a la solución descrita en la publicación del blog Caso de uso - DNS personalizado de VCN de OCI (a la que se puede acceder desde la sección Explorar más, en otro lugar de esta arquitectura de referencia) mediante el uso de eventos y funciones de OCI para automatizar la gestión de entradas de zona de DNS.

Arquitectura

Esta arquitectura describe cómo puede utilizar OCI Functions y Events para rellenar automáticamente una zona privada con entradas de DNS, lo que reduce la necesidad de actualizaciones manuales y posibles errores. A continuación, puede utilizar Events para capturar nuevas solicitudes de creación de instancias en el nivel de compartimento y, a continuación, disparar la función Add DNS record para recopilar metadatos de instancia, agregar un registro DNS a la zona de DNS privada y, por último, confirmar la inserción de registros actualizando etiquetas de formato libre de instancia. Cuando finaliza la instancia, el evento dispara la función Remove DNS record para suprimir el registro de DNS asociado.

En el siguiente diagrama se ilustra esta arquitectura de referencia.


A continuación se muestra la descripción de dns_private_zones.png
Descripción de la ilustración dns_private_zones.png

dns-private-zones-oracle.zip

Esta arquitectura contiene los siguientes componentes:
  • Región

    Una región de Oracle Cloud Infrastructure es un área geográfica localizada que contiene uno o más centros de datos, denominados dominios de disponibilidad. Las regiones son independientes de otras regiones, y grandes distancias pueden separarlas (entre países o incluso continentes).

  • Compartimento

    Los compartimentos son particiones lógicas entre regiones dentro de un arrendamiento de Oracle Cloud Infrastructure. Utilice compartimentos para organizar los recursos en Oracle Cloud, controlar el acceso a los recursos y definir cuotas de uso. Para controlar el acceso a los recursos de un compartimento determinado, debe definir políticas que especifiquen quién puede acceder a los recursos y qué acciones pueden realizar.

  • dominios de disponibilidad

    Los dominios de disponibilidad son centros de datos independientes dentro de una región. Los recursos físicos de cada dominio de disponibilidad están aislados de los recursos de los otros dominios de disponibilidad, lo que proporciona tolerancia a fallos. Los dominios de disponibilidad no comparten infraestructura, como la alimentación o la refrigeración, ni la red interna del dominio de disponibilidad. Por lo tanto, es improbable que un fallo en un dominio de disponibilidad afecte a los otros dominios de la región.

  • Red virtual en la nube (VCN) y subredes

    Una VCN es una red personalizable y definida por software que se configura en una región de Oracle Cloud Infrastructure. Al igual que las redes de los centros de datos tradicionales, las redes virtuales le proporcionan un control completo de su entorno de red. Una VCN puede tener varios bloques de CIDR no superpuestos que puede cambiar después de crear la VCN. Puede segmentar una VCN en subredes, las cuales se pueden acotar a una región o a un dominio de disponibilidad. Cada subred está formada por un rango contiguo de direcciones que no se solapan con las demás subredes de la VCN. Puede cambiar el tamaño de una subred después de la creación. Una subred puede ser pública o privada. Lista de seguridad Para cada subred, puede crear reglas de seguridad que especifiquen el origen, el destino y el tipo de tráfico que se debe permitir dentro y fuera de la subred.

  • gateway de NAT

    El gateway de NAT permite a los recursos privados de una VCN acceder a los hosts en Internet, sin exponer dichos recursos a las conexiones de Internet entrantes.

  • Gateway de servicio

    El gateway de servicios proporciona acceso desde una VCN a otros servicios, como Oracle Cloud Infrastructure Object Storage. El tráfico de la VCN al servicio de Oracle viaja por el tejido de red de Oracle y nunca pasa por Internet.

  • Zona de DNS privado

    El DNS privado le permite utilizar sus propios nombres de dominio DNS privados y gestionar completamente las zonas y los registros asociados para proporcionar una resolución de nombre de host para las aplicaciones que se ejecutan dentro y entre redes virtuales en la nube (VCN), así como su red local u otra red privada.

  • Oracle Cloud Infrastructure Events

    OCI Events le permite crear automatización basada en los cambios de estado de los recursos en su arrendamiento. Los eventos emitidos se pueden filtrar con la ayuda de Reglas y, a continuación, procesar como parte de una acción en otros servicios de OCI (Notificación, Flujo, Funciones).

  • Oracle Functions

    Con Oracle Functions, los desarrolladores pueden aprovechar una plataforma de funciones como servicio totalmente gestionada, multi-inquilino, altamente escalable y bajo demanda para escribir y ejecutar código en la nube sin tener que gestionar la infraestructura subyacente. En esta arquitectura, las funciones son Add DNS record y Remove DNS record.

  • Resolución DNS de VCN

    El solucionador de DNS de VCN permite que las instancias conectadas a VCN resuelvan los nombres de host (que puede asignar) de otras instancias en la misma VCN. Puede ampliar las capacidades por defecto del solucionador de DNS de VCN asociando zonas privadas a la vista privada de VCN.

Recomendaciones

Utilice las siguientes recomendaciones como punto de partida para automatizar entradas de zona privada DNS con OCI Functions. Sus requisitos pueden ser diferentes de la arquitectura descrita aquí.
  • VCN

    Al crear una VCN, determine el número de bloques CIDR necesarios y el tamaño de cada bloque en función del número de recursos que planea asociar a las subredes de la VCN. Utilice bloques CIDR que estén dentro del espacio de dirección IP privada estándar.

    Seleccione bloques CIDR que no se superpongan con ninguna otra red (en Oracle Cloud Infrastructure, su centro de datos local u otro proveedor de nube) a la que desea configurar conexiones privadas.

    Después de crear una VCN, puede cambiar, agregar y eliminar sus bloques CIDR.

    Al diseñar las subredes, tenga en cuenta el flujo de tráfico y los requisitos de seguridad. Asocie todos los recursos de un nivel o rol específico a la misma subred, que puede servir como límite de seguridad.

    Utilizar subredes regionales.

  • Seguridad

    Utilice Oracle Cloud Guard para controlar y mantener la seguridad de los recursos en Oracle Cloud Infrastructure de forma proactiva. Cloud Guard utiliza recetas de detector que puede definir para examinar los recursos en busca de deficiencias de seguridad y para supervisar a operadores y usuarios en busca de actividades arriesgadas. Cuando se detecta una configuración incorrecta o una actividad no segura, Cloud Guard recomienda acciones correctivas y ayuda a realizar esas acciones, en función de las recetas de responsable de respuesta que pueda definir.

    Para los recursos que requieren la máxima seguridad, Oracle recomienda utilizar zonas de seguridad. Una zona de seguridad es un compartimento asociado a una receta de políticas de seguridad definida por Oracle que se basa en las mejores prácticas. Por ejemplo, los recursos de una zona de seguridad no deben ser accesibles desde la red pública de Internet y deben cifrarse mediante claves gestionadas por el cliente. Al crear y actualizar recursos en una zona de seguridad, Oracle Cloud Infrastructure valida las operaciones con respecto a las políticas de la receta de zona de seguridad y deniega las operaciones que violan cualquiera de las políticas.

  • Cloud Guard

    Clone y personalice las recetas por defecto que proporciona Oracle para crear recetas personalizadas de detector y responsable de respuesta. Estas recetas le permiten especificar qué tipo de violaciones de seguridad generan una advertencia y qué acciones se pueden realizar en ellas. Por ejemplo, puede que desee detectar bloques de almacenamiento de objetos con visibilidad definida como públicos.

    Aplique Cloud Guard en el nivel de arrendamiento para abarcar el ámbito más amplio y reducir la carga administrativa que supone el mantenimiento de varias configuraciones.

    También puede utilizar la función Lista gestionada para aplicar determinadas configuraciones a los detectores.

  • Zonas de seguridad

    Las zonas de seguridad aplican posturas de seguridad en los compartimentos de OCI y evitan acciones que podrían debilitar la estrategia de seguridad de un cliente. Puede aplicar políticas de zona de seguridad a distintos tipos de infraestructura en la nube (red, recursos informáticos, almacenamiento, base de datos, etc.) para garantizar que los recursos en la nube se mantengan seguros y evitar configuraciones erróneas de seguridad.

  • Grupos de seguridad de red (NSG)

    Puede utilizar los NSG para definir un conjunto de reglas de entrada y salida que se aplican a VNIC específicas. Recomendamos utilizar NSG en lugar de listas de seguridad, porque los NSG le permiten separar la arquitectura de subred de la VCN de los requisitos de seguridad de su aplicación. Puede utilizar los NSG para definir un conjunto de reglas de entrada y salida que se aplican a VNIC específicas. Recomendamos utilizar NSG en lugar de listas de seguridad, porque los NSG le permiten separar la arquitectura de subred de la VCN de los requisitos de seguridad de su aplicación.

  • ancho de banda de equilibrio de carga

    Al crear el equilibrador de carga, puede seleccionar una unidad predefinida que proporcione un ancho de banda fijo o especificar una unidad personalizada (flexible) en la que defina un rango de ancho de banda y permita al servicio ampliar el ancho de banda automáticamente, según los patrones de tráfico. Con cualquiera de los dos enfoques, puede cambiar la unidad en cualquier momento después de crear el equilibrador de carga.

Consideraciones

Al aprovisionar la infraestructura, tenga en cuenta lo siguiente:

  • Despliegue

    El usuario que despliega la arquitectura debe tener privilegios administrativos.

  • Zona de DNS

    La zona de DNS configurada debe estar en el mismo compartimento que la subred seleccionada.

Despliegue

El código de Terraform para esta arquitectura de referencia está disponible como pila de ejemplo en Oracle Cloud Infrastructure Resource Manager. También puede descargar el código de GitHub y personalizarlo para que se ajuste a sus requisitos específicos.

  • Despliegue mediante la pila de ejemplo en Oracle Cloud Infrastructure Resource Manager:
    1. Haga clic en Despliegue en Oracle Cloud.

      Si aún no ha iniciado sesión, introduzca el arrendamiento y las credenciales de usuario.

    2. Seleccione la región en la que desea desplegar la pila.
    3. Siga las indicaciones y las instrucciones en pantalla para crear la pila.
    4. Después de crear la pila, haga clic en Acciones de Terraform y seleccione Plan.
    5. Espere a que se complete el trabajo y revise el plan.

      Para realizar cambios, vuelva a la página Detalles de pila, haga clic en Editar pila y realice los cambios necesarios. A continuación, vuelva a ejecutar la acción Plan.

    6. Si no es necesario realizar más cambios, vuelva a la página Detalles de pila, haga clic en Acciones de Terraform y seleccione Aplicar.
  • Realice el despliegue con el código de Terraform en GitHub:
    1. Vaya a GitHub.
    2. Clone o descargue el repositorio en la computadora local.
    3. Siga las instrucciones del documento README.

Explorar más

Obtenga más información sobre las zonas privadas de DNS en OCI, consulte los siguientes recursos:

Revise estos recursos adicionales:

Agradecimientos

Autor: Andrei Ilas