Erste Schritte mit Lambda Managed Instances - AWS Lambda

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.

Erste Schritte mit Lambda Managed Instances

Eine Lambda Managed Instance-Funktion erstellen (Konsole)

Sie können die Lambda-Konsole verwenden, um eine Managed Instance-Funktion zu erstellen, die auf EC2 Amazon-Instances ausgeführt wird, die von einem Kapazitätsanbieter verwaltet werden.

Wichtig: Bevor Sie eine Managed Instance-Funktion erstellen, müssen Sie zunächst einen Kapazitätsanbieter erstellen. Für diese Funktionen ist ein Kapazitätsanbieter erforderlich, der die EC2 Amazon-Infrastruktur definiert, auf der Ihre Funktionen ausgeführt werden.

So erstellen Sie eine Lambda Managed Instance-Funktion (Konsole)

  1. Öffnen Sie die Lambda-Konsole.

  2. Wählen Sie im linken Navigationsbereich Capacity Providers aus.

  3. Wählen Sie Kapazitätsanbieter erstellen aus.

  4. Geben Sie im Abschnitt Einstellungen für den Kapazitätsanbieter einen Namen für Ihren Kapazitätsanbieter ein.

  5. Wählen Sie VPC und Berechtigungen für Ihren Kapazitätsanbieter aus. Sie können entweder ein vorhandenes verwenden oder ein neues erstellen. Informationen zum Erstellen der erforderlichen Operatorrolle finden Sie unter Lambda-Operatorrolle für Lambda Managed Instances.

  6. Erweiterten Sie Advanced settings (Erweiterte Einstellungen).

  7. Definieren Sie Ihre Instance-Anforderungen, indem Sie die Prozessorarchitektur und die Instance-Typen auswählen.

  8. Geben Sie unter Auto Scaling die maximale Anzahl von EC2 v CPUs für Ihren Kapazitätsanbieter an. Sie können auch den Modus Manuelle Instanzskalierung wählen, um Ihren eigenen Skalierungswert für eine präzise Steuerung festzulegen.

  9. Wählen Sie Create Capacity Provider aus, um einen neuen zu erstellen.

  10. Wählen Sie Create function.

  11. Wählen Sie Verfassen von Grund auf aus.

  12. Geben Sie im Bereich Grundinformationen einen Funktionsnamen ein.

  13. Wählen Sie für Runtime eine der unterstützten Runtimes aus.

  14. Wählen Sie die Architektur für Ihre Funktion (dieselbe, die Sie für den Kapazitätsanbieter ausgewählt haben). Standardmäßig x86_64.

  15. Stellen Sie unter Berechtigungen sicher, dass Sie über die Berechtigungen für die gewählte Ausführungsrolle verfügen. Andernfalls können Sie eine neue Rolle erstellen.

  16. Wählen Sie unter Zusätzliche Konfigurationen den Compute-Typ als Lambda Managed Instances aus.

  17. Der Kapazitätsanbieter-ARN des Kapazitätsanbieters, den Sie in den vorherigen Schritten erstellt haben, sollte vorab ausgewählt sein.

  18. Wählen Sie Speichergröße und Verhältnis Arbeitsspeicher (GiB) pro vCPU aus.

  19. Wählen Sie Funktion erstellen.

Ihre Lambda Managed Instance-Funktion wird erstellt und stellt Kapazität auf Ihrem angegebenen Kapazitätsanbieter bereit. Die Erstellung von Funktionen dauert in der Regel mehrere Minuten. Sobald der Vorgang abgeschlossen ist, können Sie Ihren Funktionscode bearbeiten und Ihren ersten Test ausführen.

Eine Lambda Managed Instance-Funktion (AWS CLI) erstellen

Voraussetzungen

Stellen Sie vor dem Beginn sicher, dass Sie über das Folgende verfügen:

  • AWS CLI — Installieren und konfigurieren Sie die AWS CLI. Weitere Informationen finden Sie unter Installation oder Aktualisierung der neuesten Version der AWS CLI.

  • IAM-Berechtigungen — Ihr IAM-Benutzer oder Ihre IAM-Rolle muss über Berechtigungen verfügen, um Lambda-Funktionen und Kapazitätsanbieter zu erstellen und IAM-Rollen zu übergeben. Beachten Sie, dass Sie auch angeben müssen, iam:CreateServiceLinkedRole ob Sie zum ersten Mal einen Kapazitätsanbieter für das Konto erstellen oder ob die Service Linked Role (SLR) gelöscht wurde.

Schritt 1: Erstellen Sie die erforderlichen IAM-Rollen

Lambda Managed Instances erfordern zwei IAM-Rollen: eine Ausführungsrolle für Ihre Funktion und eine Operator-Rolle für den Kapazitätsanbieter. Die Operator-Rolle ermöglicht es Lambda, EC2 Amazon-Instances in Ihrem Namen zu starten, zu beenden und zu überwachen. Die Funktionsausführungsrolle gewährt der Funktion Berechtigungen für den Zugriff auf andere AWS Dienste und Ressourcen.

So erstellen Sie die Lambda-Ausführungsrolle

  1. Erstellen Sie ein Dokument mit Vertrauensrichtlinien, das es Lambda ermöglicht, die Rolle zu übernehmen:

    cat > lambda-trust-policy.json << 'EOF' { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "lambda.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } EOF
  2. Erstellen Sie die Ausführungsrolle:

    aws iam create-role \ --role-name MyLambdaExecutionRole \ --assume-role-policy-document file://lambda-trust-policy.json
  3. Hängen Sie die grundlegende Ausführungsrichtlinie an:

    aws iam attach-role-policy \ --role-name MyLambdaExecutionRole \ --policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole

Um die Rolle des Kapazitätsanbieters als Betreiber zu erstellen

  1. Erstellen Sie ein Dokument mit Vertrauensrichtlinien, das es Lambda ermöglicht, die Operatorrolle zu übernehmen:

    cat > operator-trust-policy.json << 'EOF' { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "lambda.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } EOF
  2. Erstellen Sie die Operatorrolle:

    aws iam create-role \ --role-name MyCapacityProviderOperatorRole \ --assume-role-policy-document file://operator-trust-policy.json
  3. Fügen Sie die erforderliche EC2 Berechtigungsrichtlinie bei:

    aws iam attach-role-policy \ --role-name MyCapacityProviderOperatorRole \ --policy-arn arn:aws:iam::aws:policy/AWSLambdaManagedEC2ResourceOperator

Schritt 2: VPC-Ressourcen einrichten

Lambda Managed Instances werden in Ihrer VPC ausgeführt und benötigen ein Subnetz und eine Sicherheitsgruppe.

Um VPC-Ressourcen zu erstellen

  1. Erstellen Sie eine VPC:

    VPC_ID=$(aws ec2 create-vpc \ --cidr-block 10.0.0.0/16 \ --query 'Vpc.VpcId' \ --output text)
  2. Erstellen Sie ein Subnetz:

    SUBNET_ID=$(aws ec2 create-subnet \ --vpc-id $VPC_ID \ --cidr-block 10.0.1.0/24 \ --query 'Subnet.SubnetId' \ --output text)
  3. Erstellen Sie eine Sicherheitsgruppe:

    SECURITY_GROUP_ID=$(aws ec2 create-security-group \ --group-name my-capacity-provider-sg \ --description "Security group for Lambda Managed Instances" \ --vpc-id $VPC_ID \ --query 'GroupId' \ --output text)

Hinweis: Ihre Lambda Managed Instance-Funktionen erfordern eine VPC-Konfiguration, um auf Ressourcen außerhalb der VPC zuzugreifen und Telemetriedaten an Logs und X-Ray zu CloudWatch übertragen. Einzelheiten zur Konfiguration finden Sie unter Networking for Lambda Managed Instances.

Schritt 3: Erstellen eines Kapazitätsanbieters

Ein Kapazitätsanbieter verwaltet die EC2 Instances, auf denen Ihre Lambda-Funktionen ausgeführt werden.

Um einen Kapazitätsanbieter zu erstellen

ACCOUNT_ID=$(aws sts get-caller-identity --query Account --output text) aws lambda create-capacity-provider \ --capacity-provider-name my-capacity-provider \ --vpc-config SubnetIds=[$SUBNET_ID],SecurityGroupIds=[$SECURITY_GROUP_ID] \ --permissions-config CapacityProviderOperatorRoleArn=arn:aws:iam::${ACCOUNT_ID}:role/MyCapacityProviderOperatorRole \ --instance-requirements Architectures=[x86_64] \ --capacity-provider-scaling-config MaxVCpuCount=30

Dieser Befehl erstellt einen Kapazitätsanbieter mit der folgenden Konfiguration:

  • VPC-Konfiguration — Gibt das Subnetz und die Sicherheitsgruppe für die Instances an EC2

  • Berechtigungen — Definiert die IAM-Rolle, die Lambda zur Verwaltung von Instanzen verwendet EC2

  • Instanzanforderungen — Spezifiziert die x86_64-Architektur

  • Skalierungskonfiguration — Legt ein Maximum von 30 V CPUs für den Kapazitätsanbieter fest

Schritt 4: Erstellen Sie eine Lambda-Funktion mit Inline-Code

Um eine Funktion mit Inline-Code zu erstellen

  1. Erstellen Sie zunächst eine einfache Python-Funktion und verpacken Sie sie inline:

    # Create a temporary directory for the function code mkdir -p /tmp/my-lambda-function cd /tmp/my-lambda-function # Create a simple Python handler cat > lambda_function.py << 'EOF' import json def lambda_handler(event, context): return { 'statusCode': 200, 'body': json.dumps({ 'message': 'Hello from Lambda Managed Instances!', 'event': event }) } EOF # Create a ZIP file zip function.zip lambda_function.py
  2. Erstellen Sie die Lambda-Funktion mithilfe der Inline-ZIP-Datei:

    ACCOUNT_ID=$(aws sts get-caller-identity --query Account --output text) REGION=$(aws configure get region) aws lambda create-function \ --function-name my-managed-instance-function \ --package-type Zip \ --runtime python3.13 \ --handler lambda_function.lambda_handler \ --zip-file fileb:///tmp/my-lambda-function/function.zip \ --role arn:aws:iam::${ACCOUNT_ID}:role/MyLambdaExecutionRole \ --architectures x86_64 \ --memory-size 2048 \ --ephemeral-storage Size=512 \ --capacity-provider-config LambdaManagedInstancesCapacityProviderConfig={CapacityProviderArn=arn:aws:lambda:${REGION}:${ACCOUNT_ID}:capacity-provider:my-capacity-provider}

    Die Funktion wird erstellt mit:

    • Laufzeit — Python 3.13

    • Handler — Die lambda_handler Funktion in lambda_function.py

    • Speicher — 2048 MB

    • Kurzlebiger Speicher — 512 MB

    • Kapazitätsanbieter — Links zu dem von Ihnen erstellten Kapazitätsanbieter

Schritt 5: Veröffentlichen Sie eine Funktionsversion

Um Ihre Funktion auf Lambda Managed Instances auszuführen, müssen Sie eine Version veröffentlichen.

Um eine Funktionsversion zu veröffentlichen

aws lambda publish-version \ --function-name my-managed-instance-function

Dieser Befehl veröffentlicht Version 1 Ihrer Funktion und stellt sie für den Kapazitätsanbieter bereit.

Schritt 6: Rufen Sie Ihre Funktion auf

Nach der Veröffentlichung können Sie Ihre Funktion aufrufen.

Um Ihre Funktion aufzurufen

aws lambda invoke \ --function-name my-managed-instance-function:1 \ --payload '{"name": "World"}' \ response.json # View the response cat response.json

Die Funktion wird auf den von Ihrem Kapazitätsanbieter verwalteten EC2 Instanzen ausgeführt und gibt eine Antwort zurück.

Bereinigen

Um Gebühren zu vermeiden, löschen Sie die Ressourcen, die Sie erstellt haben:

  1. Löschen Sie die Funktion:

    aws lambda delete-function --function-name my-managed-instance-function
  2. Löschen Sie den Kapazitätsanbieter:

    aws lambda delete-capacity-provider --capacity-provider-name my-capacity-provider
  3. Löschen Sie die VPC-Ressourcen:

    aws ec2 delete-security-group --group-id $SECURITY_GROUP_ID aws ec2 delete-subnet --subnet-id $SUBNET_ID aws ec2 delete-vpc --vpc-id $VPC_ID
  4. Löschen Sie die IAM-Rollen:

    aws iam detach-role-policy \ --role-name MyLambdaExecutionRole \ --policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole aws iam detach-role-policy \ --role-name MyCapacityProviderOperatorRole \ --policy-arn arn:aws:iam::aws:policy/AWSLambdaManagedEC2ResourceOperator aws iam delete-role --role-name MyLambdaExecutionRole aws iam delete-role --role-name MyCapacityProviderOperatorRole