Twoje pytanie
Czy ECS to tylko instalacja dokera w EC2? Jeśli mam już EC2, to uruchamiam ECS, czy to oznacza, że mam dwie instancje?
Nie. AWS ECS
To tylko logiczne zgrupowanie (klaster) EC2
instancji, a wszystkie EC2
instancje ECS
działają jako Docker
host, tj. ECS może wysłać polecenie uruchomienia na nich kontenera ( EC2
). Jeśli masz już EC2, a następnie uruchomisz ECS, nadal będziesz mieć jedną instancję. Jeśli dodasz / zarejestrujesz (instalując AWS ECS Container Agent) EC2 do ECS, stanie się on częścią klastra, ale nadal będzie pojedynczą instancją EC2.
Amazon ECS bez zarejestrowanego EC2 (dodanego do klastra) jest do niczego.
TL; DR
Przegląd
EC2
- jest po prostu zdalną (wirtualną) maszyną.
ECS
oznacza Elastic Container Service
- jak w podstawowej definicji klastra komputerowego , ECS
jest w zasadzie logiczne grupowanie
EC2
maszyn / przypadkach . Z technicznego punktu widzenia ECS
jest to zwykła konfiguracja zapewniająca efektywne wykorzystanie zasobów EC2
instancji, tj. Pamięć masową, pamięć, procesor itp., Oraz zarządzanie nimi.
Aby jeszcze bardziej uprościć, jeśli uruchomiłeś program Amazon ECS
bez EC2
dodanych do niego instancji, to nic nie da, tj. Nie możesz nic z tym zrobić. ECS
ma sens tylko wtedy, gdy EC2
zostanie do niego dodana jedna (lub więcej) instancji.
Następną mylącą rzeczą jest termin kontenera - który nie jest w pełni zwirtualizowanymi instancjami maszyn, a Docker to jedna z technologii, której możemy użyć do tworzenia instancji kontenerów. Docker
to narzędzie, które możesz zainstalować na naszej maszynie, co czyni go Docker
hostem, a na tym hoście możesz tworzyć kontenery (takie same jak maszyny wirtualne - ale znacznie lżejsze). Podsumowując, ECS
chodzi tylko o grupowanie instancji EC2 i użycie ich Docker
do tworzenia instancji kontenerów / instancji / maszyn wirtualnych na tych ( EC2
) hostach .
Wszystko, co musisz zrobić, to uruchomić ECS
i zarejestrować / dodać EC2
do niego tyle instancji, ile potrzebujesz. Możesz dodawać / rejestrować instancje EC2, wszystko, czego potrzebujesz, to Amazon ECS Container Agent działający na twojej instancji / maszynie EC2, co można zrobić ręcznie lub bezpośrednio za pomocą specjalnego AMI (Amazon Machine Image), tj. AMI zoptymalizowanego dla Amazon ECS, który już ma Agent kontenerów Amazon ECS. Podczas uruchamiania nowej instancji EC2 Agent automatycznie rejestruje ją w domyślnym klastrze ECS.
Czynnik pojemnik działa na każdej z instancji ( EC2
wystąpienia) w ramach Amazon ECS
klastra wysyła informacje o aktualnych zadaniach instancji Działający i wykorzystania zasobów na Amazon ECS i uruchamia i zatrzymuje zadania, gdy tylko otrzyma od Amazon ECS. Aby uzyskać więcej informacji, zobacz Agent kontenerów Amazon ECS . Po ustawieniu każda z utworzonych instancji kontenera (dowolnej EC2
maszyny / węzła) będzie instancją w Amazon ECS
roju.
Aby uzyskać więcej informacji - przeczytaj krok 10 w tej dokumentacji: Uruchamianie instancji kontenera Amazon ECS :
Wybierz AMI dla swojej instancji kontenera. Możesz wybrać AMI zoptymalizowany pod kątem Amazon ECS lub inny system operacyjny, taki jak CoreOS lub Ubuntu. Jeśli nie wybierzesz AMI zoptymalizowanego przez Amazon ECS, musisz postępować zgodnie z procedurami opisanymi w części Instalacja agenta kontenera Amazon ECS .
Domyślnie instancja kontenera jest uruchamiana w domyślnym klastrze. Jeśli chcesz uruchomić swój własny klaster zamiast domyślnego, wybierz listę Szczegóły zaawansowane i wklej następujący skrypt w polu Dane użytkownika, zastępując twoją_nazwa_klastra nazwą klastra.
#!/bin/bash
echo ECS_CLUSTER=your_cluster_name >> /etc/ecs/ecs.config
Lub, jeśli masz plik ecs.config w Amazon S3 i włączono dostęp tylko do odczytu do roli instancji kontenera Amazon S3, wybierz listę Advanced Details i wklej następujący skrypt w polu User data, zastępując your_bucket_name nazwą Twój wiadro, aby zainstalować AWS CLI i zapisać plik konfiguracyjny w czasie uruchamiania. Uwaga Aby uzyskać więcej informacji na temat tej konfiguracji, zobacz Przechowywanie konfiguracji wystąpienia kontenera w Amazon S3.
#!/bin/bash
yum install -y aws-cli
aws s3 cp s3://your_bucket_name/ecs.config /etc/ecs/ecs.config
Aby to jeszcze bardziej wyjaśnić - możesz tworzyć kontenery na swojej pojedynczej EC2
instancji bez ECS
. Zainstaluj dowolną technologię konteneryzacji, tj. Docker
I uruchom polecenie tworzenia kontenera, ustawiając EC2
jako Docker
hosta i miej tyle Docker
kontenerów, ile chcesz (lub tyle, na ile EC2
pozwalają na to zasoby).