Create or update Sagemaker Endpoint via CloudFormation

0

A wants to manage Sagemaker resources (such as models and endpoints) via CloudFormation. As part of their model deployment pipeline, they'd like to be able to create or update existing Sagemaker Endpoint with new model data. Customers wants to re-use the same endpoint name for a given workload.

Question:

How to express in CF a following logic:

  1. If Sagemaker endpoint with name "XYZ" doesn't exist in customer account, then create a new endpoint;
  2. If Sagemaker endpoint with name "XYZ" already exist, then update existing endpoint with new model data.
已提問 3 年前檢視次數 1074 次
1 個回答
1
已接受的答案

This functionality of "UPSERT" type does not exist in CFn natively. You would need to use a Custom Resource to handle this logic. One alternative that is not exactly what you asked for but might be a decent compromise is to use a Parameter to supply the endpoint if it does exist. Then use a condition to check the value. If the paramter is blank then create an endpoint if not use the value supplied. I know this is not what you asked for but it allows you to avoid the custom resource solution.

Sample of similiar UPSERT example for a VPC:

Parameters :

  Vpc:
    Type: AWS::EC2::VPC::Id

Conditions:

  VpcNotSupplied: !Equals [!Ref Vpc, '']

Resources:

  NewVpc:
    Type: AWS::EC2::VPC
    Condition: VpcNotSupplied
    Properties:
      CidrBlock: 10.0.0.0/16

  SecurityGroup:
    Type: AWS::EC2::SecurityGroup
    Properties:
      GroupDescription: Sample
      GroupName: Sample
      VpcId: !If [VpcNotSupplied, !Ref NewVpc, !Ref Vpc ]

Here the Vpc input parameter can be supplied if the VPC you wish to use already exists, left blank if you want to create a new one. The NewVPC resource uses the Condition to only create if the supplied Vpc parameter value is blank. The Security group then uses the same condition to decide whetehr to use and existing Vpc or the newly created one.

Hope this makes sense.

profile pictureAWS
danjhd
已回答 3 年前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南