Skip to content

Cluster ​

The Cluster resource allows you to manage AWS SageMaker Clusters for machine learning tasks, enabling you to specify instance types, configurations, and networking options.

Minimal Example ​

Create a basic SageMaker Cluster with essential properties.

ts
import AWS from "alchemy/aws/control";

const basicCluster = await AWS.SageMaker.Cluster("basicCluster", {
  InstanceGroups: [
    {
      InstanceType: "ml.m5.large",
      InstanceCount: 2
    }
  ],
  ClusterName: "MyFirstSageMakerCluster",
  VpcConfig: {
    SecurityGroupIds: ["sg-0123456789abcdef0"],
    Subnets: ["subnet-0123456789abcdef0"]
  }
});

Advanced Configuration ​

Configure a SageMaker Cluster with node recovery and specific orchestrator settings.

ts
const advancedCluster = await AWS.SageMaker.Cluster("advancedCluster", {
  InstanceGroups: [
    {
      InstanceType: "ml.m5.xlarge",
      InstanceCount: 3
    }
  ],
  ClusterName: "AdvancedSageMakerCluster",
  NodeRecovery: "ENABLED",
  Orchestrator: {
    Type: "AWS::SageMaker::Orchestrator",
    Properties: {
      Workflow: "arn:aws:sagemaker:us-west-2:123456789012:workflow/MyWorkflow"
    }
  },
  Tags: [
    { Key: "Environment", Value: "Production" },
    { Key: "Team", Value: "DataScience" }
  ]
});

Using Tags for Resource Management ​

Create a cluster with tags for better resource management and cost tracking.

ts
const taggedCluster = await AWS.SageMaker.Cluster("taggedCluster", {
  InstanceGroups: [
    {
      InstanceType: "ml.t2.medium",
      InstanceCount: 1
    }
  ],
  ClusterName: "TaggedSageMakerCluster",
  Tags: [
    { Key: "Project", Value: "MachineLearning" },
    { Key: "Owner", Value: "DataTeam" }
  ]
});

Custom VPC Configuration ​

Set up a cluster with a custom VPC configuration for enhanced security.

ts
const vpcCluster = await AWS.SageMaker.Cluster("vpcCluster", {
  InstanceGroups: [
    {
      InstanceType: "ml.c5.2xlarge",
      InstanceCount: 2
    }
  ],
  ClusterName: "VPCCustomSageMakerCluster",
  VpcConfig: {
    SecurityGroupIds: ["sg-0987654321abcdef0"],
    Subnets: ["subnet-0987654321abcdef0", "subnet-1234567890abcdef0"]
  }
});