IBM Cloud Docs
Trabajar con programas de resolución personalizados

Trabajar con programas de resolución personalizados

Un resolvedor personalizado de DNS privado amplía la capacidad de IBM Cloud® DNS Services para satisfacer las necesidades de un entorno de nube híbrida al permitir la resolución de los nombres de host de la VPC de IBM Cloud desde resolvedores de DNS locales y permite la resolución de nombres de host locales desde IBM Cloud.

Características clave del programa de resolución personalizado:

  • Amplía las resoluciones de DNS a los programas de resolución que residen localmente
  • Permite la resolución de reserva a un programa de resolución secundario (si hay alguno configurado) cuando el programa de resolución primario no está disponible

Visión general del programa de resolución personalizado

Para empezar a utilizar un programa de resolución personalizado, debe crear un programa de resolución personalizado y, a continuación, añadirle reglas de reenvío.

Se espera que el resolver personalizado esté configurado para Alta Disponibilidad por defecto. Siga los pasos de Creación de un programa de resolución personalizado sin alta disponibilidad si no desea una configuración de alta disponibilidad.

Después de crear el programa de resolución personalizado y configurar sus reglas de reenvío, el programa de resolución se puede habilitar para la VPC. Esto da lugar a la opción de DHCP para que el programa de resolución cambie a las direcciones IP del programa de resolución personalizado.

Descripción general de los perfiles de resolución personalizados

Puede utilizar perfiles de resolución personalizados para aumentar los límites de reglas de reenvío, zonas secundarias o vistas DNS que se pueden configurar. Además, si desea configurar muchos registros DNS para sus zonas secundarias, un perfil más grande evita cuellos de botella en el rendimiento.

Las cuotas varían en función del perfil de resolución personalizado que seleccione. Para más información, consulte Cuotas para perfiles de resolución personalizados.

IP reservada para solucionadores personalizados

Los dispositivos virtuales se crean para que los solucionadores personalizados sirvan consultas DNS, o para que las comprobaciones de estado del equilibrador de carga global envíen analizadores a los servidores de origen que supervisan su estado de salud. El dispositivo virtual está totalmente gestionado por DNS Services; sin embargo, puede ir al panel de control Subredes para VPC y ver los detalles de una subred para ver las IP reservadas de dicha subred. Puede ver qué dirección IP está enlazada a la interfaz de red en el dispositivo virtual gestionado por DNS Services.

IP reservada
IP reservada para dispositivo virtual gestionado por DNS Services

En la columna Recurso de destino, puede ver qué IP reservada está enlazada a una instancia de servicio DNS que tiene un dispositivo virtual conectado a la subred. Se recomienda que mantenga habilitado Liberar automáticamente (el valor predeterminado). Con el release automático, esta dirección IP se libera automáticamente en la agrupación de direcciones IP después de que se suprima el dispositivo virtual, como parte del proceso de supresión para los programas de resolución personalizados y las agrupaciones de equilibrador de carga global.

La inhabilitación de la liberación automática puede interrumpir las operaciones de recuperación de DNS Services.

El programa de resolución personalizado direcciona la propagación a instancias de cálculo

Las direcciones IP reservadas para cada ubicación de resolución personalizada se conocen colectivamente como las direcciones de resolución personalizadas. Cuando tiene varias ubicaciones habilitadas en un programa de resolución personalizado, la propagación de estas direcciones de resolución personalizadas para calcular instancias en la VPC tiene en cuenta las reglas de optimización de proximidad y equilibrio de carga.

La regla de proximidad se considera la regla preferida para determinar el servidor DNS primario para las instancias de cálculo y, a continuación, se tiene en cuenta la optimización del equilibrio de carga cuando una zona de disponibilidad no tiene una ubicación. El ejemplo siguiente describe las reglas para determinar la asignación de servidor DNS primario para calcular instancias en cada zona de disponibilidad.

Ejemplo 1: Tres ubicaciones en diferentes zonas de disponibilidad

En este ejemplo, cada disponibilidad tiene exactamente una ubicación de resolución personalizada.

Programa de resolución personalizado: R:

  • location-1 en us-south-1 tiene la dirección: A1
  • location-2 en us-south-2 tiene la dirección: A2
  • location-3 en us-south-3 tiene la dirección: A3

La proximidad es la única política para determinar los servidores DNS primarios para las instancias de cálculo en cada zona de disponibilidad:

  • us-south-1: A1 (primario), A2, A3.
  • us-south-2: A2 (primario), A1, A3.
  • us-south-3: A3 (primario), A1, A2.

Ejemplo 2: Dos de tres ubicaciones en la misma zona de disponibilidad

En este ejemplo, dos de las tres ubicaciones están en la misma zona de disponibilidad us-south-1, pero no hay ubicaciones en us-south-3.

Programa de resolución personalizado: R:

  • location-1 en us-south-1 tiene la dirección: A1
  • location-2 en us-south-1 tiene la dirección: A2
  • location-3 en us-south-3 tiene la dirección: A3

La regla de proximidad se aplica primero para determinar los servidores DNS primarios para us-south-1 y us-south-3 porque estas dos zonas de disponibilidad tienen ubicaciones. A continuación, se utiliza la regla de optimización de equilibrio de carga para seleccionar el " location-2 " como servidor primario para el " us-south-2. En consecuencia, los servidores DNS resultantes para las instancias de cálculo en cada zona de disponibilidad serán:

  • us-south-1: A1 (primario), A2, A3.
  • us-south-3: A3 (primario), A1, A2.
  • us-south-2: A2 (primario), A1, A3.

Ejemplo 3: Las 3 ubicaciones están en la misma zona de disponibilidad

En este ejemplo, todas las ubicaciones están en la misma zona de disponibilidad us-south-1, pero no hay ubicaciones en us-south-2 y us-south-3.

Programa de resolución personalizado: R:

  • location-1 en us-south-1 tiene la dirección: A1
  • location-2 en us-south-1 tiene la dirección: A2
  • location-3 en us-south-1 tiene la dirección: A3

La regla de proximidad selecciona location-1 como servidor DNS primario para " us-south-1. A continuación, la regla de optimización de equilibrio de carga asigna un servidor DNS primario para us-south-2 y us-south-3 a location-2 y location-3, respectivamente. Los servidores DNS resultantes para las instancias de cálculo en cada zona de disponibilidad son:

  • us-south-1: A1 (primario), A2, A3.
  • us-south-2: A2 (primario), A1, A3.
  • us-south-3: A3 (primario), A1, A2.

Ejemplo 4: El número de ubicaciones de resolución personalizadas es menor que 3

En este ejemplo, el programa de resolución personalizado tiene menos de 3 ubicaciones.

Programa de resolución personalizado: R:

  • location-1 en us-south-1 tiene la dirección: A1
  • location-2 en us-south-2 tiene la dirección: A2

En este caso, se utiliza al menos una ubicación como servidor DNS primario para dos zonas de disponibilidad. Después de seguir las reglas mencionadas, los servidores DNS resultantes para las instancias de cálculo en cada zona de disponibilidad serán:

  • us-south-1: A1 (primario), A2.
  • us-south-2: A2 (primario), A1.
  • us-south-3: A1 (primario), A2.

Estado del programa de resolución personalizado

El estado de un resolver personalizado recién creado es inicialmente Critical porque la ubicación del resolver no está completamente aprovisionada. El estado cambia a Healthy después de que la ubicación del programa de resolución cambie a Up.

Las siguientes definiciones de estado se aplican a las ubicaciones del programa de resolución:

  • Activo: cuando la ubicación del programa de resolución funciona.
  • Inactivo: cuando la ubicación del programa de resolución no funciona.

Las siguientes definiciones de estado se aplican al programa de resolución personalizado:

  • En buen estado: cuando todas las ubicaciones del programa de resolución están Up, el estado es Healthy.
  • Degradado: cuando hay más de una ubicación de resolución, y una está Up, pero otra está Down, el estado cambia a Degraded.
  • Crítico: cuando todas las ubicaciones de la resolución están Down, el estado cambia a Critical.

Funciones de perfil de resolución personalizado

Puede aprovisionar resolutores personalizados con los siguientes perfiles para proporcionar diferentes capacidades, incluido el tamaño del perfil de la instancia del servidor de ubicación y los límites máximos de recursos como zonas secundarias, reglas de reenvío y vistas.

Cuando actualiza o degrada un perfil de resolución personalizado, las subredes en las que se aprovisionan las ubicaciones de resolución personalizadas deben tener al menos una dirección IP disponible.

Si no hay direcciones IP disponibles, el proceso de cambio no se completará, aunque las ubicaciones del resolutor personalizado seguirán funcionando con normalidad. Además, las reglas de reenvío y las zonas secundarias no se pueden crear, actualizar ni eliminar durante un cambio de perfil.

La siguiente tabla muestra las capacidades de cada perfil.

Capacidades de cada perfil
Perfil Límite de zona secundaria Límite de la regla de reenvío Ver límite por regla de reenvío
Básica 10 10 1
Avanzado 50 50 3
Premier 100 100 5

No puede activar o desactivar el localizador personalizado y las ubicaciones, eliminar el localizador personalizado ni añadir y eliminar ubicaciones mientras se actualiza el perfil del localizador personalizado.

Reenvío de vistas de reglas

Una vista define una expresión que permite que las consultas de DNS se enruten a diferentes resolutores de DNS basados en el resultado de la evaluación. Esta evaluación permite funciones avanzadas de enrutamiento de bloqueo de servidores, como el DNS dividido.

La expresión view sigue el lenguaje de expresiones común, pero no admite todas las funciones y macros integradas en CEL. Actualmente, la expresión solo admite las siguientes funciones, variables y operadores personalizados.

  • Funciones

    • ipInRange(ip, cidr): Devuelve un valor booleano que indica si la dirección ip está en el rango cidr.
  • Variables

    • source: Información del cliente para la consulta DNS.
      • ip: La dirección IP del cliente.
  • Operadores

    • ||: OR lógico
    • &&: AND lógico
    • !: NOT lógico
    • ==: Igual lógico
    • !=: Lógico NotEquals
    • ?:: Condicional

Ver ejemplos de expresiones

  • ipInRange(source.ip, ' 10.240.0.0/24 ')
  • !ipInRange(source.ip, ' 10.240.0.0/24 ')
  • ipInRange(source.ip, '10.240.0.0/24') || ipInRange(source.ip, '10.240.1.0/24')
  • source.ip == '10.240.0.5'
  • source.ip != '10.240.0.5'

Límites de resolución personalizados

Para obtener más información, consulte Límites de servicio para servicios DNS.