1b ML 17253 sm studio domains 1024x411 1
Amazon SageMaker Projects empower data scientists to self-serve Amazon Web Services (AWS) tooling and infrastructure to organize all entities of the machine learning (ML) lifecycle, and further enable organizations to standardize and constrain the resources available to their data science teams in pre-packaged templates.
For AWS customers using Terraform to define and manage their infrastructure-as-code (IaC), the current best practice for enabling Amazon SageMaker Projects carries a dependency on AWS CloudFormation to facilitate integration between AWS Service Catalog and Terraform. This blocks enterprise customers whose IT governance prohibit use of vendor-specific IaC such as CloudFormation from using Terraform Cloud.
This post outlines how you can enable SageMaker Projects with Terraform Cloud, removing the CloudFormation dependency.
SageMaker Projects are directly mapped to AWS Service Catalog products. To obviate the use of CloudFormation, these products must be designated as Terraform products that use the AWS Service Catalog Engine (SCE) for Terraform Cloud. This module, actively maintained by Hashicorp, contains AWS-native infrastructure for integrating Service Catalog with Terraform Cloud so that your Service Catalog products are deployed using the Terraform Cloud platform.
By following the steps in this post, you can use the Service Catalog engine to deploy SageMaker Projects directly from Terraform Cloud.
To successfully deploy the example, you must have the following:
See Terraform teams and organizations documentation for more information about Terraform Cloud permissions.
sagemaker-custom-project-templates
repository from the AWS Samples GitHub to your local machine, update the submodules, and navigate to the mlops-terraform-cloud
directory. The preceding code base above creates a Service Catalog portfolio, adds the SageMaker Project template as a Service Catalog product to the portfolio, allows the SageMaker Studio role to access the Service Catalog product, and adds the necessary tags to make the product visible in SageMaker Studio. See Create Custom Project Templates in the SageMaker Projects Documentation for more information about this process.
This prompts your browser to sign into your HCP account and generates a security token. Copy this security token and paste it back into your terminal.
tfvars
file with the necessary variables for the Terraform Cloud workspace tfvars
file. The following variables are required: Make sure that your desired Terraform Cloud (TFC) organization has the proper entitlements and that your tfc_team
is unique for this deployment. See the Terraform Organizations Overview for more information on creating organizations.
mlops-tf-cloud-example
product and then choose NextThis example can be modified to include custom Terraform in your SageMaker Project template. To do so, define your Terraform in the mlops-product/product directory. When ready to deploy, be sure to archive and compress this Terraform using the following command:
To remove the resources deployed by this example, run the following from the project directory:
In this post you defined, deployed, and provisioned a SageMaker Project custom template purely in Terraform. With no dependencies on other IaC tools, you can now enable SageMaker Projects strictly within your Terraform Enterprise infrastructure.
Sorry for my English in advance, but I feel like a disinterest for Chroma in…
Enterprises should experiment with MCP where it adds value, isolate dependencies and prepare for a…
I know there are models available that can fill in or edit parts, but I'm…
As we look ahead, the relationship between engineers and AI systems will likely evolve from…
Lightweight, powerful, and generally inexpensive, the handheld vacuum is the perfect household helper.