Przypisywanie nazwy domeny do zadania AWS Fargate

13

Mam zadanie AWS Fargate uruchamiające aplikację internetową w publicznej podsieci, aby miała adres publiczny. Moje pytanie brzmi: jak połączyć domenę (poprzez Trasę 53) z tym zadaniem, aby nic się nie zepsuło podczas wdrażania nowej wersji.

  • Wiem, że mogę korzystać z ALB / NLB, ale chcę zaoszczędzić na kosztach.
  • Nie chcę bezpośrednio używać publicznego adresu IP, ponieważ może się on zmienić.
  • Zakładam, że rozwiązanie ma coś wspólnego z ENI, ale nie jestem pewien, jak wskazać na to przez Route 53.

Każda pomoc będzie mile widziana.

Dzięki

Lew
źródło

Odpowiedzi:

7

W większości przypadków najprawdopodobniej chcesz użyć ALB / NLB do wykrywania usług. Chociaż istnieją pewne koszty, zyskujesz również wiele korzyści: Niektóre zabezpieczenia DoS, metryki skalowania, rejestrowanie, SSL / TLS

Możesz jednak użyć funkcji wykrywania usług ECS .

Funkcja odnajdywania usług wykorzystuje akcje API automatycznego nazewnictwa Amazon Route 53 do zarządzania wpisami DNS dla zadań usługi, dzięki czemu można je wykryć w VPC

i

Publiczne przestrzenie nazw są obsługiwane, ale przed utworzeniem usługi wykrywania usług należy zarejestrować istniejącą publiczną strefę hostowaną na Route 53.

Wykrywanie usług wymaga, aby zadania korzystały z trybu sieciowego awsvpc, mostu lub hosta.

Oto wpis na blogu opisujący, w jaki sposób korzystać z funkcji wykrywania usług z fargate: https://aws.amazon.com/blogs/aws/amazon-ecs-service-discovery/

M. Glatki
źródło
0

Starałem się. Problem polega na tym, że publiczny ip używany przez fargate jest dołączony do ZADANIA, więc jeśli zadanie zostanie zrestartowane, wówczas zostanie podany nowy adres ip i rekord dns musi zostać zaktualizowany. Właśnie dlatego używana jest alba / nlb.

Teoretycznie możesz użyć czegoś innego do zarządzania rekordami hosta dns, na przykład funkcji lambda lub czegoś takiego

Uwagi dotyczące wykrywania usługi: Rekordy DNS utworzone dla usługi wykrywania usługi zawsze rejestrują się przy użyciu prywatnego adresu IP zadania, a nie publicznego adresu IP, nawet jeśli używane są publiczne przestrzenie nazw.

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

oneklc
źródło
0

Jak stwierdzono w przewodniku programisty ECS :

Amazon ECS nie obsługuje rejestrowania usług w publicznych przestrzeniach nazw DNS

Więc nie ma szans na natychmiastową rejestrację domeny publicznej za pośrednictwem ECS Service Discovery. Ale możesz użyć AWS SKD, aby pobrać publiczny adres IP swojego kontenera po wdrożeniu i zarejestrować go w swojej publicznej strefie hostowanej Route 53.

W tym artykule pokazano podejście wykorzystujące funkcję lambda, aby zrobić to dokładnie za każdym razem, gdy kontener zostanie ponownie wdrożony.

Andreas Pasch
źródło