ECS-Cluster-Ebenen - AWS OpsWorks

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

ECS-Cluster-Ebenen

Wichtig

Der AWS OpsWorks Stacks Service hat am 26. Mai 2024 das Ende seiner Lebensdauer erreicht und wurde sowohl für neue als auch für bestehende Kunden deaktiviert. Wir empfehlen Kunden dringend, ihre Workloads so bald wie möglich auf andere Lösungen zu migrieren. Wenn Sie Fragen zur Migration haben, wenden Sie sich an das AWS Support Team auf AWS re:POST oder über den AWS Premium-Support.

Der Amazon Elastic Container Service (Amazon ECS) verwaltet Docker-Container auf einem Cluster von Amazon Elastic Compute Cloud (Amazon EC2) -Instances, den sogenannten Container-Instances. Eine ECS-Cluster-Schicht stellt einen Amazon ECS-Cluster dar und vereinfacht die Clusterverwaltung, indem sie Funktionen wie die folgenden bietet:

  • Optimierte Bereitstellung und Verwaltung der Container-Instance

  • Betriebssystem und Paketaktualisierungen der Container-Instance

  • Verwaltung von Benutzerberechtigungen

  • Leistungsüberwachung der Container-Instance

  • Volumenverwaltung für Amazon Elastic Block Store (Amazon EBS)

  • Verwaltung von öffentlichen und Elastic IP-Adressen

  • Verwaltung der Sicherheitsgruppe

Für die ECS-Cluster-Schicht gelten die folgenden Einschränkungen und Anforderungen:

  • Der Layer ist nur für Chef 11.10- oder Chef 12-Linux-Stacks verfügbar, die in einer VPC ausgeführt werden, einschließlich einer Standard-VPC.

  • Auf den Instances des Layers muss eines der folgenden Betriebssysteme ausgeführt werden.

    • Amazon Linux 2

    • Amazon Linux 2018.03

    • Amazon Linux 2017.09

    • Amazon Linux 2017.03

    • Amazon Linux 2016.09

    • Amazon Linux 2016.03

    • Amazon Linux 2015.09

    • Amazon Linux 2015.03

    • Ubuntu 18.04 LTS

    • Ubuntu 16.04 LTS

    • Ubuntu 14.04 LTS

    • Benutzerdefiniert

  • Die AWS OpsWorks Stacks-Agent-Version auf den Layer-Instances muss 3425-20150727112318 oder später sein.

Hinzufügen einer ECS-Clusterschicht zu einem Stack

AWS OpsWorks Stacks vereinfacht das Starten und Verwalten von Container-Instances für bestehende Amazon ECS-Cluster. Verwenden Sie die Amazon ECS-Konsole, die Befehlszeilenschnittstelle (CLI) oder die API, um andere Amazon ECS-Entitäten wie Cluster und Aufgaben zu erstellen oder zu starten. (Weitere Informationen finden Sie im Amazon Elastic Container Service Developer Guide.) Anschließend können Sie einem Stack einen Cluster zuordnen, indem Sie eine ECS-Cluster-Ebene erstellen, mit der Sie den Cluster in AWS OpsWorks Stacks verwalten können.

Sie können Cluster wie folgt mit Stacks verknüpfen:

  • Jeder Stack kann eine ECS-Cluster-Schicht haben, die einen einzelnen Cluster darstellt.

  • Ein Cluster kann mit nur einem Stack verknüpft werden.

Bevor Sie ECS-Cluster-Layer zu Ihren Stacks hinzufügen können, müssen Sie die Servicerolle AWS OpsWorks Stacks AWS Identity and Access Management (IAM) aktualisieren, die normalerweise benannt istaws-opsworks-service-role, damit AWS OpsWorks Stacks in Ihrem Namen mit Amazon ECS interagieren kann. Weitere Informationen zur Servicerolle finden Sie unter AWS OpsWorks Stacks erlauben, in Ihrem Namen zu handeln.

Wenn Sie zum ersten Mal eine ECS-Cluster-Ebene erstellen, bietet die Konsole eine Schaltfläche „Aktualisieren“, mit der Sie AWS OpsWorks Stacks anweisen können, die Rolle für Sie zu aktualisieren. AWS OpsWorks Stacks zeigt dann die Seite „Ebene hinzufügen“ an, auf der Sie die Ebene zum Stack hinzufügen können. Sie müssen die Servicerolle nur einmal aktualisieren. Anschließend können Sie die aktualisierte Rolle verwenden, um einem beliebigen Stack eine ECS-Cluster-Ebene hinzuzufügen.

Anmerkung

Wenn Sie möchten, können Sie die Richtlinie der Servicerolle auch manuell aktualisieren, indem Sie die Berechtigung ecs:* wie folgt zur vorhandenen Richtlinie hinzufügen:

{ "Statement": [ { "Action": [ "ec2:*", "iam:PassRole", "cloudwatch:GetMetricStatistics", "elasticloadbalancing:*", "rds:*", "ecs:*" ], "Effect": "Allow", "Resource": ["*"] } ] }

Für die Verknüpfung eines Clusters mit einem Stack sind zwei Vorgänge erforderlich: Registrieren des Clusters beim Stack und Erstellen des zugehörigen Layers. Die AWS OpsWorks Stacks-Konsole kombiniert diese Schritte. Bei der Layererstellung wird der angegebene Cluster automatisch registriert. Wenn Sie die AWS OpsWorks Stacks-API, CLI oder das SDK verwenden, müssen Sie separate Operationen verwenden, um den Cluster zu registrieren und die zugehörige Ebene zu erstellen. Um die Konsole zu verwenden, um Ihrem Stack eine ECS-Cluster-Ebene hinzuzufügen, wählen Sie Layers, wählen Sie +Layer oder Add a Layer und wählen Sie dann den Layer-Typ ECS-Cluster aus.

Auf der Seite Add Layer (Layer hinzufügen) stehen folgende Konfigurationsoptionen zur Verfügung:

ECS-Cluster

Der Amazon ECS-Cluster, den Sie beim Stack registrieren möchten.

EC2-Instance-Profil

Das Amazon Elastic Compute Cloud (Amazon EC2) Instance-Profil des Clusters. Dieses Profil gewährt Anwendungen, die auf den Container-Instances des Clusters ausgeführt werden, die Erlaubnis, auf andere AWS-Services, einschließlich Amazon ECS, zuzugreifen. Wenn Sie Ihre erste ECS-Cluster-Ebene erstellen, wählen Sie Neues Profil mit ECS-Zugriff, um AWS OpsWorks Stacks anzuweisen, das erforderliche Profil mit dem Namen aws-opsworks-ec2-role-with-ecs zu erstellen. Sie können dieses Profil dann für alle nachfolgenden ECS-Cluster-Ebenen verwenden. Weitere Informationen zum Instance-Profil finden Sie unter Festlegen von Berechtigungen für Apps auf EC2-Instances.

Sie können andere Einstellungen durch Bearbeiten der Layer-Konfiguration festlegen, darunter:

Verwalten des ECS-Clusters

Nachdem Sie eine ECS-Cluster-Ebene erstellt haben, können Sie AWS OpsWorks Stacks verwenden, um den Cluster wie folgt zu verwalten:

Bereitstellen und Verwalten von Container-Instances

Anfänglich umfasst eine ECS-Cluster-Ebene keine Container-Instances, selbst wenn dies im ursprünglichen Cluster der Fall war. Eine Möglichkeit besteht darin, die Instances des Layers durch eine geeignete Kombination der folgenden Verfahren zu verwalten:

  • Fügen Sie 24/7-Instances manuell zum Layer hinzu und löschen Sie sie, wenn sie nicht mehr benötigt werden.

  • Fügen Sie Instances zu einem Zeitplan hinzu bzw. löschen Sie sie, indem Sie zeitbasierte Instances zum Layer hinzufügen.

  • Fügen Sie Instanzen auf der Grundlage von AWS OpsWorks Stacks-Host-Metriken oder CloudWatch -Alarmen hinzu oder löschen Sie sie, indem Sie der Ebene lastbasierte Instances hinzufügen.

Anmerkung

Wenn Amazon ECS für das Standardbetriebssystem des Stacks nicht unterstützt wird, müssen Sie explizit ein unterstütztes Betriebssystem angeben — Amazon Linux 2, Amazon Linux 2018.03, Amazon Linux 2017.09, Amazon Linux 2017.03, Amazon Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, Amazon Linux 2015.03, Ubuntu 18.04 LTS, Ubuntu 16.04 LTS, Ubuntu 14.04 LTS oder Benutzerdefiniert — wenn Sie erstellen Sie die Container-Instances. Verwenden Sie das ECS-optimierte AMI nicht, um Instances in einer ECS-Schicht zu erstellen, da dieses AMI den ECS-Agenten bereits enthält. AWS OpsWorks Stacks versucht außerdem, den ECS-Agenten während der Einrichtung der Instanz zu installieren, und der Konflikt kann dazu führen, dass die Installation fehlschlägt.

Weitere Informationen finden Sie unterOptimieren der Serveranzahl. AWS OpsWorks Stacks weist jeder Instance die OpsWorksAWS-ECS-Cluster-Sicherheitsgruppe zu. Nachdem jede neue Instance fertig gebootet wurde, konvertiert AWS OpsWorks Stacks sie in eine Container-Instance, indem Docker und der Amazon ECS-Agent installiert und die Instance anschließend im Cluster registriert werden.

Wenn Sie lieber vorhandene Container-Instances verwenden möchten, können Sie sie beim Stack registrieren und sie der ECS-Cluster-Ebene zuweisen. Beachten Sie, dass auf den Instances ein unterstütztes Betriebssystem ausgeführt werden muss: Amazon Linux 2015.03 oder höher oder Ubuntu 14.04 LTS oder höher.

Anmerkung

Eine Container-Instance kann nicht sowohl zu einer ECS-Cluster-Ebene als auch zu einer anderen integrierten Schicht gehören. Eine Container-Instance kann jedoch zu einer ECS-Cluster-Ebene und einer oder mehreren benutzerdefinierten Ebenen gehören.

Ausführen von Betriebssystem- und Paketaktualisierungen

Nachdem das Booten einer neuen Instance abgeschlossen ist, installiert AWS OpsWorks Stacks die neuesten Updates. Anschließend können Sie AWS OpsWorks Stacks verwenden, um die Container-Instances auf dem neuesten Stand zu halten. Weitere Informationen finden Sie unter Verwalten von Sicherheitsupdates.

Benutzerberechtigungen verwalten

AWS OpsWorks Stacks bietet eine einfache Möglichkeit, Berechtigungen für die Container-Instances zu verwalten, einschließlich der Verwaltung der SSH-Schlüssel der Benutzer. Weitere Informationen finden Sie unter Verwalten von Benutzerberechtigungen und Verwalten des SSH-Zugriffs.

Überwachen der Leistungskennzahlen

AWS OpsWorks Stacks bietet eine Vielzahl von Möglichkeiten, Leistungskennzahlen für den Stack, die Ebene oder einzelne Instances zu überwachen. Weitere Informationen finden Sie unter Überwachen.

Andere Verwaltungsaufgaben, wie das Erstellen von Aufgaben oder Services, erledigen Sie über Amazon ECS. Weitere Informationen finden Sie im Amazon Elastic Container Service-Entwicklerhandbuch.

Anmerkung

Um direkt zur Seite des Clusters in der Amazon ECS-Konsole zu gelangen, wählen Sie Instances und dann ECS-Cluster aus, was sich in der oberen rechten Ecke des Abschnitts der ECS-Cluster-Ebene befindet.

Löschen einer ECS-Cluster-Ebene aus einem Stack

Wenn Sie den Cluster nicht mehr benötigen, löschen Sie die ECS-Cluster-Schicht und melden Sie den zugehörigen Cluster ab. Für das Entfernen eines Clusters aus einem Stack sind zwei Vorgänge erforderlich: Abmelden des Clusters und Löschen des zugehörigen Layers. Die AWS OpsWorks Stacks-Konsole kombiniert diese Schritte. Durch das Löschen der Ebene wird der angegebene Cluster automatisch deregistriert. Wenn Sie die AWS OpsWorks Stacks-API, CLI oder das SDK verwenden, müssen Sie separate Operationen verwenden, um den Cluster abzumelden und die zugehörige Ebene zu löschen.

Um die Konsole zum Löschen einer ECS-Cluster-Ebene zu verwenden
  1. Wenn Sie kontrollieren möchten, wie Aufgaben heruntergefahren werden, verwenden Sie die Amazon ECS-Konsole, API oder CLI, um die Dienste des Clusters herunterzuskalieren und zu löschen. Weitere Informationen finden Sie unter Aufräumen Ihrer Amazon ECS-Ressourcen.

  2. Stoppen Sie die Instances des Layers und löschen Sie sie dann. Wenn Sie eine Container-Instance beenden, stoppt AWS OpsWorks Stacks automatisch alle laufenden Aufgaben, meldet die Instance vom Cluster ab und beendet die Instance.

    Anmerkung

    Wenn Sie vorhandene Container-Instances beim Stack registriert haben, können Sie die Zuweisung der Instances vom Stack aufheben und sie dann abmelden, wodurch die Instances wieder durch ECS gesteuert werden.

  3. Löschen Sie die Ebene. AWS OpsWorks Stacks hebt die Registrierung des zugehörigen Clusters auf, löscht ihn jedoch nicht. Der Cluster verbleibt in Amazon ECS.