Skip to content
GitHubXDiscordRSS

EndpointConfig

Learn how to create, update, and manage AWS SageMaker EndpointConfigs using Alchemy Cloud Control.

The EndpointConfig resource lets you manage AWS SageMaker EndpointConfigs for deploying machine learning models at scale.

Create a basic EndpointConfig with required properties and one optional property.

import AWS from "alchemy/aws/control";
const basicEndpointConfig = await AWS.SageMaker.EndpointConfig("basic-endpoint-config", {
ProductionVariants: [{
VariantName: "AllTraffic",
ModelName: "my-model",
InitialInstanceCount: 1,
InstanceType: "ml.m5.large"
}],
DataCaptureConfig: {
CaptureOptions: [{ CaptureMode: "Input" }],
DestinationS3Uri: "s3://my-data-capture-bucket/",
CaptureContentTypeHeader: {
CsvContentTypes: ["text/csv"],
JsonContentTypes: ["application/json"]
}
}
});

Configure an EndpointConfig with shadow production variants and network isolation.

const advancedEndpointConfig = await AWS.SageMaker.EndpointConfig("advanced-endpoint-config", {
ProductionVariants: [{
VariantName: "MainTraffic",
ModelName: "my-main-model",
InitialInstanceCount: 2,
InstanceType: "ml.m5.large"
}],
ShadowProductionVariants: [{
VariantName: "ShadowTraffic",
ModelName: "my-shadow-model",
InitialInstanceCount: 1,
InstanceType: "ml.m5.large"
}],
EnableNetworkIsolation: true,
KmsKeyId: "arn:aws:kms:us-east-1:123456789012:key/example-key-id"
});

Create an EndpointConfig that specifies a VPC configuration for enhanced security.

const vpcEndpointConfig = await AWS.SageMaker.EndpointConfig("vpc-endpoint-config", {
ProductionVariants: [{
VariantName: "VPCConfiguredTraffic",
ModelName: "my-vpc-model",
InitialInstanceCount: 1,
InstanceType: "ml.m5.large"
}],
VpcConfig: {
SecurityGroupIds: ["sg-0123456789abcdef0"],
Subnets: ["subnet-0123456789abcdef0", "subnet-0fedcba9876543210"]
}
});

Set up an EndpointConfig with asynchronous inference capabilities.

const asyncInferenceEndpointConfig = await AWS.SageMaker.EndpointConfig("async-inference-endpoint-config", {
ProductionVariants: [{
VariantName: "AsyncInferenceTraffic",
ModelName: "my-async-model",
InitialInstanceCount: 1,
InstanceType: "ml.m5.large"
}],
AsyncInferenceConfig: {
OutputConfig: {
S3OutputPath: "s3://my-async-output-bucket/",
KmsKeyId: "arn:aws:kms:us-east-1:123456789012:key/example-key-id"
},
ClientId: "my-client-id"
}
});