

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.

# Verwenden Sie Lambda-Funktionen als Ziele eines Application Load Balancer
<a name="lambda-functions"></a>

Sie können Ihre Lambda-Funktionen als Ziele registrieren und eine Listener-Regel für das Weiterleiten von Anfragen an die Zielgruppe für Ihre Lambda-Funktion konfigurieren. Wenn der Load Balancer die Anfrage an eine Zielgruppe mit einer Lambda-Funktion als Ziel weiterleitet, ruft er Ihre Lambda-Funktion auf und übergibt den Inhalt der Anfrage im JSON-Format an die Lambda-Funktion.

Der Load Balancer ruft die Lambda-Funktion direkt auf, anstatt eine Netzwerkverbindung zu verwenden. Daher gibt es keine Anforderungen für die ausgehenden Regeln der Application Load Balancer Balancer-Sicherheitsgruppen.

**Einschränkungen**
+ Die Lambda-Funktion und die Zielgruppe müssen sich im gleichen Konto und in der gleichen Region befinden.
+ Der Anfragetext, den Sie an eine Lambda-Funktion senden können, darf maximal 1 MB betragen. Entsprechende Größenbeschränkungen finden Sie unter [HTTP-Header-Limits](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/how-elastic-load-balancing-works.html#http-header-limits).
+ Die Lambda-Funktion darf als Antwort-JSON maximal 1 MB senden.
+ WebSockets werden nicht unterstützt. Upgrade-Anfragen werden mit dem HTTP 400-Code abgelehnt.
+ Local Zones werden nicht unterstützt.
+ Automatic Target Weights (ATW) wird nicht unterstützt.

**Topics**
+ [Vorbereiten der Lambda-Funktion](#prepare-lambda-function)
+ [Erstellen Sie einer Zielgruppe für die Lambda-Funktion](#create-lambda-target-group)
+ [Empfangen von Ereignissen vom Load Balancer](#receive-event-from-load-balancer)
+ [Antwort an den Load Balancer](#respond-to-load-balancer)
+ [Header mit mehreren Werten](#multi-value-headers)
+ [Aktivieren von Zustandsprüfungen](#enable-health-checks-lambda)
+ [Registrieren Sie die Lambda-Funktion](#register-lambda-function)
+ [Aufheben der Registrierung der Lambda-Funktion](#deregister-lambda-function)

Eine Demo finden Sie unter [Lambda-Ziel im Application Load Balancer](https://exampleloadbalancer.com/lambda_demo.html).

## Vorbereiten der Lambda-Funktion
<a name="prepare-lambda-function"></a>

Die folgenden Empfehlungen gelten, wenn Sie Ihre Lambda-Funktion mit einem Application Load Balancer verwenden.

**Berechtigungen zum Aufrufen der Lambda-Funktion**  
Wenn Sie die Zielgruppe erstellen und die Lambda-Funktion mithilfe der AWS-Managementkonsole registrieren, fügt die Konsole in Ihrem Namen die erforderlichen Berechtigungen zu Ihrer Lambda-Funktionsrichtlinie hinzu. Andernfalls müssen Sie, nachdem Sie die Zielgruppe erstellt und die Funktion mit dem registriert haben AWS CLI, den Befehl [add-permission](https://docs.aws.amazon.com/cli/latest/reference/lambda/add-permission.html) verwenden, um Elastic Load Balancing die Berechtigung zum Aufrufen Ihrer Lambda-Funktion zu erteilen. Es wird empfohlen, die `aws:SourceAccount`- und `aws:SourceArn`-Bedingungsschlüssel zum Einschränken des Funktionsaufrufs an die angegebene Zielgruppe zu verwenden. Weitere Informationen finden Sie unter [Das Problem des verwirrten Stellvertreters](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html) im *IAM-Benutzerhandbuch*.

```
aws lambda add-permission \
    --function-name lambda-function-arn-with-alias-name \ 
    --statement-id elb1 \
    --principal elasticloadbalancing.amazonaws.com \
    --action lambda:InvokeFunction \
    --source-arn target-group-arn \
    --source-account target-group-account-id
```

**Versionsverwaltung der Lambda-Funktion**  
Sie können eine Lambda-Funktion pro Zielgruppe registrieren. Um sicherzustellen, dass Sie Ihre Lambda-Funktion ändern können und dass der Load Balancer immer die aktuelle Version der Lambda-Funktion aufruft, erstellen Sie einen Funktionsalias und schließen Sie den Alias in den Funktions-ARN ein, wenn Sie die Lambda-Funktion bei dem Load Balancer registrieren. *Weitere Informationen finden Sie unter [AWS Lambda Funktionsaliasnamen](https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html) im Developer Guide.AWS Lambda *

**Funktion Zeitüberschreitung**  
Der Load Balancer wartet, bis die Lambda-Funktion reagiert oder eine Zeitüberschreitung auftritt. Es wird empfohlen, die Zeitüberschreitung der Lambda-Funktion auf der Grundlage Ihrer erwarteten Laufzeit zu konfigurieren. Informationen zum Standard-Timeout-Wert und wie Sie ihn ändern können, finden [Sie unter Lambda-Funktions-Timeout konfigurieren](https://docs.aws.amazon.com/lambda/latest/dg/configuration-timeout.html). [Informationen zum maximalen Timeout-Wert, den Sie konfigurieren können, finden Sie unter Kontingente.AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html)

## Erstellen Sie einer Zielgruppe für die Lambda-Funktion
<a name="create-lambda-target-group"></a>

Erstellen Sie eine Zielgruppe, die bei der Weiterleitung von Anforderungen verwendet wird. Wenn der Inhalt der Anfrage mit einer Listener-Regel mit einer Aktion für ihre Weiterleitung an diese Zielgruppe übereinstimmt, ruft der Load Balancer die registrierte Lambda-Funktion auf.

------
#### [ Console ]

**So erstellen Sie eine Zielgruppe und registrieren die Lambda-Funktion**

1. Öffnen Sie die Amazon-EC2-Konsole unter [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Wählen Sie im Navigationsbereich unter **Load Balancing** die Option **Target Groups** (Zielgruppen) aus.

1. Wählen Sie **Zielgruppe erstellen** aus.

1. Wählen Sie unter **Zieltyp auswählen** die Option **Lambda-Funktion** aus.

1. Geben Sie unter **Zielgruppenname** einen Namen für die Zielgruppe ein.

1. (Optional) Um Zustandsprüfungen zu aktivieren, wählen Sie **Aktivieren** im Abschnitt **Zustandsprüfungen** aus.

1. (Optional) Erweitern Sie **Tags**. Wählen Sie für jedes Tag die Option **Neues Tag hinzufügen** aus und geben Sie einen Tag-Schlüssel und einen Tag-Wert ein.

1. Wählen Sie **Weiter** aus.

1. Wenn Sie bereit sind, die Lambda-Funktion zu registrieren, wählen **Sie Lambda-Funktion auswählen** und wählen Sie die Lambda-Funktion aus der Liste aus, oder wählen Sie **Eine Lambda-Funktion eingeben ARN und geben Sie den ARN der Lambda-Funktion** ein.

   Wenn Sie noch nicht bereit sind, die Lambda-Funktion zu **registrieren, wählen Sie Lambda-Funktion später** registrieren und registrieren Sie das Ziel später. Weitere Informationen finden Sie unter [Ziele registrieren](target-group-register-targets.md#register-targets).

1. Wählen Sie **Zielgruppe erstellen** aus.

------
#### [ AWS CLI ]

**Um eine Zielgruppe vom Typ zu erstellen lambda**  
Verwenden Sie den Befehl [create-target-group](https://docs.aws.amazon.com/cli/latest/reference/elbv2/create-target-group.html).

```
aws elbv2 create-target-group \
    --name my-target-group \
    --target-type lambda
```

**Um die Lambda-Funktion zu registrieren**  
Verwenden Sie den Befehl [register-targets](https://docs.aws.amazon.com/cli/latest/reference/elbv2/register-targets.html).

```
aws elbv2 register-targets \
    --target-group-arn target-group-arn \
    --targets Id=lambda-function-arn
```

------
#### [ CloudFormation ]

**So erstellen Sie eine Zielgruppe und registrieren die Lambda-Funktion**  
Definieren Sie eine Ressource des Typs. [AWS::ElasticLoadBalancingV2::TargetGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-targetgroup.html) Wenn Sie noch nicht bereit sind, die Lambda-Funktion zu registrieren, können Sie die `Targets` Eigenschaft weglassen und später hinzufügen.

```
Resources:
  myTargetGroup:
    Type: 'AWS::ElasticLoadBalancingV2::TargetGroup'
    Properties:
      Name: my-target-group
      TargetType: lambda
      Tags: 
        - Key: 'department'
          Value: '123'
      Targets:
        - Id: !Ref myLambdaFunction
```

------

## Empfangen von Ereignissen vom Load Balancer
<a name="receive-event-from-load-balancer"></a>

Der Load Balancer unterstützt den Lambda-Aufruf für Anfragen über HTTP und HTTPS. Der Load Balancer sendet ein Ereignis im JSON-Format. Der Load Balancer fügt zu jeder Anfrage die folgenden Header hinzu: `X-Amzn-Trace-Id`, `X-Forwarded-For`, `X-Forwarded-Port` und `X-Forwarded-Proto`.

Wenn der `content-encoding`-Header vorhanden ist, codiert der Load Balancer mit Base64 den Text und setzt `isBase64Encoded` auf `true`.

Wenn der `content-encoding`-Header nicht vorhanden ist, hängt die Base64-Codierung vom Inhaltstyp ab. Bei den folgenden Typen sendet der Load Balancer den Text unverändert und setzt ihn `isBase64Encoded` auf`false`: text/\$1,. application/json, application/javascript, and application/xml Andernfalls codiert der Load Balancer den Text mit Base64 und stellt `isBase64Encoded` auf `true` ein.

Es folgt ein Beispielereignis.

```
{
    "requestContext": {
        "elb": {
            "targetGroupArn": "arn:aws:elasticloadbalancing:region:123456789012:targetgroup/my-target-group/6d0ecf831eec9f09"
        }
    },
    "httpMethod": "GET",
    "path": "/",
    "queryStringParameters": {parameters},
    "headers": {
        "accept": "text/html,application/xhtml+xml",
        "accept-language": "en-US,en;q=0.8",
        "content-type": "text/plain",
        "cookie": "cookies",
        "host": "lambda-846800462-us-east-2.elb.amazonaws.com",
        "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6)",
        "x-amzn-trace-id": "Root=1-5bdb40ca-556d8b0c50dc66f0511bf520",
        "x-forwarded-for": "72.21.198.66",
        "x-forwarded-port": "443",
        "x-forwarded-proto": "https"
    },
    "isBase64Encoded": false,
    "body": "request_body"
}
```

## Antwort an den Load Balancer
<a name="respond-to-load-balancer"></a>

Die Antwort von Ihrer Lambda-Funktion muss den Base64-codierten Status, Statuscode und die Header beinhalten. Sie können den Text weglassen.

Um den binären Inhalt in den Text der Antwort einzuschließen, müssen Sie den Inhalt mit Base64 codieren und `isBase64Encoded` auf `true` einstellen. Der Load Balancer decodiert die Inhalte, um den binären Inhalt abzurufen, und sendet ihn im Text der HTTP-Antwort zum Client.

Der Load Balancer berücksichtigt keine hop-by-hop Header wie oder. `Connection` `Transfer-Encoding` Sie können den `Content-Length`-Header weglassen, da der Load Balancer ihn berechnet, bevor er Antworten an Clients sendet.

Nachfolgend finden Sie eine Beispielantwort von einer auf **nodejs** basierenden Lambda-Funktion.

```
{
    "isBase64Encoded": false,
    "statusCode": 200,
    "statusDescription": "200 OK",
    "headers": {
        "Set-cookie": "cookies",
        "Content-Type": "application/json"
    },
    "body": "Hello from Lambda (optional)"
}
```

Lambda-Funktionsvorlagen, die mit Application Load Balancers funktionieren, finden Sie unter [application-load-balancer-serverless-app](https://github.com/aws/elastic-load-balancing-tools/tree/master/application-load-balancer-serverless-app) auf github. Öffnen Sie alternativ die [Lambda-Konsole](https://console.aws.amazon.com/lambda), wählen Sie **Anwendungen**, **Anwendung erstellen** und dann eine der folgenden Optionen aus: AWS Serverless Application Repository
+ ALB-Lambda-Ziel-S3 UploadFileto
+ ALB-Lambda-Ziel- BinaryResponse
+ ALB-Lambda-Ziel-IP WhatisMy

## Header mit mehreren Werten
<a name="multi-value-headers"></a>

Wenn Anfragen von einem Client oder Antworten von einer Lambda-Funktion Header mit mehreren Werten, denselben Header mehrmals oder Abfrageparameter mit mehreren Werten für den gleichen Schlüssel enthalten, können Sie Unterstützung für die Syntax von Headern mit mehreren Werten aktivieren Nach dem Aktivieren von Headern mit mehreren Werten werden in den Headern und Abfrageparametern, die zwischen dem Load Balancer und der Lambda-Funktion ausgetauscht werden, Arrays anstelle von Zeichenfolgen verwendet. Wenn Sie die Syntax für Header mit mehreren Werten nicht aktivieren und ein Header oder Abfrageparameter mehrere Werte aufweist, verwendet der Load Balancer den zuletzt empfangenen Wert.

**Topics**
+ [Anfragen mit Headern mit mehreren Werten](#multi-value-headers-request)
+ [Antworten mit Headern mit mehreren Werten](#multi-value-headers-response)
+ [Aktivieren von Headern mit mehreren Werten](#enable-multi-value-headers)

### Anfragen mit Headern mit mehreren Werten
<a name="multi-value-headers-request"></a>

Die Namen der Felder, die für Header und Abfragezeichenfolgeparameter verwendet werden, unterscheiden sich abhängig davon, ob Sie Header mit mehreren Werten für die Zielgruppe aktivieren.

Die folgende Beispielanfrage enthält zwei Abfrageparameter mit demselben Schlüssel:

```
http://www.example.com?&myKey=val1&myKey=val2
```

Bei dem Standardformat verwendet der Load Balancer den letzten vom Client gesendeten Wert und sendet Ihnen mit `queryStringParameters` ein Ereignis, das Abfragezeichenfolgeparameter umfasst. Beispiel:

```
"queryStringParameters": { "myKey": "val2"},
```

Wenn Sie Header mit mehreren Werten aktivieren, verwendet der Load Balancer beide vom Client gesendeten Schlüsselwerte und sendet Ihnen einen Zeichenfolgeparameter für eine Ereignisabfrage, der `multiValueQueryStringParameters` verwendet. Beispiel:

```
"multiValueQueryStringParameters": { "myKey": ["val1", "val2"] },
```

Dementsprechend gilt Folgendes, wenn der Client eine Anfrage mit zwei Cookies im Header sendet:

```
"cookie": "name1=value1",
"cookie": "name2=value2",
```

Bei dem Standardformat verwendet der Load Balancer den letzten vom Client gesendeten Cookie und sendet Ihnen mit `headers` ein Ereignis, das Header umfasst. Beispiel:

```
"headers": {
    "cookie": "name2=value2",
    ...
},
```

Bei Headern mit mehreren Werten verwendet der Load Balancer beide vom Client gesendeten Cookies und sendet Ihnen mit `multiValueHeaders` ein Ereignis, das Header umfasst: Beispiel:

```
"multiValueHeaders": {
    "cookie": ["name1=value1", "name2=value2"],
    ...
},
```

Wenn die Abfrageparameter URL-kodiert sind, dekodiert der Load Balancer sie nicht. Sie müssen sie in Ihrer Lambda-Funktion dekodieren.

### Antworten mit Headern mit mehreren Werten
<a name="multi-value-headers-response"></a>

Der Name der für Header verwendeten Felder unterscheidet sich abhängig davon, ob Sie Header mit mehreren Werten für die Zielgruppe verwenden. Sie müssen `multiValueHeaders` verwenden, wenn Sie Header mit mehreren Werten aktivieren. Andernfalls verwenden Sie `headers`.

Bei dem Standardformat können Sie ein einziges Cookie angeben:

```
{
  "headers": {
      "Set-cookie": "cookie-name=cookie-value;Domain=myweb.com;Secure;HttpOnly",
      "Content-Type": "application/json"
  },
}
```

Bei Headern mit mehreren Werten müssen Sie wie folgt mehrere Cookies angeben:

```
{
  "multiValueHeaders": {
      "Set-cookie": ["cookie-name=cookie-value;Domain=myweb.com;Secure;HttpOnly","cookie-name=cookie-value;Expires=May 8, 2019"],
      "Content-Type": ["application/json"]
  },
}
```

Der Load Balancer sendet die Header ggf. in einer anderen Reihenfolge als der in der Lambda-Antwortnutzlast angegebenen Reihenfolge an den Client. Verlassen Sie sich daher nicht darauf, dass Header in einer bestimmten Reihenfolge zurückgegeben werden.

### Aktivieren von Headern mit mehreren Werten
<a name="enable-multi-value-headers"></a>

Sie können Header mit mehreren Werten für eine Zielgruppe mit dem Zieltyp `lambda` aktivieren oder deaktivieren.

------
#### [ Console ]

**Um Header mit mehreren Werten zu aktivieren**

1. Öffnen Sie die Amazon-EC2-Konsole unter [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Wählen Sie im Navigationsbereich unter **Load Balancing** die Option **Target Groups** (Zielgruppen) aus.

1. Wählen Sie den Namen der Zielgruppe aus, um deren Detailseite zu öffnen.

1. Klicken Sie auf der Registerkarte **Attribute** auf **Bearbeiten**.

1. Aktivieren Sie **mehrwertige Header**.

1. Wählen Sie **Änderungen speichern ** aus.

------
#### [ AWS CLI ]

**Um mehrwertige Header zu aktivieren**  
Verwenden Sie den Befehl [modify-target-group-attributes](https://docs.aws.amazon.com/cli/latest/reference/elbv2/modify-target-group-attributes.html) mit dem Attribut `lambda.multi_value_headers.enabled`.

```
aws elbv2 modify-target-group-attributes \
    --target-group-arn target-group-arn \
    --attributes "Key=lambda.multi_value_headers.enabled,Value=true"
```

------
#### [ CloudFormation ]

**Um mehrwertige Header zu aktivieren**  
Aktualisieren Sie die [AWS::ElasticLoadBalancingV2::TargetGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-targetgroup.html)Ressource so, dass sie das `lambda.multi_value_headers.enabled` Attribut enthält.

```
Resources:
  myTargetGroup:
    Type: 'AWS::ElasticLoadBalancingV2::TargetGroup'
    Properties:
      Name: my-target-group
      TargetType: lambda
      Tags: 
        - Key: 'department'
          Value: '123'
      Targets:
        - Id: !Ref myLambdaFunction
      TargetGroupAttributes:
        - Key: "lambda.multi_value_headers.enabled"
          Value: "true"
```

------

## Aktivieren von Zustandsprüfungen
<a name="enable-health-checks-lambda"></a>

Zustandsprüfungen sind für Zielgruppen des Typs `lambda` standardmäßig deaktiviert. Sie können Zustandsprüfungen aktivieren, um ein DNS Failover mit Amazon Route 53 zu implementieren. Die Lambda-Funktion kann den Zustand eines Downstream-Service prüfen, bevor sie auf die Anfrage einer Zustandsprüfung antwortet. Wenn die Antwort von der Lambda-Funktion auf eine nicht bestandene Zustandsprüfung hinweist, wird die nicht bestandene Zustandsprüfung an Amazon Route 53 übergeben. Sie können Amazon Route 53 für das Failover auf einen Sicherungsanwendungs-Stack konfigurieren.

Ihnen werden für Zustandsprüfungen genauso wie für jeden anderen Lambda-Funktionsaufruf Gebühren erhoben.

Im Folgenden finden Sie das Format des an Ihre Lambda-Funktion gesendeten Zustandsprüfungsereignisses. Um zu prüfen, ob ein Ereignis eine Zustandsprüfungsereignis ist, überprüfen Sie den Wert des Feldes "user-agent". Der Benutzeragent für Zustandsprüfungen ist `ELB-HealthChecker/2.0`.

```
{
    "requestContext": {
        "elb": {
            "targetGroupArn": "arn:aws:elasticloadbalancing:region:123456789012:targetgroup/my-target-group/6d0ecf831eec9f09"
        }
    },
    "httpMethod": "GET",  
    "path": "/",  
    "queryStringParameters": {},  
    "headers": {
        "user-agent": "ELB-HealthChecker/2.0"
    },  
    "body": "",  
    "isBase64Encoded": false
}
```

------
#### [ Console ]

**Um Gesundheitschecks für eine lambda Zielgruppe zu aktivieren**

1. Öffnen Sie die Amazon-EC2-Konsole unter [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Wählen Sie im Navigationsbereich unter **Load Balancing** die Option **Target Groups** (Zielgruppen) aus.

1. Wählen Sie den Namen der Zielgruppe aus, um deren Detailseite zu öffnen.

1. Wählen Sie in der Registerkarte **Health checks (Zustandsprüfungen)** die Option **Edit (Bearbeiten)** aus.

1. Wählen Sie unter **Zustandsprüfungen** die Option **Aktivieren** aus.

1. (Optional) Aktualisieren Sie die Einstellungen für die Gesundheitsprüfung nach Bedarf.

1. Wählen Sie **Änderungen speichern ** aus.

------
#### [ AWS CLI ]

**Um Gesundheitschecks für eine lambda Zielgruppe zu aktivieren**  
Verwenden Sie den Befehl [modify-target-group](https://docs.aws.amazon.com/cli/latest/reference/elbv2/modify-target-group.html).

```
aws elbv2 modify-target-group \
    --target-group-arn target-group-arn \
    --health-check-enabled
```

------
#### [ CloudFormation ]

**Um Gesundheitschecks für eine lambda Zielgruppe zu aktivieren**  
Aktualisieren Sie die [AWS::ElasticLoadBalancingV2::TargetGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-targetgroup.html)Ressource.

```
Resources:
  myTargetGroup:
    Type: 'AWS::ElasticLoadBalancingV2::TargetGroup'
    Properties:
      Name: my-target-group
      TargetType: lambda
      HealthCheckEnabled: true
      Tags: 
        - Key: 'department'
          Value: '123'
      Targets:
        - Id: !Ref myLambdaFunction
```

------

## Registrieren Sie die Lambda-Funktion
<a name="register-lambda-function"></a>

Sie können für jede Zielgruppe eine einzelne Lambda-Funktion registrieren. Um eine Lambda-Funktion zu ersetzen, empfehlen wir, dass Sie eine neue Zielgruppe erstellen, die neue Funktion bei der neuen Zielgruppe registrieren und die Listener-Regeln aktualisieren, um die neue Zielgruppe zu verwenden.

------
#### [ Console ]

**So registrieren Sie eine Lambda-Funktion**

1. Öffnen Sie die Amazon-EC2-Konsole unter [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Wählen Sie im Navigationsbereich unter **Load Balancing** die Option **Target Groups** (Zielgruppen) aus.

1. Wählen Sie den Namen der Zielgruppe aus, um deren Detailseite zu öffnen.

1. Wenn auf der Registerkarte **Ziele** keine Lambda-Funktion registriert ist, wählen Sie **Ziel registrieren** aus.

1. Wählen Sie die Lambda-Funktion aus oder geben Sie ihren ARN ein.

1. Wählen Sie **Registrieren** aus.

------
#### [ AWS CLI ]

**So registrieren Sie eine Lambda-Funktion**  
Verwenden Sie den Befehl [register-targets](https://docs.aws.amazon.com/cli/latest/reference/elbv2/register-targets.html).

```
aws elbv2 register-targets \
    --target-group-arn target-group-arn \
    --targets Id=lambda-function-arn
```

------
#### [ CloudFormation ]

**So registrieren Sie eine Lambda-Funktion**  
Aktualisieren Sie die Ressource [AWS::ElasticLoadBalancingV2::TargetGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-targetgroup.html).

```
Resources:
  myTargetGroup:
    Type: 'AWS::ElasticLoadBalancingV2::TargetGroup'
    Properties:
      Name: my-target-group
      TargetType: lambda
      Tags: 
        - Key: 'department'
          Value: '123'
      Targets:
        - Id: !Ref myLambdaFunction
```

------

## Aufheben der Registrierung der Lambda-Funktion
<a name="deregister-lambda-function"></a>

Wenn Sie zu Ihrer Lambda-Funktion keinen Datenverkehr mehr senden müssen, können Sie ihre Registrierung aufheben. Nachdem Sie die Registrierung einer Lambda-Funktion aufgehoben haben, schlagen laufende Anfragen mit HTTP-5XX-Fehlermeldungen fehl.

Um eine Lambda-Funktion zu ersetzen, empfehlen wir, dass Sie eine neue Zielgruppe erstellen, die neue Funktion bei der neuen Zielgruppe registrieren und die Listener-Regeln aktualisieren, um die neue Zielgruppe zu verwenden.

------
#### [ Console ]

**Um eine Lambda-Funktion zu deregistrieren**

1. Öffnen Sie die Amazon-EC2-Konsole unter [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Wählen Sie im Navigationsbereich unter **Load Balancing** die Option **Target Groups** (Zielgruppen) aus.

1. Wählen Sie den Namen der Zielgruppe aus, um deren Detailseite zu öffnen.

1. **Wählen Sie auf der Registerkarte **Ziele** das Ziel aus und klicken Sie auf Deregister.**

1. Wenn Sie zur Bestätigung aufgefordert werden, wählen Sie **Deregister** aus.

------
#### [ AWS CLI ]

**Um eine Lambda-Funktion zu deregistrieren**  
Verwenden Sie den Befehl [deregister-targets](https://docs.aws.amazon.com/cli/latest/reference/elbv2/deregister-targets.html).

```
aws elbv2 deregister-targets \
    --target-group-arn target-group-arn \
    --targets Id=lambda-function-arn
```

------