全部产品
Search
文档中心

资源编排:从资源栈中移除资源

更新时间:Dec 22, 2023

本文向您介绍如何从资源栈中移除资源。

应用场景

当您不需要资源栈中的某个资源时,您可以通过更新资源栈模板的方式移除该资源。本文以EIP资源为例,向您介绍如何从资源栈移除资源并保留资源。

前提条件

请确保您已创建包含EIP资源的资源栈。更多信息,请参见使用现有资源创建资源栈ALIYUN::VPC::EIP

背景信息

移除资源时,会面临两种情况:

  • 从资源栈移除资源的同时,删除该资源本身。资源的删除策略DeletionPolicy设置为Delete

    说明

    如果您不设置资源的删除策略,默认为当前情况。

  • 仅从资源栈移除资源,保留资源本身。资源的删除策略DeletionPolicy设置为Retain

    说明

    为防止资源被误删除,建议您将删除策略DeletionPolicy设置为Retain

本文提供的示例为第二种情况,即仅从资源栈移除资源,但要保留资源本身。

操作步骤

  1. 登录资源编排控制台

  2. 在左侧导航栏,单击资源栈

  3. 在顶部菜单栏的地域下拉列表,选择资源栈的所在地域,例如:华东1(杭州)。

  4. 更新资源的删除策略,将待移除资源(例如:EIP)的DeletionPolicy设置为Retain

    当待移除资源未设置DeletionPolicy或设置DeletionPolicyDelete时需要执行该步骤,当DeletionPolicyRetain时直接跳过该步骤。

    1. 资源栈列表页面,单击资源栈右侧操作列的更新

    2. 单击上一步,然后在选择模板页面的准备模板区域,选择替换当前模板

    3. 模板录入方式区域,选择输入模板,在模板内容区域修改EIP的DeletionPolicy值为Retain,然后单击下一步

      本示例中资源栈的EIP资源未设置删除策略DeletionPolicy,代码如修改前所示。更新资源的删除策略后,代码如修改后所示。

      修改前

      ROSTemplateFormatVersion: '2015-09-01'
      Resources:
        Eip:
          Type: ALIYUN::VPC::EIP
          Properties:
            Bandwidth: 5
        Eip2:
          Type: ALIYUN::VPC::EIP
          Properties:
            Bandwidth: 5
      Outputs:
        EipAddress:
          Value:
            Fn::GetAtt:
              - Eip
              - EipAddress
        AllocationId:
          Value:
            Fn::GetAtt:
              - Eip
              - AllocationId
        EipAddress2:
          Value:
            Fn::GetAtt:
              - Eip2
              - EipAddress
        AllocationId2:
          Value:
            Fn::GetAtt:
              - Eip2
              - AllocationId

      修改后

      ROSTemplateFormatVersion: '2015-09-01'
      Resources:
        Eip:
          Type: ALIYUN::VPC::EIP
          DeletionPolicy: Retain
          Properties:
            Bandwidth: 5
        Eip2:
          Type: ALIYUN::VPC::EIP
          Properties:
            Bandwidth: 5
      Outputs:
        EipAddress:
          Value:
            Fn::GetAtt:
              - Eip
              - EipAddress
        AllocationId:
          Value:
            Fn::GetAtt:
              - Eip
              - AllocationId
        EipAddress2:
          Value:
            Fn::GetAtt:
              - Eip2
              - EipAddress
        AllocationId2:
          Value:
            Fn::GetAtt:
              - Eip2
              - AllocationId
    4. 配置参数页面,单击确认修改,完成资源删除策略的更新。

  5. 移除EIP资源。

    1. 资源栈列表页面,单击资源栈右侧操作列的更新

    2. 单击上一步,然后在选择模板页面的准备模板区域,选择替换当前模板

    3. 模板录入方式区域,选择输入模板,在模板内容区域修改模板内容,然后单击下一步

      本示例中,需要在模板的ResourcesOutputs中删除EIP的参数。删除后的示例模板如下所示:

      ROSTemplateFormatVersion: '2015-09-01'
      Resources:
        Eip2:
          Type: ALIYUN::VPC::EIP
          Properties:
            Bandwidth: 5
      Outputs:
        EipAddress2:
          Value:
            Fn::GetAtt:
              - Eip2
              - EipAddress
        AllocationId2:
          Value:
            Fn::GetAtt:
              - Eip2
              - AllocationId
    4. 配置参数页面,单击确认修改,完成资源栈更新。

执行结果

移除资源成功后,资源栈中将不再包含EIP资源。此时在资源栈的资源页签中将不会看到EIP资源,但您可以从VPC控制台的弹性公网IP页面查询到EIP信息,表示EIP2资源仍然保留。

后续操作

当您需要添加其他资源到现有资源栈,请参见将现有资源导入资源栈