Jak stworzyć klaster ECS na AWS

Jak stworzyć klaster ECS na AWS
ECS (Elastic Container Service) to zarządzana, wysoce dostępna i skalowalna usługa kontenerowa do uruchamiania aplikacji kontenerowych na AWS. W ECS zapisuje się definicja zadania w celu zdefiniowania pojemników i służy do uruchamiania jednego lub więcej procesów w serwisie. Usługa w ECS to konfiguracja, której można używać do uruchamiania i zarządzania wieloma zadaniami w klastrze ECS jednocześnie.

Amazon ECS zapewnia proste interfejsy API do interakcji z kontenerowaną aplikacją działającą na ECS. Korzystając z tych interfejsów API, możesz uruchomić, uruchamiać, uruchomić i zatrzymać aplikację kontenerową. Możesz także zaplanować umieszczenie kontenerów uruchamiających aplikację w żądanym węźle w zależności od zasobów wymaganych przez aplikację.

Poniżej znajdują się terminologie używane podczas pracy z klastrem ECS.

  • Pojemnik i obrazy
  • Definicje zadań
  • Zadanie i planowanie
  • Klastry
  • Agent kontenerowy

W tym artykule dowie się, w jaki sposób klaster ECS można tworzyć na AWS za pomocą konsoli zarządzania AWS.

Tworzenie klastra ECS

Najpierw zaloguj się do konsoli zarządzania i przejdź do EC usługi.

Z lewego panelu bocznego na konsoli kliknij Klastry przycisk.

Teraz kliknij Utwórz klaster Aby zacząć tworzyć klaster.

Teraz poprosi o szablon klastra ECS. Dostępne są trzy szablony dla klastra ECS.

  • Tylko tworzenie sieci
  • Networking EC2 Linux +
  • EC2 Windows + Networking

Tylko tworzenie sieci szablon tworzy klastry za pomocą AWS Fargate. AWS Fargate to najnowsza technologia dostarczona przez AWS do wdrażania klastrów ECS. AWS Fargate to usługa bezserwerowa wdrażania klastrów ECS i nie musisz zarządzać węzłami w klastrze. Węzły są zarządzane przez AWS, a ty podajesz tylko definicje zadań dla usługi. W przypadku tego szablonu tworzysz tylko klaster ECS, a VPC i podsieci są dla tego opcjonalne.

Networking EC2 Linux + Szablon tworzy klaster ECS, w tym węzły z Linux AMI. Aby uruchomić klaster ECS za pomocą szablonu sieciowego EC2 Linux +, musisz utworzyć grupę klastra, VPC, podsieci i automatycznego skalowania z Linux AMIS. Grupa auto-skalowania służy do zarządzania węzłami w klastrze.

EC2 Windows + Networking szablon tworzy klaster ECS z Windows AMIS. Tworzysz grupę klastra, podsieci, VPC i auto-skalowania z systemem Windows AMIS. Instancje systemu Windows są zarządzane i skalowane przez grupę auto-skalowania.

AWS zaleca użycie AWS Fargate do uruchomienia klastra ECS i jest to najnowsza technologia wśród nich. Tak więc do tego demo użyjemy AWS Fargate, aby stworzyć klaster ECS.

Po wybraniu opcji kliknij teraz Następny krok przycisk w prawym dolnym rogu strony.

Poprosi o różne konfiguracje klastra ECS. Nazwa jest unikalnym identyfikatorem klastra ECS, a ta sama nazwa nie może być używana dla innego klastra ECS w tym samym regionie.

W przypadku sieci klastrów możesz utworzyć klaster w VPC, aby odizolować klaster ECS. W przypadku tego demo nie będziemy uruchomić klastra ECS w VPC.

Wgląd w CloudWatch Container jest używany do monitorowania i rozwiązywania problemów z kontenerowymi aplikacjami. Zbiera różne wskaźniki kontenera, takie jak procesor, pamięć, przestrzeń i inne zdarzenia, takie jak restart, zatrzymanie i zacznij dawać głęboki wgląd w pojemnik. W przypadku tego demo nie będziemy korzystać z wglądu CloudWatch Container.

Po podaniu wszystkich powyższych szczegółów kliknij Następny przycisk, aby utworzyć klaster ECS.

Po kliknięciu Tworzyć przycisk Aby utworzyć klaster ECS, najpierw utworzy rolę związaną z usługą IAM dla ECS, a następnie utworzy klaster.

Utwórz definicję zadania ECS

Po utworzeniu klastra ECS, teraz utwórz definicję zadania ECS, aby wdrożyć przykładowy pojemnik na klastrze ECS.

Z lewego panelu bocznego konsoli ECS kliknij Definicje zadań przycisk.

Kliknij na Utwórz nową definicję zadań przycisk, aby utworzyć nową definicję zadań.

Po pierwsze, poprosi o zgodność typu uruchomienia dla definicji zadania. Istnieją trzy kompatybilności typu premiera dla definicji zadań.

  • Fargate
  • EC2
  • Zewnętrzny

Fargate Kompatybilność typu uruchamiania jest używana do infrastruktury zarządzanej przez AWS i nie ma potrzeby wdrażania żadnej instancji EC2. Ta kompatybilność typu startowego jest używana dla klastrów ECS za pomocą AWS Fargate. Koszt oparty jest na wielkości pojemnika.

EC2 Kompatybilność typu uruchamiania jest używana do samodzielnej infrastruktury na AWS, podobnie jak instancje EC2, które mają zarówno system Windows, jak i Linux AMIS. Ta kompatybilność typu premiera jest używana dla obu Networking EC2 Linux + I EC2 Windows + Networking Szablony ECS. Koszt oparty jest na instancjach EC2.

Zewnętrzny Kompatybilność typu uruchamiania jest używana dla klastra ECS, w tym samodzielnie zarządzane instancje lokalne. Cena oparta jest na instancji i dodatkowych opłatach za inne usługi.

Do tego demo użyjemy Fargate Kompatybilność typu uruchomić, ponieważ używamy Tylko tworzenie sieci szablon dla klastra ECS.

Po wybraniu kompatybilności typu uruchomienia kliknij teraz Następny krok przycisk w prawym dolnym rogu strony. Otworzy nową stronę z prośbą o konfigurację zadań i kontenerów.

Wprowadź unikalną nazwę do utworzenia definicji zadania. Rola zadań służy do wykonywania połączeń API do usług AWS. W przypadku tego demo pozostaw rolę zadania Brak. Rodzina systemu operacyjnego to system operacyjny, z którego będzie korzystać definicja zadania. W przypadku tego demo wybierz Linux Jako rodzina systemów operacyjnych.

Teraz przewiń w dół do Rola wykonania zadania IAM. Rola wykonania zadania musi zawierać uprawnienia do pobrania obrazu kontenera i publikacji dzienników kontenerów do Amazon CloudWatch. Jeśli rola nie istnieje, zostanie utworzona automatycznie przez ECS.

Rozmiar zadania to pamięć i liczba VCPU, które zostaną przydzielone do kontenera w celu wykonania. W przypadku tego demo przyznaje 0.5 GB pamięci RAM i 0.25 VCPU.

Po przydzieleniu RAM i VCPU, kliknij teraz Dodaj pojemnik przycisk, aby dodać pojemnik. Wprowadź nazwę pojemnika i obrazu, który będzie używany przez kontener.

Możesz także określić twarde i miękkie granice zasobów przydzielonych do kontenera. Jeśli określono twardy limit, kontener zostanie zabity, jeśli przekroczy ten limit. Jeśli określono miękki limit, kontener zarezerwuje tę ilość pamięci.

Mapowanie portów służy do uzyskiwania dostępu do portów kontenerów na komputerze hosta. W przypadku tego demo ustaw port 80.

Teraz pomiń wszystkie pozostałe opcje i kliknij tworzyć przycisk na końcu strony, aby utworzyć zadanie.

Po utworzeniu definicji zadania, teraz przejdź do Definicje zadań z lewego panelu bocznego konsoli ECS. Wybierz nowo utworzoną definicję zadania i uruchom ją za pomocą Uruchomić zadanie opcja z działania lista.

Przed uruchomieniem poprosi o różne opcje kontenera. Zapewnić Fargate Jako typ uruchomienia, ponieważ będziemy używać Fargat jako kompatybilności typu uruchamiania.

Wybierać Linux jako system operacyjny kontenera i podaj inne szczegóły, jak pokazano na poniższym obrazku.

Wybierz grupy VPC, podsieć i bezpieczeństwa, które chcesz przypisać do definicji zadania.

Po podaniu wszystkich tych szczegółów kliknij teraz uruchomić przycisk, aby uruchomić definicję zadania. Po uruchomieniu definicji zadania sprawdź teraz status definicji zadania z konsoli.

Wniosek

Amazon ECS to wysoce dostępna i skalowalna usługa świadczona przez AWS do uruchamiania aplikacji kontenerowych. AWS zapewnia różne kompatybilności typu uruchomienia do uruchamiania aplikacji kontenerowych na AWS bez zarządzania narzędziem konteneralnym. Po utworzeniu klastra ECS musisz utworzyć definicję zadania, aby uruchomić kontener. W tym artykule opisano, w jaki sposób możemy tworzyć i uruchamiać aplikacje konteneryzowane w AWS ECS za pomocą konsoli zarządzania AWS.