

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.

# Erstellen Sie Ihren ersten Express-Modus-Dienst mit dem AWS CLI
<a name="express-service-getting-started"></a>

Dieses Tutorial zeigt Ihnen, wie Sie eine Expressmodus-Dienstanwendung mit dem erstellen. AWS AWS CLI Sie stellen eine einfache Webanwendung bereit, die die Kernfunktionen des Express Mode-Dienstes demonstriert.

## Voraussetzungen
<a name="express-service-prerequisites"></a>

Stellen Sie vor Beginn sicher, dass Sie über Folgendes verfügen:
+ Ein AWS Konto mit den entsprechenden Berechtigungen
+ Das AWS AWS CLI installierte und konfigurierte
+ Ein Container-Image, das in Amazon ECR oder einer privaten Registrierung gespeichert ist

## Schritt 1: IAM-Rollen erstellen
<a name="express-service-create-execution-role"></a>

Für einen Expressmodus-Dienst sind zwei IAM-Rollen erforderlich. Die Task Execution Role ermöglicht es Amazon ECS, in Ihrem Namen Container-Images abzurufen und Protokolle zu schreiben. Erstellen Sie eine Rolle zur Aufgabenausführung und eine Infrastrukturrolle mit den folgenden Richtlinien:

```
#Create the roles with ECS trust policies
aws iam create-role --role-name ecsTaskExecutionRole \
    --assume-role-policy-document '{
        "Version": "2012-10-17",		 	 	 
        "Statement": [
            {
                "Effect": "Allow",
                "Principal": {
                    "Service": "ecs-tasks.amazonaws.com"
                },
                "Action": "sts:AssumeRole",
            }
        ]
    }'

aws iam create-role --role-name ecsInfrastructureRoleForExpressServices \ 
    --assume-role-policy-document '{
        "Version": "2012-10-17",		 	 	 
        "Statement": [
            {
                "Sid": "AllowAccessInfrastructureForECSExpressServices",
                "Effect": "Allow",
                "Principal": {
                    "Service": "ecs.amazonaws.com"
                },
                "Action": "sts:AssumeRole"
            }
        ]
    }'
```

```
#Attach the AWS managed policies
aws iam attach-role-policy --role-name ecsTaskExecutionRole \
    --policy-arn arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy
aws iam attach-role-policy --role-name ecsInfrastructureRoleForExpressServices \
    --policy-arn arn:aws:iam::aws:policy/service-role/AmazonECSInfrastructureRoleforExpressGatewayServices
```

Weitere Informationen finden Sie unter [IAM-Rolle für die Amazon-ECS-Aufgabenausführung](task_execution_IAM_role.md).

## Schritt 2: Erstellen Sie Ihre erste Express-Modus-Dienstanwendung
<a name="express-service-create-basic"></a>

Erstellen Sie eine Expressmodus-Dienstanwendung mit den mindestens erforderlichen Parametern:

```
aws ecs create-express-gateway-service \
    --primary-container "image"="public.ecr.aws/nginx/nginx:latest" \
    --execution-role-arn arn:aws:iam::123456789012:role/ecsTaskExecutionRole \
    --infrastructure-role-arn arn:aws:iam::123456789012:role/ecsInfrastructureRoleForExpressServices \
    --monitor-resources
```

Dieser Befehl erstellt eine Expressmodus-Dienstanwendung mit:
+ Ein eindeutiger Dienstname, der aus dem Imagenamen generiert wird
+ 1 vCPU und 2 GB Arbeitsspeicher
+ Port 80 für HTTPS-Verkehr
+ Automatische Skalierung basierend auf der CPU-Auslastung
+ Ein mit dem Internet verbundener Application Load Balancer in der Standard-VPC und öffentlichen Subnetzen
+ Eine für diesen Dienst eindeutige URL im folgenden Format `servicename.ecs.region.on.aws`

Der Befehl überwacht kontinuierlich Ressourcen, während sie bereitgestellt werden, und gibt den Status zurück. Sobald die Bereitstellung des Dienstes abgeschlossen ist, ist die Anwendungs-URL bereit, Datenverkehr zu empfangen. Wenn Sie die Überwachung unterbrechen, werden die Informationen über den erstellten Dienst zurückgegeben, einschließlich des Dienst-ARN und der URL:

```
{
    "service": {
        "cluster": "arn:aws:ecs:region:123456789012:cluster/default",
        "serviceName": "nginx-1234",
        "serviceArn": "arn:aws:ecs:region:123456789012:service/default/nginx-1234",
        "infrastructureRoleArn": "arn:aws:iam::123456789012:role/ecsInfrastructureRoleForExpressServices",
        "status": {
            "statusCode": "ACTIVE"
        },
        "createdAt": "UNIXTIMESTAMP"
    }
}
```

## Schritt 3: Erstellen Sie eine Expressmodus-Dienstanwendung mit benutzerdefinierten Einstellungen
<a name="express-service-create-custom"></a>

Sie können Ihre Expressmodus-Dienstanwendung anpassen, indem Sie zusätzliche Parameter angeben:

```
aws ecs create-express-gateway-service \
    --execution-role-arn arn:aws:iam::123456789012:role/ecsTaskExecutionRole \
    --infrastructure-role-arn arn:aws:iam::123456789012:role/ecsInfrastructureRoleForExpressServices \
    --primary-container '{"image":"123456789012.dkr.ecr.region.amazonaws.com/my-app:latest","containerPort":8080,"environment":[{"name":"ENV","value":"production"},{"name":"DEBUG","value":"false"}]}' \
    --service-name "my-web-app" \
    --cpu 2 \
    --memory 4 \
    --health-check-path "/health" \
    --scaling-target '{"minTaskCount":3,"maxTaskCount":100}' \
    --monitor-resources
```

Dadurch wird eine Anwendung erstellt mit:
+ Ein benutzerdefinierter Name "my-web-app“
+ 2 vCPU und 4 GB Arbeitsspeicher
+ Port 8080 für Anwendungsdatenverkehr
+ Benutzerdefinierter Endpunkt für die Gesundheitsprüfung
+ Umgebungsvariablen
+ Mindestens 3 Aufgaben, maximal 100 Aufgaben für Auto Scaling

## Schritt 4: Überwachen Sie Ihre Bereitstellung
<a name="express-service-monitor-deployment"></a>

Die `--monitor-resources` Markierung funktioniert bei jedem Create-, Update- oder Delete-Aufruf an Ihre Express-Modus-Dienste. Darüber hinaus können Sie die Ressourcen in einem Dienst unabhängig von einer mutierenden Aktion jederzeit überwachen. Die Bereitstellungszeit kann je nach den Ressourcen, die bereitgestellt werden müssen, variieren. Sobald sich der Status auf ändert`ACTIVE`, ist Ihre Anwendung bereit, Datenverkehr zu empfangen.

```
aws ecs monitor-express-gateway-service --service-arn arn:aws:ecs:region:123456789012:service/app-23d97h88
```

Sie können auch die aktuelle Konfiguration und den Status Ihrer Express Mode-Dienstanwendung abrufen:

```
aws ecs describe-express-gateway-service --service-arn arn:aws:ecs:region:123456789012:service/app-23d97h88
```

## Schritt 5: Greifen Sie auf Ihre Anwendung zu
<a name="express-service-access-application"></a>

Greifen Sie über die angegebene URL auf die Expressmodus-Dienstanwendung zu, wenn sie aktiv wird. Das URL-Format ist:

```
https://<service-name>.ecs.<region>.on.aws/
```

Beispiel:

```
https://app-23d97h88.ecs.us-west-2.on.aws/
```

Ihre Anwendung läuft jetzt mit:
+ Automatische SSL/TLS Kündigung
+ Lastenausgleich über mehrere Availability Zones
+ Automatische Skalierung basierend auf der CPU-Auslastung
+ CloudWatch Protokollierung und Überwachung
+ 5XX-Rollback-Alarme und Canary-Bereitstellungen für future Updates 