基于Conditions在不同操作系统创建ECS

简介: 通过创建或更新资源栈,ROS支持设置不同的条件,从而在不同的操作系统中创建IPv4和IPv6双栈云服务器。

基于Conditions在不同操作系统创建ECS

1. 编写ROS模板

模板说明

条件(Conditions)由Fn::And、Fn::Or、Fn::Not和Fn::Equals中的一个或多个函数定义,根据您在创建或更新资源栈时,指定的输入参数值进行计算。在每个条件中,都可以引用其他条件、参数值或映射。本文以创建绑定IPv4和IPv6双栈云服务器为例为您介绍。关于模板示例的更多信息,请参见创建绑定IPv4和IPv6双栈云服务器

在模板中根据Parameters的InstanceImageId参数是否以centos开头做为判断条件,在Conditions对象中使用Fn::Equals、Fn::Select、Fn::Split函数对所选择的InstanceImageId做数据处理与逻辑判断。代码示例如下:

{
  "Parameters": {
    "InstanceImageId": {
      "Type": "String",
      "Default": "centos_7",
      "Description": {
        "zh-cn": "镜像ID, <br>Linux系统请选择:<font color='red'><b>centos_7</b></font> <br>Windows系统请选择:<font color='red'><b>win2008r2;win2012r2;win2016</b></font>",
        "en": "Image ID,<br>Linux System Select:<font color='red'><b>centos_7</b></font> <br>Windows System Select:<font color='red'><b>win2008r2;win2012r2;win2016</b></font>"
      },
      "Label": {
        "zh-cn": "镜像",
        "en": "Image"
      }
    }
  },
  "Conditions": {
    "CreateLinux": {
      "Fn::Equals": [
        "centos",
        {
          "Fn::Select": [
            "0",
            {
              "Fn::Split": [
                "_",
                {
                  "Ref": "InstanceImageId"
                }
              ]
            }
          ]
        }
      ]
    }
  }
}

创建ECS初始化UserData时,使用Fn::If函数判断Conditions对象CreateLinux,实现选择不同操作系统执行不同初始化命令的需求,然后创建IPv4和IPv6双栈云服务器。代码示例如下:

{
  "Fn::If": [
    "CreateLinux",
    {
      "Fn::Replace": [
        {
          "ros-notify": {
            "Fn::GetAtt": [
              "WaitConditionHandle",
              "CurlCli"
            ]
          }
        },
        {
          "Fn::Join": [
            "",
            [
              "#!/bin/sh",
              " \n",
              "cd /opt \n",
              "wget http://ecs-image-utils.oss-cn-hangzhou.aliyuncs.com/ipv6/rhel/ecs-utils-ipv6 \n",
              "chmod +x ./ecs-utils-ipv6 \n",
              "./ecs-utils-ipv6 \n",
              "ros-notify -d \"{\\\"Data\\\" : \\\"SUCCESS\\\", \\\"Status\\\" : \\\"SUCCESS\\\"}\" \n"
            ]
          ]
        }
      ]
    },
    {
      "Fn::Replace": [
        {
          "ros-notify": {
            "Fn::GetAtt": [
              "WaitConditionHandle",
              "PowerShellCurlCli"
            ]
          }
        },
        {
          "Fn::Join": [
            "",
            [
              "[powershell]\r\n",
              "New-Item -Path \"C:\\set_ipv6\" -Force -type directory\r\n",
              "cd C:\\set_ipv6 \r\n",
              "$install_dir=\"C:\\set_ipv6\" \r\n",
              "$install_path = \"$install_dir\\ecs-utils-ipv6.exe\" \r\n",
              "$tool_url = 'http://ecs-image-utils.oss-cn-hangzhou.aliyuncs.com/ipv6/win/64/ecs-utils-ipv6.exe' \r\n",
              "Invoke-WebRequest -uri $tool_url -OutFile $install_path \r\n",
              "Unblock-File $install_path \r\n",
              "Start-Process -FilePath \"$install_path\" -ArgumentList \"--noenterkey\" -NoNewWindow \r\n",
              "ros-notify\r\n"
            ]
          ]
        }
      ]
    }
  ]
}

声明创建的资源(Resources)

示例模版如下:

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Description": {
    "en": "Create a cloud server with an IPV4/IPV6 stack and automatically assign IPv6 public address to the cloud host.",
    "zh-cn": "创建一台具备IPV4/IPV6双栈的云服务器,并为云主机自动分配IPv6公网地址。"
  },
  "Metadata": {
    "ALIYUN::ROS::Interface": {
      "ParameterGroups": [
        {
          "Parameters": [
            "VpcCidrBlock",
            "VSwitchCidrBlock",
            "VSwitchZoneId",
            "InstanceImageId",
            "InstanceType",
            "SystemDiskSize",
            "InstancePublicIP",
            "InternetChargeType",
            "IPV6Bandwidth",
            "IPV6GateWaySpec",
            "SystemDiskCategory",
            "InstancePassword"
          ],
          "Label": {
            "default": "ECS"
          }
        }
      ],
      "TemplateTags": [
        "acs:example:云起实验室:基于Conditions在不同操作系统创建ECS"
      ]
    }
  },
  "Parameters": {
    "SystemDiskCategory": {
      "Type": "String",
      "Label": {
        "en": "System Disk Type",
        "zh-cn": "系统盘类型"
      },
      "Description": {
        "en": "<font color='blue'><b>Optional values:</b></font><br>[cloud_efficiency: <font color='green'>Efficient Cloud Disk</font>]<br>[cloud_ssd: <font color='green'>SSD Cloud Disk</font>]<br>[cloud_essd: <font color='green'>ESSD Cloud Disk</font>]<br>[cloud: <font color='green'>Cloud Disk</font>]<br>[ephemeral_ssd: <font color='green'>Local SSD Cloud Disk</font>]",
        "zh-cn": "<font color='blue'><b>可选值:</b></font><br>[cloud_efficiency: <font color='green'>高效云盘</font>]<br>[cloud_ssd: <font color='green'>SSD云盘</font>]<br>[cloud_essd: <font color='green'>ESSD云盘</font>]<br>[cloud: <font color='green'>普通云盘</font>]<br>[ephemeral_ssd: <font color='green'>本地SSD盘</font>]"
      },
      "AllowedValues": [
        "cloud_efficiency",
        "cloud_ssd",
        "cloud",
        "cloud_essd",
        "ephemeral_ssd"
      ],
      "Default": "cloud_ssd"
    },
    "InstanceImageId": {
      "Type": "String",
      "Default": "centos_7",
      "Description": {
        "zh-cn": "镜像ID, <br>Linux系统请选择:<font color='red'><b>centos_7</b></font> <br>Windows系统请选择:<font color='red'><b>win2008r2;win2012r2;win2016</b></font>",
        "en": "Image ID,<br>Linux System Select:<font color='red'><b>centos_7</b></font> <br>Windows System Select:<font color='red'><b>win2008r2;win2012r2;win2016</b></font>"
      },
      "Label": {
        "zh-cn": "镜像",
        "en": "Image"
      }
    },
    "InstanceType": {
      "Type": "String",
      "Description": {
        "zh-cn": "填写VSwitch可用区下可使用的规格;<br>通用规格:<font color='red'><b>ecs.c5.large</b></font><br>注:可用区可能不支持通用规格<br>规格详见:<a href='https://help.aliyun.com/document_detail/25378.html' target='_blank'><b><font color='blue'>实例规格族</font></a></b>",
        "en": "Fill in the specifications that can be used under the VSwitch availability zone;</b></font><br>general specifications:<font color='red'><b>ecs.c5.large</b></font><br>note: a few zones do not support general specifications<br>see detail: <a href='https://www.alibabacloud.com/help/en/doc-detail/25378.html' target='_blank'><b><font color='blue'>Instance Specification Family</font></a></b>"
      },
      "Label": {
        "zh-cn": "实例规格",
        "en": "Instance Type"
      },
      "AssociationProperty": "ALIYUN::ECS::Instance::InstanceType",
      "AssociationPropertyMetadata": {
        "ZoneId": "VSwitchZoneId"
      }
    },
    "InstancePassword": {
      "NoEcho": true,
      "Type": "String",
      "Description": {
        "en": "Server login password, Length 8-30, must contain three(Capital letters, lowercase letters, numbers, ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ Special symbol in).",
        "zh-cn": "服务器登录密码,长度8-30,必须包含三项(大写字母、小写字母、数字、 ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ 中的特殊符号)。"
      },
      "AllowedPattern": "[0-9A-Za-z\\_\\-\\&:;'<>,=%`~!@#\\(\\)\\$\\^\\*\\+\\|\\{\\}\\[\\]\\.\\?\\/]+$",
      "Label": {
        "en": "Instance Password",
        "zh-cn": "实例密码"
      },
      "ConstraintDescription": {
        "en": "Length 8-30, must contain three(Capital letters, lowercase letters, numbers, ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ Special symbol in).",
        "zh-cn": "长度8-30,必须包含三项(大写字母、小写字母、数字、 ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ 中的特殊符号)。"
      },
      "MinLength": 8,
      "MaxLength": 30
    },
    "InstancePublicIP": {
      "Type": "Boolean",
      "Description": {
        "zh-cn": "是否分配IPV4公共IP。",
        "en": "Whether to assign a IPV4 common IP."
      },
      "Label": {
        "zh-cn": "分配IPV4公网IP",
        "en": "Allocate IPV4 Public IP"
      },
      "Default": false
    },
    "VSwitchZoneId": {
      "AssociationProperty": "ALIYUN::ECS::Instance:ZoneId",
      "Type": "String",
      "Description": {
        "zh-cn": "可用区ID。<br><b>注: <font color='blue'>选择前请确认该可用区是否支持创建ECS资源的规格,建议与其他交换机可用区不同</font></b>",
        "en": "Availability Zone ID.<br><b>note:<font color='blue'>before selecting, please confirm that the Availability Zone supports the specification of creating ECS resources,which is recommended to be different from other VSwitch Availability Zone</font></b>"
      },
      "Label": {
        "zh-cn": "交换机可用区",
        "en": "VSwitch Availability Zone"
      }
    },
    "SystemDiskSize": {
      "Default": 40,
      "Type": "Number",
      "Description": {
        "zh-cn": "系统盘大小, 取值范围:[40, 500], 单位:GB。",
        "en": "System disk size, range of values: 40-500, units: GB."
      },
      "Label": {
        "zh-cn": "系统盘空间",
        "en": "System Disk Space"
      }
    },
    "IPV6Bandwidth": {
      "Default": 10,
      "Type": "Number",
      "Description": {
        "zh-cn": "IPv6网关公网带宽, 取值范围:[1, 5000], 单位:Mbps。当公网带宽计费方式为按使用流量计费时取值范围为1~2000Mbps,当公网带宽计费方式为按带宽计费时取值范围为1~5000Mbps。",
        "en": "IPv6 network Gateway public network bandwidth, value range: s1, 5000, in Mbps. When the public network bandwidth billing method is based on the use of traffic billing value range of 1 to 2000Mbps, when the public network bandwidth billing method is metered by bandwidth when the value range is 1 to 5000Mbps."
      },
      "Label": {
        "zh-cn": "IPv6网关公网带宽",
        "en": "IPv6 Network Gateway Public Network Bandwidth"
      }
    },
    "IPV6GateWaySpec": {
      "Default": "Small",
      "Type": "String",
      "Label": {
        "en": "Specifications for the IPv6 Gateway",
        "zh-cn": "IPv6网关的规格"
      },
      "Description": {
        "en": "IPv6 gateway specifications, optional values: Small (free version), Medium (enterprise version), Large (enterprise enhancement version)",
        "zh-cn": "IPv6网关的规格,可选值:Small(免费版),Medium(企业版),Large(企业增强版)"
      },
      "AllowedValues": [
        "Small",
        "Medium",
        "Large"
      ]
    },
    "VpcCidrBlock": {
      "Default": "192.168.0.0/16",
      "AllowedValues": [
        "192.168.0.0/16",
        "172.16.0.0/12",
        "10.0.0.0/8"
      ],
      "Type": "String",
      "Description": {
        "en": "New proprietary network IP address segment range, recommended use of the following IP address segments<br><font color='green'>[10.0.0.0/8]</font><br><font color='green'>[172.16.0.0/12]</font><br><font color='green'>[192.168.0.0/16]</font>",
        "zh-cn": "新建专有网络IP地址段范围,推荐使用以下的IP地址段<br><font color='green'>[10.0.0.0/8]</font><br><font color='green'>[172.16.0.0/12]</font><br><font color='green'>[192.168.0.0/16]</font>"
      },
      "Label": {
        "zh-cn": "专有网络IPV4网段",
        "en": "VPC IPV4 CIDR Block"
      }
    },
    "VSwitchCidrBlock": {
      "Default": "192.168.0.0/24",
      "Type": "String",
      "Description": {
        "en": "Network segments of new switches, subnets of virtual proprietary networks",
        "zh-cn": "新建交换机的网段,所属虚拟专有网络的子网"
      },
      "Label": {
        "zh-cn": "交换机IPV4网段",
        "en": "VSwitch IPV4 CIDR Block"
      }
    },
    "InternetChargeType": {
      "Type": "String",
      "AllowedValues": [
        "PayByTraffic",
        "PayByBandwidth"
      ],
      "Default": "PayByBandwidth",
      "Description": {
        "en": "<font color='blue'><b>Optional values:</b></font><br>[PayByTraffic: <font color='green'>Billing by Usage</font>]<br>[PayByBandwidth: <font color='green'>Billing by Bandwidth</font>]",
        "zh-cn": "<font color='blue'><b>可选值:</b></font><br>[PayByTraffic: <font color='green'>按流量计费</font>]<br>[PayByBandwidth: <font color='green'>按带宽计费</font>]"
      },
      "Label": {
        "zh-cn": "IPv6公网带宽的计费方式",
        "en": "IPv6 Metric Bandwidth is Billed."
      }
    }
  },
  "Resources": {
    "WaitCondition": {
      "Type": "ALIYUN::ROS::WaitCondition",
      "Properties": {
        "Timeout": 900,
        "Count": 1,
        "Handle": {
          "Ref": "WaitConditionHandle"
        }
      }
    },
    "WaitConditionHandle": {
      "Type": "ALIYUN::ROS::WaitConditionHandle"
    },
    "EcsVSwitch": {
      "Type": "ALIYUN::ECS::VSwitch",
      "Properties": {
        "VpcId": {
          "Ref": "EcsVpc"
        },
        "ZoneId": {
          "Ref": "VSwitchZoneId"
        },
        "Ipv6CidrBlock": 0,
        "CidrBlock": {
          "Ref": "VSwitchCidrBlock"
        }
      }
    },
    "EcsInstance": {
      "Type": "ALIYUN::ECS::Instance",
      "DependsOn": [
        "EcsVpc",
        "EcsSecurityGroup",
        "EcsVSwitch"
      ],
      "Properties": {
        "IoOptimized": "optimized",
        "VpcId": {
          "Ref": "EcsVpc"
        },
        "SecurityGroupId": {
          "Ref": "EcsSecurityGroup"
        },
        "VSwitchId": {
          "Ref": "EcsVSwitch"
        },
        "ImageId": {
          "Ref": "InstanceImageId"
        },
        "AllocatePublicIP": {
          "Ref": "InstancePublicIP"
        },
        "InstanceType": {
          "Ref": "InstanceType"
        },
        "SystemDiskSize": {
          "Ref": "SystemDiskSize"
        },
        "SystemDiskCategory": {
          "Ref": "SystemDiskCategory"
        },
        "Password": {
          "Ref": "InstancePassword"
        },
        "UserData": {
          "Fn::If": [
            "CreateLinux",
            {
              "Fn::Replace": [
                {
                  "ros-notify": {
                    "Fn::GetAtt": [
                      "WaitConditionHandle",
                      "CurlCli"
                    ]
                  }
                },
                {
                  "Fn::Join": [
                    "",
                    [
                      "#!/bin/sh",
                      " \n",
                      "cd /opt \n",
                      "wget http://ecs-image-utils.oss-cn-hangzhou.aliyuncs.com/ipv6/rhel/ecs-utils-ipv6 \n",
                      "chmod +x ./ecs-utils-ipv6 \n",
                      "./ecs-utils-ipv6 \n",
                      "ros-notify -d \"{\\\"Data\\\" : \\\"SUCCESS\\\", \\\"Status\\\" : \\\"SUCCESS\\\"}\" \n"
                    ]
                  ]
                }
              ]
            },
            {
              "Fn::Replace": [
                {
                  "ros-notify": {
                    "Fn::GetAtt": [
                      "WaitConditionHandle",
                      "PowerShellCurlCli"
                    ]
                  }
                },
                {
                  "Fn::Join": [
                    "",
                    [
                      "[powershell]\r\n",
                      "New-Item -Path \"C:\\set_ipv6\" -Force -type directory\r\n",
                      "cd C:\\set_ipv6 \r\n",
                      "$install_dir=\"C:\\set_ipv6\" \r\n",
                      "$install_path = \"$install_dir\\ecs-utils-ipv6.exe\" \r\n",
                      "$tool_url = 'http://ecs-image-utils.oss-cn-hangzhou.aliyuncs.com/ipv6/win/64/ecs-utils-ipv6.exe' \r\n",
                      "Invoke-WebRequest -uri $tool_url -OutFile $install_path \r\n",
                      "Unblock-File $install_path \r\n",
                      "Start-Process -FilePath \"$install_path\" -ArgumentList \"--noenterkey\" -NoNewWindow \r\n",
                      "ros-notify\r\n"
                    ]
                  ]
                }
              ]
            }
          ]
        }
      }
    },
    "EcsSecurityGroup": {
      "Type": "ALIYUN::ECS::SecurityGroup",
      "Properties": {
        "VpcId": {
          "Ref": "EcsVpc"
        },
        "SecurityGroupIngress": [
          {
            "Priority": 1,
            "PortRange": "22/22",
            "NicType": "internet",
            "SourceCidrIp": "0.0.0.0/0",
            "IpProtocol": "tcp"
          },
          {
            "Priority": 1,
            "PortRange": "3389/3389",
            "NicType": "intranet",
            "SourceCidrIp": "0.0.0.0/0",
            "IpProtocol": "tcp"
          },
          {
            "PortRange": "-1/-1",
            "Priority": 1,
            "Ipv6SourceCidrIp": "::/0",
            "IpProtocol": "all",
            "NicType": "intranet"
          }
        ],
        "SecurityGroupEgress": [
          {
            "Priority": 1,
            "PortRange": "22/22",
            "NicType": "internet",
            "DestCidrIp": "0.0.0.0/0",
            "IpProtocol": "tcp"
          },
          {
            "Priority": 1,
            "PortRange": "3389/3389",
            "NicType": "intranet",
            "DestCidrIp": "0.0.0.0/0",
            "IpProtocol": "tcp"
          },
          {
            "PortRange": "-1/-1",
            "Priority": 1,
            "IpProtocol": "all",
            "Ipv6DestCidrIp": "::/0",
            "NicType": "intranet"
          }
        ]
      }
    },
    "VpcIpv6Gateway": {
      "Type": "ALIYUN::VPC::Ipv6Gateway",
      "Properties": {
        "VpcId": {
          "Ref": "EcsVpc"
        },
        "Name": "MyIpv6Gateway",
        "Spec": {
          "Ref": "IPV6GateWaySpec"
        }
      }
    },
    "VpcIpv6InternetBandwidth": {
      "DependsOn": [
        "VpcIpv6Gateway",
        "EcsAssignIpv6Addresses"
      ],
      "Type": "ALIYUN::VPC::Ipv6InternetBandwidth",
      "Properties": {
        "Bandwidth": {
          "Ref": "IPV6Bandwidth"
        },
        "Ipv6GatewayId": {
          "Ref": "VpcIpv6Gateway"
        },
        "Ipv6AddressId": {
          "Fn::Select": [
            0,
            {
              "Fn::GetAtt": [
                "EcsAssignIpv6Addresses",
                "Ipv6AddressIds"
              ]
            }
          ]
        },
        "InternetChargeType": {
          "Ref": "InternetChargeType"
        }
      }
    },
    "EcsVpc": {
      "Type": "ALIYUN::ECS::VPC",
      "Properties": {
        "CidrBlock": {
          "Ref": "VpcCidrBlock"
        },
        "VpcName": {
          "Fn::Join": [
            "-",
            [
              "StackId",
              {
                "Ref": "ALIYUN::StackId"
              }
            ]
          ]
        },
        "EnableIpv6": true
      }
    },
    "EcsAssignIpv6Addresses": {
      "Type": "ALIYUN::ECS::AssignIpv6Addresses",
      "DependsOn": [
        "EcsInstance"
      ],
      "Properties": {
        "NetworkInterfaceId": {
          "Fn::GetAtt": [
            "EcsInstance",
            "PrimaryNetworkInterfaceId"
          ]
        },
        "Ipv6AddressCount": 1
      }
    }
  },
  "Outputs": {
    "EcsInstancePrivateIp": {
      "Description": "EcsInstance PrivateIp",
      "Value": {
        "Fn::GetAtt": [
          "EcsInstance",
          "PrivateIp"
        ]
      }
    },
    "EcsInstanceId": {
      "Description": "EcsInstance InstanceId",
      "Value": {
        "Fn::GetAtt": [
          "EcsInstance",
          "InstanceId"
        ]
      }
    },
    "EcsInstanceIpv6Address": {
      "Description": "EcsInstance Ipv6Address",
      "Value": {
        "Fn::Select": [
          "0",
          {
            "Fn::GetAtt": [
              "EcsAssignIpv6Addresses",
              "Ipv6Addresses"
            ]
          }
        ]
      }
    }
  },
  "Conditions": {
    "CreateLinux": {
      "Fn::Equals": [
        "centos",
        {
          "Fn::Select": [
            "0",
            {
              "Fn::Split": [
                "_",
                {
                  "Ref": "InstanceImageId"
                }
              ]
            }
          ]
        }
      ]
    }
  }
}

2. 创建资源栈

以下操作需登录阿里云账号,在资源编排控制台完成以下操作流程。

访问资源编排控制台

1. 进入资源编排控制台

访问资源栈页面

2. 在资源编排控制台左侧导航栏中单机资源栈。

选择资源创建地域

3. 在页面左上角的地域下拉列表,选择资源栈的所在地域(例如:华北2:北京)。

创建资源栈

4. 在资源栈列表页面,单击创建资源栈,然后在下拉列表中选择使用新资源(标准)

输入模板

5. 在选择模板页面,选择已有模板:选择输入模板方式,然后将上述示例模板内容复制到模板内容输入框内。然后单击下一步

模板参数配置

6. 在配置模板参数页面,配置资源栈名称及其余参数,然后单击下一步

参数配置

参数

说明

专有网络IPv4网段

专有网络的IPv4网段。推荐使用以下网段:

  • 10.0.0.0/8
  • 172.16.0.0/12
  • 192.168.0.0/16

更多信息,请参见专有网络和交换机概述

交换机IPv4网段

专有网络下交换机的IPv4网段。

更多信息,请参见专有网络和交换机概述

交换机可用区

专有网络下的交换机可用区ID。

镜像

ECS实例的镜像ID。可选择Linux(Centos)系列镜像或Windows系列镜像。

更多信息,请参见镜像概述

实例规格

ECS实例规格。

请选用有效的实例规格。更多信息,请参见实例规格族

系统盘空间

ECS实例的系统盘空间。

取值范围:40~500。

单位:GB。

分配IPv4公网IP

是否为ECS实例分配IPv4公网地址。

  • 选中方框:分配公网地址。
  • 不选中方框:不分配公网地址。

IPv6公网带宽的计费方式

IPv6公网带宽的计费方式。取值:

  • PayByTraffic:按流量计费。
  • PayByBandwidth:按带宽计费。

IPv6网关公网带宽

IPv6网关的公网带宽。

取值范围:1~5000。

单位:Mbps。

IPv6网关的规格

IPv6网关的规格。取值:

  • Small:免费版。
  • Medium:企业版。
  • Large:企业增强版。

系统盘类型

ECS实例的系统盘类型。取值:

  • cloud_efficiency:高效云盘。
  • cloud_ssd:SSD云盘。
  • cloud_essd:ESSD云盘。
  • cloud:普通云盘。
  • ephemeral_ssd:本地SSD盘。

更多信息,请参见云盘概述

实例密码

ECS实例的登录密码。

资源栈信息配置

配置项

说明

资源栈策略

取值:

  • 无资源栈策略:不设置资源栈策略。
  • 输入资源栈策略:上传文件或在文本框手动输入资源栈策略。

关于资源栈策略的更多信息,请参见资源栈策略

失败时回滚

取值:

  • 已启用:创建资源栈失败时,启用回滚策略。
  • 已禁用:创建资源栈失败时,禁用回滚策略。

超时设置

如果所有资源的创建或更新没有在该时间内完成,系统将自动回滚到创建或更新之前的状态。

取值范围:10~1440。

单位:分钟。

删除保护

防止资源栈被意外删除。取值:

  • 已启用:启用删除保护。
  • 已禁用:禁用删除保护。

RAM角色

您可以创建可信实体为资源编排服务的RAM角色,然后根据ROS模板中资源所需最小权限为RAM角色授权。

标签

由一对键值对组成,方便您对资源栈进行分类。

您可以单击添加,然后在编辑标签绑定对话框设置标签键标签值,最后单击确定

资源组

您可以选择资源栈所在的资源组。如果不指定资源组,资源栈将加入默认资源组。

关于如何创建资源组,请参见创建资源组

创建资源栈

7.  在检查并确认页面,单击创建。

3. 查看资源栈

本步骤将指导您在完成创建资源栈操作后,如何查询资源栈详情。

1. 进入资源编排控制台

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

3. 在页面左上角的地域下拉列表,选择资源栈的所在地域。

4. 在资源栈列表页面,找到需要查看的资源栈,单击资源栈名称列的资源栈ID

5. 在资源栈管理页面,您可以执行以下操作:

  • 单击资源栈信息页签,查看基本信息和资源栈策略。

查看资源栈事件

6. 单击事件页签,查看资源栈生命周期中发生的每一个事件。

查看资源栈资源

7. 单击资源页签,查看资源栈创建涉及到的资源。

说明:ECS属于付费云产品资源,请您及时释放。您可以点击资源列表下的EcsInstance栏中的ECS实例ID,即可跳转至ECS控制台查看本次创建的ECS资源信息。

4. 释放资源栈

本步骤将指导您如何释放通过资源编排控制台创建资源内容。

进入资源栈列表

1. 在模板页签,单击右上角的 图标。

选择待删除的资源栈

2. 在资源栈列表页面,找到您创建的资源栈,单击操作列下的删除。

选择资源栈删除方式并删除

3. 在删除资源栈对话框中,删除方式选择释放资源,单击确定。

实验链接:https://developer.aliyun.com/adc/scenario/a31cd3aa1aa84d8a854c58d906cdba65

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
21天前
|
存储 弹性计算 负载均衡
阿里云服务器地域、实例、带宽与操作系统等配置选择指南参考
在数字化时代,无论是个人博客、企业官网、APP后端支持,还是小程序运行或者其他项目,云服务器都扮演着至关重要的角色,考虑产品质量、服务和价格等因素,大家现在都喜欢选择阿里云服务器。然而,对于初次接触云服务的新手来说,可能并不是很清楚应该如何选阿里云服务器的地域、实例、带宽与操作系统等配置。本文将从地域选择、实例规格、操作系统、云盘配置、购买时长以及带宽选择等六个方面,为新手用户提供详细的选购指南,以供参考。
阿里云服务器地域、实例、带宽与操作系统等配置选择指南参考
|
7天前
|
存储 数据挖掘 Linux
服务器数据恢复—Linux操作系统网站服务器数据恢复案例
服务器数据恢复环境: 一台linux操作系统服务器上跑了几十个网站,服务器上只有一块SATA硬盘。 服务器故障: 服务器突然宕机,尝试再次启动失败。将硬盘拆下检测,发现存在坏扇区
|
23天前
|
运维 算法 调度
深入理解操作系统:进程调度与优先级自动化运维:使用Ansible实现服务器集群管理
【8月更文挑战第27天】在操作系统的众多奥秘中,进程调度无疑是一个既简单又复杂的主题。它就像是交响乐团中的指挥,协调着每一个音符,确保乐曲和谐而有序地进行。本文将带领读者走进进程调度的世界,探索其背后的原理和实现,同时通过代码示例揭示其精妙之处。让我们一起揭开进程调度的神秘面纱,理解它在操作系统中的重要性。
|
2月前
|
弹性计算 Ubuntu Linux
阿里云服务器的镜像是什么?操作系统选择看这篇就够了!
阿里云服务器镜像是服务器的“装机盘”,用于安装操作系统、初始化应用数据和预装软件。镜像分公共、自定义、共享、云市场和社区镜像。公共镜像为官方提供,含正版授权;自定义镜像由用户创建;共享镜像由其他账户共享;云市场镜像含预装软件;社区镜像由用户公开发布。操作系统选择取决于应用场景,推荐Linux选Alibaba Cloud Linux,Windows选2022数据中心版。低配服务器推荐Linux以节省资源。64位操作系统优于32位。中国大陆地域服务器支持免费无限次更换操作系统,非中国大陆地域有限制。Alibaba Cloud Linux由阿里云推出,针对ECS优化,兼容RHEL/CentOS生态。
456 14
|
2月前
|
弹性计算 Ubuntu Linux
阿里云服务器镜像是什么?操作系统怎么选择比较好?
阿里云服务器镜像是服务器的“装机盘”,用于安装操作系统及预置软件。镜像分为公共、自定义、共享、云市场和社区镜像。公共镜像为官方提供,含正版授权;自定义镜像由用户创建;共享镜像由其他用户共享;云市场镜像含预装软件;社区镜像公开发布。操作系统选择应考虑应用需求、资源占用和维护支持。推荐Linux使用Alibaba Cloud Linux,Windows使用2022数据中心版。在中国大陆地域的服务器可免费无限次更换操作系统,在非中国大陆地域则有限制。Alibaba Cloud Linux是官方推出的优化版Linux,兼容RHEL/CentOS生态,提供长期支持。
|
2月前
|
弹性计算 Linux 云计算
云服务器 ECS产品使用问题之如何更换操作系统
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。
|
2月前
|
弹性计算 安全 Ubuntu
新手3分钟1Panel安装教程,使用阿里云服务器CentOS操作系统
在阿里云CentOS 7.9服务器上安装1Panel面板,包括远程连接ECS、执行安装命令、设置安装目录(默认/opt)、开启20410端口、配置安全入口和用户密码。记得在阿里云安全组中开放20410端口以访问面板。
新手3分钟1Panel安装教程,使用阿里云服务器CentOS操作系统
|
2月前
|
安全 固态存储 Linux
服务器linux操作系统重装的完整流程-傻瓜式教学
服务器linux操作系统重装的完整流程-傻瓜式教学
|
4月前
|
弹性计算 负载均衡 Linux
阿里云服务器地域、实例、带宽与操作系统选择思路参考
在数字化时代,无论是个人博客、企业官网、APP后端支持,还是小程序运行,云服务器都扮演着至关重要的角色。考虑到性价比大家现在都喜欢选择阿里云服务器。然而,对于初次接触云服务的新手来说,可能并不是很清楚应该如何选阿里云服务器的地域、实例、带宽与操作系统等配置。本文将从地域选择、实例规格、操作系统、云盘配置、购买时长以及带宽选择等六个方面,为新手用户提供详细的选购思路参考,以免选错或者不合适需要从新选择。
阿里云服务器地域、实例、带宽与操作系统选择思路参考
|
4月前
|
人工智能 安全 Linux
人工智能时代下,国产服务器操作系统如何加快发展?
【4月更文挑战第3天】人工智能时代下,国产服务器操作系统如何加快发展?

热门文章

最新文章