aws-lambda-sagemakerendpunkt - Konstrukte für AWS S-Lösungen

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

aws-lambda-sagemakerendpunkt

Alle Klassen befinden sich in aktiver Entwicklung und unterliegen nicht abwärtskompatiblen Änderungen oder Entfernen in jeder zukünftigen Version. Diese unterliegen nicht denSemantic VersioningModell. Dies bedeutet, dass Sie möglicherweise Ihren Quellcode aktualisieren müssen, wenn Sie auf eine neuere Version dieses Pakets aktualisieren.

Hinweis: Um eine ordnungsgemäße Funktionalität sicherzustellen, müssen die AWS Solutions Constructs Pakete und AWS CDK-Pakete in Ihrem Projekt dieselbe Version aufweisen.

Sprache Paket
Python
aws_solutions_constructs.aws_lambda_sagemakerendpoint
Typoskript
@aws-solutions-constructs/aws-lambda-sagemakerendpoint
Java
software.amazon.awsconstructs.services.lambdasagemakerendpoint

Overview

Dieses AWS Solutions Construct implementiert eine AWS Lambda Funktion, die mit einem Amazon Sagemaker Endpoint verbunden ist.

Hier ist eine minimale bereitstellbare Musterdefinition 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);

Parameter

Muster Konstrukt Requisiten

Name Typ Beschreibung
Gibt es LambdaObj? lambda.Function Vorhandene Instanz des Lambda Function-Objekts, die sowohl diese als auchlambdaFunctionPropsführt zu einem -Fehler.
LambdaFunctionProps? lambda.FunctionProps Optionale vom Benutzer bereitgestellte Eigenschaften, um die Standardeigenschaften für die Lambda Funktion zu überschreiben.
ExistingSageMakerEndpointObj? sagemaker.CfnEndpoint Ein optionaler, bestehender Sagemaker Enpoint zum Einsatz. Bereitstellung sowohl dieser als auchendpointPropsführt zu einem -Fehler.
ModelProps? sagemaker.CfnModelProps | any Vom Benutzer bereitgestellte Eigenschaften, um die Standardeigenschaften für das Sagemaker-Modell zu überschreiben. MindestensmodelProps.primaryContainermuss bereitgestellt werden, um ein Modell zu erstellen. Standardmäßig erstellt das Muster eine Rolle mit den mindestens erforderlichen Berechtigungen. Der Client kann jedoch eine benutzerdefinierte Rolle mit zusätzlichen Funktionen mithilfe vonmodelProps.executionRoleArn.
EndpointConfigProps? sagemaker.CfnEndpointConfigProps Optionale vom Benutzer bereitgestellte Eigenschaften, um die Standardeigenschaften für die Sagemaker-Endpoint-Konfiguration zu überschreiben.
EndpointProps? sagemaker.CfnEndpointProps Optionale vom Benutzer bereitgestellte Eigenschaften, um die Standardeigenschaften für den Sagemaker-Endpunkt zu überschreiben.
ExistenzVPC? ec2.IVpc Eine optionale vorhandene VPC, in der dieses Konstrukt bereitgestellt werden soll. Bei der Bereitstellung in einer VPC verwenden die Lambda Funktion und Sagemaker Endpoint ENIs in der VPC, um auf Netzwerkressourcen zuzugreifen. Ein Interface Endpoint wird in der VPC für Amazon Sagemaker Runtime und Amazon S3 VPC Endpoint erstellt. Wenn eine vorhandene VPC bereitgestellt wird, wird diedeployVpc-Eigenschaft kann nichttrue.
VPCProps? ec2.VpcProps Optionale vom Benutzer bereitgestellte Eigenschaften, um die Standardeigenschaften für die neue VPC zu überschreiben.enableDnsHostnames,enableDnsSupport,natGatewaysundsubnetConfigurationvom Konstrukt festgelegt werden, so dass alle Werte für die hier angegebenen Eigenschaften überschrieben werden. WenndeployVpcist nichttruewird diese Eigenschaft ignoriert.
DeployVPC? boolean Gibt an, ob eine neue VPC auf Basis vonvpcProps, in das dieses Muster bereitgestellt werden soll. Setzen Sie diese Einstellung auftruestellt die minimale, privatste VPC bereit, um das Pattern auszuführen:
  • Ein isoliertes Subnetz in jeder Availability Zone, die vom CDK-Programm verwendet wird.

  • enableDnsHostnamesundenableDnsSupportwerden beide auftrue.

Wenn diese Eigenschaft auftrue, dannexistingVpckann nicht angegeben werden. Standardeinstellung: false.
SageMakerEnvironmentVariableName? string Optionaler Name für die SageMaker Endpunkt-Umgebungsvariable, die für die Lambda Funktion festgelegt wurde.

Muster-Eigenschaften

Name Typ Beschreibung
LambdaFunction lambda.Function Gibt eine Instanz der Lambda Funktion zurück, die durch das Muster erstellt wurde.
SageMakerEndpoint sagemaker.CfnEndpoint Gibt eine Instanz des Sagemaker-Endpunkts zurück, der durch das Muster erstellt wurde.
SageMakerEndpointConfig? sagemaker.CfnEndpointConfig Gibt eine Instanz der SageMaker EndpointConfig zurück, die durch das Muster erstellt wurde, wennexistingSagemakerEndpointObjwird nicht angegeben.
SageMakerModel? sagemaker.CfnModel Gibt eine Instanz des Sagemaker-Modells zurück, das durch das Muster erstellt wurde, wennexistingSagemakerEndpointObjwird nicht angegeben.
vpc? ec2.IVpc Gibt eine Instanz der VPC zurück, die durch das Muster erstellt wurde, wenndeployVpcisttrue, oder wennexistingVpcwird bereitgestellt.

Standardeinstellungen

Die vorgefertigte Implementierung dieses Musters ohne Überschreibungen setzt die folgenden Standardwerte:

AWS Lambda-Funktion

  • Konfigurieren Sie die IAM-Rolle für den eingeschränkten Zugriffsberechtigungen für Lambda Funktion.

  • Aktivieren Sie die Wiederverwendung von Verbindungen mit Keep-Alive für NodeJS Lambda Funktion.

  • Erlauben Sie der Funktion, den Sagemaker-Endpunkt für Abschlüsse aufzurufen.

  • Konfigurieren Sie die Funktion für den Zugriff auf Ressourcen in der VPC, auf der der Sagemaker-Endpunkt bereitgestellt wird.

  • Aktivieren Sie X-Ray Nachverfolgung.

  • Festlegen von Umgebungsvariablen:

    • SAGEMAKER_ENDPOINT_NAME (Standard)

    • AWS_NODEJS_CONNECTION_REUSE_ENABLED(für Node 10.x und höhere Funktionen)

Amazon SageMaker-Endpunkt

  • Konfigurieren Sie eingeschränkte Berechtigungen zum Erstellen von Sagemaker-Ressourcen.

  • Stellen Sie Sagemaker-Modell, EndpointConfig und Endpoint bereit.

  • Konfigurieren Sie den Sagemaker-Endpunkt, der in einer VPC bereitgestellt werden soll.

  • Stellen Sie die VPC Endpunkt- und Sagemaker-Runtime-VPC-Schnittstelle bereit.

Architecture

GitHub

Um den Code für dieses Muster anzuzeigen, erstellen/anzeigen Probleme und Pull-Anforderungen usw.:
@aws -solutions-constructs/aws-lambda-sagemakerendpoint