Configuración de un nombre de dominio regional personalizado en API Gateway - Amazon API Gateway

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Configuración de un nombre de dominio regional personalizado en API Gateway

Puede crear un nombre de dominio personalizado para un punto de enlace de API regional (para una región de AWS). Para crear un nombre de dominio personalizado debe proporcionar un certificado de ACM específico de la región. Para obtener más información sobre cómo crear o cargar un certificado de nombre de dominio personalizado, consulte Preparación de certificados en AWS Certificate Manager.

importante

En el caso de los nombres de dominio personalizados para regiones de API Gateway, debe solicitar o importar el certificado en la misma región que la API.

Cuando crea un nombre de dominio regional personalizado (o migra uno) con un certificado de ACM, API Gateway crea un rol vinculado al servicio en su cuenta, si el rol no existe aún. El rol vinculado al servicio es necesario para asociar el certificado de ACM a su punto de enlace regional. El rol se denomina AWSServiceRoleForAPIGateway y llevará asociada la política administrada APIGatewayServiceRolePolicy. Para obtener más información acerca de cómo usar el rol vinculado al servicio, consulte Uso de roles vinculados a servicios.

importante

Debe crear un registro DNS para apuntar el nombre de dominio personalizado al nombre de dominio regional. Esto permite que el tráfico que se dirige al nombre de dominio personalizado se enrute al nombre de host regional de la API. El registro DNS puede ser el tipo CNAME o "A".

Configuración de un nombre de dominio personalizado regional con un certificado de ACM con la consola de API Gateway

Para utilizar la consola de API Gateway con el fin de configurar un nombre de dominio regional, siga el procedimiento indicado a continuación.

Para configurar un nombre de dominio regional con la consola de API Gateway
  1. Inicie sesión en la consola de API Gateway en https://console.aws.amazon.com/apigateway.

  2. Elija Custom domain names (Nombres de dominios personalizados) en el panel de navegación principal.

  3. Seleccione Create (Crear).

  4. En Domain Name (Nombre de dominio), escriba un nombre de dominio.

  5. En Configuration (Configuración), seleccione Regional.

  6. Elija una versión mínima de TLS.

  7. Elija un certificado de ACM. El certificado debe estar en la misma región que la API.

  8. Seleccione Create (Crear).

  9. Siga la documentación de Route 53 sobre cómo configurar Route 53 para enrutar el tráfico a API Gateway.

El siguiente procedimiento configura asignaciones de API para asignar rutas desde el nombre de dominio personalizado a las etapas de API.

Para crear nombres de mapeos de API con la consola de API Gateway
  1. Inicie sesión en la consola de API Gateway en https://console.aws.amazon.com/apigateway.

  2. Elija un nombre de dominio personalizado.

  3. Elija Configure API mappings (Configurar asignaciones de API).

  4. Seleccione Add new mapping (Agregar nueva asignación).

  5. Especifique la API, Stage (Etapa) y Path (Ruta) para la asignación.

  6. Seleccione Save.

Para obtener información sobre cómo establecer mapeos de rutas base para el dominio personalizado, consulte Configurar el mapeo de ruta base de una API con un nombre de dominio personalizado como su nombre de host.

Configuración de un nombre de dominio personalizado regional con ACM Certificar utilizando la AWS CLI

Para utilizar la AWS CLI con el fin de configurar un nombre de dominio personalizado para una API regional, siga el procedimiento indicado a continuación.

  1. Llame a create-domain-name, especificando un nombre de dominio personalizado y el ARN de un certificado regional.

    aws apigatewayv2 create-domain-name \ --domain-name 'regional.example.com' \ --domain-name-configurations CertificateArn=arn:aws:acm:us-west-2:123456789012:certificate/123456789012-1234-1234-1234-12345678

    Tenga en cuenta que el certificado especificado es de la región us-west-2 y para este ejemplo, suponemos que la API subyacente es de la misma región.

    Si es correcta, la llamada devuelve un resultado similar al siguiente:

    { "ApiMappingSelectionExpression": "$request.basepath", "DomainName": "regional.example.com", "DomainNameConfigurations": [ { "ApiGatewayDomainName": "d-id.execute-api.us-west-2.amazonaws.com", "CertificateArn": "arn:aws:acm:us-west-2:123456789012:certificate/id", "DomainNameStatus": "AVAILABLE", "EndpointType": "REGIONAL", "HostedZoneId": "id", "SecurityPolicy": "TLS_1_2" } ] }

    El valor de propiedad DomainNameConfigurations devuelve el nombre de host de la API regional. Debe crear un registro DNS para apuntar su nombre de dominio personalizado a este nombre de dominio regional. Esto permite que el tráfico que se dirige al nombre de dominio personalizado se enrute al nombre de host de esta API regional.

  2. Cree un registro DNS para asociar el nombre de dominio personalizado y el nombre de dominio regional. Esto permite que las solicitudes que se dirigen al nombre de dominio personalizado se enruten al nombre de host regional de la API.

  3. Añada una asignación de ruta base para exponer la API especificada (por ejemplo, 0qzs2sy7bh) en una etapa de implementación (por ejemplo, test) bajo el nombre de dominio personalizado especificado (por ejemplo, regional.example.com).

    aws apigatewayv2 create-api-mapping \ --domain-name 'regional.example.com' \ --api-mapping-key 'myApi' \ --api-id 0qzs2sy7bh \ --stage 'test'

    Como resultado, la URL base que utiliza el nombre de dominio personalizado para la API que se implementa en la etapa se convierte en https://regional.example.com/myAPI.

  4. Configure sus registros de DNS para asignar el nombre de dominio regional personalizado al nombre de host del ID de zona alojada designado. En primer lugar, cree un archivo JSON que contenga la configuración para establecer un registro DNS para el nombre de dominio regional. El siguiente ejemplo muestra cómo crear un registro DNS A para asignar un nombre de dominio personalizado regional (regional.example.com) a su nombre de host regional (d-numh1z56v6.execute-api.us-west-2.amazonaws.com) aprovisionado como parte de la creación de nombres de dominio personalizados. Las propiedades DNSName y HostedZoneId de AliasTarget pueden tener los valores regionalDomainName y regionalHostedZoneId, respectivamente, del nombre de dominio personalizado. También puede obtener los ID de zona alojada regionales de Route 53 en Puntos de enlace y cuotas de Amazon API Gateway.

    { "Changes": [ { "Action": "CREATE", "ResourceRecordSet": { "Name": "regional.example.com", "Type": "A", "AliasTarget": { "DNSName": "d-numh1z56v6.execute-api.us-west-2.amazonaws.com", "HostedZoneId": "Z2OJLYMUO9EFXC", "EvaluateTargetHealth": false } } } ] }
  5. Ejecute el comando de CLI siguiente:

    aws route53 change-resource-record-sets \ --hosted-zone-id {your-hosted-zone-id} \ --change-batch file://path/to/your/setup-dns-record.json

    donde {your-hosted-zone-id} es el ID de zona alojada de Route 53 del conjunto de registros de DNS de la cuenta. El valor del parámetro change-batch apunta a un archivo JSON (setup-dns-record.json) de una carpeta (ruta/a/su).