Skip to content
GitHubXDiscord

Domain

The Domain resource lets you manage AWS SageMaker Domains and their configuration settings.

Create a basic SageMaker Domain with required properties and one optional setting:

import AWS from "alchemy/aws/control";
const sageMakerDomain = await AWS.SageMaker.Domain("basicDomain", {
DomainName: "my-sagemaker-domain",
VpcId: "vpc-0123456789abcdef0",
SubnetIds: ["subnet-0123456789abcdef0", "subnet-abcdef0123456789"],
AuthMode: "IAM",
DefaultUserSettings: {
ExecutionRole: "arn:aws:iam::123456789012:role/service-role/AmazonSageMaker-ExecutionRole-20200101T123456",
JupyterServerAppSettings: {
DefaultResourceSpec: {
SageMakerImageArn: "arn:aws:sagemaker:us-east-1:123456789012:image/my-custom-image",
SageMakerImageVersionArn: "arn:aws:sagemaker:us-east-1:123456789012:image-version/my-custom-image:1"
}
}
}
});

Configure a SageMaker Domain with additional settings for enhanced security and network access:

const secureSageMakerDomain = await AWS.SageMaker.Domain("secureDomain", {
DomainName: "secure-sagemaker-domain",
VpcId: "vpc-0abcdef1234567890",
SubnetIds: ["subnet-0abcdef1234567890", "subnet-1abcdef1234567890"],
AuthMode: "IAM",
AppNetworkAccessType: "PublicInternetOnly",
KmsKeyId: "arn:aws:kms:us-east-1:123456789012:key/abcd1234-5678-90ab-cdef-EXAMPLEKEY",
DefaultUserSettings: {
ExecutionRole: "arn:aws:iam::123456789012:role/service-role/AmazonSageMaker-ExecutionRole-20200101T123456",
JupyterServerAppSettings: {
DefaultResourceSpec: {
SageMakerImageArn: "arn:aws:sagemaker:us-east-1:123456789012:image/my-secure-image",
SageMakerImageVersionArn: "arn:aws:sagemaker:us-east-1:123456789012:image-version/my-secure-image:1"
}
}
},
Tags: [
{ Key: "Environment", Value: "Production" },
{ Key: "Project", Value: "DataScience" }
]
});

Create a SageMaker Domain with custom settings for user management and application security:

const customDomain = await AWS.SageMaker.Domain("customDomain", {
DomainName: "custom-sagemaker-domain",
VpcId: "vpc-0fedcba9876543210",
SubnetIds: ["subnet-0fedcba9876543210", "subnet-1fedcba9876543210"],
AuthMode: "IAM",
AppSecurityGroupManagement: "Service",
DefaultUserSettings: {
ExecutionRole: "arn:aws:iam::123456789012:role/service-role/AmazonSageMaker-ExecutionRole-20200101T123456",
JupyterServerAppSettings: {
DefaultResourceSpec: {
SageMakerImageArn: "arn:aws:sagemaker:us-east-1:123456789012:image/my-custom-image",
SageMakerImageVersionArn: "arn:aws:sagemaker:us-east-1:123456789012:image-version/my-custom-image:1"
}
}
},
DomainSettings: {
SecurityGroupIds: ["sg-0abcdef1234567890"],
SubnetIds: ["subnet-0fedcba9876543210"]
}
});