全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 钉钉智能硬件
资源编排

入门示例

更新时间:2017-04-26 10:37:10

资源编排(ROS)通过模板创建一组阿里云资源。ROS 把这组资源定义为一个栈(stack)。ROS 通过 stack 管理,维护这组阿里云的资源。本文就将使用一个简单的 ROS 模板创建阿里云资源,然后在 ROS 的控制台管理维护这组资源。

ROS 模板是一个 JSON 格式文本文件,用户在这个文本中申明定义自己的阿里云资源,例如安全组、ECS、VPC、RDS 等等。 ROS 的控制台已经提供了一些常用的模版样例。本例就通过已有的模板样例中的模板来创建阿里云资源。

  1. 必须拥有阿里云的帐户。如果没有,请到阿里云官网首页申请。

  2. 进入 ROS 的控制台。如果您是首次使用 ROS,那么需要接受 ROS 的协议,同意开通 ROS 服务。ROS 服务是免费,开通服务不会产生任何费用。

  3. 在控制台左上侧单击模板样例,页面显示 ROS 提供的常用模板,从模板示例中找到simple_ecs_instance,通过这个模板将创建一个 ECS 实例并加入到一个安全组。

    simple_ecs_template

  4. 每个模板样例都有一个预览创建按钮,单击预览按钮会显示 JSON 模板,simple_ecs_instance 的详细模板如下:

    1. {
    2. "ROSTemplateFormatVersion" : "2015-09-01",
    3. "Description": "一个简配的 ECS 实例,包括一个安全组,用户只需要指定 imageId",
    4. "Parameters" : {
    5. "ImageId": {
    6. "Type" : "String",
    7. "Default": "centos7u2_64_40G_cloudinit_20160728.raw",
    8. "Description": "镜像文件 ID,表示启动实例时选择的镜像资源, <a href='#/product/cn-shenzhen/list/imageList' target='_blank'>查看镜像资源</a>"
    9. },
    10. "InstanceType": {
    11. "Type": "String",
    12. "Description": "实例的资源规格",
    13. "Default": "ecs.s1.small",
    14. "AllowedValues": [
    15. "ecs.t1.small",
    16. "ecs.s1.small",
    17. "ecs.s1.medium",
    18. "ecs.s1.large",
    19. "ecs.s2.small",
    20. "ecs.s2.large",
    21. "ecs.s2.xlarge",
    22. "ecs.s2.2xlarge",
    23. "ecs.s3.medium",
    24. "ecs.s3.large",
    25. "ecs.m1.medium",
    26. "ecs.m2.medium",
    27. "ecs.m1.xlarge",
    28. "ecs.c1.small",
    29. "ecs.c1.large",
    30. "ecs.c2.medium",
    31. "ecs.c2.large",
    32. "ecs.c2.xlarge"
    33. ]
    34. }
    35. },
    36. "Resources" : {
    37. "WebServer": {
    38. "Type": "ALIYUN::ECS::Instance",
    39. "Properties": {
    40. "ImageId" : {"Ref": "ImageId"},
    41. "InstanceType": {"Ref": "InstanceType"},
    42. "SecurityGroupId": {"Ref": "SecurityGroup"}
    43. }
    44. },
    45. "SecurityGroup": {
    46. "Type": "ALIYUN::ECS::SecurityGroup",
    47. }
    48. },
    49. "Outputs": {
    50. "InstanceId": {
    51. "Value" : {"Fn::GetAtt": ["WebServer","InstanceId"]}
    52. },
    53. "PublicIp": {
    54. "Value" : {"Fn::GetAtt": ["WebServer","PublicIp"]}
    55. },
    56. "SecurityGroupId": {
    57. "Value" : {"Fn::GetAtt": ["SecurityGroup","SecurityGroupId"]}
    58. }
    59. }
    60. }

    这个 JSON 文本包含五个顶级字段:

    "ROSTemplateFormatVersion" : "2015-09-01"

    定义模板版本。

    "Description": "一个简配的 ECS 实例,包括一个安全组,用户只需要指定imageId"

    定义对模板的解释说明。

    "Parameters" : { }

    定义模板的一些参数,本例中定义了镜像 ID 的参数,实例规格的参数,并指定了默认值。

    "Resources" : { }

    定义这个模板将要创建的阿里云资源,本例中申明将要创建一个 ECS 实例和一个安全组;这里申明的资源属性可以引用Parameters中定义的参数。

    "Outputs": { }

    定义资源创建完成后,通过 ROS 的栈输出资源信息。本例中,将输出 ECS 实例的 ID、公网 IP 和安全组 ID。

  5. 单击创建 stack,在新页面中,在所在 region的下拉框中选择 region ,本例选择华北 2 region ,单击右下角下一步

    预览选region

  6. 给您将要创建的这组资源指定一个唯一的 stack 名称,其他的都默认不需要修改,单击创建,会提示创建请求提交成功

    输入参数

  7. 可以单击左侧的资源栈管理查看 stack 的状态,当栈创建成功后,Outputs中定义的那些值,就会输出。看一下本例中 stack 的输出情况:

    栈信息输出

在第七步所示页面中,通过资源可以查看 stack 中的所有资源;通过事件可以查看 ROS 创建这个资源栈的时候,都做了什么事情,如果任何涉及资源栈的操作失败了,这里也会显示具体是操作哪个资源失败的原因;通过模板可以查看资源栈的原始模板。

以上示例只是通过 ROS 的文本模板快速创建资源,ROS 也可以通过用户指定的模板 URL 地址创建资源。除此之外,ROS 同时有管理资源的能力。用户可以删除自己的资源组,或者只删除 stack 而保留资源,还能根据自己的需求更新一个资源栈,重新检查资源栈的状态等等。

栈操作

提示:

阿里云规定创建按量付费的资源,例如本例的 ECS 实例,账号需要有超过 100 元的现金、可用信用额度或者可用于开通产品的代金券。如果创建失败,请检查您的账户是否余额不足 100 元。

本文导读目录