注意:以下文档只适用于TOP接口,请谨慎使用!

文档中心 > 聚石塔

应用创建实践

更新时间:2019/04/08 访问次数:1576

上面介绍了零售云控制台最基本的组成部分,这章将讲解如何创建一个应用,并且能够运行在我们的云服务器上。这里用一个技术博客网站的demo进行讲解。

站点演示:http://rcblog.hz.taeapp.com

 

前期准备

考虑创建两个应用,一个应用作为web应用,即前台工程,用于和前端页面交互以及后端核心业务逻辑交互的应用程序;另一个应用作为后台应用,即后台工程,作为核心业务逻辑层,主要后端业务逻辑编写以及数据持久化和数据库访问。两个应用之间的通信,采用dubbo的服务化框架进行通信。

博客站点架构

应用与云资源组成

  • retailcloud_blog_web ( 2 ECS,web应用,安全组web ) 
  • retailcloud_blog_biz ( 2 ECS,后台应用 ,安全组inner ) 
  • RDS ( retailcloud_blog 数据库, 被retailcloud_blog_biz应用授权 ) 
  • CDN ( rcblog.hz.taeapp.com,指向SLB ) 
  • OSS ( 文章图片/附件上传资源,利用应用RAM子账号AK/SK ) 
  • Redis ( 文章访问计数器 )
  • EIP、SLB、密钥对 ( SSH )、NAT支持 
  • 应用发布脚本 ( appctl.sh、setenv.sh、start.sh、stop.sh、healthcheck.sh )

 

程序框架

  • Spring Boot 2.1.0 Jar模式
  • 模板引擎Thymeleaf 
  • Bootstrap 4.2.1
  • Mybatis 3.0 
  • Dubbo 2.5 ( 2 ECS Provider + 2 ECS Consumer ) 
  • Zookeeper ( 1 ECS Registry ) 

 

创建博客应用

1:创建应用名称 retailcloud_blog_web 的web应用,选择负责人、应用类型、编程语言以及操作系统。

2:创建应用名称 retailcloud_blog_biz 的后台应用,同样选择负责人、应用类型、编程语言以及操作系统。

 

应用概览

创建完应用之后,进入到【应用详情】-【应用概览】页面,可以看到 应用 与 云资源的 绑定授权关系,只有该应用建立了对应云资源的授权关系,该应用才能访问或者操作对应云资源。由于是新应用,目前没有关联到零售云的任何资源。

弹性计算

进入到【弹性计算】页面,点击【购买ECS】,页面将iframe跳转到【购买ECS实例的售卖页面】。

tab切换到【云产品】-【云服务器ECS】上,会iframe跳转到【ECS实例列表页面】,页面右上角也可以点击【创建实例】来购买ECS实例资源。

购买ECS资源

进入到ECS实例购买页面:

创建VPC

在【下一步:网络和安全组】中,点击【前往控制台创建】进入到 零售云官方定义的【VPC创建页面】。

页面上,可以选择【地域】,填写【vpc名称】,以及选择内网【网段】。

需要注意的是,每个用户(淘宝主账号)在每个地域下最多只能创建一个vpc专有网络,例如当前用户在张家口地域,只能创建一个vpc。

vpc专有网络的名称,以【JST_】或者【XLS_】打头作为命名前缀。

创建完vpc专有网络之后,可在ecs购买页面,网络选择下,看到刚刚创建的vpc。

购买ECS情况

给 retailcloud_blog_web 购买了2台ECS实例;为 retailcloud_blog_web 也购买了2台ECS实例,为应用与ECS实例授权绑定做准备。

 

应用与ECS实例授权

零售云

会到【弹性计算】的【零售云】tab,点击右上角的【关联ECS】。

可以选择新购的2台ECS实例。

授权完之后,在页面上就能够看到新关联的ECS实例,并且第一次关联的ECS实例将按照应用发布agent,并且给出安装状态。

云服务器ECS

在云产品iframe页面,也能够看到新关联的2台ECS实例。

授权情况

同样,retailcloud_blog_biz应用也进行同样的操作。于是,retailcloud_blog_web和retailcloud_blog_biz各2台ECS实例。

 

安全组

零售云ECS实例安全组是一种虚拟防火墙,用来控制ECS的出站和入站流量。在同一个VPC内,位于相同安全组的ECS实例私网互通。

由于vpc专有网络是由系统来控制创建的,同样,安全组也是由系统自动创建来产生的,每个用户都会至少创建3个安全组:零售云官方创建ssh、零售云官方创建web、零售云官方创建inner。其中一个ECS实例可以同时属于多个安全组。

 

官方安全组介绍

  • 零售云官方创建ssh:网络入方向,只能进行ssh命令登陆3389端口(windows终端)、22端口(linux终端)以及对于该安全组下ECS的ping通。
  • 零售云官方创建web:网络入方向,授权对象给【零售云官方创建ssh】可二次ssh到该安全组下的ECS实例;并且可通过443端口(https协议),80端口(http协议)进行web访问。
  • 零售云官方创建inner:网络入方向,同样,授权对象给【零售云官方创建ssh】可二次ssh到该安全组下的ECS实例;并且授权对象给【零售云官方创建web】可任意端口访问到该安全组下的ECS实例。

安全组管理实例情况

  • 将retailcloud_blog_web应用的2台ECS实例先放在【官方ssh】和【官方web】上。放在官方web上说明,可以通过443或80端口可以浏览到网站。
  • 将retailcloud_blog_biz应用的2台ECS实例先放在【官方ssh】和【官方inner】上。放在官方inner上说明只有通过官方web安全组的ECS实例才能访问到biz应用。

 

密钥对

密钥对用于用户可以通过本地ssh配置,密钥对本地保存,ssh访问零售云上的ECS实例。

 

创建密钥对

切换到【云产品】-【密钥对】零售云iframe页面上,点击右上角【创建密钥对】

来自动新建密钥对,点击确认,密钥对文件即可下载到本地,它是一个pem文件。

绑定密钥对

点击【绑定密钥对】,可以选择要放在该密钥对下的ECS实例,这里选择2个应用的4台ECS实例到里面。

SSH连接ECS实例

1:要利用SSH链接ECS实例,首先要将ECS实例的实例密码以及远程连接密码改掉重置,然后对于ECS实例进行重启方可操作。

具体文章可以参考:《使用SSH密钥对连接Linux实例》

2:需要用到SSH连接到ECS实例,需要给ECS实例上购买以及绑定弹性IP。后面会讲到如何绑定弹性IP。

3:在我已经在每个ECS实例上绑定了弹性IP之后,我作为Mac使用者,利用命令切换到~/.ssh,把下载的pem文件放在该路径下面。

4:修改config文件,我有4台ECS实例,就要写以下4次这样的语法。

5:连接到具体ECS实例上

ssh i-xxxxxxxxxxxxxxxxxx

6:如果出现无法打开相关实例,你可以试着把known_hosts对应的ip删掉,再重新执行ssh命令。

 

弹性公网IP

官方描述:独立的公网IP资源,可以绑定到零售云专有网络VPC类型的ECS、NAT网关、私网负载均衡SLB上,并可以动态解绑,实现公网IP和ECS、NAT网关、SLB的解耦,满足灵活管理的要求。

 

申请弹性公网IP

点击左上角【申请弹性公网IP】按钮。

进入购买页面,最后点击确认购买。

购买完,可绑定ECS实例,一个弹性公网IP只能绑定一台ECS实例。

绑定完之后,前面的ssh就可以远程连接到对应的ECS实例服务器里面。

 

FAQ

关于此文档暂时还没有FAQ
返回
顶部