Como posso configurar um nome de domínio personalizado para minha API do API Gateway?

5 minuto de leitura
0

Quero usar um nome de domínio personalizado para minha API do Amazon API Gateway em vez da URL base padrão. Como faço para configurar isso?

Breve descrição

Há dois tipos de nomes de domínio personalizados que você pode criar para as APIs do API Gateway: Regional ou (somente para APIs REST) otimizado para borda.

Observação: não há suporte para nomes de domínio personalizados para APIs privadas.

Para configurar um nome de domínio personalizado para sua API Gateway API, faça o seguinte:

A seguir estão algumas diferenças importantes entre nomes de domínio regionais e personalizados com otimização de borda.

Diferenças de endpoints de destino

Os nomes de domínio personalizados regionais usam um Endpoint de API regional.

Os nomes de domínio personalizados otimizados para o Edge usam uma distribuição do Amazon CloudFront.

Diferenças entre certificados SSL/TLS

Os nomes de domínio personalizados regionais devem usar um certificado SSL/TLS que esteja na mesma região da AWS que sua API.

Os nomes de domínio personalizados otimizados para o Edge devem usar um certificado que esteja na seguinte região: Leste dos EUA (Norte da Virgínia) (us-east-1).

Diferenças de nome de domínio personalizado

Os nomes de domínio personalizados regionais podem ser compartilhados por outros nomes de domínio personalizados regionais que estão em diferentes regiões da AWS.

Os nomes de domínio personalizados otimizados para o Edge são exclusivos e não podem ser associados a mais de uma distribuição do CloudFront.

Diferenças de mapeamento de nomes de domínio

Um nome de domínio regional personalizado para uma API WebSocket não pode ser mapeado para uma API REST ou API HTTP. No entanto, um domínio personalizado regional pode ser associado às APIs REST e APIs HTTP.

Para APIs REST, os nomes de domínio personalizados com otimização de borda e regionais podem ter mapeamentos para endpoints de API otimizados para borda, endpoints de API regionais ou ambos.

Para APIs WebSocket e APIs HTTP, o TLS 1.2 é a única versão TLS compatível.

Resolução

Solicitar ou importar um certificado SSL/TLS

Antes de criar um nome de domínio personalizado para sua API, você deve fazer o seguinte:

  • Solicitar um certificado SSL/TLS do AWS Certificate Manager (ACM).
    -ou-
  • Importe um certificado SSL/TLS para o ACM.

Observação: para obter mais informações, consulte Getting certificates ready in AWS Certificate Manager.

Ao solicitar ou importar o certificado, tenha em mente os seguintes requisitos:

  • Para passar nas verificações de validação de domínio, o certificado deve incluir o nome de domínio personalizado como um nome de domínio alternativo.
    Observação: para obter mais informações sobre verificações de validação com distribuições do CloudFront (para nomes de domínio personalizados com otimização de borda), consulte Continually Enhancing Domain Security on Amazon CloudFront. Existem verificações de validação semelhantes para nomes de domínio personalizados regionais.
  • Para um nome de domínio personalizado otimizado para borda, o certificado ACM deve estar na seguinte região: Leste dos EUA (Norte da Virgínia) (us-east-1).
  • Para um nome de domínio personalizado regional, o certificado ACM deve estar na mesma região da sua API.

Criar o nome de domínio personalizado para sua API REST, API HTTP ou API WebSocket

Para APIs REST, siga as instruções em Setting up custom domain names for REST APIs.

Para APIs HTTP, siga as instruções em Configurar nomes de domínio personalizados para APIs HTTP.

Para APIs WebSocket, siga as instruções em Setting up custom domain names for WebSocket APIs.

Encaminhar o tráfego para sua API Gateway API

Use o Amazon Route 53 para direcionar o tráfego para seu domínio personalizado. Isso dá mais controle sobre os recursos que os usuários podem acessar quando visitam seu domínio.

Siga as instruções em Como configurar o Route 53 para encaminhar o tráfego para um endpoint do API Gateway.

  • Ao configurar o Route 53, você deve criar uma zona hospedada pública ou uma zona hospedada privada. Para aplicativos voltados para a Internet com recursos que você deseja disponibilizar aos usuários, escolha uma zona hospedada pública. Para obter mais informações, consulte Working with hosted zones.
  • O Route 53 usa registros para determinar para onde o tráfego é roteado para seu domínio. Os registros de alias fornecem consultas de DNS mais fáceis aos recursos da AWS, enquanto os registros CNAME (sem alias) podem redirecionar consultas de DNS para fora dos recursos da AWS. Para obter mais informações, consulte Choosing between alias and non-alias records.

Testar a configuração chamando sua API usando o novo nome de domínio personalizado

1.    Execute um comando curl no nome de domínio usando o mapeamento do caminho base que você especificou ao criar o nome de domínio personalizado.
Observação: para obter mais informações sobre curl, consulte o site do projeto curl.

2.    Verifique se a resposta ao nome de domínio personalizado é a mesma que você recebe ao invocar o URL do estágio da API.


Informações relacionadas

Migrating a custom domain name to a different API endpoint

Requesting a public certificate