AppSpec Abschnitt „Ressourcen“ (nur Amazon ECS und AWS Lambda Bereitstellungen) - AWS CodeDeploy

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.

AppSpec Abschnitt „Ressourcen“ (nur Amazon ECS und AWS Lambda Bereitstellungen)

Der Inhalt des 'resources' Abschnitts der AppSpec Datei hängt von der Rechenplattform Ihrer Bereitstellung ab. Der 'resources' Abschnitt für eine Amazon ECS-Bereitstellung enthält Ihre Amazon ECS-Aufgabendefinition, den Container und den Port für die Weiterleitung des Datenverkehrs an Ihren aktualisierten Amazon ECS-Aufgabensatz sowie weitere optionale Informationen. Der 'resources' Abschnitt für eine AWS Lambda Bereitstellung enthält den Namen, den Alias, die aktuelle Version und die Zielversion einer Lambda-Funktion.

AppSpec Abschnitt „Ressourcen“ für AWS Lambda-Bereitstellungen

Der 'resources' Abschnitt spezifiziert die bereitzustellende Lambda-Funktion und hat die folgende Struktur:

YAML:

resources: - name-of-function-to-deploy: type: "AWS::Lambda::Function" properties: name: name-of-lambda-function-to-deploy alias: alias-of-lambda-function-to-deploy currentversion: version-of-the-lambda-function-traffic-currently-points-to targetversion: version-of-the-lambda-function-to-shift-traffic-to

JSON:

"resources": [ { "name-of-function-to-deploy" { "type": "AWS::Lambda::Function", "properties": { "name": "name-of-lambda-function-to-deploy", "alias": "alias-of-lambda-function-to-deploy", "currentversion": "version-of-the-lambda-function-traffic-currently-points-to", "targetversion": "version-of-the-lambda-function-to-shift-traffic-to" } } } ]

Jede Eigenschaft wird mit einer Zeichenfolge angegeben.

  • name – Erforderlich. Dies ist der Name der Lambda-Funktion, die bereitgestellt werden soll.

  • alias – Erforderlich. Dies ist der Name des Alias für die Lambda-Funktion.

  • currentversion – Erforderlich. Dies ist die Version der Lambda-Funktion, auf die der Traffic derzeit verweist. Dieser Wert muss eine gültige positive Ganzzahl sein.

  • targetversion – Erforderlich. Dies ist die Version der Lambda-Funktion, auf die der Datenverkehr umgestellt wird. Dieser Wert muss eine gültige positive Ganzzahl sein.

AppSpec Abschnitt „Ressourcen“ für Amazon ECS-Bereitstellungen

Der 'resources' Abschnitt spezifiziert den bereitzustellenden Amazon ECS-Service und hat die folgende Struktur:

YAML:

Resources: - TargetService: Type: AWS::ECS::Service Properties: TaskDefinition: "task-definition-arn" LoadBalancerInfo: ContainerName: "ecs-container-name" ContainerPort: "ecs-application-port" # Optional properties PlatformVersion: "ecs-service-platform-version" NetworkConfiguration: AwsvpcConfiguration: Subnets: ["ecs-subnet-1","ecs-subnet-n"] SecurityGroups: ["ecs-security-group-1","ecs-security-group-n"] AssignPublicIp: "ENABLED | DISABLED" CapacityProviderStrategy: - Base: integer CapacityProvider: "capacityProviderA" Weight: integer - Base: integer CapacityProvider: "capacityProviderB" Weight: integer

JSON:

"Resources": [ { "TargetService": { "Type": "AWS::ECS::Service", "Properties": { "TaskDefinition": "task-definition-arn", "LoadBalancerInfo": { "ContainerName": "ecs-container-name", "ContainerPort": "ecs-application-port" }, "PlatformVersion": "ecs-service-platform-version", "NetworkConfiguration": { "AwsvpcConfiguration": { "Subnets": [ "ecs-subnet-1", "ecs-subnet-n" ], "SecurityGroups": [ "ecs-security-group-1", "ecs-security-group-n" ], "AssignPublicIp": "ENABLED | DISABLED" } }, "CapacityProviderStrategy": [ { "Base": integer, "CapacityProvider": "capacityProviderA", "Weight": integer }, { "Base": integer, "CapacityProvider": "capacityProviderB", "Weight": integer } ] } } } ]

Jede Eigenschaft wird mit einer Zeichenfolge angegeben, mit Ausnahme vonContainerPort, bei der es sich um eine Zahl handelt.

  • TaskDefinition – Erforderlich. Dies ist die Aufgabendefinition für den bereitzustellenden Amazon ECS-Service. Sie wird mit dem ARN der Aufgabendefinition angegeben. Das ARN-Format ist arn:aws:ecs:aws-region:account-id:task-definition/task-definition-family:task-definition-revision. Weitere Informationen finden Sie unter Amazon Resource Names (ARNs) und AWS Service Namespaces.

    Anmerkung

    Der :task-definition-revision Teil des ARN ist optional. Wenn es weggelassen wird, verwendet Amazon ECS die neueste ACTIVE-Version der Aufgabendefinition.

  • ContainerName – Erforderlich. Dies ist der Name des Amazon ECS-Containers, der Ihre Amazon ECS-Anwendung enthält. Es muss sich um einen Container handeln, der in Ihrer Amazon ECS-Aufgabendefinition angegeben ist.

  • ContainerPort – Erforderlich. Dies ist der Port auf dem Container, zu dem der Verkehr weitergeleitet wird.

  • PlatformVersion: Optional. Die Plattformversion der Fargate-Aufgaben im bereitgestellten Amazon ECS-Service. Weitere Informationen finden Sie unter AWS Fargate -Plattformversionen. Wenn nicht angegeben, LATEST wird sie standardmäßig verwendet.

  • NetworkConfiguration: Optional. Unter AwsvpcConfiguration können Sie Folgendes angeben. Weitere Informationen finden Sie AwsVpcConfigurationin der Amazon ECS Container Service API-Referenz.

    • Subnets: Optional. Eine durch Kommas getrennte Liste von einem oder mehreren Subnetzen in Ihrem Amazon ECS-Service.

    • SecurityGroups: Optional. Eine durch Kommas getrennte Liste mit einer oder mehreren Sicherheitsgruppen in Ihrem Amazon Elastic Container Service.

    • AssignPublicIp: Optional. Eine Zeichenfolge, die angibt, ob die elastic network interface Ihres Amazon ECS-Service eine öffentliche IP-Adresse erhält. Die gültigen Werte sind ENABLED und DISABLED.

    Anmerkung

    Alle oder keine der Einstellungen unter NetworkConfiguration müssen angegeben werden. Wenn Sie beispielsweise Subnets angeben möchten, müssen Sie auch SecurityGroups und AssignPublicIp angeben. Wenn keine angegeben ist, werden die aktuellen Netzwerkeinstellungen von Amazon ECS CodeDeploy verwendet.

  • CapacityProviderStrategy: Optional. Eine Liste der Amazon ECS-Kapazitätsanbieter, die Sie für Ihre Bereitstellung verwenden möchten. Weitere Informationen finden Sie unter Amazon ECS Capacity Providers im Amazon Elastic Container Service Developer Guide. Für jeden Kapazitätsanbieter können Sie die folgenden Einstellungen angeben. Einzelheiten zu diesen Einstellungen finden Sie AWS::ECS::ServiceCapacityProviderStrategyItemim AWS CloudFormation Benutzerhandbuch

    • Base: Optional. Der Basiswert gibt an, wie viele Aufgaben mindestens mit dem angegebenen Kapazitätsanbieter ausgeführt werden sollen. In einer Kapazitätsanbieterstrategie kann nur für einen Kapazitätsanbieter ein Basiswert festgelegt werden. Wenn kein Wert angegeben wird, wird der Standardwert 0 verwendet.

    • CapacityProvider: Optional. Der Kurzname des Kapazitätsanbieters. Beispiel: capacityProviderA

    • Weight: Optional.

      Der Gewichtungswert gibt den relativen Prozentsatz der Gesamtzahl der gestarteten Aufgaben an, die den angegebenen Kapazitätsanbieter verwenden sollten. Der weight-Wert wird berücksichtigt, nachdem der base-Wert, falls definiert, erfüllt ist.

      Wenn kein weight-Wert angegeben wird, wird der Standardwert 0 verwendet. Wenn mehrere Capacity Provider innerhalb einer Capacity Provider-Strategie angegeben werden, muss mindestens einer der Capacity Provider einen Gewichtungswert von mehr als Null haben, und alle Capacity Provider mit einem Gewicht von 0 werden nicht für Aufgaben verwendet. Wenn Sie mehrere Capacity Provider in einer Strategie angeben, die alle ein Gewichtung von 0 haben, schlagen alle RunTask- oder CreateService-Aktionen, die die Capacity-Provider-Strategie verwenden, fehl.

      Ein Beispielszenario für die Verwendung von Gewichtungen ist die Definition einer Strategie, die zwei Kapazitätsanbieter enthält, wobei beide eine Gewichtung von 1 haben. Wenn die base erfüllt ist, werden die Aufgaben gleichmäßig auf die beiden Kapazitätsanbieter aufgeteilt. Wenn Sie unter Anwendung derselben Logik eine Gewichtung von 1 für Kapazitätsanbieter A und eine Gewichtung von 4 für Kapazitätsanbieter B, angeben, würden für jede Aufgabe, die mit Kapazitätsanbieter A, ausgeführt wird, vier Aufgaben mit Kapazitätsanbieter B ausgeführt.