本文共 3168 字,大约阅读时间需要 10 分钟。
SLB + ECS + RDS 是企业级应用的基础搭配,在小型应用场景下这三款产品成为了架构的核心组件。
基本结构如上图所示,创建一组ECS实例并挂在到SLB下面,然后创建一个ECS实例,同时把ECS的IP加入到访问白名单。作为应用方,您只需要根据业务类型和特点预估一下ECS的数量即可,其余的事情可以帮您一键完成。
ALIYUN::ECS::InstanceGroup
注意:如果每台ECS的转发权重一样的话,可以采用本文的方式挂载到SLB,否则您可以并设置不同的权重值。
ALIYUN::SLB::LoadBalancer
ALIYUN::SLB::Listener
ALIYUN::SLB::BackendServerAttachment
ALIYUN::RDS::DBInstance
有关RDS更多配置请参考
"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" }
"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" } }
"Attachment": { "Properties": { "BackendServerList": { "Fn::GetAtt": [ "ecsInstanceGroup", "InstanceIds" ] }, "LoadBalancerId": { "Ref": "LoadBalancer" } }, "Type": "ALIYUN::SLB::BackendServerAttachment" }
"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/