

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.

# Application Load Balancer Balancer-Ressourcen für blaue/grüne, lineare und kanarische Bereitstellungen
<a name="alb-resources-for-blue-green"></a>

Um Application Load Balancers mit Amazon blue/green ECS-Bereitstellungen zu verwenden, müssen Sie bestimmte Ressourcen konfigurieren, die das Routing des Datenverkehrs zwischen den blauen und grünen Service-Revisionen ermöglichen. 

## Zielgruppen
<a name="alb-target-groups"></a>

Für blue/green Bereitstellungen mit Elastic Load Balancing müssen Sie zwei Zielgruppen erstellen:
+ Eine primäre Zielgruppe für die blaue Service-Revision (aktueller Produktionsdatenverkehr)
+ Eine alternative Zielgruppe für die grüne Service-Revision (neue Version)

Beide Zielgruppen sollten mit den folgenden Einstellungen konfiguriert werden:
+ Zieltyp: `IP` (für Fargate oder EC2 mit `awsvpc`-Netzwerkmodus)
+ Protokoll: `HTTP` (oder das Protokoll, das Ihre Anwendung verwendet)
+ Port: Der Port, auf dem Ihre Anwendung lauscht (normalerweise `80` für HTTP)
+ VPC: Dieselbe VPC wie Ihre Amazon-ECS-Aufgaben
+ Zustandsprüfung-Einstellungen: So konfiguriert, dass sie den Zustand Ihrer Anwendung ordnungsgemäß überprüfen

Während einer blue/green Bereitstellung registriert Amazon ECS je nach Bereitstellungsphase automatisch Aufgaben bei der entsprechenden Zielgruppe.

**Example Zielgruppen für einen Application Load Balancer erstellen**  
Mit den folgenden CLI-Befehlen werden zwei Zielgruppen für die Verwendung mit einem Application Load Balancer in einer blue/green Bereitstellung erstellt:  

```
aws elbv2 create-target-group \
    --name blue-target-group \
    --protocol HTTP \
    --port 80 \
    --vpc-id vpc-abcd1234 \
    --target-type ip \
    --health-check-path / \
    --health-check-protocol HTTP \
    --health-check-interval-seconds 30 \
    --health-check-timeout-seconds 5 \
    --healthy-threshold-count 2 \
    --unhealthy-threshold-count 2

aws elbv2 create-target-group \
    --name green-target-group \
    --protocol HTTP \
    --port 80 \
    --vpc-id vpc-abcd1234 \
    --target-type ip \
    --health-check-path / \
    --health-check-protocol HTTP \
    --health-check-interval-seconds 30 \
    --health-check-timeout-seconds 5 \
    --healthy-threshold-count 2 \
    --unhealthy-threshold-count 2
```

## Application Load Balancer
<a name="alb-load-balancer"></a>

Sie müssen einen Application Load Balancer mit der folgenden Konfiguration erstellen:
+ Schema: Mit dem Internet verbunden oder intern, je nach Ihren Anforderungen
+ IP-Adresstyp: IPv4
+ VPC: Dieselbe VPC wie Ihre Amazon-ECS-Aufgaben
+ Subnetze: Mindestens zwei Subnetze in verschiedenen Availability Zones.
+ Sicherheitsgruppen: Eine Sicherheitsgruppe, die den Datenverkehr auf den Listener-Ports zulässt

Die dem Application Load Balancer zugeordnete Sicherheitsgruppe muss über eine ausgehende Regel verfügen, die den Datenverkehr zu der Sicherheitsgruppe zulässt, die Ihren Amazon-ECS-Aufgaben zugeordnet ist.

**Example Erstellen eines Application Load Balancers**  
Der folgende CLI-Befehl erstellt einen Application Load Balancer für die Verwendung in einer Blau/Grün-Bereitstellung:  

```
aws elbv2 create-load-balancer \
    --name my-application-load-balancer \
    --type application \
    --security-groups sg-abcd1234 \
    --subnets subnet-12345678 subnet-87654321
```

## Listener und Regeln
<a name="alb-listeners"></a>

Für blue/green Bereitstellungen müssen Sie Listener auf Ihrem Application Load Balancer konfigurieren:
+ Produktions-Listener: Verwaltet den Produktionsdatenverkehr (normalerweise auf Port 80 oder 443)
  + Leitet den Verkehr zunächst an die primäre Zielgruppe weiter (blaue Service-Revision)
  + Leitet den Verkehr nach der Bereitstellung an die alternative Zielgruppe weiter (grüne Service-Revision)
+ Test-Listener (optional): Verarbeitet den Test-Datenverkehr, um die grüne Service-Version zu validieren, bevor der Produktionsdatenverkehr verlagert wird
  + Kann an einem anderen Port konfiguriert werden (z. B. 8080 oder 8443)
  + Leitet den Datenverkehr während des Tests an die alternative Zielgruppe weiter (grüne Service-Revision)

Während einer blue/green Bereitstellung aktualisiert Amazon ECS automatisch die Listener-Regeln, um den Datenverkehr je nach Bereitstellungsphase an die entsprechende Zielgruppe weiterzuleiten.

**Example Erstellen eines Produktions-Listeners**  
Der folgende CLI-Befehl erstellt einen Produktions-Listener auf Port 80, der den Datenverkehr an die primäre (blaue) Zielgruppe weiterleitet:  

```
aws elbv2 create-listener \
    --load-balancer-arn arn:aws:elasticloadbalancing:region:123456789012:loadbalancer/app/my-application-load-balancer/abcdef123456 \
    --protocol HTTP \
    --port 80 \
    --default-actions Type=forward,TargetGroupArn=arn:aws:elasticloadbalancing:region:123456789012:targetgroup/blue-target-group/abcdef123456
```

**Example Erstellen eines Test-Listeners**  
Der folgende CLI-Befehl erstellt einen Test-Listener auf Port 8080, der den Datenverkehr an die alternative (grüne) Zielgruppe weiterleitet:  

```
aws elbv2 create-listener \
    --load-balancer-arn arn:aws:elasticloadbalancing:region:123456789012:loadbalancer/app/my-application-load-balancer/abcdef123456 \
    --protocol HTTP \
    --port 8080 \
    --default-actions Type=forward,TargetGroupArn=arn:aws:elasticloadbalancing:region:123456789012:targetgroup/green-target-group/ghijkl789012
```

**Example Erstellen einer Listener-Regel für pfadbasiertes Routing**  
Der folgende CLI-Befehl erstellt eine Regel, die den Datenverkehr für einen bestimmten Pfad zum Testen an die grüne Zielgruppe weiterleitet:  

```
aws elbv2 create-rule \
    --listener-arn arn:aws:elasticloadbalancing:region:123456789012:listener/app/my-application-load-balancer/abcdef123456/ghijkl789012 \
    --priority 10 \
    --conditions Field=path-pattern,Values='/test/*' \
    --actions Type=forward,TargetGroupArn=arn:aws:elasticloadbalancing:region:123456789012:targetgroup/green-target-group/ghijkl789012
```

**Example Erstellen einer Listener-Regel für Header-basiertes Routing**  
Der folgende CLI-Befehl erstellt eine Regel, die Datenverkehr mit einem bestimmten Header zum Testen an die grüne Zielgruppe weiterleitet:  

```
aws elbv2 create-rule \
    --listener-arn arn:aws:elasticloadbalancing:region:123456789012:listener/app/my-application-load-balancer/abcdef123456/ghijkl789012 \
    --priority 20 \
    --conditions Field=http-header,HttpHeaderConfig='{Name=X-Environment,Values=[test]}' \
    --actions Type=forward,TargetGroupArn=arn:aws:elasticloadbalancing:region:123456789012:targetgroup/green-target-group/ghijkl789012
```

## Service-Konfiguration
<a name="alb-service-configuration"></a>

Sie müssen über die erforderlichen Berechtigungen verfügen, um Amazon ECS die Verwaltung von Load Balancer-Ressourcen in Ihren Clustern in Ihrem Namen zu erlauben. Weitere Informationen finden Sie unter [Amazon-ECS-IAM-Infrastrukturrolle für Load Balancer](AmazonECSInfrastructureRolePolicyForLoadBalancers.md). 

Wenn Sie einen Amazon ECS-Service für blue/green Bereitstellungen mit Elastic Load Balancing erstellen oder aktualisieren, müssen Sie die folgende Konfiguration angeben.

Ersetzen Sie die *user-input* durch Ihre Werte.

Die wichtigsten Komponenten dieser Konfiguration sind:
+ `targetGroupArn`: Der ARN der primären Zielgruppe (blaue Service-Revision).
+ `alternateTargetGroupArn`: Der ARN der alternativen Zielgruppe (grüne Service-Revision).
+ `productionListenerRule`: Der ARN der Listener-Regel für den Produktionsdatenverkehr.
+ `roleArn`: Der ARN der Rolle, die es Amazon ECS erlaubt, Ressourcen für Elastic Load Balancing zu verwalten.
+ `strategy`: Auf `BLUE_GREEN` einstellen, um Blau/Grün-Bereitstellungen zu ermöglichen.
+ `bakeTimeInMinutes`: Die Dauer, in der sowohl blaue als auch grüne Service-Revisionen gleichzeitig ausgeführt werden, nachdem der Produktionsdatenverkehr verlagert wurde.
+ `TestListenerRule`: Der ARN der Listener-Regel für den Test-Datenverkehr. Dieser Parameter ist optional.

```
{
    "loadBalancers": [
        {
            "targetGroupArn": "arn:aws:elasticloadbalancing:region:123456789012:targetgroup/primary-target-group/abcdef123456",
            "containerName": "container-name",
            "containerPort": 80,
            "advancedConfiguration": {
                "alternateTargetGroupArn": "arn:aws:elasticloadbalancing:region:account-id:targetgroup/alternate-target-group/ghijkl789012",
                "productionListenerRule": "arn:aws:elasticloadbalancing:region:account-id:listener-rule/app/load-balancer-name/abcdef123456/listener/ghijkl789012/rule/mnopqr345678",
                "roleArn": "arn:aws:iam::123456789012:role/ecs-elb-role"
            }
        }
    ],
    "deploymentConfiguration": {
        "strategy": "BLUE_GREEN",
        "maximumPercent": 200,
        "minimumHealthyPercent": 100,
        "bakeTimeInMinutes": 5
    }
}
```

## Datenverkehrsfluss während der Bereitstellung
<a name="alb-traffic-flow"></a>

Während einer blue/green Bereitstellung mit Elastic Load Balancing fließt der Datenverkehr wie folgt durch das System:

1. *Ausgangszustand*: Der gesamte Produktionsdatenverkehr wird an die primäre Zielgruppe weitergeleitet (blaue Service-Revision).

1. *Bereitstellung der grünen Service-Revision*: Amazon ECS stellt die neuen Aufgaben bereit und registriert sie bei der alternativen Zielgruppe.

1. *Test-Datenverkehr*: Wenn ein Test-Listener konfiguriert ist, wird der Test-Datenverkehr an die alternative Zielgruppe weitergeleitet, um die grüne Service-Revision zu validieren.

1. *Verlagerung des Produktionsdatenverkehrs*: Amazon ECS aktualisiert die Produktions-Listener-Regel, um den Datenverkehr an die alternative Zielgruppe weiterzuleiten (grüne Service-Revision).

1. *Bake-Zeit*: Die Dauer, in der sowohl blaue als auch grüne Service-Revisionen gleichzeitig ausgeführt werden, nachdem der Produktionsdatenverkehr verlagert wurde.

1. *Abschluss*: Nach einer erfolgreichen Bereitstellung wird die blaue Service-Revision beendet.

Wenn während der Bereitstellung Probleme festgestellt werden, kann Amazon ECS automatisch ein Rollback durchführen, indem der Datenverkehr an die primäre Zielgruppe zurückgeleitet wird (blaue Service-Revision).