Wie kann ich Aufgaben in Amazon ECS Speicher zuweisen?

Lesedauer: 8 Minute
0

Ich möchte Amazon Elastic Container Service (Amazon ECS) verwenden, um Aufgaben Speicher zuzuweisen.

Kurzbeschreibung0

In Amazon ECS kann der Speicher sowohl auf Taskebene als auch auf jeder Containerebene definiert werden. Der auf Taskebene definierte Speicher ist die harte Speichergrenze für die Aufgabe. Auf Containerebene gibt es zwei Parameter für die Zuweisung von Speicher an Aufgaben:SpeicherReservierung(ein Soft Limit) undSpeicher(ein Hard Limit). Für Aufgaben, die auf Amazon-EC2-Instanzen gehostet werden, ist das Feld für den Speicher auf Aufgabenebene optional und jeder Wert kann verwendet werden. Wenn ein Speicherwert auf Taskebene angegeben wird, ist der Speicherwert auf Containerebene optional. Der Wert für jeden Parameter wird von den verfügbaren Speichereinheiten einer Amazon-ECS-Containerinstanz abgezogen, wenn eine Aufgabe ausgeführt wird. Die Berechnung basiert auf dem Soft-Limit, dem Hard-Limit oder dem Tasklevel-Speicher einer Aufgabendefinition. Weitere Informationen finden Sie unterCluster-Reservierung.

Hinweis:Die Parameter vonSpeicherundSpeicherReservierungwerden alsContainer-Definitionsparametereiner Amazon-ECS-Aufgabendefinition festgelegt. Wenn Sie einen Wert sowohl für denSpeicherauf Containerebene als auch fürSpeicherReservierungangeben, mussSpeichergrößer alsSpeicherReservierungsein. Wenn SieSpeicherReservierungangeben, wird dieser Wert von den verfügbaren Speicherressourcen für die Containerinstanz abgezogen, in welcher der Container platziert ist. Andernfalls wird der Wert desSpeichersverwendet. Weitere Informationen finden Sie unterSpeicher.

Behebung

Bevor Sie beginnen, überprüfen Sie, ob Sie einen Amazon-ECS-Cluster haben, der eine Amazon Elastic Compute Cloud (Amazon EC2)-Instanz enthält. Weitere Informationen zum Erstellen eines Clusters finden Sie unterErstellen eines Clusters mit der klassischen Konsole. Weitere Informationen zur Konfiguration des Clusters und der Containerinstanz finden Sie unterSpeicherverwaltung für Containerinstanzen.

Anzeige der Speicherzuweisungen einer Containerinstanz

  1. Öffnen Sie dieAmazon-ECS-Konsole.
  2. Wählen Sie im Navigationsbereich die OptionClusteraus.
  3. Wählen Sie den Cluster aus, den Sie erstellt haben.
  4. Wählen Sie die AnsichtECS-Instanzenund wählen Sie dann in der Spalte Containerinstanz dieContainerinstanzaus, die zu dem von Ihnen erstellten Cluster gehört.
    Hinweis:DerDetailbereichzeigt, dass der Speicher in der SpalteVerfügbardem Speicher in der SpalteRegistriertentspricht.
  5. Um Statistiken über die Ressourcennutzung der Instanz zu erhalten, verbinden Sie sich über SSH mit der Instanz und führen Sie dann den BefehlDocker-Statistikenaus.

Erstellen Sie eine Aufgabendefinition mit einem Soft-Limit

  1. Wählen Sie in derAmazon-ECS-Konsoleim Navigationsbereich die OptionAufgabendefinitionenaus.
  2. Wählen SieNeue Aufgabendefinition erstellen.
  3. Wählen Sie als StarttypEC2und dannNächster Schrittaus.
  4. Geben Sie fürAufgabendefinitionsname einen Namenein.
  5. Wählen Sie im AbschnittContainer-Definitionendie OptionContainer hinzufügenaus.
  6. Geben Sie fürContainernameeinen Namen ein.
  7. Geben Sie fürImage****nginxoder das entsprechende Docker-Image für Ihre Umgebung ein.
  8. Wählen Sie fürSpeichergrenzen (MiB)****Soft-Limitund geben Sie dann700ein.
  9. Wählen SieHinzufügenund dannErstellen.

Führen Sie die Aufgabendefinition mit einem Soft-Limit aus

  1. Wählen Sie in derAmazon-ECS-Konsoleim NavigationsbereichClustersund dann den von Ihnen erstellten Cluster aus.
  2. Wählen Sie dieAnsichtAufgaben und dannNeue Aufgabe ausführen.
  3. Wählen Sie Starttyp alsEC2, wählen Sie die Aufgabendefinition aus, die Sie mit Soft-Limit erstellt haben und wählen Sie dannAufgabe ausführen. Hinweis: AufgabendefinitionundClusterkönnen vorab mit den Namen der Aufgabendefinition und des Clusters ausgefüllt werden, die Sie zuvor erstellt haben, wenn Sie ECS zum ersten Mal verwenden.
  4. Wenn in der SpalteLetzter Statusder Aufgabe mit einem Soft-Limit LÄUFTangezeigt wird, fahren Sie mit dem nächsten Schritt fort.
    Hinweis:Um den Status der Aufgabe aufLÄUFTzu aktualisieren, aktualisieren Sie die Seite.
  5. Wählen Sie die AnsichtECS-Instanzenund wählen Sie dann die Instanz aus der SpalteContainerinstanzaus.
    Hinweis:ImDetailbereichzeigt, dass der Speicher in der SpalteVerfügbarkleiner ist als der Speicher in der SpalteRegistriert.
  6. Um Statistiken über die Ressourcennutzung der Instanz zu erhalten, verbinden Sie sich über SSH mit der Instanz und führen Sie dann den BefehlDocker-Statistikenaus.
  7. Wählen Sie im Navigationsbereichdie Option Clusterund wählen Sie dann den Cluster aus.
  8. Wählen Sie dieAnsichtAufgaben, selektieren Sie die Aufgabe mit einem Soft-Limit und wählen Sie dannStopp.
  9. Wählen Sie die AnsichtECS-Instanzenund wählen Sie dann die Instanz aus der SpalteContainerinstanzaus.
    Hinweis:DerDetailbereichzeigt, dass der Speicher in der SpalteVerfügbardem Speicher in der SpalteRegistriertentspricht.

Erstellen einer neuen Revision einer Aufgabendefinition mit einem Hard Limit

  1. Wählen Sie in derAmazon-ECS-Konsoleim Navigationsbereich die OptionAufgabendefinitionenaus.
  2. Wählen Sie die Aufgabendefinition aus, die Sie mit einem Soft-Limit erstellt haben und wählen Sie dannNeue Revision erstellen.
  3. Wählen Sie im AbschnittContainerdefinitionenin der SpalteContainernameden Container aus, den Sie für die Aufgabendefinition mit einem Soft-Limit hinzugefügt haben.
  4. Wählen Sie fürSpeichergrenzen (MiB)****Hard Limitund geben Sie dann1000ein.
  5. Wählen SieAktualisierenund dannErstellen.

Führen Sie die überarbeitete Aufgabendefinition mit einem Hard Limit aus

  1. Wählen Sie in derAmazon-ECS-Konsoleim NavigationsbereichClustersund dann den von Ihnen erstellten Cluster aus.
  2. Wählen Sie dieAnsichtAufgaben und dannNeue Aufgabe ausführen.
  3. Wählen Sie den Starttyp alsEC2
  4. Wählen Sie unterAufgabendefinitiondie von Ihnen erstellte Aufgabendefinition mit einem Hard Limit aus und wählen Sie dannAufgabe ausführen.
  5. Wenn in der SpalteLetzter Statusder überarbeiteten Aufgabe mit dem Hard LimitLÄUFTangezeigt wird, gehen Sie zum nächsten Schritt über.
    Hinweis:Um den Status der Aufgabe aufLÄUFTzu aktualisieren, aktualisieren Sie die Seite.
  6. Wählen Sie die AnsichtECS-Instanzenund wählen Sie dann die Instanz aus der SpalteContainerinstanz**** aus.
    Hinweis:ImDetailbereichwird angezeigt, dass der verfügbare Speicher in der SpalteVerfügbarkleiner ist als der Speicher in der SpalteRegistriert.
  7. Um Statistiken über die Ressourcennutzung der Instanz zu erhalten, verbinden Sie sich über SSH mit der Instanz und führen Sie dann den BefehlDocker-Statistikenaus.
  8. Wählen Sie im Navigationsbereichdie Option Clusterund wählen Sie dann den Cluster aus.
  9. Wählen Sie dieAnsichtAufgaben, markieren Sie die Aufgabe mit dem Hard Limit und wählen Sie dannStopp.
  10. Wählen Sie die AnsichtECS-Instanzenund wählen Sie dann die Instanz aus der SpalteContainerinstanzaus.
    Hinweis:DerDetailbereichzeigt, dass der Speicher in der SpalteVerfügbardem Speicher in der SpalteRegistriertentspricht.

Erstellen Sie eine neue Version einer Aufgabendefinition mit sowohl einem Soft- als auch einem Hard Limit

  1. Wählen Sie in derAmazon-ECS-Konsoleim Navigationsbereich die OptionAufgabendefinitionenaus.
  2. Markieren Sie die Aufgabendefinition, die Sie mit einem Hard Limit erstellt haben und wählen Sie dannNeue Revision erstellenaus.
  3. Wählen Sie im AbschnittContainerdefinitionenin der SpalteContainernameden Container aus, den Sie für die Aufgabendefinition mit einem Hard Limit hinzugefügt haben.
  4. Wählen Sie fürSpeichergrenzen (MiB)****Soft-Limitund geben Sie dann700ein.
  5. Wählen SieHard Limit hinzufügenund geben Sie dann1200ein.
  6. Wählen SieAktualisierenund dannErstellen.

Führen Sie die überarbeitete Aufgabendefinition sowohl mit einem Soft- als auch mit einem Hard Limit aus

  1. Wählen Sie in derAmazon-ECS-Konsoleim NavigationsbereichClustersund dann den von Ihnen erstellten Cluster aus.
  2. Wählen Sie dieAnsichtAufgaben und dannNeue Aufgabe ausführen.
  3. Wählen Sie den Starttyp alsEC2
  4. Wählen Sie unterAufgabendefinition die Aufgabendefinition aus, die Sie mit einem Soft- sowie mit einem Hard Limit erstellt haben und wählen Sie dannAufgabe ausführen.
  5. Wenn in der SpalteLetzter Statusder AufgabeLÄUFT angezeigt wird, fahren Sie mit dem nächsten Schritt fort.
    Hinweis:Um den Status der Aufgabe aufLÄUFTzu aktualisieren, aktualisieren Sie die Seite.
  6. Wählen Sie die AnsichtECS-Instanzenund wählen Sie dann die Instanz aus der SpalteContainerinstanzaus.
    Hinweis:ImDetailbereichzeigt, dass der Speicher in der SpalteVerfügbarkleiner ist als der Speicher in der SpalteRegistriert.
  7. Um Statistiken über die Ressourcennutzung der Instanz zu erhalten, verbinden Sie sich über SSH mit der Instanz und führen Sie dann den BefehlDocker-Statistikenaus.
  8. Wählen Sie im Navigationsbereichdie Option Clusterund wählen Sie dann den Cluster aus.
  9. Wählen Sie dieAnsichtAufgaben, markieren Sie die Aufgabe mit einem Soft-als auch einem Hard Limit und wählen Sie dannStopp.
  10. Wählen Sie die AnsichtECS-Instanzenund wählen Sie dann die Instanz aus der SpalteContainerinstanzaus.
    Hinweis:DerDetailbereichzeigt, dass der Speicher in der SpalteVerfügbardem Speicher in der SpalteRegistriertentspricht.

Erstellen Sie eine neue Revision einer Aufgabendefinition mit Speicherbegrenzung auf Aufgabenebene

  1. Wählen Sie in derAmazon-ECS-Konsoleim Navigationsbereich die OptionAufgabendefinitionenaus.
  2. Wählen Sie die Aufgabendefinition aus, die Sie sowohl mit einem Hard- als auch einem Soft Limit erstellt haben und wählen Sie dannNeue Revision erstellenaus.
  3. Geben Sie im AbschnittAufgabengrößefür**Aufgabenspeicher (MiB)**1000 ein
  4. Wählen Sie im AbschnittContainerdefinitionenin der SpalteContainernameden Container aus, den Sie für die Aufgabendefinition mit einem Hard- und einem Soft Limit hinzugefügt haben.
  5. Entfernen Sie fürSpeichergrenzen (MiB)dasSoft Limit, indem Sie auf das X-Symbol auf der rechten Seite klicken
  6. Entfernen Sie als Nächstes fürHard Limitden Wert 1200, indem Sie ihn markieren und löschen.
  7. Wählen SieAktualisierenund dannErstellen.

Führen Sie die überarbeitete Aufgabendefinition mit Speicherbegrenzung auf Aufgabenebene aus

  1. Wählen Sie in derAmazon-ECS-Konsoleim NavigationsbereichClustersund dann den von Ihnen erstellten Cluster aus.
  2. Wählen Sie dieAnsichtAufgaben und dannNeue Aufgabe ausführen.
  3. Wählen Sie denStarttypalsEC2
  4. Wählen Sie unterAufgabendefinitiondie Aufgabendefinition aus, die Sie mit dem Aufgabenspeicher erstellt haben und wählen Sie dannAufgabe ausführen.
  5. Wenn in der SpalteLetzter Statusder AufgabeLÄUFT angezeigt wird, fahren Sie mit dem nächsten Schritt fort.
    Hinweis:Um den Status der Aufgabe aufLÄUFTzu aktualisieren, aktualisieren Sie die Seite.
  6. Wählen Sie die AnsichtECS-Instanzenund wählen Sie dann die Instanz aus der SpalteContainerinstanzaus.
    Hinweis:ImDetailbereichzeigt, dass der Speicher in der SpalteVerfügbarkleiner ist als der Speicher in der SpalteRegistriert.
  7. Um Statistiken über die Ressourcennutzung der Instanz zu erhalten, verbinden Sie sich über SSH mit der Instanz und führen Sie dann den BefehlDocker-Statistikenaus.
    Hinweis:Möglicherweise stellen Sie fest, dass das vom BefehlDocker-Statistiken angezeigte Speicherlimit für den Container nicht 1000 MiB beträgt. Dies liegt daran, dass derArbeitsspeicher auf Aufgabenebenevon ECS-Agenten und nicht vom Docker-Dämon verwaltet wird.
  8. Wählen Sie im Navigationsbereichdie Option Clusterund wählen Sie dann den Cluster aus.
  9. Wählen Sie dieAnsichtAufgaben, markieren Sie die Aufgabe mit dem Aufgabenspeicher und wählen Sie dannStopp.
  10. Wählen Sie die AnsichtECS-Instanzenund wählen Sie dann die Instanz aus der SpalteContainerinstanzaus.
    Hinweis:DerDetailbereichzeigt, dass der Speicher in der SpalteVerfügbardem Speicher in der SpalteRegistriertentspricht.

Weitere Informationen

Amazon-ECS-CloudWatch-Metriken

Amazon-EC2-Instanztypen

Beschränkung des Zugriffs eines Containers auf den Speicher

Größe der Aufgabe

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Jahren