Domain
The Domain resource lets you manage AWS SageMaker Domains and their configuration settings.
Minimal Example
Section titled “Minimal Example”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" } } }});
Advanced Configuration
Section titled “Advanced Configuration”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" } ]});
Custom Domain Settings
Section titled “Custom Domain Settings”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"] }});