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.
Der external (externe) Bereitstellungstyp erlaubt Ihnen, einen beliebigen Bereitstellungscontroller eines Drittanbieters zu verwenden, um die volle Kontrolle über den Bereitstellungsprozess für einen Amazon-ECS-Service zu haben. Die Details für Ihren Service werden entweder mit den API-Aktionen der Serviceverwaltung (CreateService
, UpdateService
und DeleteService
) oder den API-Aktionen der Aufgabensatzverwaltung (CreateTaskSet
, UpdateTaskSet
, UpdateServicePrimaryTaskSet
und DeleteTaskSet
) verwaltet. Jede API-Aktion verwaltet eine Teilmenge der Servicedefinitions-Parameter.
Die UpdateService
-API-Aktion aktualisiert die Parameter für die gewünschte Anzahl und die Übergangsfrist der Zustandsprüfung für einen Service. Wenn der Starttyp oder die Plattformversion, Load Balancer-Details, Netzwerkkonfiguration oder Aufgabendefinition aktualisiert werden müssen, müssen Sie einen neuen Aufgabesatz erstellen.
Die UpdateTaskSet
-API-Aktion aktualisiert nur den Scale-Parameter für einen Aufgabensatz.
Die UpdateServicePrimaryTaskSet
-API-Aktion ändert, welcher Aufgabensatz in einem Service als primärer Aufgabensatz fungiert. Wenn Sie die API-Aktion DescribeServices
aufrufen, gibt sie alle für den primären Aufgabensatz angegebenen Felder zurück. Wenn der primäre Aufgabensatz eines Service aktualisiert wird, werden alle Parameterwerte des neuen primären Aufgabensatzes, die von denen des alten primären Aufgabensatzes in einem Service abweichen, beim Definieren des neuen primären Aufgabensatzes auf den neuen Wert aktualisiert. Wenn für einen Service kein primärer Aufgabensatz definiert ist, sind die Werte der Aufgabensatzfelder beim Beschreiben des Service null.
Überlegungen zur externen Bereitstellung
Beachten Sie Folgendes, wenn Sie den externen Bereitstellungstyp verwenden:
-
Die unterstützten Load Balancer-Typen sind entweder ein Application Load Balancer oder ein Network Load Balancer.
-
Aufgaben, die den Starttyp Fargate oder die Controller-Typen
EXTERNAL
verwenden, unterstützen dieDAEMON
-Planungsstrategie nicht.
Workflow für externe Bereitstellung
Im Folgenden finden Sie den grundlegenden Arbeitsablauf für die Verwaltung einer externen Bereitstellung auf Amazon ECS.
So verwalten Sie einen Amazon-ECS-Service mithilfe eines externen Bereitstellungs-Controllers
-
Erstellen Sie einen Amazon-ECS-Service. Der einzige erforderliche Parameter ist der Servicename. Wenn Sie einen Service mit einem externen Bereitstellungs-Controller erstellen, können Sie die folgenden Parameter angeben. Alle anderen Service-Parameter werden bei der Erstellung eines Aufgabesatzes innerhalb des Service festlegt.
serviceName
-
Typ: Zeichenfolge
Erforderlich: Ja
Der Name Ihres Service. Bis zu 255 Buchstaben (Groß- und Kleinbuchstaben), Ziffern, Bindestriche und Unterstriche sind zulässig. Servicenamen in einem Cluster müssen eindeutig sein. Sie können jedoch ähnlich benannte Services in mehreren Clustern innerhalb einer Region oder in mehreren Regionen haben.
desiredCount
-
Die Anzahl der Instanziierungen der angegebenen Aufgabensatzdefinition, die innerhalb des Service platziert und ausgeführt werden sollen.
deploymentConfiguration
-
Optionale Bereitstellungsparameter zur Steuerung, wie viele Aufgaben während einer Bereitstellung ausgeführt werden, und zur Steuerung der Reihenfolge beim Starten oder Stoppen von Aufgaben.
-
Typ: Array von -Objekten
Erforderlich: Nein
Die Metadaten, die Sie auf den Service anwenden, um die Kategorisierung und Organisation zu erleichtern. Jeder Tag (Markierung) besteht aus einem Schlüssel und einem optionalen Wert, beides können Sie bestimmen. Wenn ein Service gelöscht wird, werden auch die Tags gelöscht. Es können maximal 50 Tags auf den Service angewendet werden. Weitere Informationen finden Sie unter ECSAmazon-Ressourcen taggen.
key
-
Typ: Zeichenfolge
Längenbeschränkungen: Minimale Länge beträgt 1 Zeichen. Maximale Länge beträgt 128 Zeichen.
Erforderlich: Nein
Ein Teil eines Schlüssel-Wert-Paares, aus dem ein Tag besteht. Ein Schlüssel ist eine allgemeine Bezeichnung, die wie eine Kategorie für spezifischere Tag-Werte fungiert.
value
-
Typ: Zeichenfolge
Längenbeschränkungen: Minimale Länge von 0. Maximale Länge beträgt 256 Zeichen.
Erforderlich: Nein
Der optionale Teil eines Schlüssel-Wert-Paares, aus dem ein Tag besteht. Ein Wert fungiert als Deskriptor in einer Tag-Kategorie (Schlüssel).
enableECSManagedTags
-
Gibt an, ob von Amazon ECS verwaltete Tags für Aufgaben im Service verwendet werden sollen. Weitere Informationen finden Sie unter Verwenden Sie Tags für die Abrechnung.
propagateTags
-
Typ: Zeichenfolge
Zulässige Werte:
TASK_DEFINITION
|SERVICE
Erforderlich: Nein
Gibt an, ob die Tags von der Aufgabendefinition oder dem Service in die Aufgaben in dem Service kopiert werden sollen. Wenn kein Wert angegeben wird, werden die Tags nicht kopiert. Tags können nur während der Serviceerstellung in die Aufgaben in dem Service kopiert werden. Wenn Sie Tags nach der Service- oder Aufgabenerstellung einer Aufgabe hinzufügen möchten, verwenden Sie die API-Aktion
TagResource
. schedulingStrategy
-
Die Einplanungsstrategie, die verwendet werden soll. Services mit einem externen Deployment-Controller unterstützen nur die Planungsstrategie
REPLICA
. placementConstraints
-
Ein Array von Platzierungseinschränkungsobjekten, die für Aufgaben in Ihrem Service verwendet werden sollen. Sie können maximal zehn Einschränkungen pro Aufgabe festlegen (dieses Limit enthält Einschränkungen in der Aufgabendefinition und solche, die während der Laufzeit festgelegt werden). Wenn Sie den Starttyp Fargate verwenden, werden keine Platzierungsbedingungen für die Aufgaben unterstützt.
placementStrategy
-
Die Platzierungsstrategieobjekte, die für Aufgaben in Ihrem Service verwendet werden sollen. Sie können maximal vier Strategieregeln pro Service festlegen.
Im Folgenden finden Sie ein Beispiel für eine Servicedefinition, mit der ein Service über einen externen Bereitstellungs-Controller erstellt wird.
{ "cluster": "", "serviceName": "", "desiredCount": 0, "role": "", "deploymentConfiguration": { "maximumPercent": 0, "minimumHealthyPercent": 0 }, "placementConstraints": [ { "type": "distinctInstance", "expression": "" } ], "placementStrategy": [ { "type": "binpack", "field": "" } ], "schedulingStrategy": "REPLICA", "deploymentController": { "type": "EXTERNAL" }, "tags": [ { "key": "", "value": "" } ], "enableECSManagedTags": true, "propagateTags": "TASK_DEFINITION" }
-
Erstellen Sie einen anfänglichen Aufgabensatz. Der Aufgabesatz enthält die folgenden Details zu Ihrem Service:
taskDefinition
-
Die zu verwendende Aufgabendefinition für die Aufgaben im Aufgabensatz.
launchType
-
Typ: Zeichenfolge
Zulässige Werte:
EC2
|FARGATE
|EXTERNAL
Erforderlich: Nein
Der Starttyp, der für die Ausführung Ihres Service verwendet wird. Ist kein Starttyp angegeben, wird standardmäßig
capacityProviderStrategy
verwendet. Weitere Informationen finden Sie unter Arten Amazon ECS Amazon-Markteinführungen.Wenn eine
launchType
angegeben ist, muss dercapacityProviderStrategy
-Parameter weggelassen werden. platformVersion
-
Typ: Zeichenfolge
Erforderlich: Nein
Die Plattformversion, auf der Ihre Aufgaben im Service ausgeführt werden. Eine Plattformversion ist nur für Aufgaben mit dem Starttyp Fargate vorgesehen. Ist kein solcher angegeben, wird standardmäßig die neueste Version (
LATEST
) verwendet.AWS Fargate-Plattformversionen werden verwendet, um auf eine bestimmte Laufzeitumgebung für die Fargate-Task-Infrastruktur zu verweisen. Bei der Angabe der
LATEST
-Plattformversion bei Ausführung einer Aufgabe oder beim Erstellen eines Service erhalten Sie die aktuellste Plattformversion, die für Ihre Aufgaben zur Verfügung steht. Wenn Sie Ihren Service skalieren, erhalten diese Aufgaben die Plattformversion, die in der aktuellen Bereitstellung des Service angegeben wurde. Weitere Informationen finden Sie unter Fargate-Plattformversionen für Amazon ECS.Anmerkung
Plattformversionen werden nicht für Aufgaben angegeben, die den Starttyp EC2 verwenden.
loadBalancers
-
Ein Load Balancer-Objekt, das den Load Balancer angibt, der mit Ihrem Service verwendet werden soll. Wenn Sie einen externen Bereitstellungscontroller verwenden, werden nur Application Load Balancer und Network Load Balancer unterstützt. Wenn Sie einen Application Load Balancer verwenden, ist pro Aufgabensatz nur eine Application Load Balancer-Zielgruppe zulässig.
Der folgende Ausschnitt zeigt ein
loadBalancer
-Beispielobjekt."loadBalancers": [ { "targetGroupArn": "", "containerName": "", "containerPort": 0 } ]
Anmerkung
Wenn Sie ein
loadBalancer
-Objekt angeben, müssen Sie einentargetGroupArn
angeben und die ParameterloadBalancerName
auslassen. networkConfiguration
-
Die Netzwerkkonfiguration für den Service. Dieser Parameter ist erforderlich, damit Aufgabendefinitionen, die den Netzwerkmodus
awsvpc
verwenden, ihre eigene Elastic-Network-Schnittstelle erhalten. Für andere Netzwerkmodi wird er nicht unterstützt. Weitere Informationen über Netzwerke für den Fargate-Starttyp finden Sie unterNetzwerkoptionen für Amazon ECS-Aufgaben für den Starttyp Fargate. serviceRegistries
-
Die Details der Service Discovery-Registrierungen, die diesem Service zugewiesen werden sollen. Weitere Informationen finden Sie unter Verwenden Sie Service Discovery, um Amazon ECS-Services mit DNS-Namen zu verbinden.
scale
-
Ein Gleitkomma-Prozentsatz der gewünschten Anzahl von Aufgaben, die im Aufgabensatz platziert und ausgeführt werden sollen. Der Wert wird als Gesamtprozentsatz des
desiredCount
-Wertes eines Services angegeben. Akzeptierte Werte sind Zahlen zwischen 0 und 100.
Im Folgenden finden Sie ein JSON-Beispiel für die Erstellung eines Aufgabensatzes für einen externen Bereitstellungs-Controller.
{ "service": "", "cluster": "", "externalId": "", "taskDefinition": "", "networkConfiguration": { "awsvpcConfiguration": { "subnets": [ "" ], "securityGroups": [ "" ], "assignPublicIp": "DISABLED" } }, "loadBalancers": [ { "targetGroupArn": "", "containerName": "", "containerPort": 0 } ], "serviceRegistries": [ { "registryArn": "", "port": 0, "containerName": "", "containerPort": 0 } ], "launchType": "EC2", "capacityProviderStrategy": [ { "capacityProvider": "", "weight": 0, "base": 0 } ], "platformVersion": "", "scale": { "value": null, "unit": "PERCENT" }, "clientToken": "" }
-
Wenn Service-Änderungen erforderlich sind, verwenden Sie abhängig von den zu aktualisierenden Parametern die API-Aktion
UpdateService
,UpdateTaskSet
oderCreateTaskSet
. Wenn Sie eine Aufgabe erstellt haben, bestimmen Sie mithilfe des Parametersscale
für jede Aufgabe in einem Service, wie viele Aufgaben im Service weiterhin ausgeführt werden sollen. Wenn ein Service beispielsweisetasksetA
enthält und SietasksetB
erstellen, können Sie zuerst die Gültigkeit vontasksetB
testen, bevor Sie den Produktionsdatenverkehr darauf umstellen. Sie können alsscale
-Wert für beide Aufgabensätze100
einstellen. Wenn Sie dann bereit sind, den gesamten Produktionsdatenverkehr auftasksetB
umzustellen, können Sie denscale
-Wert fürtasksetA
auf0
aktualisieren, um ihn nach unten zu skalieren.