aws-lambda-sagemakerendpoint - Costrutti delle soluzioni AWS

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à.

aws-lambda-sagemakerendpoint

Tutte le classi sono in fase di sviluppo attivo e soggette a modifiche o rimozione non compatibili con le versioni precedenti in qualsiasi versione futura. Questi non sono soggetti allaIl controllo delle versioni semanticheModello. Ciò significa che, mentre è possibile utilizzarli, potrebbe essere necessario aggiornare il codice sorgente quando si esegue l'aggiornamento a una versione più recente di questo pacchetto.

Nota: Per garantire la corretta funzionalità, i pacchetti AWS Solutions Constructs e i pacchetti AWS CDK nel progetto devono essere della stessa versione.

Linguaggio Pacchetto
Python
aws_solutions_constructs.aws_lambda_sagemakerendpoint
TypeScript
@aws-solutions-constructs/aws-lambda-sagemakerendpoint
Java
software.amazon.awsconstructs.services.lambdasagemakerendpoint

Overview

Questo AWS Solutions Construct implementa una funzione AWS Lambda collegata a un endpoint Amazon Sagemaker.

Ecco una definizione di modello distribuibile minima in TypeScript:

import { Duration } from '@aws-cdk/core'; import * as lambda from '@aws-cdk/aws-lambda'; import { LambdaToSagemakerEndpoint, LambdaToSagemakerEndpointProps, } from '@aws-solutions-constructs/aws-lambda-sagemakerendpoint'; const constructProps: LambdaToSagemakerEndpointProps = { modelProps: { primaryContainer: { image: '{{AccountId}}.dkr.ecr.{{region}}.amazonaws.com/linear-learner:latest', modelDataUrl: 's3://{{bucket-name}}/{{prefix}}/model.tar.gz', }, }, lambdaFunctionProps: { runtime: lambda.Runtime.PYTHON_3_8, // This assumes a handler function in lib/lambda/index.py code: lambda.Code.fromAsset(`${__dirname}/lambda`), handler: 'index.handler', timeout: Duration.minutes(5), memorySize: 128, }, }; new LambdaToSagemakerEndpoint(this, 'LambdaToSagemakerEndpointPattern', constructProps);

Initializer

new LambdaToSagemakerEndpoint(scope: Construct, id: string, props: LambdaToSagemakerEndpointProps);

Parametri

Puntelli di costruzione modelli

Nome Tipo Descrizione
EsistenteLambdaobj? lambda.Function Istanza esistente dell'oggetto Function Lambda, fornendo sia questo chelambdaFunctionPropscauserà un errore.
LambdafunctionPunps? lambda.FunctionProps Proprietà facoltative fornite dall'utente per sovrascrivere le proprietà predefinite per la funzione Lambda.
EsistenteSageMakerendPointOBJ? sagemaker.CfnEndpoint Un Sagemaker Enpoint opzionale esistente da utilizzare. Fornire sia questo cheendpointPropscauserà un errore.
ModelProps? sagemaker.CfnModelProps | any Proprietà fornite dall'utente per sovrascrivere le proprietà predefinite per il modello Sagemaker. AlmenomodelProps.primaryContainerdeve essere fornito per creare un modello. Per impostazione predefinita, il modello creerà un ruolo con le autorizzazioni minime richieste, ma il client può fornire un ruolo personalizzato con funzionalità aggiuntive utilizzandomodelProps.executionRoleArn: .
EndPointConfigProps? sagemaker.CfnEndpointConfigProps Proprietà facoltative fornite dall'utente per sovrascrivere le proprietà predefinite per la configurazione di Sagemaker Endpoint.
EndPointProps? sagemaker.CfnEndpointProps Proprietà facoltative fornite dall'utente per sovrascrivere le proprietà predefinite per Sagemaker Endpoint.
VPC esistente? ec2.IVpc Un VPC opzionale esistente in cui deve essere distribuito questo costrutto. Quando viene distribuito in un VPC, la funzione Lambda e Sagemaker Endpoint utilizzeranno le ENI nel VPC per accedere alle risorse di rete. Verrà creato un endpoint di interfaccia nel VPC per Amazon Sagemaker Runtime e Amazon S3 VPC Endpoint. Se viene fornito un VPC esistente,deployVpcnon può esseretrue: .
VPCProp? ec2.VpcProps Proprietà facoltative fornite dall'utente per sovrascrivere le proprietà predefinite per il nuovo VPC.enableDnsHostnames,enableDnsSupport,natGatewaysesubnetConfigurationsono impostati dal costrutto, quindi tutti i valori per quelle proprietà fornite qui verranno ignorati. SedeployVpcnon ètrue, questa proprietà verrà ignorata.
DeployVPC? boolean Se creare un nuovo VPC basato suvpcPropsin cui distribuire questo modello. Impostazione di questo valore sutruedistribuirà il VPC minimo e più privato per eseguire il pattern:
  • Una sottorete isolata in ogni zona di disponibilità utilizzata dal programma CDK.

  • enableDnsHostnameseenableDnsSupportsaranno entrambi impostati sutrue: .

Se questa proprietà è impostata su.true, quindiexistingVpcnon può essere specificato. L'impostazione predefinita è false.
SageMakerEnvironmentVariableName? string Nome facoltativo per la variabile di ambiente endpoint SageMaker impostata per la funzione Lambda.

Proprietà modelli

Nome Tipo Descrizione
LambdaFunction lambda.Function Restituisce un'istanza della funzione Lambda creata dal pattern.
SageMakerEndpoint sagemaker.CfnEndpoint Restituisce un'istanza dell'endpoint di Sagemaker creato dalla serie.
SageMakerEndPointConfig? sagemaker.CfnEndpointConfig Restituisce un'istanza di SageMaker EndpointConfig creata dal pattern, seexistingSagemakerEndpointObjnon viene fornito.
SageMakerModel? sagemaker.CfnModel Restituisce un'istanza del modello Sagemaker creato dalla serie, seexistingSagemakerEndpointObjnon viene fornito.
Il VPC? ec2.IVpc Restituisce un'istanza del VPC creato dal pattern, sedeployVpcètrue, o seexistingVpcviene fornito.

Impostazioni predefinite

L'implementazione predefinita di questo modello senza sostituzioni imposterà i seguenti valori predefiniti:

Funzione di AWS Lambda

  • Configurare il ruolo IAM di accesso con privilegi limitati per la funzione Lambda.

  • Abilita il riutilizzo delle connessioni con Keep-Alive per la funzione NodeJS Lambda.

  • Consentire alla funzione di richiamare l'endpoint di Sagemaker per Inferenze.

  • Configurare la funzione per accedere alle risorse nel VPC, in cui viene distribuito l'endpoint Sagemaker.

  • Attivare il tracciamento X-Ray.

  • Impostazione delle variabili di ambiente:

    • SAGEMAKER_ENDPOINT_NAME (predefinito)

    • AWS_NODEJS_CONNECTION_REUSE_ENABLED(per le funzioni Node 10.x e successive)

Endpoint SageMaker

  • Configurare privilegi limitati per creare risorse Sagemaker.

  • Distribuire il modello Sagemaker, EndPointConfig ed endpoint.

  • Configurare l'endpoint Sagemaker da distribuire in un VPC.

  • Distribuire S3 VPC Endpoint e Sagemaker Runtime Interfaccia VPC.

Architecture

GitHub

Per visualizzare il codice per questo modello, creare/visualizzare problemi e richieste pull e altro ancora:
@aws -solutions-constructs/aws-lambda-sagemakerendpoint