

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.

# Lambda-Funktionen Zugriff auf Ressourcen in einer Amazon VPC gewähren
<a name="configuration-vpc"></a>

Mit Amazon Virtual Private Cloud (Amazon VPC) können Sie private Netzwerke in Ihren AWS-Konto Host-Ressourcen wie Amazon Elastic Compute Cloud (Amazon EC2) -Instances, Amazon Relational Database Service (Amazon RDS) -Instances und Amazon-Instances erstellen. ElastiCache Sie können Ihrer Lambda-Funktion Zugriff auf Ressourcen geben, die in einer Amazon VPC gehostet werden, indem Sie Ihre Funktion über die privaten Subnetze, die die Ressourcen enthalten, mit der VPC verbinden. Folgen Sie den Anweisungen in den folgenden Abschnitten, um eine Lambda-Funktion über die Lambda-Konsole, die AWS Command Line Interface (AWS CLI) oder an eine Amazon VPC anzuhängen. AWS SAM

**Anmerkung**  
Jede Lambda-Funktion läuft in einer VPC, die dem Lambda-Dienst gehört und von diesem verwaltet wird. Diese VPCs werden automatisch von Lambda verwaltet und sind für Kunden nicht sichtbar. Die Konfiguration Ihrer Funktion für den Zugriff auf andere AWS Ressourcen in einer Amazon VPC hat keine Auswirkungen auf die von Lambda verwaltete VPC, in der Ihre Funktion ausgeführt wird.

**Topics**
+ [Erforderliche IAM-Berechtigungen](#configuration-vpc-permissions)
+ [Hinzufügen von Lambda-Funktionen zu einer Amazon VPC in Ihrem AWS-Konto](#configuration-vpc-attaching)
+ [Internetzugang bei Verbindung mit einer VPC](#configuration-vpc-internet-access)
+ [IPv6 Unterstützung](#configuration-vpc-ipv6)
+ [Bewährte Methoden für die Verwendung von Lambda mit Amazon VPCs](#configuration-vpc-best-practice)
+ [Grundlegendes zu elastischen Hyperplane-Netzwerkschnittstellen () ENIs](#configuration-vpc-enis)
+ [Verwenden von IAM-Bedingungsschlüsseln für VPC-Einstellungen](#vpc-conditions)
+ [VPC-Tutorials](#vpc-tutorials)

## Erforderliche IAM-Berechtigungen
<a name="configuration-vpc-permissions"></a>

Um eine Lambda-Funktion an eine Amazon-VPC in Ihrer anzuhängen AWS-Konto, benötigt Lambda Berechtigungen zum Erstellen und Verwalten der Netzwerkschnittstellen, die es verwendet, um Ihrer Funktion Zugriff auf die Ressourcen in der VPC zu gewähren.

Die von Lambda erstellten Netzwerkschnittstellen werden als Hyperplane Elastic Network Interfaces oder Hyperplane bezeichnet. ENIs Weitere Informationen zu diesen Netzwerkschnittstellen finden Sie unter [Grundlegendes zu elastischen Hyperplane-Netzwerkschnittstellen () ENIs](#configuration-vpc-enis).

Sie können Ihrer Funktion die erforderlichen Berechtigungen erteilen, indem Sie die AWS verwaltete Richtlinie [AWSLambdaVPCAccessExecutionRole](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSLambdaVPCAccessExecutionRole.html)an die Ausführungsrolle Ihrer Funktion anhängen. Wenn Sie eine neue Funktion in der Lambda-Konsole erstellen und sie an eine VPC anhängen, fügt Lambda diese Berechtigungsrichtlinie automatisch für Sie hinzu.

Wenn Sie es vorziehen, Ihre eigene IAM-Berechtigungsrichtlinie zu erstellen, stellen Sie sicher, dass Sie alle der folgenden Berechtigungen hinzufügen und sie auf allen Ressourcen erlauben (`"Resource": "*"`):
+ ec2: CreateNetworkInterface
+ ec2: DescribeNetworkInterfaces
+ ec2: DescribeSubnets
+ ec2: DeleteNetworkInterface
+ ec2: AssignPrivateIpAddresses
+ ec2: UnassignPrivateIpAddresses

Beachten Sie, dass die Rolle Ihrer Funktion diese Berechtigungen nur benötigt, um die Netzwerkschnittstellen zu erstellen, nicht aber, um Ihre Funktion aufzurufen. Sie können Ihre Funktion weiterhin erfolgreich aufrufen, wenn sie an eine Amazon VPC angefügt ist, selbst wenn Sie diese Berechtigungen aus der Ausführungsrolle Ihrer Funktion entfernen. 

Um Ihre Funktion an eine VPC anzuhängen, muss Lambda auch Netzwerkressourcen mithilfe Ihrer IAM-Benutzerrolle verifizieren. Stellen Sie sicher, dass Ihre Benutzerrolle über die folgenden IAM-Berechtigungen verfügt:
+ **ec2: DescribeSecurityGroups**
+ **ec2: DescribeSubnets**
+ **ec2: DescribeVpcs**
+ **ec2: GetSecurityGroupsForVpc**

**Anmerkung**  
Die Amazon-EC2-Berechtigungen, die Sie der Ausführungsrolle Ihrer Funktion gewähren, werden vom Lambda-Service verwendet, um Ihre Funktion an eine VPC anzuhängen. Sie gewähren diese Berechtigungen jedoch auch implizit für den Code Ihrer Funktion. Das bedeutet, dass Ihr Funktionscode diese Amazon-EC2-API-Aufrufe ausführen kann. Ratschläge zur Einhaltung bewährter Sicherheitsverfahren finden Sie unter [Bewährte Methoden für die Gewährleistung der Sicherheit](#configuration-vpc-best-practice-security).

## Hinzufügen von Lambda-Funktionen zu einer Amazon VPC in Ihrem AWS-Konto
<a name="configuration-vpc-attaching"></a>

Verbinden Sie Ihre Funktion mit einer Amazon-VPC in Ihrem, AWS-Konto indem Sie die Lambda-Konsole verwenden, oder. AWS CLI AWS SAM Wenn Sie das AWS CLI oder verwenden oder AWS SAM eine bestehende Funktion mithilfe der Lambda-Konsole an eine VPC anhängen, stellen Sie sicher, dass die Ausführungsrolle Ihrer Funktion über die erforderlichen Berechtigungen verfügt, die im vorherigen Abschnitt aufgeführt sind.

Lambda-Funktionen können keine direkte Verbindung mit einer VPC mit [Dedicated-Instance-Tenancy](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html) herstellen. Zum Herstellen einer Verbindung mit Ressourcen in einer dedizierten VPC [verbinden Sie sie mit einer zweiten VPC mit Standard-Tenancy](https://aws.amazon.com/premiumsupport/knowledge-center/lambda-dedicated-vpc/).

------
#### [ Lambda console ]

**So hängen Sie eine Funktion an eine Amazon VPC an, wenn Sie sie erstellen**

1. Öffnen Sie die Seite [Functions (Funktionen)](https://console.aws.amazon.com/lambda/home#/functions) der Lambda-Konsole und wählen Sie **Create function (Funktion erstellen)** aus.

1. Geben Sie unter **Basic information (Grundlegende Informationen)** bei **Function name (Funktionsname)** einen Namen für Ihre Funktion ein.

1. Konfigurieren Sie die VPC-Einstellungen für die Funktion, indem Sie wie folgt vorgehen:

   1. Erweiterten Sie **Advanced settings (Erweiterte Einstellungen)**.

   1. Wählen Sie **VPC aktivieren** und wählen Sie dann den VPC, dem Sie die Funktion zuordnen möchten.

   1. (Optional) Um [ausgehenden IPv6 Datenverkehr zuzulassen, wählen Sie Traffic für Dual-Stack-Subnetze](#configuration-vpc-ipv6) **zulassen IPv6 ** aus.

   1. Wählen Sie die Teilnetze und Sicherheitsgruppen aus, für die die Netzwerkschnittstelle erstellt werden soll. Wenn Sie ** IPv6 Datenverkehr für Dual-Stack-Subnetze zulassen ausgewählt haben, müssen alle ausgewählten Subnetze** über einen CIDR-Block und einen IPv4 CIDR-Block verfügen. IPv6 
**Anmerkung**  
Verbinden Sie Ihre Funktion für den Zugriff auf private Ressourcen mit privaten Subnetzen. Wenn Ihre Funktion Internetzugang benötigt, siehe [Aktivieren Sie den Internetzugang für VPC-verbundene Lambda-Funktionen](configuration-vpc-internet.md). Durch die Verbindung einer Funktion mit einem öffentlichen Subnetz erhält sie weder Internetzugang noch eine öffentliche IP-Adresse. 

1. Wählen Sie **Create function (Funktion erstellen)**.

**So hängen Sie eine vorhandene Funktion an eine Amazon VPC an**

1. Öffnen Sie die [Funktionsseite](https://console.aws.amazon.com/lambda/home#/functions) der Lambda-Konsole und wählen Sie Ihre Funktion aus.

1. Wählen Sie die Registerkarte **Konfiguration** und anschließend **VPC** aus.

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

1. Wählen Sie unter **VPC** die Amazon VPC aus, an die Sie Ihre Funktion anhängen möchten.

1. **(Optional) Um [ausgehenden IPv6 Datenverkehr zuzulassen, wählen Sie Datenverkehr](#configuration-vpc-ipv6) für Dual-Stack-Subnetze zulassen aus. IPv6 ** 

1. Wählen Sie die Teilnetze und Sicherheitsgruppen aus, für die die Netzwerkschnittstelle erstellt werden soll. Wenn Sie ** IPv6 Datenverkehr für Dual-Stack-Subnetze zulassen ausgewählt haben, müssen alle ausgewählten Subnetze** über einen CIDR-Block und einen IPv4 CIDR-Block verfügen. IPv6 
**Anmerkung**  
Verbinden Sie Ihre Funktion für den Zugriff auf private Ressourcen mit privaten Subnetzen. Wenn Ihre Funktion Internetzugang benötigt, siehe [Aktivieren Sie den Internetzugang für VPC-verbundene Lambda-Funktionen](configuration-vpc-internet.md). Durch die Verbindung einer Funktion mit einem öffentlichen Subnetz erhält sie weder Internetzugang noch eine öffentliche IP-Adresse. 

1. Wählen Sie **Speichern**.

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

**So hängen Sie eine Funktion an eine Amazon VPC an, wenn Sie sie erstellen**
+ Um eine Lambda-Funktion zu erstellen und sie mit einer VPC zu verbinden, führen Sie den folgenden CLI `create-function`-Befehl aus.

  ```
  aws lambda create-function --function-name my-function \
  --runtime nodejs24.x --handler index.js --zip-file fileb://function.zip \
  --role arn:aws:iam::123456789012:role/lambda-role \
  --vpc-config Ipv6AllowedForDualStack=true,SubnetIds=subnet-071f712345678e7c8,subnet-07fd123456788a036,SecurityGroupIds=sg-085912345678492fb
  ```

  Geben Sie Ihre eigenen Subnetze und Sicherheitsgruppen an und setzen Sie `Ipv6AllowedForDualStack` je nach Anwendungsfall auf `true` oder `false`.

**So hängen Sie eine vorhandene Funktion an eine Amazon VPC an**
+ Um eine vorhandene Funktion an eine VPC anzuhängen, führen Sie den folgenden CLI `update-function-configuration`-Befehl aus.

  ```
  aws lambda update-function-configuration --function-name my-function \
  --vpc-config Ipv6AllowedForDualStack=true, SubnetIds=subnet-071f712345678e7c8,subnet-07fd123456788a036,SecurityGroupIds=sg-085912345678492fb
  ```

**So trennen Sie Ihre Funktion von einer VPC**
+ Um Ihre Funktion von einer VPC zu trennen, führen Sie den folgenden `update-function-configuration`-CLI-Befehl mit einer leeren Liste der VPC-Subnetze und Sicherheitsgruppen aus.

  ```
  aws lambda update-function-configuration --function-name my-function \
  --vpc-config SubnetIds=[],SecurityGroupIds=[]
  ```

------
#### [ AWS SAM ]

**So verbinden Sie Ihre Funktion mit einer VPC**
+ Um eine Lambda-Funktion an eine Amazon VPC anzuhängen, fügen Sie die `VpcConfig`-Eigenschaft zu Ihrer Funktionsdefinition hinzu, wie in der folgenden Beispielvorlage gezeigt. Weitere Informationen zu dieser Eigenschaft finden Sie unter [AWS: :Lambda: :Function VpcConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-vpcconfig.html) im *CloudFormation Benutzerhandbuch* (die AWS SAM `VpcConfig` Eigenschaft wird direkt an die `VpcConfig` Eigenschaft einer CloudFormation `AWS::Lambda::Function` Ressource übergeben).

  ```
  AWSTemplateFormatVersion: '2010-09-09'
  Transform: AWS::Serverless-2016-10-31
  
  Resources:
    MyFunction:
      Type: AWS::Serverless::Function
      Properties:
        CodeUri: ./lambda_function/
        Handler: lambda_function.handler
        Runtime: python3.12
        VpcConfig:
          SecurityGroupIds:
            - !Ref MySecurityGroup
          SubnetIds:
            - !Ref MySubnet1
            - !Ref MySubnet2
        Policies:
          - AWSLambdaVPCAccessExecutionRole
  
    MySecurityGroup:
      Type: AWS::EC2::SecurityGroup
      Properties:
        GroupDescription: Security group for Lambda function
        VpcId: !Ref MyVPC
  
    MySubnet1:
      Type: AWS::EC2::Subnet
      Properties:
        VpcId: !Ref MyVPC
        CidrBlock: 10.0.1.0/24
  
    MySubnet2:
      Type: AWS::EC2::Subnet
      Properties:
        VpcId: !Ref MyVPC
        CidrBlock: 10.0.2.0/24
  
    MyVPC:
      Type: AWS::EC2::VPC
      Properties:
        CidrBlock: 10.0.0.0/16
  ```

  *Weitere Informationen zur Konfiguration Ihrer VPC in AWS SAM finden Sie unter [AWS: :EC2: :VPC](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html) im Benutzerhandbuch.CloudFormation *

------

## Internetzugang bei Verbindung mit einer VPC
<a name="configuration-vpc-internet-access"></a>

Standardmäßig haben Lambda-Funktionen Zugriff auf das öffentliche Internet. Wenn Sie Ihre Funktion an eine VPC anhängen, kann sie nur auf Ressourcen zugreifen, die in dieser VPC verfügbar sind. Um Ihrer Funktion Zugriff auf das Internet zu gewähren, müssen Sie die VPC auch für den Internetzugang konfigurieren. Weitere Informationen hierzu finden Sie unter [Aktivieren Sie den Internetzugang für VPC-verbundene Lambda-Funktionen](configuration-vpc-internet.md).

## IPv6 Unterstützung
<a name="configuration-vpc-ipv6"></a>

Ihre Funktion kann über eine Verbindung zu Ressourcen in Dual-Stack-VPC-Subnetzen eine Verbindung herstellen. IPv6 Diese Option ist standardmäßig deaktiviert. [Um ausgehenden IPv6 Datenverkehr zuzulassen, verwenden Sie die Konsole oder die `--vpc-config Ipv6AllowedForDualStack=true` Option mit der Create-Funktion oder dem Befehl. [update-function-configuration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/update-function-configuration.html)](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/create-function.html)

**Anmerkung**  
Um ausgehenden IPv6 Verkehr in einer VPC zuzulassen, müssen alle Subnetze, die mit der Funktion verbunden sind, Dual-Stack-Subnetze sein. Lambda unterstützt keine ausgehenden IPv6 Verbindungen für IPv6 reine Subnetze in einer VPC oder ausgehende IPv6 Verbindungen für Funktionen, die nicht mit einer VPC verbunden sind.

Sie können Ihren Funktionscode aktualisieren, um explizit eine Verbindung zu Subnetzressourcen herzustellen. IPv6 Das folgende Python-Beispiel öffnet einen Socket und stellt eine Verbindung zu einem IPv6 Server her.

**Example — Connect zum IPv6 Server herstellen**  

```
def connect_to_server(event, context):
    server_address = event['host']
    server_port = event['port']
    message = event['message']
    run_connect_to_server(server_address, server_port, message)

def run_connect_to_server(server_address, server_port, message):
    sock = socket.socket(socket.AF_INET6, socket.SOCK_STREAM, 0)
    try:
        # Send data
        sock.connect((server_address, int(server_port), 0, 0))
        sock.sendall(message.encode())
        BUFF_SIZE = 4096
        data = b''
        while True:
            segment = sock.recv(BUFF_SIZE)
            data += segment
            # Either 0 or end of data
            if len(segment) < BUFF_SIZE:
                break
        return data
    finally:
        sock.close()
```

## Bewährte Methoden für die Verwendung von Lambda mit Amazon VPCs
<a name="configuration-vpc-best-practice"></a>

Um sicherzustellen, dass Ihre Lambda-VPC-Konfiguration den Best-Practice-Richtlinien entspricht, befolgen Sie die Hinweise in den folgenden Abschnitten.

### Bewährte Methoden für die Gewährleistung der Sicherheit
<a name="configuration-vpc-best-practice-security"></a>

Um Ihre Lambda-Funktion an eine VPC anzuhängen, müssen Sie der Ausführungsrolle Ihrer Funktion eine Reihe von Amazon-EC2-Berechtigungen erteilen. Diese Berechtigungen sind erforderlich, um die Netzwerkschnittstellen zu erstellen, die Ihre Funktion für den Zugriff auf die Ressourcen in der VPC verwendet. Diese Berechtigungen werden jedoch auch implizit für den Code Ihrer Funktion gewährt. Das bedeutet, dass Ihr Funktionscode die Erlaubnis hat, diese Amazon-EC2-API-Aufrufe zu tätigen.

Um dem Prinzip des Zugriffs mit den geringsten Rechten zu folgen, fügen Sie der Ausführungsrolle Ihrer Funktion eine Verweigerungsrichtlinie wie das folgende Beispiel hinzu. Diese Richtlinie verhindert, dass Ihr Funktionscode Amazon EC2 aufruft APIs, ermöglicht es dem Lambda-Service dennoch, VPC-Ressourcen in Ihrem Namen zu verwalten. Die Richtlinie verwendet den `lambda:SourceFunctionArn`-Bedingungsschlüssel, der nur für API-Aufrufe gilt, die während der Ausführung von Ihrem Funktionscode getätigt werden. Weitere Informationen finden Sie unter [Verwendung der Quellfunktion ARN zur Steuerung des Funktionszugriffsverhaltens](permissions-source-function-arn.md).

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": [ 
                 "ec2:CreateNetworkInterface",
                 "ec2:DeleteNetworkInterface",
                 "ec2:DescribeNetworkInterfaces",
                 "ec2:DescribeSubnets",
                 "ec2:DetachNetworkInterface",
                 "ec2:AssignPrivateIpAddresses",
                 "ec2:UnassignPrivateIpAddresses"
            ],
            "Resource": [ "*" ],
            "Condition": {
                "ArnEquals": {
                    "lambda:SourceFunctionArn": [
                        "arn:aws:lambda:us-west-2:123456789012:function:my_function"
                    ]
                }
            }
        }
    ]
}
```

------

AWS stellt *[Sicherheitsgruppen](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html)* und *[Netzwerk-Zugriffskontrolllisten (ACLs)](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html)* bereit, um die Sicherheit in Ihrer VPC zu erhöhen. Sicherheitsgruppen kontrollieren den ein- und ausgehenden Datenverkehr für Ihre Ressourcen, und das Netzwerk ACLs steuert den ein- und ausgehenden Datenverkehr für Ihre Subnetze. Sicherheitsgruppen bieten ausreichend Zugriffskontrolle für die meisten Subnetze. Sie können das Netzwerk verwenden ACLs , wenn Sie eine zusätzliche Sicherheitsebene für Ihre VPC wünschen. Allgemeine Richtlinien zu bewährten Sicherheitsmethoden bei der Nutzung von Amazon VPCs finden Sie unter [Bewährte Sicherheitsmethoden für Ihre VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-security-best-practices.html) im *Amazon Virtual Private Cloud Cloud-Benutzerhandbuch*.

### Bewährte Methoden zur Leistungssteigerung
<a name="configuration-vpc-best-practice-performance"></a>

Wenn Sie Ihre Funktion an eine VPC anhängen, prüft Lambda, ob es eine verfügbare Netzwerkressource (Hyperplane ENI) gibt, mit der es eine Verbindung herstellen kann. Hyperplane ENIs sind einer bestimmten Kombination von Sicherheitsgruppen und VPC-Subnetzen zugeordnet. Wenn Sie bereits eine Funktion an eine VPC angeschlossen haben, bedeutet die Angabe derselben Subnetze und Sicherheitsgruppen beim Anschließen einer weiteren Funktion, dass Lambda die Netzwerkressourcen gemeinsam nutzen kann und keine neue Hyperplane ENI erstellt werden muss. Weitere Informationen zu Hyperplane ENIs und ihrem Lebenszyklus finden Sie unter. [Grundlegendes zu elastischen Hyperplane-Netzwerkschnittstellen () ENIs](#configuration-vpc-enis)

## Grundlegendes zu elastischen Hyperplane-Netzwerkschnittstellen () ENIs
<a name="configuration-vpc-enis"></a>

Eine Hyperplane ENI ist eine verwaltete Ressource, die als Netzwerkschnittstelle zwischen Ihrer Lambda-Funktion und den Ressourcen fungiert, mit denen Sie Ihre Funktion verbinden möchten. Der Lambda-Service erstellt und verwaltet diese ENIs automatisch, wenn Sie Ihre Funktion an eine VPC anhängen.

Hyperplane ENIs sind für Sie nicht direkt sichtbar, und Sie müssen sie nicht konfigurieren oder verwalten. Wenn Sie jedoch wissen, wie sie funktionieren, können Sie besser verstehen, wie sich Ihre Funktion verhält, wenn Sie sie an eine VPC anhängen.

Wenn Sie zum ersten Mal eine Funktion mithilfe einer bestimmten Kombination aus Subnetz und Sicherheitsgruppe an eine VPC anfügen, erstellt Lambda eine Hyperplane-ENI. Andere Funktionen in Ihrem Konto, die dieselbe Kombination aus Subnetz und Sicherheitsgruppe verwenden, können diese ENI ebenfalls verwenden. Wo immer möglich, verwendet Lambda Bestehendes, ENIs um die Ressourcennutzung zu optimieren und die Entstehung neuer Ressourcen zu minimieren. ENIs Jede Hyperplane ENI unterstützt bis zu 65.000 Verbindungen/Ports. Wenn die Anzahl der Verbindungen diesen Grenzwert überschreitet, skaliert Lambda die Anzahl der Verbindungen ENIs automatisch auf der Grundlage des Netzwerkverkehrs und der Parallelitätsanforderungen.

Bei neuen Funktionen bleibt Ihre Funktion, während Lambda eine Hyperplane-ENI erstellt, im Status Ausstehend und Sie können sie nicht aufrufen. Ihre Funktion wechselt erst in den Status Aktiv, wenn die Hyperplane ENI bereit ist, was mehrere Minuten dauern kann. Bei vorhandenen Funktionen können Sie keine zusätzlichen Operationen durchführen, die auf die Funktion abzielen, wie z. B. das Erstellen von Versionen oder das Aktualisieren des Funktionscodes, aber Sie können weiterhin frühere Versionen der Funktion aufrufen.

Im Rahmen der Verwaltung des ENI-Lebenszyklus kann Lambda Daten löschen und neu erstellen, um den Netzwerkverkehr ENIs zu verteilen ENIs oder um Probleme zu beheben, die bei ENI-Integritätsprüfungen festgestellt wurden. Wenn eine Lambda-Funktion 14 Tage lang inaktiv bleibt, fordert Lambda außerdem alle ungenutzten Hyperplanen zurück ENIs und setzt den Funktionsstatus auf. `Inactive` Der nächste Aufrufversuch schlägt fehl, und die Funktion geht wieder in den Zustand „Ausstehend“ über, bis Lambda die Erstellung oder Zuweisung einer Hyperplane-ENI abgeschlossen hat. Wir empfehlen, dass Ihr Design nicht auf der Persistenz von basiert. ENIs

Wenn Sie eine Funktion aktualisieren, um ihre VPC-Konfiguration zu entfernen, benötigt Lambda bis zu 20 Minuten, um die angehängte Hyperplane-ENI zu löschen. Lambda löscht die ENI nur, wenn keine andere Funktion (oder veröffentlichte Funktionsversion) diese Hyperplane ENI verwendet. 

Lambda verwendet Berechtigungen in der [Ausführungsrolle](lambda-intro-execution-role.md) der Funktion, um die Hyperplane ENI zu löschen. Wenn Sie die Ausführungsrolle löschen, bevor Lambda die Hyperplane ENI löscht, kann Lambda die Hyperplane ENI nicht löschen. Sie können den Löschvorgang manuell durchführen.

## Verwenden von IAM-Bedingungsschlüsseln für VPC-Einstellungen
<a name="vpc-conditions"></a>

Sie können Lambda-spezifische Bedingungsschlüssel für VPC-Einstellungen verwenden, um zusätzliche Berechtigungssteuerungen für Ihre Lambda-Funktionen bereitzustellen. Sie können beispielsweise festlegen, dass alle Funktionen in Ihrer Organisation mit einer VPC sein müssen. Sie können auch die Subnetze und Sicherheitsgruppen angeben, die die Benutzer der Funktion verwenden können bzw. nicht verwenden können.

Lambda unterstützt die folgenden IAM-Bedingungsschlüssel:
+ **lambda: VpcIds** — Erlaube oder verbiete eine oder mehrere. VPCs
+ **lambda: SubnetIds** — Erlaubt oder verweigert ein oder mehrere Subnetze.
+ **lambda: SecurityGroupIds** — Erlaubt oder verweigert eine oder mehrere Sicherheitsgruppen.

Die Lambda-API funktioniert [CreateFunction](https://docs.aws.amazon.com/lambda/latest/api/API_CreateFunction.html)und [UpdateFunctionConfiguration](https://docs.aws.amazon.com/lambda/latest/api/API_UpdateFunctionConfiguration.html)unterstützt diese Bedingungsschlüssel. Weitere Informationen zur Verwendung von Bedingungsschlüsseln in [IAM-Richtlinien finden Sie unter IAM-JSON-Richtlinienelemente: Bedingung](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) im *IAM-Benutzerhandbuch*.

**Tipp**  
Wenn Ihre Funktion bereits eine VPC-Konfiguration aus einer früheren API-Anforderung enthält, können Sie eine `UpdateFunctionConfiguration`-Anforderung ohne die VPC-Konfiguration senden.

### Beispielrichtlinien mit Bedingungsschlüsseln für VPC-Einstellungen
<a name="vpc-condition-examples"></a>

In den folgenden Beispielen wird gezeigt, wie Bedingungsschlüssel für VPC-Einstellungen verwendet werden. Nachdem Sie eine Richtlinienanweisung mit den gewünschten Einschränkungen erstellt haben, fügen Sie die Richtlinienanweisung für den -Zielbenutzer oder die Zielrolle an.

#### Stellen Sie sicher, dass Benutzer nur VPC-verbundene Funktionen bereitstellen
<a name="vpc-condition-example-1"></a>

Um sicherzustellen, dass alle Benutzer nur VPC-verbundene Funktionen bereitstellen, können Sie Erstellungs- und Aktualisierungsoperationen von Funktionen verweigern, die keine gültige VPC-ID enthalten. 

Beachten Sie, dass die VPC-ID kein Eingabeparameter für die `CreateFunction`- oder `UpdateFunctionConfiguration` -Anforderung ist. Lambda ruft den VPC-ID-Wert basierend auf den Subnetz- und Sicherheitsgruppenparametern ab.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "EnforceVPCFunction",
      "Action": [
          "lambda:CreateFunction",
          "lambda:UpdateFunctionConfiguration"
       ],
      "Effect": "Deny",
      "Resource": "*",
      "Condition": {
        "Null": {
           "lambda:VpcIds": "true"
        }
      }
    }
  ]
}
```

------

#### Verweigern Sie Benutzern den Zugriff auf bestimmte VPCs Subnetze oder Sicherheitsgruppen
<a name="vpc-condition-example-2"></a>

Um Benutzern den Zugriff auf bestimmte Bereiche zu verweigern VPCs, verwenden Sie diese Option, `StringEquals` um den Wert der `lambda:VpcIds` Bedingung zu überprüfen. Im folgenden Beispiel wird Benutzern der Zugriff auf `vpc-1` und `vpc-2` verweigert.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EnforceOutOfVPC",
            "Action": [
                "lambda:CreateFunction",
                "lambda:UpdateFunctionConfiguration"
            ],
            "Effect": "Deny",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "lambda:VpcIds": [
                        "vpc-1",
                        "vpc-2"
                    ]
                }
            }
        }
    ]
}
```

------

Um Benutzern den Zugriff auf bestimmte Subnetze zu verweigern, verwenden Sie `StringEquals`, um den Wert der `lambda:SubnetIds` Bedingung zu überprüfen. Im folgenden Beispiel wird Benutzern der Zugriff auf `subnet-1` und `subnet-2` verweigert.

```
{
      "Sid": "EnforceOutOfSubnet",
      "Action": [
          "lambda:CreateFunction",
          "lambda:UpdateFunctionConfiguration"
       ],
      "Effect": "Deny",
      "Resource": "*",
      "Condition": {
        "ForAnyValue:StringEquals": {
            "lambda:SubnetIds": ["subnet-1", "subnet-2"]
        }
      }
    }
```

Um Benutzern den Zugriff auf bestimmte Sicherheitsgruppen zu verweigern, verwenden Sie `StringEquals`, um den Wert der `lambda:SecurityGroupIds`-Bedingung zu überprüfen. Im folgenden Beispiel wird Benutzern der Zugriff auf `sg-1` und `sg-2` verweigert.

```
{
      "Sid": "EnforceOutOfSecurityGroups",
      "Action": [
          "lambda:CreateFunction",
          "lambda:UpdateFunctionConfiguration"
       ],
      "Effect": "Deny",
      "Resource": "*",
      "Condition": {
        "ForAnyValue:StringEquals": {
            "lambda:SecurityGroupIds": ["sg-1", "sg-2"]
        }
      }
    }
  ]
}
```

#### Benutzern das Erstellen und Aktualisieren von Funktionen mit bestimmten VPC-Einstellungen ermöglichen
<a name="vpc-condition-example-3"></a>

Um Benutzern den Zugriff auf bestimmte Bedingungen zu ermöglichen VPCs, verwenden Sie diese Option, `StringEquals` um den Wert der `lambda:VpcIds` Bedingung zu überprüfen. Im folgenden Beispiel können Benutzer auf `vpc-1` und `vpc-2` zugreifen.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EnforceStayInSpecificVpc",
            "Action": [
                "lambda:CreateFunction",
                "lambda:UpdateFunctionConfiguration"
            ],
            "Effect": "Allow",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "lambda:VpcIds": [
                        "vpc-1",
                        "vpc-2"
                    ]
                }
            }
        }
    ]
}
```

------

Um Benutzern den Zugriff auf bestimmte Subnetze zu ermöglichen, verwenden Sie `StringEquals`, um den Wert der `lambda:SubnetIds`-Bedingung zu überprüfen. Im folgenden Beispiel können Benutzer auf `subnet-1` und `subnet-2` zugreifen.

```
{
      "Sid": "EnforceStayInSpecificSubnets",
      "Action": [
          "lambda:CreateFunction",
          "lambda:UpdateFunctionConfiguration"
       ],
      "Effect": "Allow",
      "Resource": "*",
      "Condition": {
        "ForAllValues:StringEquals": {
            "lambda:SubnetIds": ["subnet-1", "subnet-2"]
        }
      }
    }
```

Um Benutzern den Zugriff auf bestimmte Sicherheitsgruppen zu ermöglichen, verwenden Sie `StringEquals`, um den Wert der `lambda:SecurityGroupIds`-Bedingung zu überprüfen. Im folgenden Beispiel können Benutzer auf `sg-1` und `sg-2` zugreifen.

```
{
      "Sid": "EnforceStayInSpecificSecurityGroup",
      "Action": [
          "lambda:CreateFunction",
          "lambda:UpdateFunctionConfiguration"
       ],
      "Effect": "Allow",
      "Resource": "*",
      "Condition": {
        "ForAllValues:StringEquals": {
            "lambda:SecurityGroupIds": ["sg-1", "sg-2"]
        }
      }
    }
  ]
}
```

## VPC-Tutorials
<a name="vpc-tutorials"></a>

In den folgenden Tutorials verbinden Sie eine Lambda-Funktion mit Ressourcen in Ihrer VPC.
+ [Tutorial: Verwenden einer Lambda-Funktion für den Zugriff auf Amazon RDS in einer Amazon VPC](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-lambda-tutorial.html)
+ [Tutorial: Konfiguration einer Lambda-Funktion für den Zugriff auf Amazon ElastiCache in einer Amazon VPC](https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/LambdaRedis.html)