Uma API privada é uma API REST que só pode ser chamada de dentro de uma Amazon VPC. Você pode acessar a API usando um endpoint de interface da VPC, que é uma interface de rede de endpoint que você cria na VPC. Os endpoints de interface são desenvolvidos pelo AWS PrivateLink, uma tecnologia que permite acessar de forma privada os serviços da AWS usando endereços IP privados.
Você também pode usar o AWS Direct Connect para estabelecer uma conexão de uma rede on-premises para o Amazon VPC, depois acessar sua API privada nessa conexão. Em todos os casos, o tráfego para a API privada sempre usa conexões seguras e é isolado da internet pública. O tráfego não deixa a rede da Amazon.
Práticas recomendadas para APIs privadas
Sugerimos que você siga as práticas recomendadas a seguir ao criar uma API privada.
-
Use um único endpoint da VPC para acessar várias APIs privadas. Isso reduz o número de endpoints da VPC que você pode precisar.
-
Associe seu endpoint da VPC à sua API. Isso cria um registro DNS de alias do Route 53 e simplifica a invocação da API privada.
-
Ative o DNS privado para sua VPC. Ao ativar o DNS privado para a VPC, é possível invocar a API em uma VPC sem transmitir o cabeçalho
Host
oux-apigw-api-id
.Se você ativar a opção de DNS privado, não poderá acessar o endpoint padrão para APIs públicas. Se quiser acessar o endpoint padrão para APIs públicas, você pode desativar o DNS privado, criar uma zona hospedada privada para cada API privada na VPC e, depois, provisionar os registros necessários no Route 53. Isso permite que a API privada seja resolvida e que você, ainda assim, invoque o endpoint padrão público da VPC. Para obter mais informações, consulte Criar uma zona hospedada privada.
-
Restrinja o acesso à sua API privada para VPCs ou endpoints da VPC específicos. Adicione condições
aws:SourceVpc
ouaws:SourceVpce
à política de recursos da API para restringir o acesso. -
Para obter o perímetro de dados mais seguro, você pode criar uma política de endpoint da VPC. Isso controla o acesso aos endpoints da VPC que podem invocar sua API privada.
Considerações sobre APIs privadas
As considerações a seguir podem afetar seu uso de APIs privadas.
-
Somente as APIs REST são compatíveis.
Não é possível converter uma API privada para uma API otimizada para fronteiras.
-
As APIs privadas são compatíveis somente com TLS 1.2. Versões anteriores do TLS não são compatíveis.
-
Se você fizer uma solicitação usando o protocolo HTTP/2, ela será forçada a usar o protocolo HTTP/1.1.
-
Você pode enviar tráfego usando todos os tipos de endereço IP compatíveis com a Amazon VPC. Você pode enviar tráfego de pilha dupla e IPv6 configurando as definições no endpoint da VPC. Não é possível modificar isso usando o API Gateway. Para obter mais informações, consulte Adicionar suporte a IPv6 para sua VPC.
-
Os VPC endpoints para APIs privadas estão sujeitos às mesmas limitações dos outros VPC endpoints de interface. Para obter mais informações, consulte Access an AWS using an interface VPC endpoint (Acessar um por meio de um endpoint da VPC de interface) no AWS PrivateLink Guia. Para obter mais informações sobre como usar o API Gateway com VPCs e sub-redes compartilhadas, consulte Sub-redes compartilhadas no Guia do AWS PrivateLink.
Próximas etapas para APIs privadas
Para saber como criar uma API privada e associar um endpoint da VPC, consulte Criar uma API privada. Para seguir um tutorial em que você cria dependências no AWS CloudFormation e uma API privada no AWS Management Console, consulte Tutorial: Crie uma API REST privada.