利用ROS搭建应用基础套件

本文涉及的产品
云服务器 ECS,每月免费额度280元 3个月
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云服务器ECS,u1 2核4GB 1个月
简介: 本文介绍如果利用阿里云资源编排服务搭建一套企业级应用的基础架构(SLB+ECS+RDS).

背景

SLB + ECS + RDS 是企业级应用的基础搭配,在小型应用场景下这三款产品成为了架构的核心组件。

screenshot

基本结构如上图所示,创建一组ECS实例并挂在到SLB下面,然后创建一个ECS实例,同时把ECS的IP加入到访问白名单。作为应用方,您只需要根据业务类型和特点预估一下ECS的数量即可,其余的事情阿里云资源编排服务ROS可以帮您一键完成。

创建的资源包括

  • ALIYUN::ECS::InstanceGroup

    • 创建一组相同配置的ECS.

注意:如果每台ECS的转发权重一样的话,可以采用本文的方式挂载到SLB,否则您可以参考手动的方式挂载并设置不同的权重值。

  • ALIYUN::SLB::LoadBalancer

    • 创建一个负载均衡
  • ALIYUN::SLB::Listener

    • 配置监听
  • ALIYUN::SLB::BackendServerAttachment

    • 挂载ECS到负载均衡
  • ALIYUN::RDS::DBInstance

    • 创建RDS实例

有关RDS更多配置请参考利用ROS创建RDS实例

步骤详解

  • step1: 创建一组ECS实例,配置为2核4G(ecs.s2.large), 选择非IO优化的普通云盘,选择公共镜像,同时创建一个安全组。ECS数量的上线根据具体的业务场景来设置,本例设置默认值为2。
"ecsInstanceGroup": {
      "Properties": {
        "ImageId": "centos7u2_64_40G_cloudinit_20160520.raw",
        "InstanceType": "ecs.s2.large",
        "MaxAmount": {
          "Ref": "EcsMaxAmount"
        },
        "MinAmount": 2,
        "SecurityGroupId": {
          "Fn::GetAtt": [
            "securityGroup",
            "SecurityGroupId"
          ]
        }
      },
      "Type": "ALIYUN::ECS::InstanceGroup"
    },
"securityGroup": {
      "Properties": {
        "SecurityGroupEgress": [
          {
            "DestCidrIp": "0.0.0.0/0",
            "IpProtocol": "all",
            "NicType": "internet",
            "PortRange": "-1/-1",
            "Priority": 1
          }
        ],
        "SecurityGroupIngress": [
          {
            "IpProtocol": "all",
            "NicType": "internet",
            "PortRange": "-1/-1",
            "Priority": 1,
            "SourceCidrIp": "0.0.0.0/0"
          }
        ],
        "SecurityGroupName": {
          "Ref": "SecurityGroupName"
        }
      },
      "Type": "ALIYUN::ECS::SecurityGroup"
    }
  • step2: 创建负载均衡,设置端口映射为80 -> 8080
"LoadBalancer": {
      "Properties": {
        "AddressType": "internet",
        "InternetChargeType": "paybytraffic",
        "LoadBalancerName": "createByRos"
      },
      "Type": "ALIYUN::SLB::LoadBalancer"
    },
    "CreateListener": {
      "Type": "ALIYUN::SLB::Listener",
      "Properties": {
          "LoadBalancerId": {"Ref": "LoadBalancer"},
          "ListenerPort": "80",
          "BackendServerPort": 8080,
          "Bandwidth": 1,
          "Protocol": "http",
          "HealthCheck": {
              "HealthyThreshold": 3,
              "UnhealthyThreshold": 3,
              "Interval": 2,
              "Timeout": 5,
              "HttpCode": "http_2xx,http_3xx,http_4xx,http_5xx"
          },
          "Scheduler": "wrr"
      }
    }
  • step3: 挂载ECS到SLB, 设置相同的权重
"Attachment": {
      "Properties": {
        "BackendServerList": 
        {
          "Fn::GetAtt": [
            "ecsInstanceGroup",
            "InstanceIds"
          ]
        },
        "LoadBalancerId": {
          "Ref": "LoadBalancer"
        }
      },
      "Type": "ALIYUN::SLB::BackendServerAttachment"
    }
  • step4: 创建RDS实例,同时设置访问白名单

"RDSInstance": {
      "Properties": {
        "ConnectionMode": "Safty",
        "DBInstanceClass": "rds.mys2.large",
        "DBInstanceDescription": "createByRos",
        "DBInstanceNetType": "Intranet",
        "DBInstanceStorage": "100",
        "Engine": "MySQL",
        "EngineVersion": "5.6",
        "SecurityIPList": {
          "Fn::GetAtt": [
            "ecsInstanceGroup",
            "PrivateIps"
          ]
        }
      },
      "Type": "ALIYUN::RDS::DBInstance"
    }

到ROS控制台创建 >>

下载模板 >>

相关实践学习
Docker镜像管理快速入门
本教程将介绍如何使用Docker构建镜像,并通过阿里云镜像服务分发到ECS服务器,运行该镜像。
阿里云资源编排ROS使用教程
资源编排(Resource Orchestration)是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、配置等,并自动完成所有资源的创建和配置,以达到自动化部署、运维等目的。编排模板同时也是一种标准化的资源和应用交付方式,并且可以随时编辑修改,使基础设施即代码(Infrastructure as Code)成为可能。 产品详情:https://www.aliyun.com/product/ros/
相关文章
|
1月前
|
网络协议 机器人 中间件
单片机和FreeRTOS上跑机器人ROS的应用
单片机和FreeRTOS上跑机器人ROS的应用
46 0
|
监控 开发者
ROS-使用样例模板部署应用|学习笔记
快速学习 ROS-使用样例模板部署应用
69 0
ROS-使用样例模板部署应用|学习笔记
|
存储 数据采集 大数据
《机器人操作系统ROS原理与应用》——导读
随着2013年大数据元年的开启,各行各业都已经将大数据视为推动企业发展、推进行业进步、加快产业升级、促进民生繁荣、巩固社会安全甚至提升国家竞争力的核心武器。从个性化推荐、关联销售到精准营销,从云平台、云服务、云计算到大数据产业链,从百度迁徙、高考预测到冬季流感预测,从机器学习、图像识别到智能交通,从奥巴马总统竞选到美国中央情报局反恐,从美国的大数据研究和发展计划到中国的促进大数据发展行动纲要等一系列事实说明了大数据正受到来自政治、经济、社会、文化、军事等各个领域的广泛关注,并越来越彰显其巨大价值。
1829 0

推荐镜像

更多