Aktualisieren der Amazon-ECS-Serviceparameter - Amazon Elastic Container Service

Aktualisieren der Amazon-ECS-Serviceparameter

Nachdem Sie einen Service erstellt haben, müssen Sie manchmal die Serviceparameter aktualisieren, z. B. die Anzahl der Aufgaben.

Wenn der Service Scheduler neue Aufgaben startet, bestimmt er die Platzierung der Aufgaben in Ihrem Cluster anhand der folgenden Logik.

  • Bestimmen Sie, welche der Container-Instances in Ihrem Cluster die Aufgabendefinition Ihres Services unterstützen können. Sie verfügen beispielsweise über die erforderlichen CPU-, Port- und Container-Instance-Attribute.

  • Standardmäßig versucht der Service Scheduler, Aufgaben auf diese Weise zwischen den Availability Zones zu verteilen, auch wenn Sie eine andere Platzierungsstrategie wählen können.

    • Sortieren Sie die gültigen Container-Instances nach der niedrigsten Anzahl laufender Aufgaben für diesen Service in derselben Availability Zone, wie die Instance. Wenn beispielsweise Zone A über eine ausgeführte Serviceaufgabe verfügt und die Zonen B und C jeweils über keine, werden gültige Container-Instances in Zone B oder C als optimal für eine Platzierung erachtet.

    • Platzieren Sie die neue Serviceaufgabe auf einer gültigen Container-Instance in einer optimalen Availability Zone (basierend auf den vorherigen Schritten), wobei die Container-Instances mit der geringsten Anzahl an ausgeführten Aufgaben für diesen Service bevorzugt werden.

Wenn der Service Scheduler laufende Aufgaben stoppt, versucht er, mithilfe des folgenden Themas eine Ausgewogenheit in den Availability Zones in Ihrem Cluster herzustellen.

  • Sortieren Sie die Container-Instances nach der größten Anzahl laufender Aufgaben für diesen Service in derselben Availability Zone, wie die Instance. Wenn beispielsweise Zone A über eine ausgeführte Serviceaufgabe verfügt und die Zonen B und C jeweils über zwei, werden Container-Instances in Zone B oder C optimal zum Beenden erachtet.

  • Stoppen Sie die Aufgabe auf einer Container-Instance in einer optimalen Availability Zone (basierend auf den vorherigen Schritten), wobei Sie die Container-Instances mit der größten Anzahl an ausgeführten Aufgaben für diesen Service bevorzugen sollten.

Ermitteln Sie anhand der Liste, ob Sie den Serviceparameter ändern können.

Neuausgleich der Availability Zone

Gibt an, ob Availability-Zone-Neuausgleich für den Service verwendet werden soll.

Sie können diesen Parameter für fortlaufende Bereitstellungen ändern.

Kapazitätsanbieter-Strategie

Die Details einer Kapazitätsanbieter-Strategie. Sie können einen Kapazitätsanbieter festlegen, wenn Sie einen Cluster erstellen, eine Aufgabe ausführen oder einen Services aktualisieren.

Wenn Sie Fargate verwenden, sind die Kapazitätsanbieter FARGATE oder FARGATE_SPOT.

Wenn Sie Amazon EC2 verwenden, handelt es sich bei den Kapazitätsanbietern um Auto-Scaling-Gruppen.

Sie können die Kapazitätsanbieter für fortlaufende Bereitstellungen und Blau/Grün-Bereitstellungen ändern.

Die folgende Liste stellt die gültigen Übergänge bereit:

  • Aktualisieren Sie Fargate auf einen Kapazitätsanbieter für Auto-Scaling-Gruppen.

  • Aktualisieren Sie EC2 auf einen Fargate-Kapazitätsanbieter.

  • Aktualisieren Sie den Fargate-Kapazitätsanbieter auf einen Kapazitätsanbieter für Auto-Scaling-Gruppen.

  • Aktualisieren Sie den Amazon-EC2-Kapazitätsanbieter auf einen Fargate-Kapazitätsanbieter.

  • Aktualisieren Sie den Auto-Scaling-Gruppe- oder Fargate- Kapazitätsanbieter zurück auf den Starttyp. Wenn Sie die CLI oder API verwenden, übergeben Sie im capacityProviderStrategy-Parameter eine leere Liste.

Cluster

Sie können den Namen des Clusters nicht ändern.

Bereitstellungskonfiguration

Die Bereitstellungskonfiguration umfasst die CloudWatch-Alarme und den Schutzschalter, der zur Erkennung von Ausfällen verwendet wird, sowie die erforderliche Konfiguration.

Der Leistungsschalter für eine Bereitstellung bestimmt, ob die Bereitstellung für einen Dienst fehlschlägt, wenn der Dienst keinen stabilen Zustand erreichen kann. Wenn Sie den Bereitstellungs-Schutzschalter verwenden, wechselt die Servicebereitstellung in einen fehlgeschlagenen Status und stoppt das Starten neuer Aufgaben. Wenn Sie die Rollback-Option verwenden und eine Servicebereitstellung fehlschlägt, wird der Service auf die letzte Bereitstellung zurückgesetzt, die erfolgreich abgeschlossen wurde.

Wenn Sie einen Service aktualisieren, der den Amazon-ECS-Schutzschalter verwendet, erstellt Amazon ECS eine Servicebereitstellung und eine Service-Revision. Diese Ressourcen ermöglichen es Ihnen, detaillierte Informationen zum Service-Verlauf einzusehen. Weitere Informationen finden Sie unter Anzeigen des Service-Verlaufs mithilfe von Service-Bereitstellungen in Amazon ECS.

Der Service Scheduler verwendet die minimalen gesunden Prozent und maximalen Prozentparameter (in der Bereitstellungskonfiguration für den Service), um die Bereitstellungsstrategie festzulegen.

Wenn ein Service den Bereitstellungstyp mit fortlaufender Aktualisierung (ECS) verwendet, stellt der minimale fehlerfreie Prozentsatz eine untere Grenze für die Anzahl der Aufgaben in einem Service dar, die während einer Bereitstellung im Status RUNNING verbleiben müssen, als Prozentsatz der gewünschten Anzahl von Aufgaben (aufgerundet auf die nächste ganze Zahl). Der Parameter gilt auch, wenn sich Container-Instances im DRAINING-Status befinden, wenn der Service Aufgaben mit EC2 enthält. Sie können diesen Parameter verwenden, um die Bereitstellung ohne zusätzliche Cluster-Kapazität durchzuführen. Wenn Ihr Service z. B. eine gewünschte Anzahl von vier Aufgaben und einen Mindestprozentsatz an gesunden Aufgaben von 50 % hat, könnte der Planer zwei bestehende Aufgaben stoppen, um Cluster-Kapazität freizugeben, bevor er zwei neue Aufgaben startet. Aufgaben für Services, die keinen Load Balancer verwenden, werden als fehlerfrei betrachtet, wenn sie sich im RUNNING-Status befinden. Aufgaben für Services, die einen Load Balancer verwenden, gelten als fehlerfrei, wenn sie sich im RUNNING-Status befinden und vom Load Balancer als fehlerfrei gemeldet werden. Der Standardwert für den minimalen gesunden Prozentsatz ist 100 Prozent.

Wenn ein Service den Bereitstellungstyp mit fortlaufender Aktualisierung (ECS) verwendet, stellt der Parameter maximaler Prozentsatz eine Obergrenze für die Anzahl der Aufgaben in einem Service dar, die während einer Bereitstellung im Status PENDING, RUNNING oder STOPPING zulässig sind, als Prozentsatz der gewünschten Anzahl von Aufgaben (abgerundet auf die nächste ganze Zahl). Der Parameter gilt auch, wenn sich Container-Instances im DRAINING-Status befinden, wenn der Service Aufgaben mit EC2 enthält. Mithilfe dieses Parameters können Sie die Größe der Bareitstellungsstapel definieren. Wenn Ihr Service beispielsweise eine gewünschte Anzahl von vier Aufgaben und einen maximalen Prozentwert von 200 Prozent hat, kann der Planer vier neue Aufgaben starten, bevor er die vier älteren Aufgaben stoppt. Voraussetzung dafür ist, dass die dafür erforderlichen Cluster-Ressourcen zur Verfügung stehen. Der Standardwert für den maximalen Prozentsatz beträgt 200 Prozent.

Wenn der Service Scheduler während einer Aktualisierung eine Aufgabe ersetzt, entfernt der Service zuerst die Aufgabe aus dem Load Balancer (falls verwendet) und wartet, bis die Verbindungen ausgelaufen sind. Dann wird das Äquivalent von docker stop an die Container ausgegeben, die in der Aufgabe ausgeführt werden. Das löst ein SIGTERM-Signal und eine Zeitbeschränkung von 30 Sekunden aus, nach der SIGKILL gesendet und ein Stoppen der Container erzwungen wird. Wenn der Container das SIGTERM-Signal normal verarbeitet und innerhalb von 30 Sekunden nach Erhalt des Signals schließt, wird das SIGKILL-Signal gesendet. Der Service-Scheduler startet und stoppt Aufgaben entsprechend der Definition in Ihren Einstellungen für den mindestens fehlerfreien Prozentsatz und den maximalen Prozentsatz.

Der Service-Scheduler ersetzt auch Aufgaben, die nach einem Fehlschlagen einer Container-Zustandsprüfung oder einer Load-Balancer-Zielgruppen-Zustandsprüfung als fehlerhaft eingestuft wurden. Dieser Ersatz hängt von den Parametern maximumPercent und desiredCount der Servicedefinition ab. Wenn eine Aufgabe als fehlerhaft markiert ist, startet der Service-Scheduler zunächst eine Ersatzaufgabe. Danach geschieht Folgendes.

  • Wenn die Ersatzaufgabe den Zustand HEALTHY hat, stoppt der Service Scheduler die fehlerhafte Aufgabe.

  • Wenn die Ersatzaufgabe den Zustand UNHEALTHY hat, stoppt der Scheduler entweder die fehlerhafte Ersatzaufgabe oder die vorhandene fehlerhafte Aufgabe, sodass die Gesamtanzahl der Aufgaben auf einen Wert gleich desiredCount eingestellt wird.

Wenn der Parameter maximumPercent den Scheduler daran hindert, zuerst eine Ersatzaufgabe zu starten, stoppt der Scheduler fehlerhafte Aufgaben einzeln nach dem Zufallsprinzip, um Kapazität freizugeben, und startet dann eine Ersatzaufgabe. Der Start- und Stopp-Prozess wird fortgesetzt, bis alle fehlerhaften Aufgaben durch fehlerfreie Aufgaben ersetzt wurden. Sobald alle fehlerhaften Aufgaben ersetzt wurden und nur noch fehlerfreie Aufgaben ausgeführt werden, werden, wenn die Gesamtzahl der Aufgaben desiredCount übersteigt, die fehlerfreien Aufgaben nach dem Zufallsprinzip angehalten, bis die Gesamtzahl der Aufgaben gleich desiredCount ist. Weitere Informationen zu maximumPercent und desiredCount finden Sie unter Servicedefinitionsparamater.

Bereitstellungs-Controller

Der für den Service zu verwendende Bereitstellungs-Controller. Es sind drei Bereitstellungs-Controller-Typen verfügbar:

  • ECS

  • EXTERNAL

  • CODE_DEPLOY

Wenn Sie einen Service aktualisieren, können Sie den von ihm verwendeten Bereitstellungs-Controller aktualisieren. Die folgende Liste stellt die gültigen Übergänge bereit:

  • Aktualisieren Sie von CodeDeploy-Blau/Grün-Bereitstellungen (CODE_DEPLOY) auf fortlaufende Bereitstellungen oder Blau/Grün-Bereitstellungen (ECS) von ECS.

  • Aktualisieren Sie von CodeDeploy-Blau/Grün-Bereitstellungen (CODE_DEPLOY) auf externe Bereitstellungen (EXTERNAL).

  • Aktualisieren Sie von fortlaufenden oder Blau/Grün-Bereitstellungen (ECS) von ECS auf externe Bereitstellungen (EXTERNAL).

  • Aktualisieren Sie von externen (EXTERNAL) auf fortlaufende oder Blau/Grün-Bereitstellungen (ECS) von ECS.

Beachten Sie Folgendes, wenn Sie den Bereitstellungs-Controller eines Services aktualisieren:

  • Sie können den Bereitstellungs-Controller eines Service nicht vom ECS-Bereitstellungs-Controller auf einen der anderen Controller aktualisieren, wenn er VPC Lattice oder Amazon ECS Service Connect verwendet.

  • Sie können den Bereitstellungs-Controller eines Service während einer laufenden Servicebereitstellung nicht aktualisieren.

  • Sie können den Bereitstellungs-Controller eines Services nicht auf CODE_DEPLOY aktualisieren, wenn für den Service keine Load Balancer vorhanden sind.

  • Sie können den Bereitstellungs-Controller eines Services nicht von ECS auf einen der anderen Controller aktualisieren, wenn deploymentConfiguration Alarme, einen Bereitstellungs-Schutzschalter oder eine BLUE_GREEN-Bereitstellungsstrategie beinhaltet. Weitere Informationen finden Sie unter Controller und Strategien für die Bereitstellung von Amazon-ECS-Services.

  • Der Wert, den Sie für versionConsistency in der Container-Definition angeben, wird von Amazon ECS nicht verwendet, wenn Sie den Bereitstellungs-Controller des Service von ECS auf einen der anderen Controller aktualisieren.

  • Wenn Sie den Bereitstellungs-Controller eines Services von ECS auf einen der anderen Controller aktualisieren, werden die API-Antworten UpdateService und DescribeService immer noch deployments statt taskSets zurückgegeben. Weitere Informationen über UpdateService und CreateService finden Sie unter UpdateService und CreateService in der API-Referenz zu Amazon ECS.

  • Wenn ein Service eine Bereitstellungsstrategie mit fortlaufender Aktualisierung verwendet, ändert sich bei der Aktualisierung des Bereitstellungs-Controllers von ECS auf einen der anderen Controller die Art und Weise, wie der maximumPercent-Wert in deploymentConfiguration verwendet wird. maximumPercent wird nicht nur als Obergrenze für die Gesamtzahl der Aufgaben in einer Bereitstellung mit fortlaufender Aktualisierung verwendet, sondern dient dazu, fehlerhafte Aufgaben zu ersetzen. Weitere Informationen dazu, wie der Scheduler fehlerhafte Aufgaben ersetzt, finden Sie unter Amazon-ECS-Dienstleistungen.

  • Wenn Sie den Bereitstellungs-Controller eines Services von ECS auf einen der anderen Bereitstellungs-Controller aktualisieren, werden alle advancedConfiguration, die Sie in Ihrer Load-Balancer-Konfiguration angeben, ignoriert. Weitere Informationen finden Sie unter LoadBalancer und AdvancedConfiguration in der API-Referenz zu Amazon ECS.

Wenn Sie den Bereitstellungs-Controller für einen Service mithilfe von CloudFormation aktualisieren, sollten Sie je nach Art der Migration, die Sie durchführen, Folgendes berücksichtigen.

  • Wenn Sie über eine CloudFormation-Vorlage verfügen, die die Informationen des EXTERNAL-Bereitstellungs-Controller sowie TaskSet- und PrimaryTaskSet-Ressourcen enthält, und Sie beim Aktualisieren von EXTERNAL auf ECS die Aufgabensatz-Ressourcen aus der Vorlage entfernen, geben die DescribeTaskSet- und DeleteTaskSet-API-Aufrufe nach der Aktualisierung des Bereitstellungs-Controllers auf ECS einen 400-Fehler zurück. Dies führt zu einem CloudFormation-Löschfehler für die Aufgabensatz-Ressourcen, obwohl der CloudFormation-Stack in den UPDATE_COMPLETE-Status wechselt. Weitere Informationen finden Sie unter Aus dem Stapel entfernte, aber nicht gelöschte Ressource im Benutzerhandbuch für AWS CloudFormation. Um dieses Problem zu beheben, löschen Sie die Aufgabensätze direkt mithilfe der DeleteTaskSet-API von Amazon ECS. Weitere Informationen zum Löschen eines Aufgabensatzes finden Sie unter DeleteTaskSet in der API-Referenz zu Amazon Elastic Container Service.

  • Wenn Sie mit einer neuen Aufgabendefinition von CODE_DEPLOY zu ECS migrieren und CloudFormation einen Rollback-Vorgang durchführt, schlägt Amazon-ECS-UpdateService mit dem folgenden Fehler fehl:

    Resource handler returned message: "Invalid request provided: Unable to update task definition on services with a CODE_DEPLOY deployment controller. Use AWS CodeDeploy to trigger a new deployment. (Service: Ecs, Status Code: 400, Request ID: 0abda1e2-f7b3-4e96-b6e9-c8bc585181ac) (SDK Attempt Count: 1)" (RequestToken: ba8767eb-c99e-efed-6ec8-25011d9473f0, HandlerErrorCode: InvalidRequest)
  • Nach einer erfolgreichen Migration vom ECS- zum EXTERNAL-Bereitstellungs-Controller müssen Sie den ACTIVE-Aufgabensatz manuell entfernen, da Amazon ECS die Bereitstellung nicht mehr verwaltet. Informationen zum Löschen eines Aufgabensatzes finden Sie unter DeleteTaskSet in der API-Referenz zu Amazon Elastic Container Service.

Gewünschte Aufgabenanzahl

Die Anzahl der Instanziierungen der Aufgabe, die in Ihrem Service platziert und ausgeführt werden sollen.

Wenn Sie Ihren Service vorübergehend anhalten möchten, setzen Sie diesen Wert auf 0. Wenn Sie dann bereit sind, den Service zu starten, aktualisieren Sie den Service mit dem ursprünglichen Wert.

Sie können diesen Parameter für fortlaufende Bereitstellungen und Blau/Grün-Bereitstellungen ändern.

Verwaltete Tags aktivieren

Gibt an, ob von Amazon ECS verwaltete Tags für die Aufgaben im Service aktiviert werden sollen.

Nur Aufgaben, die nach der Aktualisierung gestartet wurden, spiegeln die Aktualisierung wider. Um die Tags für alle Aufgaben zu aktualisieren, verwenden Sie die Option Bereitstellung erzwingen.

Sie können diesen Parameter für fortlaufende Bereitstellungen und Blau/Grün-Bereitstellungen ändern.

ECS Exec aktivieren

Ermittelt, ob Amazon ECS Exec verwendet wird.

Wenn Sie den Wert, der bei der Erstellung des Service festgelegt wurde, nicht überschreiben möchten, können Sie ihn bei der Ausführung dieser Aktion auf Null setzen.

Sie können diesen Parameter für fortlaufende Bereitstellungen ändern.

Frist der Zustandsprüfung

Der Zeitraum in Sekunden, in dem der Service Scheduler fehlerhafte Elastic-Load-Balancing-, VPC-Lattice- und Container-Zustandsprüfungen ignoriert, nachdem eine Aufgabe zum ersten Mal gestartet wurde. Wenn Sie keine Übergangsfrist für die Zustandsprüfung angeben, wird der Standardwert 0 verwendet. Wenn Sie keine der Zustandsprüfungen verwenden, wird healthCheckGracePeriodSeconds nicht genutzt.

Wenn die Aufgaben Ihres Services eine Weile brauchen, bis sie gestartet sind und reagieren, können Sie eine Wartefrist für den Zustandsprüfung von bis zu 2 147 483 647 Sekunden (etwa 69 Jahre) festlegen. Während dieser Zeit ignoriert der Scheduler des Amazon ECS Services den Status der Zustandsprüfung. Diese Frist kann verhindern, dass der Service-Scheduler Aufgaben als ungesund markiert und stoppt, bevor sie ausreichend Zeit zum Initialisieren bekommen haben.

Sie können diesen Parameter für fortlaufende Bereitstellungen und Blau/Grün-Bereitstellungen ändern.

Load Balancers

Sie müssen eine Service-verknüpfte Rolle verwenden, wenn Sie einen Load Balancer aktualisieren.

Eine Liste der Load-Balancer-Objekte für Elastic Load Balancing. Diese Liste enthält den Namen des Load Balancers, den Container-Namen und den Container-Port, auf den vom Load Balancer aus zugegriffen werden soll. Der Container-Name ist so, wie er in einer Container-Definition erscheint.

Amazon ECS aktualisiert die Sicherheitsgruppen nicht automatisch, die mit Elastic Load Balancing-Load Balancern oder Amazon-ECS-Container-Instances verbunden sind.

Wenn Sie eine Konfiguration für den Load Balancer hinzufügen, aktualisieren oder entfernen, startet Amazon ECS neue Aufgaben mit der aktualisierten Konfiguration für Elastic Load Balancing und stoppt die alten Aufgaben, wenn die neuen Aufgaben ausgeführt werden..

Für Services, die fortlaufende Aktualisierung verwenden, können Sie Elastic-Load-Balancing-Zielgruppen hinzufügen, aktualisieren oder entfernen. Sie können von einer einzelnen Zielgruppe auf mehrere Zielgruppen und von mehreren Zielgruppen auf eine einzige Zielgruppe aktualisieren.

Für Services, die Blau/Grün-Bereitstellungen verwenden, können Sie Elastic-Load-Balancing-Zielgruppen mithilfe von CreateDeployment über CodeDeploy aktualisieren. Beachten Sie, dass mehrere Zielgruppen für Blau/Grün-Bereitstellungen nicht unterstützt werden. Weitere Informationen finden Sie unter Registrieren von mehreren Zielgruppen mit einem Service.

Für Services, die den externen Bereitstellungs-Controller verwenden, können Sie Load Balancer mithilfe von CreateTaskSet hinzufügen, aktualisieren oder entfernen. Beachten Sie, dass mehrere Zielgruppen für externe Bereitstellungen nicht unterstützt werden. Weitere Informationen finden Sie unter Registrieren von mehreren Zielgruppen mit einem Service.

Übergeben Sie eine leere Liste, um Load Balancer zu entfernen.

Sie können diesen Parameter für fortlaufende Bereitstellungen ändern.

Netzwerkkonfiguration

Die Netzwerkkonfiguration für den Service.

Sie können diesen Parameter für fortlaufende Bereitstellungen ändern.

Platzierungsbeschränkungen

Ein Array von Platzierungs-Einschränkungs-Objekten zum Aktualisieren des Services, der verwendet werden soll. Wenn kein Wert angegeben wird, bleiben die vorhandenen Platzierungsbeschränkungen für den Service unverändert. Wenn dieser Wert angegeben wird, überschreibt er alle vorhandenen Platzierungsbeschränkungen, die für den Service definiert wurden. Um alle vorhandenen Platzierungsbeschränkungen zu entfernen, geben Sie ein leeres Array an.

Sie können für jede Aufgabe maximal 10 Einschränkungen angeben. Dieses Limit enthält Einschränkungen in der Aufgabendefinition und solche, die während der Laufzeit festgelegt werden.

Sie können diesen Parameter für fortlaufende Bereitstellungen und Blau/Grün-Bereitstellungen ändern.

Platzierungsstrategie

Die Platzierungs-Strategie-Objekte zum Aktualisieren des Services, der verwendet werden soll. Wenn kein Wert angegeben wird, bleibt die bestehende Platzierungsstrategie für den Service unverändert. Wenn dieser Wert angegeben wird, überschreibt er die vorhandene Platzierungsstrategie, die für den Service definiert wurde. Um eine bestehende Platzierungsstrategie zu entfernen, geben Sie ein leeres Objekt an.

Sie können diesen Parameter für fortlaufende Bereitstellungen und Blau/Grün-Bereitstellungen ändern.

Plattformversion

Die Fargate-Plattformversion, auf der Sie Ihren Service ausführen.

Ein Service, der eine Linux-Plattformversion verwendet, kann nicht aktualisiert werden, um eine Windows-Plattformversion zu verwenden und umgekehrt.

Sie können diesen Parameter für fortlaufende Bereitstellungen ändern.

Tags weitergeben

Gibt an, ob die Tags von der Aufgabendefinition oder dem Service an die Aufgabe weitergegeben werden sollen. Wenn kein Wert angegeben wird, werden die Tags nicht weitergegeben.

Nur Aufgaben, die nach der Aktualisierung gestartet wurden, spiegeln die Aktualisierung wider. Um die Tags für alle Aufgaben zu aktualisieren, setzen Sie forceNewDeployment auf true, sodass Amazon ECS neue Aufgaben mit den aktualisierten Tags startet.

Sie können diesen Parameter für fortlaufende Bereitstellungen und Blau/Grün-Bereitstellungen ändern.

Service-Connect-Konfiguration

Die Konfiguration für Amazon ECS Service Connect Dieser Parameter bestimmt, wie der Service eine Verbindung zu anderen Services innerhalb Ihrer Anwendung herstellt.

Sie können diesen Parameter für fortlaufende Bereitstellungen ändern.

Service-Registrys

Sie müssen eine serviceverknüpfte Rolle verwenden, wenn Sie die Service-Registrys aktualisieren.

Die Details der Serviceerkennungs-Registrys, die diesem Service zugewiesen werden sollen. Weitere Informationen finden Sie unter Service Discovery.

Wenn Sie die Service-Registry-Konfiguration hinzufügen, aktualisieren oder entfernen, startet Amazon ECS neue Aufgaben mit der aktualisierten Service-Registry-Konfiguration und beendet dann die alten Aufgaben, wenn die neuen Aufgaben ausgeführt werden.

Übergeben Sie eine leere Liste, um die Service-Registrys zu entfernen.

Sie können diesen Parameter für fortlaufende Bereitstellungen ändern.

Aufgabendefinition

Die Aufgabendefinition und Revision, die für den Service verwendet werden sollen.

Wenn Sie die von Containern verwendeten Ports in einer Aufgabendefinition ändern, müssen Sie möglicherweise die Sicherheitsgruppen für die Container-Instances aktualisieren, damit diese mit den aktualisierten Ports arbeiten können.

Wenn Sie die Aufgabendefinition für den Service aktualisieren, müssen der Containername und der Container-Port, die in der Load-Balancer-Konfiguration angegeben sind, in der Aufgabendefinition verbleiben.

Das Verhalten beim Abrufen von Container-Images unterscheidet sich je nach Rechenoption. Weitere Informationen finden Sie unter einem der folgenden Themen:

Sie können diesen Parameter für fortlaufende Bereitstellungen ändern.

Volume-Konfiguration

Die Details des Volumes, das configuredAtLaunch wurde. Wenn configuredAtLaunch in der Aufgabendefinition auf true festgelegt ist, konfiguriert dieser Serviceparameter ein Amazon-EBS-Volume für jede Aufgabe im Service, die während der Bereitstellung erstellt und angehängt werden soll. Sie können Größe, volumeType, IOPS, Durchsatz, Snapshot und Verschlüsselung in ServiceManagedEBSVolumeConfiguration konfigurieren. Der name des Volumes muss mit dem name aus der Aufgabendefinition übereinstimmen. Wenn der Wert auf Null gesetzt ist, wird keine neue Bereitstellung ausgelöst. Andernfalls, wenn sich diese Konfiguration von der vorhandenen unterscheidet, löst sie eine neue Bereitstellung aus.

Sie können diesen Parameter für fortlaufende Bereitstellungen ändern.

VPC-Lattice-Konfiguration

Die VPC-Lattice-Konfiguration für Ihren Service. Dies definiert, wie Ihr Service mit VPC Lattice für die Kommunikation zwischen Services integriert wird.

Sie können diesen Parameter für fortlaufende Bereitstellungen ändern.

Überlegungen zu AWS CDK

Das AWS CDK verfolgt den Ressourcenstatus nicht. Es weiß nicht, ob Sie einen Service erstellen oder aktualisieren. Kunden sollten die Notluke verwenden, um direkt auf das ECS-Service-L1-Konstrukt zuzugreifen.

Weitere Informationen zu Notluken finden Sie unter Anpassen von Konstrukten aus der AWS-Konstruktbibliothek im Entwicklerhandbuch für AWS Cloud Development Kit (AWS CDK) v2.

Um Ihren vorhandenen Service auf das ecs.Service-Konstrukt zu migrieren, gehen Sie wie folgt vor:

  1. Verwenden Sie die Notluke, um auf das Service-L1-Konstrukt zuzugreifen.

  2. Legen Sie die folgenden Eigenschaften im Service-L1-Konstrukt manuell fest.

    Wenn Ihr Service Amazon-EC2-Kapazität verwendet:

    • daemon?

    • placementConstraints?

    • placementStrategies?

    • Wenn Sie den awsvpc-Netzwerkmodus verwenden, müssen Sie die vpcSubnets?- und securityGroups?-Konstrukte festlegen.

    Wenn Ihr Service Fargate verwendet:

    • FargatePlatformVersion

    • Die vpcSubnets?- und securityGroups?-Konstrukte.

  3. Richten Sie launchType wie folgt ein:

    const cfnEcsService = service.node.findChild('Service') as ecs.CfnService; cfnEcsService.launchType = "FARGATE";

Gehen Sie wie folgt vor, um von einem Starttyp zu einem Kapazitätsanbieter zu migrieren:

  1. Verwenden Sie die Notluke, um auf das Service-L1-Konstrukt zuzugreifen.

  2. Fügen Sie das capacityProviderStrategies?-Konstrukt hinzu.

  3. Bereitstellen des Services.