基于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

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
运维 Prometheus 监控
如何在测试环境中保持操作系统、浏览器版本和服务器配置的稳定性和一致性?
如何在测试环境中保持操作系统、浏览器版本和服务器配置的稳定性和一致性?
|
4月前
|
人工智能 运维 安全
世界级大模型群,进化阿里云服务器操作系统新范式
世界级大模型群,进化阿里云服务器操作系统新范式
|
1月前
|
开发框架 .NET PHP
网站应用项目如何选择阿里云服务器实例规格+内存+CPU+带宽+操作系统等配置
对于使用阿里云服务器的搭建网站的用户来说,面对众多可选的实例规格和配置选项,我们应该如何做出最佳选择,以最大化业务效益并控制成本,成为大家比较关注的问题,如果实例、内存、CPU、带宽等配置选择不合适,可能会影响到自己业务在云服务器上的计算性能及后期运营状况,本文将详细解析企业在搭建网站应用项目时选购阿里云服务器应考虑的一些因素,以供参考。
|
2月前
|
NoSQL Linux PHP
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
75 4
|
2月前
|
人工智能 安全 Linux
|
3月前
|
弹性计算 开发框架 .NET
阿里云服务器购买教程及云服务器地域、实例、操作系统、带宽等参数选择指南
对于初次购买阿里云服务器的用户来说,想使用阿里云服务器搭建网站或者运行APP、小程序等项目,第一步就是要先购买阿里云服务器,下面小编以图文形式给大家介绍一下阿里云服务器的购买流程,以及购买过程中如何云服务器地域、实例、带宽等关键配置和选择这些参数的一些注意事项,以供参考。
|
3月前
|
弹性计算 关系型数据库 MySQL
CentOS 7.x操作系统的ECS云服务器上搭建WordPress网站
CentOS 7.x操作系统的ECS云服务器上搭建WordPress网站
|
5月前
|
存储 弹性计算 负载均衡
阿里云服务器地域、实例、带宽与操作系统等配置选择指南参考
在数字化时代,无论是个人博客、企业官网、APP后端支持,还是小程序运行或者其他项目,云服务器都扮演着至关重要的角色,考虑产品质量、服务和价格等因素,大家现在都喜欢选择阿里云服务器。然而,对于初次接触云服务的新手来说,可能并不是很清楚应该如何选阿里云服务器的地域、实例、带宽与操作系统等配置。本文将从地域选择、实例规格、操作系统、云盘配置、购买时长以及带宽选择等六个方面,为新手用户提供详细的选购指南,以供参考。
阿里云服务器地域、实例、带宽与操作系统等配置选择指南参考
|
3月前
|
存储 Linux
服务器数据恢复—Linux操作系统网站服务器数据恢复案例
服务器数据恢复环境: 一台linux操作系统网站服务器,该服务器上部署了几十个网站,使用一块SATA硬盘。 服务器故障&原因: 服务器在工作过程中突然宕机。管理员尝试重新启动服务器失败,于是将服务器上的硬盘拆下检测,发现很多坏扇区。联系当地的一家数据恢复公司处理,但是没有成功。
|
4月前
|
存储 数据挖掘 Linux
服务器数据恢复—Linux操作系统网站服务器数据恢复案例
服务器数据恢复环境: 一台linux操作系统服务器上跑了几十个网站,服务器上只有一块SATA硬盘。 服务器故障: 服务器突然宕机,尝试再次启动失败。将硬盘拆下检测,发现存在坏扇区

热门文章

最新文章