博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用ROS搭建应用基础套件
阅读量:7044 次
发布时间:2019-06-28

本文共 3168 字,大约阅读时间需要 10 分钟。

背景

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

screenshot

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

创建的资源包括

  • ALIYUN::ECS::InstanceGroup

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

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

  • ALIYUN::SLB::LoadBalancer

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

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

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

    • 创建RDS实例

有关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"    }

转载地址:http://pseal.baihongyu.com/

你可能感兴趣的文章
API网关软件编写指导原则
查看>>
MySQL Split 函数
查看>>
http的post请求和get请求
查看>>
python 异常处理
查看>>
我的友情链接
查看>>
Centos Development Tools 安装
查看>>
1.1.2 C++发展历程
查看>>
我的友情链接
查看>>
awk笔记
查看>>
apache使用.htaccess进行基于文件扩展名的访问控制
查看>>
Hystrix降级技术解析-Fallback
查看>>
Windows XP 禁用防火墙、系统升级、系统还原指南
查看>>
让你的电脑变成wifi
查看>>
xshell 隧道透传
查看>>
zabbix-server添加zabbix-proxy
查看>>
iostat命令找不到
查看>>
外观模式
查看>>
我的友情链接
查看>>
Angular2 AoT编译以及Rollup摇树优化
查看>>
ReactJS 学习资料汇总
查看>>