Ihre Frage
Ist ECS nur eine Docker-Installation in EC2? Wenn ich bereits ein EC2 habe, starte ich ein ECS. Bedeutet das, dass ich zwei Instanzen habe?
Nein AWS ECS
ist nur eine logische Gruppierung (Cluster) von EC2
Instanzen und alle EC2
Instanzen Teil einer ECS
Handlung als Docker
Host dh ECS kann Befehl senden Sie einen Behälter auf sie starten ( EC2
). Wenn Sie bereits eine EC2 haben und dann ECS starten, haben Sie immer noch eine einzelne Instanz. Wenn Sie EC2 zu ECS hinzufügen / registrieren (indem Sie den AWS ECS Container Agent installieren), wird es Teil des Clusters, aber immer noch eine einzelne Instanz von EC2.
Ein Amazon ECS ohne registriertes EC2 (zum Cluster hinzugefügt) ist für nichts gut.
TL; DR
Ein Überblick
EC2
- ist einfach eine entfernte (virtuelle) Maschine.
ECS
steht für Elastic Container Service
- wie pro grundlegende Definition von Computer - Cluster , ECS
im Grunde eine logische Gruppierung ist
EC2
Maschinen / Instanzen . Technisch gesehen ECS
ist dies lediglich eine Konfiguration für eine effiziente Nutzung und Verwaltung der EC2
Ressourcen Ihrer Instanz (en), dh Speicher, Speicher, CPU usw.
Um es weiter zu vereinfachen: Wenn Sie ein Programm Amazon ECS
ohne EC2
hinzugefügte Instanzen gestartet haben , ist es für nichts gut, dh Sie können nichts dagegen tun. ECS
macht nur Sinn, wenn eine (oder mehrere) EC2
Instanzen hinzugefügt werden.
Das nächste verwirrende Problem ist der Containerbegriff, bei dem es sich nicht um vollständig virtualisierte Maschineninstanzen handelt. Docker ist eine Technologie, mit der wir Containerinstanzen erstellen können. Docker
ist ein Dienstprogramm, das Sie auf unserem Computer installieren können, wodurch es zu einem Docker
Host wird. Auf diesem Host können Sie Container erstellen (wie bei virtuellen Maschinen, jedoch viel leichter). Zusammenfassend geht ECS
es nur um das Clustering von EC2-Instanzen und Docker
um die Instanziierung von Containern / Instanzen / virtuellen Maschinen auf diesen ( EC2
) Hosts .
Sie müssen lediglich eine starten ECS
und so viele EC2
Instanzen registrieren / hinzufügen , wie Sie benötigen. Sie können EC2-Instanzen hinzufügen / registrieren. Sie benötigen lediglich Amazon ECS Container Agent, der auf Ihrer EC2-Instanz / Ihrem Computer ausgeführt wird. Dies kann manuell oder direkt mit dem speziellen AMI (Amazon Machine Image) erfolgen, dh Amazon ECS-optimiertem AMI, das bereits vorhanden ist der Amazon ECS Container Agent. Während des Starts einer neuen EC2-Instanz registriert der Agent sie automatisch im Standard-ECS-Cluster.
Der Containeragent, der auf jeder der Instanzen ( EC2
Instanzen) in einem Amazon ECS
Cluster ausgeführt wird, sendet Informationen zu den aktuell ausgeführten Aufgaben und der Ressourcennutzung der Instanz an Amazon ECS und startet und stoppt Aufgaben, wenn er eine Anforderung von Amazon ECS empfängt. Weitere Informationen finden Sie unter Amazon ECS Container Agent . Nach dem Festlegen ist jede der erstellten Containerinstanzen (von welcher EC2
Maschine / welchem Knoten auch immer) eine Instanz im Amazon ECS
Schwarm.
Weitere Informationen finden Sie in Schritt 10 dieser Dokumentation: Starten einer Amazon ECS-Containerinstanz :
Wählen Sie eine AMI für Ihre Containerinstanz. Sie können das Amazon ECS-optimierte AMI oder ein anderes Betriebssystem wie CoreOS oder Ubuntu auswählen. Wenn Sie sich nicht für das Amazon ECS-optimierte AMI entscheiden, müssen Sie die Anweisungen unter Installieren des Amazon ECS Container Agent befolgen .
Standardmäßig wird Ihre Containerinstanz in Ihrem Standardcluster gestartet. Wenn Sie anstelle der Standardeinstellung einen eigenen Cluster starten möchten, wählen Sie die Liste "Erweiterte Details" aus und fügen Sie das folgende Skript in das Feld "Benutzerdaten" ein. Ersetzen Sie Ihren_Clusternamen durch den Namen Ihres Clusters.
#!/bin/bash
echo ECS_CLUSTER=your_cluster_name >> /etc/ecs/ecs.config
Wenn Sie eine ecs.config-Datei in Amazon S3 haben und den schreibgeschützten Zugriff von Amazon S3 auf Ihre Containerinstanzrolle aktiviert haben, wählen Sie die Liste Erweiterte Details aus und fügen Sie das folgende Skript in das Feld Benutzerdaten ein, wobei Sie Ihren_Bucket-Namen durch den Namen von ersetzen Ihr Bucket, um die AWS CLI zu installieren und Ihre Konfigurationsdatei beim Start zu schreiben. Hinweis Weitere Informationen zu dieser Konfiguration finden Sie unter Speichern der Konfiguration der Containerinstanz in Amazon S3.
#!/bin/bash
yum install -y aws-cli
aws s3 cp s3://your_bucket_name/ecs.config /etc/ecs/ecs.config
Nur um es weiter zu verdeutlichen: Sie können Container auf Ihrer einzelnen EC2
Instanz ohne erstellen ECS
. Installieren Sie eine der Containerisierungstechnologien, dh Docker
führen Sie den Befehl create container aus, legen Sie Ihren EC2
als Docker
Host fest und verfügen Docker
Sie über so viele Container, wie Sie möchten (oder so viel, wie Ihre EC2
Ressourcen zulassen).