Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memulai Instans Terkelola Lambda
Membuat fungsi Instans Terkelola Lambda (konsol)
Anda dapat menggunakan konsol Lambda untuk membuat fungsi Instans Terkelola yang berjalan di EC2 instans Amazon 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 EC2 infrastruktur Amazon yang akan menjalankan fungsi Anda.
Untuk membuat fungsi Instans 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 Instance Anda dengan memilih arsitektur prosesor dan jenis instance.
-
Di bawah Penskalaan otomatis, tentukan jumlah maksimum EC2 v CPUs 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 seperti yang Anda pilih untuk penyedia kapasitas). Secara default, x86_64.
-
Di bawah Izin, pastikan Anda memiliki izin untuk peran Eksekusi yang dipilih. Jika tidak, Anda dapat membuat peran baru.
-
Di bawah Konfigurasi 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 akan 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 tes pertama Anda.
Membuat fungsi Instans Terkelola Lambda (CLI AWS )
Prasyarat
Sebelum Anda mulai, pastikan Anda memiliki yang berikut:
-
AWS CLI - Instal dan konfigurasikan CLI AWS . Untuk informasi selengkapnya, lihat Menginstal atau memperbarui AWS CLI versi terbaru.
-
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) telah 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 EC2 instans Amazon atas nama Anda. Peran eksekusi fungsi memberikan izin fungsi untuk mengakses AWS layanan dan sumber daya lainnya.
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 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 EC2 izin 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 X-Ray. CloudWatch Untuk detail konfigurasi, lihat Jaringan untuk Instans Terkelola Lambda.
Langkah 3: Buat penyedia kapasitas
Penyedia kapasitas mengelola EC2 instance 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 instance EC2
-
Izin - Mendefinisikan peran IAM yang digunakan Lambda untuk mengelola instance EC2
-
Persyaratan instans - Menentukan arsitektur x86_64
-
Konfigurasi penskalaan - Menetapkan maksimum 30 v CPUs untuk penyedia kapasitas
Langkah 4: Buat fungsi Lambda dengan kode sebaris
Untuk membuat fungsi dengan kode inline
-
Pertama, buat fungsi Python sederhana dan paketkan 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 sebaris:
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:
-
Runtime - Python 3.13
-
Handler —
lambda_handlerFungsi dilambda_function.py -
Memori - 2048 MB
-
Penyimpanan sementara - 512 MB
-
Penyedia kapasitas - Tautan ke penyedia kapasitas yang Anda buat
-
Langkah 5: Publikasikan versi fungsi
Untuk menjalankan fungsi di Instans Terkelola Lambda, Anda harus menerbitkan versi.
Untuk mempublikasikan versi fungsi
aws lambda publish-version \ --function-name my-managed-instance-function
Perintah ini menerbitkan versi 1 dari fungsi Anda dan menyebarkannya ke penyedia kapasitas.
Langkah 6: Panggil 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 berjalan pada EC2 instance yang dikelola oleh penyedia kapasitas Anda dan mengembalikan respons.
Bersihkan
Untuk menghindari biaya yang dikenakan, 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