Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memulai dengan Lambda Managed Instances
Membuat fungsi Instance Terkelola Lambda (konsol)
Anda dapat menggunakan konsol Lambda untuk membuat fungsi Instans Terkelola yang berjalan pada instans Amazon EC2 yang dikelola oleh penyedia kapasitas.
Penting: Sebelum membuat fungsi Instans Terkelola, Anda harus terlebih dahulu membuat penyedia kapasitas. Fungsi-fungsi ini memerlukan penyedia kapasitas untuk menentukan infrastruktur Amazon EC2 yang menjalankan fungsi Anda.
Untuk membuat fungsi Instance Terkelola Lambda (konsol)
-
Buka Konsol Lambda.
-
Pilih Penyedia kapasitas dari panel navigasi kiri.
-
Pilih Buat penyedia kapasitas.
-
Di bagian Pengaturan penyedia kapasitas, masukkan nama untuk penyedia kapasitas Anda.
-
Pilih VPC dan izin untuk penyedia kapasitas Anda. Anda dapat menggunakan yang sudah ada atau membuat yang baru. Untuk informasi tentang membuat peran operator yang diperlukan, lihat Peran Operator Lambda untuk Instans Terkelola Lambda.
-
Perluas Pengaturan lanjutan.
-
Tentukan persyaratan Instans Anda dengan memilih arsitektur prosesor dan jenis instans.
-
Di bawah Penskalaan otomatis, tentukan jumlah maksimum EC2 vCPU untuk penyedia kapasitas Anda. Anda juga dapat memilih Mode penskalaan instans manual untuk mengatur nilai penskalaan Anda sendiri untuk kontrol yang tepat.
-
Pilih Buat penyedia kapasitas untuk membuat yang baru.
-
Selanjutnya, pilih Buat fungsi.
-
Pilih Penulis dari awal.
-
Di panel informasi dasar, berikan nama Fungsi.
-
Untuk Runtime, pilih salah satu Runtime yang didukung.
-
Pilih Arsitektur untuk fungsi Anda (sama dengan yang Anda pilih untuk penyedia kapasitas). Secara default, x86_64.
-
Di bawah Iz in, pastikan Anda memiliki izin untuk peran Eksek usi yang dipilih. Jika tidak, Anda dapat membuat peran baru.
-
Di bawah Konfigur asi tambahan, pilih tipe Komputasi sebagai Instans Terkelola Lambda.
-
Penyedia kapasitas ARN dari penyedia kapasitas yang Anda buat pada langkah sebelumnya harus dipilih sebelumnya.
-
Pilih Ukuran memori dan memori lingkungan eksekusi (GiB) per rasio vCPU.
-
Pilih Buat fungsi.
Fungsi Instans Terkelola Lambda Anda dibuat dan menyediakan kapasitas pada penyedia kapasitas yang Anda tentukan. Pembuatan fungsi biasanya memakan waktu beberapa menit. Setelah selesai, Anda dapat mengedit kode fungsi Anda dan menjalankan pengujian pertama Anda.
Membuat fungsi Instance Terkelola Lambda (AWS CLI)
Prasyarat
Sebelum Anda mulai, pastikan Anda memiliki yang berikut:
-
AWS CLI — Instal dan konfigurasikan AWS CLI. Untuk informasi selengkapnya, lihat Meng instal atau memperbarui versi terbaru AWS CLI.
-
Izin IAM — Pengguna atau peran IAM Anda harus memiliki izin untuk membuat fungsi Lambda, penyedia kapasitas, dan meneruskan peran IAM. Perhatikan bahwa Anda juga perlu
iam:CreateServiceLinkedRolejika ini pertama kalinya membuat penyedia kapasitas di akun atau jika Peran Tertaut Layanan (SLR) dihapus.
Langkah 1: Buat peran IAM yang diperlukan
Instans Terkelola Lambda memerlukan dua peran IAM: peran eksekusi untuk fungsi Anda dan peran operator untuk penyedia kapasitas. Peran operator memungkinkan Lambda meluncurkan, menghentikan, dan memantau instans Amazon EC2 atas nama Anda. Peran eksekusi fungsi memberikan izin fungsi untuk mengakses AWS layanan dan sumber daya lain.
Untuk membuat peran eksekusi Lambda
-
Buat dokumen kebijakan kepercayaan yang memungkinkan Lambda untuk mengambil peran:
cat > lambda-trust-policy.json << 'EOF' { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "lambda.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } EOF -
Buat peran eksekusi:
aws iam create-role \ --role-name MyLambdaExecutionRole \ --assume-role-policy-document file://lambda-trust-policy.json -
Lampirkan kebijakan eksekusi dasar:
aws iam attach-role-policy \ --role-name MyLambdaExecutionRole \ --policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
Untuk membuat peran operator penyedia kapasitas
-
Buat dokumen kebijakan kepercayaan yang memungkinkan Lambda untuk mengambil peran operator:
cat > operator-trust-policy.json << 'EOF' { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "lambda.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } EOF -
Buat peran operator:
aws iam create-role \ --role-name MyCapacityProviderOperatorRole \ --assume-role-policy-document file://operator-trust-policy.json -
Lampirkan kebijakan izin EC2 yang diperlukan:
aws iam attach-role-policy \ --role-name MyCapacityProviderOperatorRole \ --policy-arn arn:aws:iam::aws:policy/AWSLambdaManagedEC2ResourceOperator
Langkah 2: Siapkan sumber daya VPC
Instans Terkelola Lambda berjalan di VPC Anda dan memerlukan subnet dan grup keamanan.
Untuk membuat sumber daya VPC
-
Membuat VPC:
VPC_ID=$(aws ec2 create-vpc \ --cidr-block 10.0.0.0/16 \ --query 'Vpc.VpcId' \ --output text) -
Buat subnet:
SUBNET_ID=$(aws ec2 create-subnet \ --vpc-id $VPC_ID \ --cidr-block 10.0.1.0/24 \ --query 'Subnet.SubnetId' \ --output text) -
Buat grup keamanan:
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)
Catatan: Fungsi Instans Terkelola Lambda Anda memerlukan konfigurasi VPC untuk mengakses sumber daya di luar VPC dan untuk mengirimkan data telemetri ke Log dan. CloudWatch X-Ray Untuk detail konfigurasi, lihat Jaringan untuk Inst ans Terkelola Lambda.
Langkah 3: Buat penyedia kapasitas
Penyedia kapasitas mengelola instans EC2 yang menjalankan fungsi Lambda Anda.
Untuk membuat penyedia kapasitas
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
Perintah ini membuat penyedia kapasitas dengan konfigurasi berikut:
-
Konfigurasi VPC — Menentukan subnet dan grup keamanan untuk instans EC2
-
Izin — Mendefinisikan peran IAM yang digunakan Lambda untuk mengelola instans EC2
-
Persyaratan Instance — Menentukan arsitektur x86_64
-
Konfigurasi penskalaan — Menetapkan maksimum 30 vCPU untuk penyedia kapasitas
Langkah 4: Buat fungsi Lambda dengan kode inline
Untuk membuat fungsi dengan kode sebaris
-
Pertama, buat fungsi Python sederhana dan kemas sebaris:
# 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 -
Buat fungsi Lambda menggunakan file ZIP inline:
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}Fungsi ini dibuat dengan:
-
Waktu pelaksan aan - Python 3.13
-
Handler —
lambda_handlerFungsi dilambda_function.py -
Mem ori - 2048 MB
-
Penyimpanan sementara - 512 MB
-
Penyedia kapasitas — Tautan ke penyedia kapasitas yang Anda buat
-
Langkah 5: Publikasikan versi fungsi
Untuk menjalankan fungsi Anda di Instans Terkelola Lambda, Anda harus menerbitkan versi.
Untuk menerbitkan versi fungsi
aws lambda publish-version \ --function-name my-managed-instance-function
Perintah ini menerbitkan versi 1 fungsi Anda dan menyebarkannya ke penyedia kapasitas.
Langkah 6: Memanggil fungsi Anda
Setelah menerbitkan, Anda dapat memanggil fungsi Anda.
Untuk memanggil fungsi Anda
aws lambda invoke \ --function-name my-managed-instance-function:1 \ --payload '{"name": "World"}' \ response.json # View the response cat response.json
Fungsi ini berjalan pada instans EC2 yang dikelola oleh penyedia kapasitas Anda dan mengembalikan respons.
Bersihkan
Untuk menghindari dikenakan biaya, hapus sumber daya yang Anda buat:
-
Hapus fungsi:
aws lambda delete-function --function-name my-managed-instance-function -
Hapus penyedia kapasitas:
aws lambda delete-capacity-provider --capacity-provider-name my-capacity-provider -
Hapus sumber daya VPC:
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 -
Hapus peran IAM:
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