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

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

Utilice un nombre de dominio personalizado regional para crear una URL base de la API más descriptiva. Con un nombre de dominio personalizado regional, puede asignar etapas de la API de HTTP y REST al mismo nombre de dominio personalizado y usar la autenticación TLS mutua.

Consideraciones

Las siguientes son consideraciones para su nombre de dominio personalizado regional.

  • Debe proporcionar un certificado de ACM específico de la región. Este certificado debe estar en la misma región que la API. 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.

  • Cuando crea un nombre de dominio personalizado regional (o migra uno) con un certificado de ACM, API Gateway crea un rol vinculado al servicio en su cuenta. 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.

  • Después de crear el nombre de dominio personalizado regional, debe crear un registro DNS de tipo "A" para que el nombre de dominio personalizado apunte 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.

Creación de un nombre de dominio personalizado regional

En el siguiente procedimiento se muestra cómo crear un nombre de dominio personalizado regional. Después de completar este procedimiento, debe crear un registro de DNS para que el nombre de dominio personalizado apunte al nombre de dominio regional.

AWS Management Console
  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 Versión mínima de TLS, seleccione una versión.

  6. En Configuración de punto de conexión, para Tipo de punto de conexión de la API, elija Regional.

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

  8. Seleccione Crear.

AWS CLI

El siguiente comando create-domain-name se puede utilizar para crear un nombre de dominio personalizado:

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

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

{ "ApiMappingSelectionExpression": "$request.basepath", "DomainName": "regional.example.com", "DomainNameConfigurations": [ { "ApiGatewayDomainName": "d-numh1z56v6.execute-api.us-west-2.amazonaws.com", "CertificateArn": "arn:aws:acm:us-west-2:123456789012:certificate/123456789012-1234-1234-1234-12345678", "DomainNameStatus": "AVAILABLE", "EndpointType": "REGIONAL", "HostedZoneId": "Z2OJLYMUO9EFXC", "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.

Creación de un registro de DNS para el nombre de dominio personalizado regional

En el siguiente procedimiento se muestra cómo crear un registro de DNS para que su nombre de dominio personalizado apunte al nombre de dominio regional recién creado.

AWS Management Console

Para usar la AWS Management Console, siga la documentación de Route 53 sobre la configuración de Route 53 para enrutar el tráfico a API Gateway.

AWS CLI

Para configurar sus registros de DNS para asignar el nombre de dominio regional personalizado al nombre de host del ID de zona alojada designado, cree primero un archivo JSON que contenga la configuración a fin de establecer un registro de DNS para el nombre de dominio regional.

En el siguiente setup-dns-record.json se muestra cómo crear un registro A de DNS 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 } } } ] }

El siguiente comando change-resource-record-sets muestra cómo crear un registro de DNS para su nombre de dominio personalizado regional:

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

Reemplace hosted-zone-id por 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).

Creación de una asignación de ruta base para el nombre de dominio personalizado regional

Después de crear un registro de DNS, se crea una asignación de rutas base para asignar la API al nombre de dominio personalizado. Por ejemplo, puede asignar la etapa test para el ID de API de abc123 al nombre de dominio personalizado regional.example.com mediante la clave de asignación de API de myApi. De este modo, se asigna la API https://abcd1234.execute-api.us-west-2.amazonaws.com/test a https://regional.example.com/myApi.

AWS Management Console
  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 Guardar.

AWS CLI

El siguiente comando create-api-mapping se puede usar para crear una asignación de ruta base:

aws apigatewayv2 create-api-mapping \ --domain-name 'regional.example.com' \ --api-mapping-key 'myApi' \ --api-id abcd1234 \ --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.

Con un nombre de dominio personalizado regional, puede crear una asignación de API con varios niveles, como https://regional.example.com/orders/v1/items/123. También puede asignar etapas de la API de HTTP y REST al mismo nombre de dominio personalizado. Para obtener más información, consulte Asignación de etapas de API a un nombre de dominio personalizado para las API de REST.