This repository contains custom SageMaker AI Project templates. You can be deploy custom templates with two different methods:
-
Amazon S3: Deploy custom templates directly from Amazon S3 buckets ⭐
$${\color{red}(Recommended)}$$ - AWS Service Catalog: Deploy custom templates through AWS Service Catalog.
Important
You can find instructions about SageMaker AI projects based on S3 templates provisioning method in this repository's folder - s3_templates along with S3 based custom templates samples.
Each other folder contains a custom project template with details on what it achieves and setup instructions.
You have two deployment options to deploy the custom MLOps templates using SageMaker AI Projects:
- SageMaker AI projects based on S3 templates Allows you to provision custom templates directly from S3 buckets. See Method 1 for details.
- Provision via Service Catalog Provisioning custom templates through AWS Service Catalog. See Method 2 for details.
The SageMaker AI projects based on S3 templates is a newly released support in SageMaker AI projects allowing for provisioning custom machine learning (ML) project templates directly from Amazon S3.
Caution
Proceed to this repository's folder - s3_templates for information on SageMaker AI projects based on S3 templates provisioning and S3 based custom templates samples.
Provisioning custom templates through AWS Service Catalog.
-
Download the sagemaker-projects-portfolio.yaml CloudFormation template from the root of this repo to your local machine.
-
Open the CloudFormation console at https://console.aws.amazon.com/cloudformation
-
Choose on Create stack, then With new resources (standard).
-
On the Create Stack screen, under Template source, choose Upload a template file.
-
Choose Choose file then select the sagemaker-projects-portfolio.yaml from your machine.
-
Choose Next
-
On the Parameters screen, under Stack Name, enter a unique name for this CloudFormation stack.
-
Next, you will need to enter either your SageMaker Domain Execution Role, or the Role that your Studio users are assuming if you have defined a custom one. You can find your SageMaker Domain Execution Role ARN in the Studio Dashboard: https://console.aws.amazon.com/sagemaker/home?#/studio under the Domain section, then Execution Role. Paste that value into the SageMaker Domain Execution Role ARN parameter.
-
Choose Next.
-
On the Configure stack options screen, no changes are necessary. Scroll to the bottom and choose Next.
-
On the Review screen, scroll to the bottom and choose Create Stack.
-
After a few seconds, the stack should move to a CREATE_COMPLETE stage, and will be ready to add products into.
-
In the project you wish to use in SageMaker studio, download the product CloudFormation template to your machine. There is a unique one in each project, and the filename ends in "-product.yaml"
-
Similar to the way you created the portfolio, open the CloudFormation console at https://console.aws.amazon.com/cloudformation, upload that template, fill in the necessary parameters, and create the stack. Each project may have different parameters, which will be outlined in their README.md files.
Every template will require your Service Catalog portfolio id, which can be found in the Outputs tab of your deployed portfolio stack or in the Service Catalog portfolio list: https://console.aws.amazon.com/servicecatalog/home?#/portfolios
-
Once your product stack is in a CREATE_COMPLETE stage, you can then go to SageMaker Studio for deployment.
-
Open SageMaker Studio and sign in to your user profile.
-
Choose the SageMaker components and registries icon on the left, and choose the Create project button.
-
The default view displays SageMaker templates. Switch to the Organization templates tab to see custom project templates.
-
The template you created will be displayed in the template list. (If you do not see it yet, make sure the correct execution role is added to the product and the sagemaker:studio-visibility tag with a value of true is added to the Service Catalog product).
-
Choose the template and click Select project template.
-
Enter a name and optional description for the project. If additional parameters or tags are required, enter the appropriate values, and choose Create project.



