Quero usar um nome de domínio personalizado para minha API do Amazon API Gateway em vez da URL base padrão.
Breve descrição
Há dois tipos de nomes de domínio personalizados que é possível criar para as APIs do API Gateway: Regional ou (somente para APIs REST) otimizado para borda.
Observação: o API Gateway oferece suporte a 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:
Para configurar com êxito um domínio personalizado, você deve entender as diferenças entre os tipos de nome de domínio personalizado. A seguir estão algumas diferenças importantes entre nomes de domínio regionais e personalizados com otimização de borda:
- Para endpoints de destino, 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.
- Para 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).
- Para nomes de domínio personalizados, é possível compartilhar nomes de domínio personalizados regionais em diferentes regiões da AWS. Os nomes de domínio personalizados otimizados para o Edge são exclusivos. Não é possível associar nomes de domínio personalizados a mais de uma distribuição do CloudFront.
- Para nomes de domínio, não é possível mapear um nome de domínio personalizado regional para uma API de WebSocket para uma API REST ou API HTTP. No entanto, é possível associar um domínio personalizado regional às APIs REST e 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).
- Importe um certificado SSL/TLS para o ACM.
Observação: para obter mais informações, consulte Obter certificados prontos no AWS Certificate Manager.
Ao solicitar ou importar o certificado, você deve atender aos 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 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 de WebSocket
Para APIs REST, siga as instruções em Nome de domínio personalizado para APIs REST públicas no API Gateway.
Para APIs HTTP, siga as instruções em Nomes de domínio personalizados para APIs HTTP no API Gateway.
Para APIs WebSocket, siga as instruções em Nomes de domínio personalizados para APIs WebSocket na API.
Rotear o tráfego para sua API Gateway API
Para rotear o tráfego para seu domínio personalizado, use o Amazon Route 53.
Para rotear o tráfego para sua API do API Gateway, siga as instruções em Configurando o Route 53 para rotear 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 aplicações voltadas 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.
Para determinar para onde o tráfego do seu domínio é roteado, o Route 53 usa registros. 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 Como escolher entre registros de alias e sem alias.
Teste a configuração
Para testar a configuração, é possível usar o novo nome de domínio personalizado para chamar a API:
- Use o mapeamento do caminho base que você especifica ao criar o nome de domínio personalizado para executar um comando curl no nome de domínio.
Observação: para obter mais informações sobre curl, consulte o site do projeto curl.
- 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
Migrar um nome de domínio personalizado para um tipo de endpoint de API diferente no API Gateway
Solicite um certificado público no AWS Certificate Manager