Configuração de nomes de domínio personalizados para GraphQL e APIs em tempo real - AWS AppSync

Configuração de nomes de domínio personalizados para GraphQL e APIs em tempo real

Com o AWS AppSync, é possível usar nomes de domínio personalizados para definir um domínio único e marcante que funcione para o GraphQL e para as APIs em tempo real.

Em outras palavras, você pode utilizar URLs de endpoint simples e memoráveis com os nomes de domínio de sua escolha criando opções personalizadas associadas às APIs do AWS AppSync na conta.

Quando você configura uma API do AWS AppSync, dois endpoints são provisionados:

Endpoint do GraphQL do AWS AppSync:

https://example1234567890000.appsync-api.us-east-1.amazonaws.com/graphql

Endpoint em tempo real do AWS AppSync:

wss://example1234567890000.appsync-realtime-api.us-east-1.amazonaws.com/graphql

Os nomes de domínio personalizados permitem interagir com os dois endpoints usando um único domínio. Por exemplo, se você configurar api.example.com como seu domínio personalizado, poderá interagir com os endpoints da linguagem GraphQL e em tempo real usando estes URLs:

Endpoint do GraphQL do domínio personalizado do AWS AppSync:

https://api.example.com/graphql

Endpoint em tempo real do domínio personalizado do AWS AppSync:

wss://api.example.com/graphql/realtime

nota

As APIs do AWS AppSync são compatíveis somente com o TLS 1.2 e o TLS 1.3 para nomes de domínio personalizados.

Registrar e configurar um nome de domínio

É necessário ter um nome de domínio da Internet registrado para configurar nomes personalizados para as APIs do AWS AppSync. Se for o caso, é possível registrar um domínio da Internet usando o Amazon Route 53 domain registration ou um registrador de domínios de terceiros de sua escolha. Para obter mais informações, consulte O que é Amazon Route 53 Resolver? no Guia do desenvolvedor do Amazon Route 53

O nome de domínio personalizado de uma API pode ser o nome de um subdomínio ou do domínio raiz (também conhecido como "ápex de zona") de um domínio da Internet registrado. Depois da criação de um nome de domínio personalizado no AWS AppSync, você deve criar ou atualizar o registro de recursos do provedor de DNS para ser mapeado para o endpoint da API. Sem esse mapeamento, as solicitações de API que forem direcionadas para o nome de domínio personalizado não poderão acessar o AWS AppSync.

Criar um nome de domínio personalizado no AWS AppSync

Criar um nome de domínio personalizado para uma API do AWS AppSync configura uma distribuição do Amazon CloudFront. É necessário configurar um registro DNS para mapear o nome de domínio personalizado para o nome de domínio da distribuição do CloudFront. Esse mapeamento refere-se a solicitações de API vinculadas ao nome de domínio personalizado do AWS AppSync por meio da distribuição mapeada do CloudFront. Você também deve fornecer um certificado para o nome de domínio personalizado.

Para configurar o nome de domínio personalizado ou atualizar seu certificado, você deve ter permissão para atualizar as distribuições do CloudFront e descrever o certificado do AWS Certificate Manager (ACM) que você planeja usar. Para conceder essas permissões, anexe a declaração de política do AWS Identity and Access Management (IAM) a seguir a um usuário, um grupo ou um perfil do IAM em sua conta:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowUpdateDistributionForAppSyncCustomDomainName", "Effect": "Allow", "Action": ["cloudfront:updateDistribution"], "Resource": ["*"] }, { "Sid": "AllowDescribeCertificateForAppSyncCustomDomainName", "Effect": "Allow", "Action": "acm:DescribeCertificate", "Resource": "arn:aws:acm:<region>:<account-id>:certificate/<certificate-id>" } ] }

O AWS AppSync é compatível com os nomes de domínio personalizados, otimizando a Indicação de nome de servidor (SNI) na distribuição do CloudFront. Para obter mais informações sobre como usar nomes de domínio personalizados em uma distribuição do CloudFront, incluindo o formato de certificado necessário e o comprimento máximo da chave do certificado, consulte Usar nomes de domínio alternativos e HTTPS no Guia do desenvolvedor do Amazon CloudFront.

Para configurar um nome de domínio personalizado como o nome de host da API, você, como proprietário da API, precisa fornecer um certificado SSL/TLS para o nome de domínio personalizado. Para fornecer um certificado, execute uma das seguintes ações:

  • Solicite um novo certificado no ACM ou importe um que tenha sido emitido por uma autoridade de certificação terceirizada no ACM na região us-east-1 (Leste dos EUA, Norte da Virgínia) da AWS. Para obter mais informações sobre o ACM, consulte O que é o AWS Certificate Manager? no Guia do usuário do AWS Certificate Manager.

  • Forneça um certificado do servidor do IAM. Para obter mais informações, consulte Managing server certificates in IAM no Guia do usuário do IAM.

Nomes de domínio curinga personalizados no AWS AppSync

O AWS AppSync também é compatível com nomes de domínio curinga personalizados. Para configurar um nome de domínio curinga personalizado, especifique um caractere curinga (*) como o primeiro subdomínio de um domínio personalizado. Isso representa todos os subdomínios possíveis do domínio raiz. Por exemplo, o nome de domínio curinga personalizado *.example.com resulta em subdomínios, como a.example.com, b.example.com e c.example.com. Todos esses subdomínios são roteados para o mesmo domínio.

Para usar um nome de domínio personalizado curinga no AWS AppSync, é necessário fornecer um certificado emitido pelo ACM contendo um nome curinga, que pode proteger vários sites no mesmo domínio. Para obter mais informações, consulte Características do certificado do ACM no Guia do usuário do AWS Certificate Manager.