Atribuindo um nome de domínio a uma tarefa do AWS Fargate


12

Eu tenho uma tarefa do AWS Fargate executando um aplicativo Web em uma sub-rede pública para que ele tenha um endereço público. Minha pergunta é como conectar um domínio (por meio do Route 53) a essa tarefa, para que nada quebre quando implanto uma nova versão dele.

  • Sei que posso usar o ALB / NLB, mas quero economizar em custos.
  • Não quero usar o IP público diretamente, pois isso pode mudar.
  • Presumo que a solução tenha algo a ver com o ENI, mas não tenho certeza de como apontá-lo através da Rota 53.

Qualquer ajuda seria muito apreciada.

obrigado

Respostas:


6

Na maioria dos casos, você provavelmente deseja usar um ALB / NLB para a descoberta de serviços. Embora haja alguns custos, você também obtém muitos benefícios: alguma proteção contra DoS, métricas de escala, registro em log, SSL / TLS

No entanto, você pode usar a descoberta de serviço ECS .

A descoberta de serviço usa ações de API de nomenclatura automática do Amazon Route 53 para gerenciar entradas DNS para as tarefas do seu serviço, tornando-as detectáveis ​​na sua VPC

e

Os espaços para nome públicos são suportados, mas você deve ter uma zona hospedada pública existente registrada no Route 53 antes de criar seu serviço de descoberta de serviço.

A descoberta de serviço requer que as tarefas usem o modo awsvpc, bridge ou host da rede.

Aqui está uma entrada de blog detalhando como usar a descoberta de serviço com fargate: https://aws.amazon.com/blogs/aws/amazon-ecs-service-discovery/


0

Eu tentei. O problema é que o IP público usado pelo fargate é anexado à TAREFA; portanto, se a tarefa for reiniciada, um novo endereço IP será fornecido e o registro dns precisará ser atualizado. É por isso que o alb / nlb é usado.

Em teoria, você poderia usar outra coisa para gerenciar os registros de host DNS, talvez uma função lambda ou algo

Considerações sobre descoberta de serviço: Os registros DNS criados para um serviço de descoberta de serviço sempre são registrados com o endereço IP privado da tarefa, em vez do endereço IP público, mesmo quando espaços de nomes públicos são usados.

https://forums.aws.amazon.com/thread.jspa?threadID=270599


0

Conforme declarado no guia do desenvolvedor do ECS :

O Amazon ECS não oferece suporte ao registro de serviços em espaços de nomes DNS públicos

Portanto, não há chance de registro imediato de domínio público via ECS Service Discovery. Mas o que você pode fazer é usar o AWS SKD para buscar o endereço IP público do seu contêiner após a implantação e registrá-lo na sua zona hospedada pública do Route 53.

Este artigo mostra uma abordagem usando uma função lambda para fazer exatamente isso sempre que seu contêiner for reimplementado.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.