fornitori di capacità - AWS Lambda

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

fornitori di capacità

Un provider di capacità è la base per l'esecuzione di istanze gestite Lambda. Funge da limite di sicurezza per le tue funzioni e definisce le risorse di calcolo che Lambda fornirà e gestirà per tuo conto.

Quando crei un fornitore di capacità, specifichi:

  • Configurazione VPC: le sottoreti e i gruppi di sicurezza in cui verranno eseguite le istanze

  • Autorizzazioni: ruoli IAM per Lambda per la gestione delle risorse EC2

  • Requisiti dell'istanza (facoltativi): preferenze relative all'architettura e al tipo di istanza

  • Configurazione di scalabilità (opzionale): in che modo Lambda ridimensiona le tue istanze

Comprendere i provider di capacità come limite di sicurezza

I provider di capacità fungono da limite di sicurezza per le funzioni Lambda all'interno del VPC, sostituendo l'isolamento basato su Firecracker. Le funzioni vengono eseguite in contenitori all'interno delle istanze, ma i contenitori non forniscono un forte isolamento di sicurezza tra le funzioni, a differenza di Firecracker micro. VMs

Concetti chiave sulla sicurezza:

  • Capacity Provider: il limite di sicurezza che definisce i livelli di fiducia per le funzioni Lambda

  • Isolamento dei container: i container NON sono un fornitore di sicurezza: non fate affidamento su di essi per la sicurezza tra carichi di lavoro non affidabili

  • Trust Separation: separa i carichi di lavoro che non sono reciprocamente affidabili utilizzando diversi provider di capacità

Creazione di un provider di capacità

È possibile creare un provider di capacità utilizzando la AWS CLI, la console di AWS gestione o. AWS SDKs

Utilizzo della 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

Parametri obbligatori

CapacityProviderName

  • Un nome univoco per il tuo fornitore di capacità

  • Deve essere univoco all'interno del tuo AWS account

VpcConfig

  • SubnetIds(obbligatorio): Almeno una sottorete, massimo 16. Utilizza sottoreti in più zone di disponibilità per garantire la resilienza

  • SecurityGroupIds(opzionale): gruppi di sicurezza per le tue istanze. Il valore predefinito è il gruppo di sicurezza VPC predefinito se non specificato

PermissionsConfig

  • CapacityProviderOperatorRoleArn(richiesto): ruolo IAM che consente a Lambda di gestire EC2 le risorse nel tuo provider di capacità

Parametri facoltativi

InstanceRequirements

Specificate l'architettura e i tipi di istanza per il vostro provider di capacità:

  • Architetture: scegli x86_64 o. arm64 L'impostazione predefinita è x86_64

  • AllowedInstanceTypes: Specificate i tipi di istanza consentiti. Ad esempio: m5.8xlarge

  • ExcludedInstanceTypes: Specificate i tipi di istanza esclusi utilizzando i caratteri jolly. È possibile specificare solo uno dei o AllowedInstanceTypes ExcludedInstanceTypes

Per impostazione predefinita, Lambda sceglie i tipi di istanza migliori per il tuo carico di lavoro. Ti consigliamo di lasciare che le istanze gestite da Lambda scelgano i tipi di istanza per te, poiché limitare il numero di tipi di istanze possibili può comportare una minore disponibilità.

CapacityProviderScalingConfig

Configura il modo in cui Lambda ridimensiona le tue istanze:

  • ScalingMode: impostato per il ridimensionamento automatico o Auto Manual per il controllo manuale. L'impostazione predefinita è Auto

  • VCpuNumero massimo: numero massimo di v CPUs per il provider di capacità. Il valore predefinito è 400.

  • ScalingPolicies: definisci le politiche di scalabilità del tracciamento degli obiettivi per l'utilizzo di CPU e memoria

KmsKeyArn

Specificare una AWS KMS chiave per la crittografia EBS. Il valore predefinito è la chiave AWS gestita se non specificata.

Tag

Aggiungi tag per organizzare e gestire i tuoi capacity provider.

Gestione dei fornitori di capacità

Aggiornare un provider di capacità

È possibile aggiornare determinate proprietà di un provider di capacità utilizzando l'UpdateCapacityProviderAPI.

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

Eliminare un provider di capacità

Puoi eliminare un fornitore di capacità quando non è più necessario utilizzando l'DeleteCapacityProviderAPI.

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

Nota: non è possibile eliminare un fornitore di capacità a cui sono associate versioni di funzioni.

Visualizzazione dei dettagli del fornitore di capacità

Recupera informazioni su un fornitore di capacità utilizzando l'GetCapacityProviderAPI.

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

Stati del fornitore di capacità

Un provider di capacità può trovarsi in uno dei seguenti stati:

  • In sospeso: il provider di capacità è in fase di creazione

  • Attivo: il provider di capacità è pronto per l'uso

  • Fallita: la creazione del provider di capacità non è riuscita

  • Eliminazione: il provider di capacità viene eliminato

Quote

  • Fornitori di capacità massima per account: 1.000

  • Numero massimo di versioni funzionali per provider di capacità: 100 (non può essere aumentato)

Best practice

  1. Separati per livello di affidabilità: crea diversi provider di capacità per carichi di lavoro con requisiti di sicurezza diversi

  2. Usa nomi descrittivi: nomina i fornitori di capacità per indicare chiaramente l'uso previsto e il livello di affidabilità (ad esempio,production-trusted) dev-sandbox

  3. Utilizza più zone di disponibilità: specifica le sottoreti su più AZs zone per un'elevata disponibilità

  4. Consenti a Lambda di scegliere i tipi di istanza: a meno che tu non abbia requisiti hardware specifici, consenti a Lambda di selezionare i tipi di istanza migliori per una disponibilità ottimale

  5. Monitora l'utilizzo: AWS CloudTrail da utilizzare per monitorare le assegnazioni e i modelli di accesso dei provider di capacità

Fasi successive