Penyedia kapasitas - AWS Lambda

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Penyedia kapasitas

Penyedia kapasitas adalah dasar untuk menjalankan Instans Terkelola Lambda. Ini bertindak sebagai batas keamanan untuk fungsi Anda dan menentukan sumber daya komputasi yang akan disediakan dan dikelola Lambda atas nama Anda.

Saat membuat penyedia kapasitas, Anda menentukan:

  • Konfigurasi VPC - Subnet dan grup keamanan tempat instance akan berjalan

  • Izin - Peran IAM bagi Lambda untuk mengelola sumber daya EC2

  • Persyaratan instans (opsional) - Arsitektur dan preferensi tipe instance

  • Konfigurasi penskalaan (opsional) - Cara Lambda menskalakan instans Anda

Memahami penyedia kapasitas sebagai batas keamanan

Penyedia kapasitas berfungsi sebagai batas keamanan untuk fungsi Lambda dalam VPC Anda, menggantikan isolasi berbasis Firecracker. Fungsi dijalankan dalam kontainer dalam instance, tetapi kontainer tidak memberikan isolasi keamanan yang kuat antar fungsi, tidak seperti mikro Petasan. VMs

Konsep keamanan utama:

  • Penyedia Kapasitas: Batas keamanan yang menentukan tingkat kepercayaan untuk fungsi Lambda

  • Isolasi Kontainer: Kontainer BUKAN penyedia keamanan - jangan mengandalkannya untuk keamanan di antara beban kerja yang tidak tepercaya

  • Pemisahan Kepercayaan: Pisahkan beban kerja yang tidak saling dipercaya dengan menggunakan penyedia kapasitas yang berbeda

Menciptakan penyedia kapasitas

Anda dapat membuat penyedia kapasitas menggunakan AWS CLI, AWS Management Console, atau. AWS SDKs

Menggunakan AWS CLI:

aws lambda create-capacity-provider \ --capacity-provider-name my-capacity-provider \ --vpc-config SubnetIds=subnet-12345,subnet-67890,subnet-11111,SecurityGroupIds=sg-12345 \ --permissions-config CapacityProviderOperatorRoleArn=arn:aws:iam::123456789012:role/MyOperatorRole \ --instance-requirements Architectures=x86_64 \ --capacity-provider-scaling-config ScalingMode=Auto

Parameter yang diperlukan

CapacityProviderName

  • Nama unik untuk penyedia kapasitas Anda

  • Harus unik dalam AWS akun Anda

VpcConfig

  • SubnetIds(wajib): Setidaknya satu subnet, maksimal 16. Gunakan subnet di beberapa Availability Zone untuk ketahanan

  • SecurityGroupIds(opsional): Grup keamanan untuk instans Anda. Default ke grup keamanan default VPC jika tidak ditentukan

PermissionsConfig

  • CapacityProviderOperatorRoleArn(wajib): Peran IAM yang memungkinkan Lambda EC2 mengelola sumber daya di penyedia kapasitas Anda

Parameter opsional

InstanceRequirements

Tentukan arsitektur dan tipe instans untuk penyedia kapasitas Anda:

  • Arsitektur: Pilih x86_64 atauarm64. Default adalah x86_64

  • AllowedInstanceTypes: Tentukan jenis contoh yang diizinkan. Contoh: m5.8xlarge

  • ExcludedInstanceTypes: Tentukan jenis instance yang dikecualikan menggunakan wildcard. Anda hanya dapat menentukan salah satu dari AllowedInstanceTypes atau ExcludedInstanceTypes

Secara default, Lambda memilih jenis instans terbaik untuk beban kerja Anda. Sebaiknya izinkan Instans Terkelola Lambda memilih jenis instans untuk Anda, karena membatasi jumlah kemungkinan jenis instans dapat mengakibatkan ketersediaan lebih rendah.

CapacityProviderScalingConfig

Konfigurasikan cara Lambda menskalakan instans Anda:

  • ScalingMode: Atur ke Auto untuk penskalaan otomatis atau Manual untuk kontrol manual. Default adalah Auto

  • VCpuJumlah Maks: Jumlah maksimum v CPUs untuk penyedia kapasitas. Defaultnya adalah 400.

  • ScalingPolicies: Tentukan kebijakan penskalaan pelacakan target untuk pemanfaatan CPU dan memori

KmsKeyArn

Tentukan AWS KMS kunci untuk enkripsi EBS. Default ke kunci AWS terkelola jika tidak ditentukan.

Tanda

Tambahkan tag untuk mengatur dan mengelola penyedia kapasitas Anda.

Mengelola penyedia kapasitas

Memperbarui penyedia kapasitas

Anda dapat memperbarui properti tertentu dari penyedia kapasitas menggunakan UpdateCapacityProvider API.

aws lambda update-capacity-provider \ --capacity-provider-name my-capacity-provider \ --capacity-provider-scaling-config ScalingMode=Auto

Menghapus penyedia kapasitas

Anda dapat menghapus penyedia kapasitas saat tidak lagi diperlukan menggunakan DeleteCapacityProvider API.

aws lambda delete-capacity-provider \ --capacity-provider-name my-capacity-provider

Catatan: Anda tidak dapat menghapus penyedia kapasitas yang memiliki versi fungsi yang melekat padanya.

Melihat detail penyedia kapasitas

Mengambil informasi tentang penyedia kapasitas menggunakan GetCapacityProvider API.

aws lambda get-capacity-provider \ --capacity-provider-name my-capacity-provider

Penyedia kapasitas menyatakan

Penyedia kapasitas dapat berada di salah satu negara berikut:

  • Tertunda: Penyedia kapasitas sedang dibuat

  • Aktif: Penyedia kapasitas siap digunakan

  • Gagal: Pembuatan penyedia kapasitas gagal

  • Menghapus: Penyedia kapasitas sedang dihapus

Kuota

  • Penyedia kapasitas maksimum per akun: 1.000

  • Versi fungsi maksimum per penyedia kapasitas: 100 (tidak dapat ditingkatkan)

Praktik terbaik

  1. Pisahkan berdasarkan tingkat kepercayaan: Buat penyedia kapasitas yang berbeda untuk beban kerja dengan persyaratan keamanan yang berbeda

  2. Gunakan nama deskriptif: Beri nama penyedia kapasitas untuk menunjukkan dengan jelas tujuan penggunaan dan tingkat kepercayaan mereka (mis.,production-trusted,dev-sandbox)

  3. Gunakan beberapa Availability Zone: Tentukan subnet di beberapa AZs untuk ketersediaan tinggi

  4. Biarkan Lambda memilih jenis instans: Kecuali Anda memiliki persyaratan perangkat keras tertentu, izinkan Lambda memilih jenis instans terbaik untuk ketersediaan optimal

  5. Memantau penggunaan: Gunakan AWS CloudTrail untuk memantau penetapan penyedia kapasitas dan pola akses

Langkah selanjutnya