¿Cómo puedo resolver el error «CNAMEAlreadyExists» al crear un nombre de dominio personalizado optimizado para periferia para la API Gateway?

4 minutos de lectura
0

Aparece el error «CNAMEAlreadyExists» cuando intento crear un nombre de dominio personalizado optimizado para periferia para la API Amazon API Gateway. ¿Cómo puedo solucionar este problema?

Descripción breve

El error «CNAMEAlreadyExists» se produce si:

  • El tipo de registro CNAME para su nombre de dominio personalizado ya existe y dirige a una distribución de Amazon CloudFront.
  • Hay una distribución de CloudFront configurada con un nombre de dominio alternativo o CNAME que coincide con su nombre de dominio personalizado.

Nota: No es extraño recibir errores de tipo «Demasiadas solicitudes» al realizar varias actualizaciones de nombres de dominio personalizadas en poco tiempo. Estos errores se producen debido a la baja cuota de la API CreateDomainName (una solicitud cada 30 segundos por cuenta). Para obtener más información, consulte las cuotas de API Gateway para crear, implementar y administrar una API.

Importante: No puede usar el mismo registro CNAME para más de una distribución de CloudFront. El uso del mismo registro CNAME devuelve el siguiente error:

One or more of the CNAMEs you provided are already associated with a different resource. (Service: AmazonCloudFront; Status Code: 409; Error Code: CNAMEAlreadyExists; Request ID: a123456b-c78d-90e1-23f4-gh5i67890jkl*

Para resolver estos errores y crear un nombre de dominio personalizado optimizado para entornos periféricos, primero debe eliminar el registro CNAME existente que dirige a una distribución de CloudFront.

Resolución

Confirmar si el nombre de dominio personalizado existía anteriormente

  1. FSP Para confirmar si el nombre de dominio personalizado existía anteriormente, ejecute un comando de búsqueda de DNS en el nombre de dominio.

En sistemas Linux, Unix o macOS:

dig abc.example.com +all

En Windows:

nslookup abc.example.com

Nota: Sustituya abc.example.com por su nombre de dominio.

  1. FSP Si el nombre de dominio personalizado existía anteriormente y su registro DNS sigue presente, ejecute dig para obtener el registro CNAME en la salida:
abc.example.comcom. 0        IN    CNAME    d27am47dhauq2.cloudfront.net.

Importante:

Debe eliminar este registro para poder crear el nombre de dominio personalizado.

  • Se recomienda modificar primero la configuración de DNS en un entorno de desarrollo o de pruebas. La modificación manual de la configuración del DNS de producción puede provocar un tiempo de inactividad.
  • Si el resultado muestra un registro A (dirección IPv4) en lugar de un registro CNAME, debe actualizar el registro. El registro actualizado debe dirigir el nombre de dominio personalizado (alias A) a la distribución de CloudFront.

Si se ha ejecutado dig o nslookup en el nombre de dominio y el registro es un alias A, compruebe la distribución de CloudFront. Asegúrese de que la distribución de CloudFront no esté configurada con un nombre de dominio alternativo. Para obtener más información, consulte Comparación de alias y registros CNAME.

Eliminar el registro CNAME o actualizar su distribución de CloudFront

Realice una de las siguientes acciones, o ambas, en función de su configuración:

Si tiene un proveedor de servicios DNS externo, siga el proceso que le indique el proveedor para eliminar el registro CNAME que apunta a su distribución de CloudFront.

Si usa Amazon Route 53, elimine el registro de Route 53 que apunte a CloudFront.

Después de realizar los cambios de configuración, espere varios minutos a que se propaguen los cambios de DNS. A continuación, vuelva a intentar crear el nombre de dominio personalizado.

Nota: Si recibe los errores «CNAMEAlreadyExists», consulte ¿Cómo puedo solucionar el error CNAMEAlreadyExists al configurar un alias de CNAME para una distribución de Amazon CloudFront?


Información relacionada

¿Cómo puedo configurar un nombre de dominio personalizado para mi API de API Gateway?

Creación de una aplicación sin servidor multirregional con Amazon API Gateway y AWS Lambda

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 2 años