开发者社区> 问答> 正文

如何通过模板创建资源?

资源编排如何通过模板创建资源?

展开
收起
小天使爱美 2020-03-24 17:09:58 762 0
1 条回答
写回答
取消 提交回答
  • 资源编排服务(ROS)通过模板创建一组阿里云资源。ROS把每组资源定义为一个栈(stack)。ROS通过栈管理,分组维护阿里云资源。

    前提条件 进行操作前,请确保您已经注册了阿里云账号。如还未注册,请先完成账号注册。

    背景信息 本文以simple_ecs_instance模板为例,为您介绍如何在ROS控制台上通过模板创建、管理和维护阿里云资源。ROS模板是JSON格式的文本文件。您可以在这个文本中定义自己的阿里云资源,例如:安全组、ECS实例、VPC、RDS实例等。

    操作步骤 登录ROS控制台 。 在左侧导航栏选择模板 > 模板示例。 查找模板simple_ecs_instance。模板示例 单击查看详情,模板会显示为JSON格式。 simple_ecs_instance模板的详细信息如下。 { "ROSTemplateFormatVersion": "2015-09-01", "Description": "One simple ECS instance with a security group and a vSwitch in a VPC. The user only needs to specify the image ID.", "Parameters": { "ImageId": { "Type": "String", "Description": "Image Id, represents the image resource to startup one ECS instance,, View image resources", "Label": "ECS Image Id", "Default": "centos_7" }, "InstanceType": { "Type": "String", "Description": "The instance type", "Label": "ECS Instance Type", "Default": "ecs.c5.large", "AllowedValues": [ "ecs.c5.large", "ecs.g5.large", "ecs.c5.xlarge", "ecs.g5.xlarge" ] }, "Password": { "Type": "String", "Description": "The login password of ECS instances", "ConstraintDescription": "[8, 30] characters, consists of uppercase letter, lowercase letter and special characters.", "Label": "ECS Instance Password", "MaxLength": "30", "MinLength": "8", "AllowedPattern": "[a-zA-Z0-9-\(\)\`\~\!@\#\$%\^&\-+=\|\{\}\[\]\:\;\‘\,\.\?\/]", "NoEcho": true, "Confirm": true } }, "Resources": { "WebServer": { "Type": "ALIYUN::ECS::Instance", "Properties": { "ImageId": { "Ref": "ImageId" }, "InstanceType": { "Ref": "InstanceType" }, "SecurityGroupId": { "Ref": "SecurityGroup" }, "PrivateIpAddress": "192.168.0.1", "VSwitchId": { "Ref": "vswitch" }, "VpcId": { "Ref": "vpc" }, "Password": { "Ref": "Password" } } }, "vswitch": { "Type": "ALIYUN::ECS::VSwitch", "Properties": { "VpcId": { "Ref": "vpc" }, "ZoneId": { "Fn::Select": [ "0", { "Fn::GetAZs": { "Ref": "ALIYUN::Region" } } ] }, "CidrBlock": "192.168.0.0/16" } }, "SecurityGroup": { "Type": "ALIYUN::ECS::SecurityGroup", "Properties": { "VpcId": { "Ref": "vpc" } } }, "vpc": { "Type": "ALIYUN::ECS::VPC", "Properties": { "CidrBlock": "192.168.0.0/16", "VpcName": "simple_ecs_vpc" } } }, "Outputs": { "InstanceId": { "Description": "The instance id of created ecs instance", "Value": { "Fn::GetAtt": [ "WebServer", "InstanceId" ] } }, "PublicIp": { "Description": "Public IP address of created ecs instance.", "Value": { "Fn::GetAtt": [ "WebServer", "PublicIp" ] } }, "SecurityGroupId": { "Description": "generated security group id for security group.", "Value": { "Fn::GetAtt": [ "SecurityGroup", "SecurityGroupId" ] } } } } 这个JSON文本包含5个一级字段: "ROSTemplateFormatVersion"定义模板的版本。 "Description"定义模板的解释说明。 "Parameters" : { }定义模板的参数。本例定义了镜像ID和实例规格等参数,并指定了参数的默认值。 "Resources" : { }定义模板可创建的阿里云资源。本例将创建一个ECS实例和一个安全组,资源属性将引用Parameters中定义的参数。 "Outputs": { }定义资源创建完成后,通过ROS输出栈的资源信息。本例将输出ECS实例的ID、公网IP和安全组ID。 单击右上角的创建资源栈。 在创建资源栈向导的配置模板参数页面,配置资源栈名称和参数录入,单击下一步。 在创建资源栈向导的配置资源栈页面,配置资源栈策略、失败时回滚、超时设置和标签,单击下一步。 资源的创建或更新未在超时设置的时间内完成,系统自动判断该操作失败,再根据失败时回滚设置,判断是否回滚到创建或更新资源之前的状态。 在创建资源栈向导的确认页面,单击创建资源栈。 您可以在资源栈管理页面,查看当前创建的资源栈状态和信息。 后续步骤 ROS可以通过用户指定的模板URL地址创建资源栈。您可以通过ROS管理资源,删除资源或只删除栈而保留资源,也可以根据自己的需求更新资源栈,重新检查资源栈的状态等。 说明 阿里云规定,当您创建按量付费的资源时(例如本例的ECS实例),您的账户中必须有超过100元的现金余额、可用信用额度或可用于开通产品的代金券,否则将导致资源创建失败。

    2020-03-24 18:33:58
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Terraform - 管理云资源的正确姿势 立即下载
Terraform-管理云资源的正确姿势 立即下载
阿里云容器服务概览 立即下载