Database
 sql >> Baza danych >  >> RDS >> Database

Jak zacząć korzystać z Amazon ECS i Amazon Fargate?

Docker można zainstalować na najczęściej używanych platformach operacyjnych. CoreOS ma preinstalowany Docker i jest zaprojektowany specjalnie do uruchamiania kontenerów Docker. Docker dla AWS zapewnia gotowy do użycia tryb roju Docker, w którym klaster węzłów, zwany rojem, zapewnia rozproszoną platformę do uruchamiania aplikacji kontenerów Docker.

Problem: Wszystkie wyżej wymienione platformy Docker są tylko różnymi typami instalacji Docker i wymagają kontenerów Docker do uruchamiania i zarządzania z wiersza poleceń.

Rozwiązanie: Amazon ECS (Usługa kontenerów elastycznych ) to usługa zarządzana dla kontenerów platformy Docker z wbudowaną obsługą skalowania, równoważenia obciążenia, obsługi sieci, przechowywania, rejestrowania i innych zadań zarządzania kontenerami platformy Docker. Amazon ECS obsługuje dwa typy uruchamiania:EC2 i Fargate.

W przypadku uruchamiania typu EC2 instancje EC2 są uruchamiane do uruchamiania kontenerów Docker. Wprowadzony niedawno (listopad 2017) typ uruchamiania Fargate obsługuje zadania, które hermetyzują kontenery Dockera. Zadania są bezpośrednio dostępne dla użytkownika za pośrednictwem elastycznego interfejsu sieciowego (ENI ). Instancje EC2, na których działa Fargate, nie są widoczne dla użytkownika i nie są bezpośrednio dostępne.

W tym rozdziale dowiemy się, co to jest Amazon Fargate

  • Zalety obiektów Fargate Amazon ECS
  • Zasoby obliczeniowe w Amazon ECS Fargate
  • Co nowego w trybie uruchamiania Amazon Fargate?

Czym jest Amazon Fargate

Amazonka Fargate to nowy typ uruchamiania dla Amazon ECS i Amazon EKS (Elastyczna usługa Kubernetes )-zarządzane usługi aranżacji dla kontenerów Docker w AWS. W przypadku uruchamiania typu Fargate infrastruktura jest w pełni udostępniana przez firmę Fargate. Jest bezserwerowy i żadne instancje EC2 nie są widoczne dla użytkownika. Kontenery platformy Docker są definiowane jako definicje kontenerów w definicji zadania. Usługa implementuje definicję zadania, aby uruchomić jedno lub więcej zadań. Każde zadanie jest powiązane z ENI. Jeśli włączone jest automatyczne przypisywanie publicznego adresu IP na poziomie zadania, publiczny adres IP, pod którym klient zewnętrzny może uzyskać dostęp do zadania, jest automatycznie przypisywany do zadania. Zadania komunikują się ze sobą przez prywatny adres IP.

Korzyści Fargate

Korzyści w ECS są następujące:

  • Usługa zarządzana dla aplikacji kontenerowych, która nie wymaga dużego wkładu użytkownika do uruchamiania aplikacji Docker
  • Mikrousługi składające się z wielu aplikacji uruchamianych w odizolowanych kontenerach Automatycznie skaluje zadania na podstawie obciążenia aplikacji
  • Integruje się z innymi usługami AWS, w tym IAM, CloudWatch Logs, Elastic Load Balancing, CloudFormation szablony, EBS Volumes, Batch, ECR i CloudTrail
  • Wirtualna chmura prywatna (VPC ) bez zasobów współdzielonych z innymi użytkownikami Zapewnia obsługę uruchamiania CodePipeline z ECS jako platformą wdrożeniową
  • Obsługuje najnowszą wersję platformy Docker 17.0

Fargate zapewnia następujące dodatkowe korzyści:

  • W przypadku uruchamiania typu Fargate, użytkownik nie tworzy ani nie zarządza żadnymi instancjami EC2, ponieważ żadna z nich nie jest widoczna w klastrze.
  • Zadania są bezpośrednio widoczne dla użytkownika za pośrednictwem ENI.
  • Infrastruktura bazowa jest dostarczana przez Fargate. Instancjami EC2 nie można zarządzać w trybie uruchamiania Fargate.
  • CodePipeline obsługuje Fargate jako platformę wdrożeniową.
  • Mikrousługi oparte na definicjach kontenerów zawartych w definicji zadania są wyraźnie połączone i nie należy ich łączyć z żadnymi dodatkowymi opcjami, takimi jak łącza.
  • Dzienniki CloudWatch mogą być konfigurowane automatycznie.

Amazonowe obiekty ECS

Obiekty Amazon ECS z Fargate są takie same, jak w przypadku uruchamiania typu EC2. Klaster ECS jest najbardziej zewnętrzną enkapsulacją i składa się z co najmniej jednej usługi. Klaster może być rozproszony w wielu strefach dostępności. Usługa jest implementacją definicji zadania i uruchamia jedno lub więcej zadań. Definicja zadania może mieć jedną lub więcej wersji zadania. Rewizja zadania to odrębna definicja zadania z zestawem zadań i powiązaną z nim usługą. Jedna instancja Fargate jest powiązana z zestawem zadań w usłudze. Definicja zadania składa się z zerowej lub większej liczby definicji kontenerów. Zazwyczaj definicja zadania byłaby powiązana z co najmniej jedną definicją kontenera, a definicja zadania, która nie zawiera żadnej definicji kontenera, nie uruchamiałaby żadnych kontenerów zadań. Schemat obiektów ECS jest przedstawiony w następujący sposób:

Definicja zadania jest szablonem aplikacji i opisuje jeden lub więcej kontenerów. Podczas gdy niektóre atrybuty lub ustawienia są konfigurowane na poziomie zadania, większość z nich jest konfigurowana na poziomie kontenera. Wiele wersji może być powiązanych z definicją zadania.

Usługa implementuje definicję zadania i definiuje żądaną liczbę zadań do uruchomienia dla definicji zadania. Opcjonalne funkcje, takie jak automatyczne skalowanie i równoważenie obciążenia, są konfigurowane w usłudze.

Klaster w usłudze ECS to zgrupowanie jednej lub więcej usług kontenerowych. Nazwa klastra musi być unikalna w ramach konta. Klaster o nazwie domyślny jest udostępniany domyślnie.

Zasoby obliczeniowe w Amazon ECS Fargate

Rozmiar zadania składa się z pamięci zadań (GB) i Procesor zadań (vCPU) . Chociaż opcjonalne w przypadku uruchamiania typu EC2, rozmiar zadania jest wymagany w przypadku uruchamiania typu Fargate. Opcjonalnie można zdefiniować ustawienia pamięci i procesora na poziomie kontenera platformy Docker, ale są one zastępowane przez ustawienia na poziomie definicji zadania. Obsługiwane są tylko określone kombinacje pamięci zadań i procesora zadań, a kreator ECS wskazuje za pomocą komunikatu obsługiwaną wartość (lub zakres wartości) dla wybranej wartości. Na przykład prawidłowy zakres procesorów dla 1 GB pamięci to 0,25 vCPU do 0,5 vCPU. Całkowita liczba zasobów (pamięci lub procesora) skonfigurowanych na poziomie kontenera nie może przekraczać ustawień zasobów na poziomie zadania. Na przykład, jeśli definicja zadania składa się z dwóch kontenerów (MySQL i WordPress) z limitem pamięci 128 MB dla każdego kontenera, pamięć na poziomie zadania musi wynosić co najmniej 256 MB. Ponadto całkowita pamięć na poziomie kontenera nie może przekraczać 256 MB. Podobnie dla procesora. Na poziomie kontenera można zdefiniować dwa limity pamięci:Miękki limit i Twardy limit . Limit miękki odpowiada rezerwacji pamięci atrybut na poziomie zadania, a twardy limit odpowiada pamięci atrybut na poziomie zadania. Suma rezerwacji pamięci kontenera (limity miękkie) nie może przekraczać pamięci zadania. Twardy limit dla każdego kontenera nie może przekraczać pamięci skonfigurowanej na poziomie zadania. Dla kontenera należy domyślnie określić co najmniej 4 GB.

Przykładowy rozmiar zadania pokazano na poniższym zrzucie ekranu, na którym Pamięć zadania (pamięć atrybut) jest ustawiony na 0,5 GB (512 GB) i procesor zadań jest ustawiony na 0.25 vCPU . Na poziomie kontenera, zgodnie z konfiguracją w dwóch definicjach kontenerów, rezerwacja pamięci wynosi 128 MB dla każdego kontenera, co daje całkowitą rezerwację pamięci 256 MB dobrze w 512 GB przydzielone na poziomie zadania. Rozmiar zadania jest przydzielany do zadania, niezależnie od tego, czy jest używany, czy nie. Podobnie liczba jednostek procesora skonfigurowane dla każdego kontenera to 10 , co sprawia, że ​​całkowita liczba jednostek CPU 20 dla kontenerów w jednostkach CPU, 25 jest przydzielanych na poziomie zadania. Zobacz poniższy zrzut ekranu:

Konfiguracja rozmiaru zadania i przydział dla kontenerów

Co nowego w trybie uruchamiania Amazon Fargate?

Oprócz omówionych wcześniej korzyści Fargate, Fargate obsługuje następujące nowe funkcje:

  • Tryb sieciowy, awsvpc , jest jedynym obsługiwanym trybem
  • Mapowanie portów hosta nie jest prawidłowe w trybie sieciowym typu uruchamiania Fargate (awsvpc ), a porty hosta, na których jest wystawiona aplikacja, są takie same jak porty kontenera
  • ecsTaskExecutionRole został dodany dla typu uruchamiania Fargate, aby umożliwić pobieranie obrazów Docker i wysyłanie dzienników do CloudWatch Logs
  • Tylko awslogi konfiguracja logów i awslogs sterowniki logów są obsługiwane przez CloudWatch Logs
  • Umieszczanie zadań nie jest obsługiwane, ponieważ żadne instancje ECS nie są udostępniane w celu zdefiniowania ograniczeń umieszczania dla
  • Obsługiwane są tylko obrazy Docker w Docker Hub i Amazon ECR Kontenery uprzywilejowanego systemu Windows nie są obsługiwane w przypadku uruchamiania typu Fargate Urządzenia hosta nie mogą być wystawione na działanie kontenera
  • Gospodarz i sourcePath parametry dla woluminów nie są obsługiwane z typem uruchamiania Fargate

Podsumowanie

W tym rozdziale wprowadzającym omówiliśmy korzyści płynące z korzystania z uruchamiania typu Fargate, w jaki sposób zasoby obliczeniowe są dystrybuowane i konfigurowane w przypadku uruchamiania typu Fargate, w jaki sposób obiekty ECS z Fargate są takie same jak w przypadku uruchamiania typu EC2 oraz nowe funkcje w Fargate. W następnym rozdziale omówimy sieci używane z Fargate.

Powyższy materiał jest fragmentem Przewodnika szybkiego startu Amazon Fargate , Deepak Vohra, opublikowane przez Pact Publishing.

Ten artykuł został nadesłany. ©Deweloper.com. Wszelkie prawa zastrzeżone


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Model bazy danych dla ankiety online. Część 1

  2. Korzystanie z platformy Docker w usłudze Azure Container Service z klastrem Swarm

  3. Kolejny powód, aby unikać sp_updatestats

  4. Jak usunąć wiersz w SQL

  5. Wewnętrzne elementy Z SZYFROWANIEM