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年前1075ビュー
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年前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン

関連するコンテンツ