Sagemaker模型CloudFormation堆栈删除

时间:2018-09-20 01:56:18

标签: amazon-web-services amazon-cloudformation amazon-sagemaker

我正在尝试部署在VPC内部署的“ AWS :: SageMaker :: Model”,它可以站立,但是当我删除它时,我会成功删除模型,但是当它尝试删除安全组时与此相关联,它不会说“ DependencyViolation”。

调查发现Model对象已被删除,但仍保留有附加了安全组的ENI。

堆栈输出如下:

stack_puts

与模型关联的IAM角色具有以下托管策略:“ arn:aws:iam :: aws:policy / AmazonSageMakerFullAccess”。

我知道Lambda以前可以在VPC中运行时发生过这种情况,并且此问题已得到解决,我想知道我们是否对Model有同样的问题。

还要注意一点,这似乎没有发生“ AWS :: SageMaker :: NotebookInstance”。

我的模型定义如下:

  TESTMODEL:
    Type: "AWS::SageMaker::Model"
    Properties:
      ExecutionRoleArn: !GetAtt ExecutionRole.Arn
      PrimaryContainer:
        Image: "514117268639.dkr.ecr.ap-southeast-2.amazonaws.com/forecasting-deepar:1"
        ModelDataUrl: "s3://test-sagemaker/sagemaker/DEMO-deepar/output/DEMO-deepar-2018-09-03-02-18-02-278/output/model.tar.gz"
      ModelName: "Test"
      VpcConfig:
        Subnets:
          - subnet-457ee522
          - subnet-c0b82c89
          - subnet-2cc22074
        SecurityGroupIds:
          - !GetAtt SageMakerModelSG.GroupId

  SageMakerModelSG:
    Type: "AWS::EC2::SecurityGroup"
    Properties:
      GroupDescription: "SageMakerModelSG"
      VpcId: vpc-4df92b2a
      Tags:
        - Key: "Name"
          Value: !Join [ -, [ !Ref "AWS::StackName", "SageMakerModelSG" ] ]

  SageMakerModelSGIngresshttps:
    Type: "AWS::EC2::SecurityGroupIngress"
    Properties:
      GroupId: !Ref SageMakerModelSG
      Description: "https"
      IpProtocol: "tcp"
      FromPort: "443"
      ToPort: "443"
      CidrIp: "0.0.0.0/0"

2 个答案:

答案 0 :(得分:1)

我向AWS提出了支持电话,结果是网络接口需要花费一些时间才能删除,因此堆栈将无法按照我的设计进行拆除。

解决方法是手动创建安全组或在其他堆栈中创建安全组。因此,sagemaker模型将被拆除,并且稍后将删除网络接口。

我更新了CI测试以反映这一点并且有效。

答案 1 :(得分:0)

您是否尝试过再次删除CloudFormation堆栈?将ENI与VPC解除关联可能会有所延迟,因此重试可能会有所帮助。

如果问题仍然存在,建议您创建包含以下信息的客户支持案例或AWS论坛帖子,以便SageMaker团队可以调查您的问题并提供见解。

  • 帐户ID
  • 区域(您在其中创建SageMaker资源的地方)
  • 端点/ EndpointConfig /型号名称
  • VPC和子网ID