利用ROS搭建应用基础套件

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
传统型负载均衡 CLB,每月750个小时 15LCU
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
简介: 本文介绍如果利用阿里云资源编排服务搭建一套企业级应用的基础架构(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控制台创建 >>

下载模板 >>

相关实践学习
使用ROS创建VPC和VSwitch
本场景主要介绍如何利用阿里云资源编排服务,定义资源编排模板,实现自动化创建阿里云专有网络和交换机。
阿里云资源编排ROS使用教程
资源编排(Resource Orchestration)是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、配置等,并自动完成所有资源的创建和配置,以达到自动化部署、运维等目的。编排模板同时也是一种标准化的资源和应用交付方式,并且可以随时编辑修改,使基础设施即代码(Infrastructure as Code)成为可能。 产品详情:https://www.aliyun.com/product/ros/
相关文章
|
5月前
|
弹性计算 人工智能 JSON
一键云部署:资源编排 ROS 轻松部署 LLM 应用开发平台 Dify
Dify是一款开源的LLM应用开发平台,融合BaaS和LLMOps理念,助力开发者快速构建生产级AI应用。阿里云的ROS提供IaC自动化部署服务,通过JSON/YAML/Terraform模板轻松部署Dify环境。以下是简化的部署步骤: 1. 登录ROS控制台的Dify部署页面。 2. 配置ECS实例参数。 3. 创建资源栈,完成部署后从输出获取Dify服务地址。 ROS模板定义了VPC、VSwitch、ECS实例等资源,通过ROS控制台创建资源栈实现自动化部署。这种方式高效、稳定,体现了IaC的最佳实践。
710 1
|
5月前
|
机器人 Python Windows
ROS机器人编程技术应用与实践
ROS机器人编程技术应用与实践
74 1
|
5月前
|
机器人 Unix C++
ROS机器人编程技术架构命令应用
ROS机器人编程技术架构命令应用
79 1
|
5月前
|
网络协议 机器人 中间件
单片机和FreeRTOS上跑机器人ROS的应用
单片机和FreeRTOS上跑机器人ROS的应用
311 0
|
算法 C语言 C++
【ROS】服务通信、话题通信的应用
现在可以直接使用键盘来控制乌龟运动了
121 0
|
监控 开发者
ROS-使用样例模板部署应用|学习笔记
快速学习 ROS-使用样例模板部署应用
119 0
ROS-使用样例模板部署应用|学习笔记
|
传感器 安全 Ubuntu
ROS中阶笔记(十):ROS机器人综合应用
ROS中阶笔记(十):ROS机器人综合应用
415 0
|
存储 数据采集 大数据
《机器人操作系统ROS原理与应用》——导读
随着2013年大数据元年的开启,各行各业都已经将大数据视为推动企业发展、推进行业进步、加快产业升级、促进民生繁荣、巩固社会安全甚至提升国家竞争力的核心武器。从个性化推荐、关联销售到精准营销,从云平台、云服务、云计算到大数据产业链,从百度迁徙、高考预测到冬季流感预测,从机器学习、图像识别到智能交通,从奥巴马总统竞选到美国中央情报局反恐,从美国的大数据研究和发展计划到中国的促进大数据发展行动纲要等一系列事实说明了大数据正受到来自政治、经济、社会、文化、军事等各个领域的广泛关注,并越来越彰显其巨大价值。
1865 0

推荐镜像

更多