

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# aws-ラムダ-サゲマケレンドポイント
<a name="aws-lambda-sagemakerendpoint"></a>

![](https://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/experimental.png)


 すべてのクラスは積極的に開発されており、将来のバージョンでは下位互換性がない変更または削除の対象となります。これらは、[セマンティックバージョニング](https://semver.org/)モデル。つまり、これらのパッケージを使用するかもしれませんが、このパッケージの新しいバージョンにアップグレードするときにソースコードを更新する必要があるかもしれません。

**注意:** 正しく機能するためには、プロジェクト内の AWS ソリューション構築パッケージと AWS CDK パッケージが同じバージョンである必要があります。


|  **言語**  |  **パッケージ**  | 
| --- | --- | 
|  ![](https://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/python.png) Python  |  aws\_solutions\_constructs.aws\_lambda\_sagemakerendpoint  | 
|  ![](https://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-lambda-sagemakerendpoint  | 
|  ![](https://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.lambdasagemakerendpoint  | 

## Overview
<a name="overview-41"></a>

 この AWS ソリューション構築物は、Amazon Sagemaker エンドポイントに接続された AWS Lambda 関数を実装します。

 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
<a name="initializer-41"></a>

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

 *パラメータ* 
+  scope[`Construct`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`LambdaToSagemakerEndpointProps`](#pattern-construct-props-41) 

## パターン構成プロパティ
<a name="pattern-construct-props-41"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  ExistingLambdaObj？  |  [`lambda.Function`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Lambda Functionオブジェクトの既存のインスタンス。これとlambdaFunctionPropsはエラーを発生させます。 | 
|  LambdaFunctionProps？  |  [`lambda.FunctionProps`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  Lambda 関数のデフォルトプロパティを上書きするオプションのユーザー指定のプロパティ。 | 
|  ExistingSagemakerendPointObj？  |  [`sagemaker.CfnEndpoint`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sagemaker.CfnEndpoint.html)  |  使用する、オプションの既存のSagemaker Enpoint。これとendpointPropsはエラーを発生させます。 | 
|  ModelProps? |  [`sagemaker.CfnModelProps`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sagemaker.CfnModelProps.html) \| any  |  Sagemaker モデルの既定のプロパティを上書きするユーザー指定のプロパティ。少なくともmodelProps.primaryContainerはモデルを作成するために提供する必要があります。デフォルトでは、パターンは最小限の権限でロールを作成しますが、クライアントはmodelProps.executionRoleArn。 | 
|  EndPointConfigProps? |  [`sagemaker.CfnEndpointConfigProps`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sagemaker.CfnEndpointConfigProps.html)  |  Sagemaker エンドポイント設定のデフォルトプロパティを上書きする、ユーザー指定のオプションのプロパティです。 | 
|  EndPointProps? |  [`sagemaker.CfnEndpointProps`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sagemaker.CfnEndpointProps.html)  |  Sagemaker エンドポイントのデフォルトプロパティを上書きする、ユーザー指定のオプションのプロパティです。 | 
|  既存のVPCかな？  |  [`ec2.IVpc`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html)  |  オプションの既存の VPC で、このコンストラクトをデプロイします。VPC にデプロイされると、Lambda 関数と Sagemaker エンドポイントは VPC 内の ENI を使用してネットワークリソースにアクセスします。インターフェイスエンドポイントは、Amazon Sagemaker ランタイム用の VPC と Amazon S3 VPC エンドポイントに作成されます。既存の VPC が提供されている場合、deployVpcプロパティは、true。 | 
|  vPCProps? |  [`ec2.VpcProps`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.VpcProps.html)  |  新しい VPC のデフォルトプロパティを上書きするオプションのユーザー指定のプロパティ。enableDnsHostnames,enableDnsSupport,natGatewaysおよびsubnetConfigurationはコンストラクトによって設定されるため、ここで指定されたプロパティの値はすべて上書きされます。もしdeployVpcではありませんtrueに設定されている場合、このプロパティは無視されます。 | 
|  DeployVPC？  |  boolean  |  VPC に基づいて、新しい VPC を作成するかどうかvpcPropsこのパターンを展開します。これをに設定します。trueは、パターンを実行するために、最小限のほとんどのプライベート VPC をデプロイします。+  CDK プログラムによって使用されるアベイラビリティーゾーンごとに 1 つずつ分離されたサブネット。 <br />+  `enableDnsHostnames`および`enableDnsSupport`はどちらも`true`。  このプロパティがtrue、次にexistingVpcは指定できません。デフォルトは false です。 | 
|  SagemakerenVironmentVariableName？  |  string  |  Lambda 関数に設定された SageMaker エンドポイント環境変数のオプション名。 | 

## パターンプロパティ
<a name="pattern-properties-41"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  LambdaFunction  |  [`lambda.Function`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  パターンによって作成された Lambda 関数のインスタンスを返します。 | 
|  サゲマケレンドポイント  |  [`sagemaker.CfnEndpoint`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sagemaker.CfnEndpoint.html)  |  パターンによって作成された Sagemaker エンドポイントのインスタンスを返します。 | 
|  SagemakerendPointConfig？  |  [`sagemaker.CfnEndpointConfig`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sagemaker.CfnEndpointConfig.html)  |  パターンによって作成された SageMaker EndpointConfig のインスタンスを返します。existingSagemakerEndpointObjは提供されていません。 | 
|  SageMakerModelかな？  |  [`sagemaker.CfnModel`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sagemaker.CfnModel.html)  |  パターンによって作成されたSagemakerモデルのインスタンスを返します。existingSagemakerEndpointObjは提供されていません。 | 
|  vpcかな  |  ec2.IVpc  |  パターンによって作成された VPC のインスタンスを返します。deployVpc、trueの場合、またはexistingVpcは、である。 | 

## デフォルト設定
<a name="default-settings-41"></a>

 オーバーライドなしでこのパターンをすぐに実装すると、次のデフォルトが設定されます。

### AWS Lambda 関数
<a name="w23aab9d147c25b5"></a>
+  Lambda 関数の制限付き特権アクセス IAM ロールを設定します。
+  NodeJS Lambda 関数のキープアライブで接続を再利用できるようにします。
+  関数が推論の Sagemaker エンドポイントを呼び出すことを許可します。
+  Sagemaker エンドポイントがデプロイされている VPC 内のリソースにアクセスするように関数を設定します。
+  X-Ray トレースを有効にします。
+  環境変数の設定: 
  + `SAGEMAKER_ENDPOINT_NAME` (デフォルト)
  + `AWS_NODEJS_CONNECTION_REUSE_ENABLED`（ノード10.x以上の機能の場合）

### Amazon SageMaker エンドポイント
<a name="w23aab9d147c25b7"></a>
+  Sagemaker リソースを作成するための制限付き権限を設定します。
+  Sagemaker モデル、EndPointConfig、およびエンドポイントを展開します。
+  Sagemaker エンドポイントを VPC にデプロイするように設定します。
+  S3 VPC エンドポイントと Sagemaker ランタイム VPC インターフェイスをデプロイします。

## Architecture
<a name="architecture-41"></a>

![](https://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/aws-lambda-sagemakerendpoint.png)


## GitHub
<a name="github-41"></a>


<table>
<thead>
  <tr><th colspan="2"> <b>このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。</b> </th></tr>
</thead>
<tbody>
  <tr><td> <img src="https://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/GitHub-Mark-32px.png" alt="" /> </td><td> <a href="https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-lambda-sagemakerendpoint">@aws-solutions-constructs/aws-lambda-sagemakerendpoint</a> </td></tr>
</tbody>
</table>
