文档首页 > > 最佳实践> 使用AOS设计器快速部署弹性云服务器

使用AOS设计器快速部署弹性云服务器

分享
更新时间: 2019/06/18 GMT+08:00

弹性云服务器(Elastic Cloud Server)是一种可随时自助获取、计算能力可弹性伸缩的云服务器,可帮助您打造可靠、安全、灵活、高效的应用环境,确保服务持久稳定运行,提升运维效率。本章节将指导您使用AOS设计器快速创建弹性云服务器(包括虚拟私有云和子网)。设计器编排完成后将生成一个模板,基于该模板可一键创建多台弹性云服务器,操作非常便捷。

在此演练中,您将完成以下步骤:

  1. 了解基本概念:正式操作前,建议您先了解本次演练中使用到的各元素基本概念。
  2. 创建密钥对:新建一个密钥对,用于远程登录ECS的身份认证。若已有密钥对,可跳过此步骤,无需多次创建。
  3. 添加并连接元素:首次打开AOS设计器时,将从空白模板开始工作。本例中,我们将把VPC.VPC、VPC.Subnet、ECS.CloudServer拖放到画布中,并建立它们之间的关联关系。
  4. 配置模板参数:各元素之间的关系建立完成后,将用集成的编辑器为各元素添加参数,以便您可以在创建堆栈时指定输入值。
  5. 创建弹性云服务器:通过设计完成的模板来创建ECS,VPC虚拟私有云及子网也会自动创建。
  6. 清除资源:到此您已完成了AOS的入门任务。为了避免您为不需要的服务付费,建议您删除堆栈,清理资源。

了解基本概念

  • 创建ECS需要使用到AOS中的以下元素,请了解一下基本概念:
    表1 元素基本概念

    元素

    对应服务

    说明

    VPC.VPC

    虚拟私有云

    虚拟私有云主要目的是构建隔离的、自主配置和管理的虚拟网络环境,提升云中资源的安全性,简化您的网络部署。

    VPC.Subnet

    子网

    VPC范围比较大,子网是为了在VPC内部做进一步的网络划分。子网是VPC 的 IP 地址范围内的一个区段,其中可放置隔离的资源组。子网位于VPC内部。

    ECS.CloudServer

    弹性云服务器

    CPU、内存、镜像、云硬盘组成的一种可随时获取、弹性可扩展的计算云服务器

  • 虚拟私有云、子网、弹性云服务器关系如下:
    图1 虚拟私有云、子网、弹性云服务器的关系
  • 您还需要了解“输入”“输出”参数:

    在配置好各元素的属性后,一般需要配置输入和输出参数。

    • 输入(input):编写模板属性时,有一些属性值会经常性的修改。例如,弹性云服务器的规格,若直接写在模板中,每次属性值变动就需要更改模板十分不便。此时可以在模板中将经常修改的值定义为输入参数(get_input),后期使用模板部署堆栈时,无需修改模板,直接在界面修改对应的值即可。
    • 输出(output):定义模板生成堆栈运行时的输出参数。例如,在创建云服务器时,最终需要获取云服务器的弹性IP,以便可以登录此服务器。类似这种需要获取的值,需配置为输出参数。

创建密钥对

在使用AOS创建之前,您需要新建一个密钥对,用于远程登录节点时身份认证。

说明:

若您已有密钥对,可跳过此步骤,无需多次创建。

  1. 登录华为云控制台
  2. 选择“计算 > 弹性云服务器”。
  3. 选择左侧导航中的“密钥对”,单击“创建密钥对”。
  4. 输入密钥对名称后,单击“确定”。
  5. 在弹出的对话框中,单击“确定”。

    请根据提示信息,查看并保存私钥。为保证安全,私钥只能下载一次,请妥善保管,否则将无法登录节点。

添加并连接元素

  1. 登录华为云控制台
  2. 选择“应用服务 > 应用编排服务”,进入AOS控制台。
  3. 在左侧导航中,单击“设计器”。您可以根据图2添加并连接元素。

    图2 添加并连接元素

配置模板参数

  1. 鼠标单击画布中的VPC元素,在属性窗口中会自动显示该元素的属性。

    说明:
    • 为方便参数可配置可修改,建议经常变动的值使用输入参数。get_input表示输入参数,get_input后面定义的值可以自定义。
    • 当配置的参数有误时,属性区域框中配错的一行参数前会出现,请修改属性配置,并不要离开当前属性页面,否则配置的参数将会丢失。
    {
        "node_templates": {
            "myvpc": {
                "type": "HuaweiCloud.VPC.VPC",
                "properties": {
                    "cidr": {
                        "get_input": "vpc-cidr"
                    },
                    "name": {
                        "get_input": "vpc-name"
                    }
                }
            }
        }
    }

    各属性解释如下:

    • cidr:虚拟私有云下可用子网范围,为方便修改,设置为输入参数。
    • name:自定义虚拟私有云名称,为方便修改,设置为输入参数。

  2. 鼠标单击画布中的mysubnet元素,在属性窗口中会自动显示该元素的属性。

    配置子网名称,并将可用区设置为输入参数。请配置加粗字体内容,其他参数采用默认。

    {
        "node_templates": {
            "mysubnet": {
                "type": "HuaweiCloud.VPC.Subnet",
                "properties": {
                    "availabilityZone": {
                        "get_input": "az"
                    },
                    "cidr": {
                        "get_input": "subnet-cidr"
                    },
                    "dnsList": [
                        "114.114.114.115",
                        "114.114.114.114"
                    ],
                    "gateway": {
                        "get_input": "subnet-gateway"
                    },
                    "name": {
                        "get_input": "subnet-name"
                    },
                    "vpcId": {
                        "get_reference": "myvpc"
                    },
                    "dhcpEnable": true
                }
            }
        }
    }

    各属性解释如下:

    • availabilityZone:子网所在区域,可直接写值或使用输入参数。为方便后续修改,建议设为输入参数。
    • cidr:子网网段,需要在VPC的子网地址范围内,同样使用输入参数。
    • dnsList:可选参数,子网dns服务器地址的集合。如果想使用两个以上dns服务器,请使用该字段。
    • gateway:子网网关,使用输入参数。
    • name:自定义子网名称,使用输入参数。
    • vpcId:保持默认,get_reference参数表示子网所在的VPC信息将动态获取得到。
    • dhcpEnable:true表示为该VPC的子网开启DHCP功能,保持默认即可。开启DHCP服务表示“使用该VPC的弹性云服务器启动后,会通过DHCP协议自动获取到IP地址”

  3. 鼠标单击画布中的CloudServer元素,在属性窗口中会自动显示该元素的属性。

    请配置加粗字体内容,其他参数采用默认。

    {
        "node_templates": {
            "myecs": {
                "type": "HuaweiCloud.ECS.CloudServer",
                "properties": {
                    "availabilityZone": {
                        "get_input": "az"
                    },
                    "flavor": {
                        "get_input": "flavor"
                    },
                    "imageId": {
                        "get_input": "image"
                    },
                    "name": {
                        "get_input": "vm-name"
                    },
                    "nics": [
                        {
                            "subnetId": {
                                "get_reference": "mysubnet"
                            }
                        }
                    ],
                    "publicIP": {
                        "eip": {
                            "bandwidth": {
                                "shareType": "PER",
                                "size": 1
                            },
                            "ipType": "5_bgp"
                        }
                    },
                    "sshKeyName": {
                        "get_input": "sshKey-name"
                    },
                    "vpcId": {
                        "get_reference": "myvpc"
                    },
                    "instances": 1,
                    "rootVolume": {
                        "volumeType": "SATA",
                        "size": 40
                    }
                }
            }
        }
    }
    • availabilityZone:子网所在区域,可直接写值或使用输入参数。为方便后续修改,建议设为输入参数。
    • flavor:云服务器的规格,建议设置为输入参数。
    • imageId:创建云服务器的操作系统类型,建议设置为输入参数。
    • name:自定义云服务器名称,建议设置为输入参数。
    • nics:虚拟机网卡,一个虚拟机可能有多个网卡。请手动设置nics参数,其中get_reference表示可从子网信息中动态获取。
    • publicIP:若云服务需要绑定弹性IP,能访问外网,需要设置publicIP参数。
    • vpcId:保持默认,get_reference参数表示子网所在的VPC信息将动态获取得到。
    • instances:创建云服务器的数量,此处设置为1,表示创建一台ECS云服务器。
    • rootVolume:云服务器的磁盘规格,可保持默认。
    • sshKeyName:密钥名称,密钥需要提前创建。后续会开放密码功能。当前密钥为必选参数。

  4. 鼠标单击画布空白处,在“输入”中设置输入参数。输入参数是从前面步骤的get_input值中获取的。

    {
        "inputs": {
            "az": {
                "default": "cn-north-1a",
                "description": "云服务所在的可用区"
            },
            "flavor": {
                "default": "s2.large.2",
                "description": "云服务器的规格"
            },
            "image": {
                "default": "1189efbf-d48b-46ad-a823-94b942e2a000",
                "description": "云服务器使用的镜像ID"
            },
            "sshKey-name": {
                "description": "ssh密钥对"
            },
            "subnet-cidr": {
                "default": "192.168.1.0/24",
                "description": "SUBNET的CIDR"
            },
            "subnet-gateway": {
                "default": "192.168.1.1",
                "description": "子网的网关地址"
            },
            "subnet-name": {
                "default": "my-ecs-subnet2",
                "description": "子网名称"
            },
            "vm-name": {
                "default": "my-cloudserver",
                "description": "云服务器名称"
            },
            "vpc-cidr": {
                "default": "192.168.0.0/16",
                "description": "VPC的CIDR"
            },
            "vpc-name": {
                "default": "my-ecs-vpkvc2",
                "description": "VPC的名称"
            }
        }
    }

  5. 鼠标单击画布空白处,在“输出”中设置输出参数。输出参数是指需要获取的参数信息。

    创建弹性云服务器一般需要输出的参数包括:

    说明:
    • outputs中的参数,例如“ecs-eip”“ecs-id”这个名字可以自定义。
    • get_attribute表示可以从某个元素中自动获取对应的值。get_attribute后的参数,如“myecs”需要和已定义好的元素名称保持一致。myecs后的值,如floatingIpIdrefID需要和当前元素中的输出参数相匹配,不可自定义。
    • ecs-eip:用get_attribute函数,表示从myecs元素中自动获取弹性云服务器的弹性IP。
    • ecs-id:用get_attribute函数,表示从myecs元素中自动获取弹性云服务器的ID。
    {
        "outputs": {
            "ecs-eip": {
                "value": {
                    "get_attribute": [
                        "myecs",
                        "floatingIpId"
                    ]
                }
            },
            "ecs-id": {
                "value": {
                    "get_attribute": [
                        "myecs",
                        "refID"
                        ]
                }
            }
        }
    }

  6. 单击设计器页面顶部的,选择“我的模板”,输入以下参数,单击“保存”

    保存模板前,您可单击 进行模板校验。若模板正确,在“操作日志”中会提示您校验模板成功。
    • 模板名称:自定义模板名称,需确保全局唯一,例如设置为myecs。
    • 版本:1.0,保持默认。

创建弹性云服务器

  1. 单击设计器页面右上侧的,进入AOS控制台首页。
  2. 在左侧导航栏中,选择“我的模板”。在模板列表中可查看到保存成功的模板myecs。
  3. 单击myecs模板后的“部署堆栈”
  4. 设置堆栈信息。

    • 堆栈名称:输入堆栈名称,例如myecs,需确保该值唯一。
    • 描述:可不填写。
    • 配置输入参数,如表2
      表2 配置输入参数

      参数

      参数说明

      az

      弹性云服务器所在可用区。

      例如:az1.dc1。

      flavor

      弹性云服务器的规格。

      image

      弹性云服务器使用的镜像。

      sshKey-name

      密钥对,选择已创建的密钥对。

      subnet-cidr

      子网网段,保持默认。

      subnet-gateway

      子网网关,保持默认。

      subnet-name

      子网名称,需确保唯一。

      例如:mysubnet-test。

      vm-name

      弹性云服务器名称,需确保唯一。

      例如:myecs-test。

      vpc-cidr

      虚拟私有云下可用子网范围。

      保持默认。

      vpc-name

      虚拟私有云名称,需确保唯一。

      例如:myvpc-test。

  5. 单击“下一步”,查看堆栈信息,确认无误后,单击“创建堆栈”

    系统自动跳转到堆栈详情页面,可查看到当前堆栈为创建中。此处创建了虚拟私有云VPC、子网Subnet以及一台弹性云服务器ECS。预计需要5分钟左右创建成功。

  6. 待堆栈状态为“正常”时,可查看到堆栈元素中已有三个云服务。虚拟私有云、子网和弹性云服务器已创建成功。

    图3 堆栈已创建成功

  7. 查看已创建的云服务。

    1. 登录华为云控制台
    2. 选择“计算 > 弹性云服务器”,可查看到已创建成功一台ECS弹性云服务器。
    3. 选择“网络 > 虚拟私有云”,可查看到已创建成功的VPC。
    4. 单击该VPC名称,进入详情页面,可查看到对应的子网已创建成功。

清除资源

为了避免您为不需要的服务付费,建议您删除不必要的堆栈,清理资源。

  1. 登录AOS控制台。
  2. 在左侧导航栏中,单击“我的堆栈”。
  3. 在堆栈列表中,勾选myecs堆栈,单击“删除堆栈”

    根据界面提示删除堆栈。

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区