月度归档: 2019年10月

一键VPC

 Virtual Private Cloud (VPC) 是AWS的虚拟网络。在逻辑上每一个VPC都与 AWS 云中的其他VPC隔绝。 Amazon EC2 实例,Amazon RDS实例等常见的云资源都需要启动在VPC中。

创建一个VPC,需要指定 IP 地址范围、添加子网、关联安全组并配置路由表,对不熟悉网络相关概念和AWS控制台操作的用户来说,这些操作都有一定的难度。

为了方便用户,我们编写了相应的CloudFormation模板,帮助用户迅速的搭建一个包含3个子网,并且配置了安全组和路由表的VPC。

模板的S3地址是 https://s3-ap-northeast-1.amazonaws.com/s3.awstweaker.com/onekey/vpc.json

您可以在你想要建立VPC的区域打开控制台,进入CloudFormation服务页面。

使用这个模板,建立一个新的堆栈。您输入的堆栈名称就是VPC的名称,您还可以自己设置VPC和子网的CIRD。

参考下面的图,点击下一步,下一步创建堆栈后,只需要1分钟,一个包含3个子网已经配置好网关,路由的VPC就自动创建成功了。

 

一键汉城

CloudFormation是AWS提供的支撑基础设施代码化的重要服务。使用AWS CloudFormation服务,我们可以通过CloudFormation堆栈快速的在AWS上创建、配置云资源。

有了CloudFormation,在AWS上部署应用和服务,就像在Windows上安装程序一样,只需要轻松的点击几下鼠标。

一方面CloudFormation能够为用户带来各种的便利,另一方面,也需要承认,学习编写CloudFormation模板有一定的门槛,调试CloudFormation也存在较大的困难。

因此,我们准备了一系列的CloudFormation模板,帮助用户了解CloudFormation的使用,同时快速的完成一些日常的部署操作。

在本文中,我们将提供这一系列的第一个模板- “一键汉城”。使用这个模板可以通过CloudFormation快速的在汉城部署SS服务器,解决最近AWS控制台页面访问速度特别慢的问题。

模板的S3地址是  https://s3-ap-northeast-1.amazonaws.com/s3.awstweaker.com/onekey/soul.json

可以先将CloudFormation模板下载到本地,也可以直接在登录AWS控制在CloudFormation服务界面中部署这个模板。

汉城区域CloudFormation服务界面的地址是:

https://ap-northeast-2.console.aws.amazon.com/cloudformation/home?region=ap-northeast-2#

在这个界面里点击创建堆栈,直接输入模板的S3地址或者上传模板文件并依次选择下一步。勾选同意创建IAM资源。创建堆栈后,3分钟后,SS服务器就搭设好了。在CloudFormation堆栈的输出里,可以看到相应的服务器的地址。端口和密码就是在创建过程中填写的端口和密码。

VMware与OpenStack对比

VMware简介

虚拟化技术:

虚拟化技术就是将底层的各种物理资源进行整合。如计算、存储、网络。相当于在硬件层与应用层做了一层隔离,允许一个硬件资源上运行多个逻辑应用。

而VMware主要是针对X86服务器的虚拟化。

虚拟化架构:

寄居架构:VMware Workstation

原生架构:VMware vSphere Citrix XenServer

常见虚拟化产品:

开源: KVM、Openstack

商业: VMware:vSphere服务器虚拟化(计算层CPU和内存)

Horizon、Thinapp 桌面和应用虚拟化

VSAN 存储虚拟化

NSX 网络虚拟化

Replication、site Recovery manager容灾备份

Citrix:XenServer

Microsoft:Hyper-v

VMware vSphere:服务器虚拟化有想关组件

  • VMware ESXi :vmware服务器虚拟化Hypervisor程序(云操作系统)
  • VMware VCenter:虚拟化管理组件服务器
  • VMware Web Client:虚拟化管理组件Web Client 端(B/S)
  • VMware Client:虚拟化管理组件Windows Client 端(C/S)
  • VMware Update Management:虚拟化平台升级管理组件
  • VMware Data Protection(VDP):虚拟机备份
  • VMware Distributed Power Management(DPM):分布式电源管理
  • vMotion、HA、FT、DRS等组件功能

Openstack简介

Openstack是一个云平台管理的项目,它不是一个软件。这个项目由几个主要的组件组合起来完成一些具体的工作。Openstack是一个旨在为公共及私有云的建设与管理提供软件的开源项目。

核心服务:

  • 身份服务:keystone-涉及用户、组、角色、项目、令牌
  • 镜像服务:Glance-支持多种格式(ISO、AMI、RAW、VHD、VMDK、VDI)
  • 计算服务:Nova-管理虚拟机整个生命周期。如开机、关机、暂停、调整、迁移、重启、删除
  • 网络服务:Neutron-网络子网、路由、DHCP、DNS、LB、VLAN、Truck
  • 块存储服务:cinder-创建、删除、挂载、卸载卷
  • 对象存储服务:Swift-对象存储、卷备份
  • UI界面:Horizon-web页面。启动实例、分配ip、访问控制等
  • 计量服务:ceilometer-事件收集、计费和监控
  • 编排服务:heat-模板定义资源
  • 数据库服务:Mariadb、Mongodb等

对比

部署

  • VMware部署简单截图

Vmware vSphere 服务器虚拟化安装

ESXI主机客户端安装

Openstack(支持自行搭建或一键脚本安装)

自行搭建:kvm虚拟化、时间服务、dns服务、数据库服务

一键脚本:

可通过web页面创建虚拟机

功能

Vmware vSphere Openstack
vMotion 将开机的vm从一台主机迁移到领一台 具备(配置简单) 具备(配置复杂)
Storage vMotion 不中断vm的情况下,迁移vm的存储 支持(简单) 支持(复杂)
HA 高可用,若服务器出现故障,自动迁移vm到其他多余容量的服务器上重新启动 可开启 配置复杂
DRS 通过vm收集硬件资源,动态分配和平衡计算容量 支持
FT 用副本保留vm,提供连续保护,在主vm的操作也会同步至副本vm。当主vm宕机,副本vm立即启用 支持
Dpm 动态将低负载主机关闭,将vm迁移走 支持

价格

Vsphere按照处理器数量许可方式

View按照并发用户数量收费

https://store.vmware.com/store/vmware/zh_CN/home

Openstack为开源产品,价格免费

总结

对比项 Vmware Openstack
实施部署 界面化,软件化安装9 命令行自行搭建或一键脚本7
功能 功能丰富9 具备基本功能7
易管理 易操作,易上手8 需要一定动手能力7
价格 商业许可,按CPU计费5 纯开源,免费10
满分40分 31分 31分

对于我来讲,实施部署方面,我更倾向于VMware。因为部署环境,安装过程比较简单,配置过程比较人性化,界面更加成熟。在功能方面,OpenStack与VMware还是有差距的,但是OpenStack还是有优势的,因为VMware价格很贵,OpenStack免费、开源。

 

利用S3fs给EC2挂载一块S3“盘”

Amazon Simple Storage Service (Amazon S3) 是一种对象存储服务,提供行业领先的可扩展性、数据可用性、安全性和性能。Amazon S3具有无限制的存储容量和进出网络带宽,廉价的数据存储费用,同时具有能达到 99.999999999%(11 个 9)的持久性,是对象存储最佳解决方案。

S3FS

S3fs是基于FUSE的文件系统,允许Linux和Mac Os X 挂载S3的存储桶在本地文件系统,S3fs能够保持对象原来的格式。

利用S3fs可以把共享的Amazon S3存储桶直接挂载在用户服务器本地目录下,应用不需要做修改就可以直接使用Amazon S3存储服务,这种方式可以作为临时解决方案将传统应用快速迁移到AWS平台。详细参见:https://github.com/s3fs-fuse/s3fs-fuse

利用S3fs挂载S3存储桶

1.安装s3fs

a.安装必要的软件包

sudo yum install automake fuse fuse-devel gcc-c++ git libcurl-devel libxml2-devel make openssl-devel

b.下载,编译并安装s3fs

git clone https://github.com/s3fs-fuse/s3fs-fuse.git

cd s3fs-fuse

./autogen.sh

./configure

make

sudo make install

c.验证安装结果

2.创建IAM用户访问密钥文件

IAM用户访问密钥内容可以写入当前用户默认密钥文件比如“/home/ec2-user/.passwd-s3fs”或者用户自己创建的文件。

命令格式:echo [IAM用户访问密钥ID]:[ IAM用户访问密钥] >[密钥文件名]

命令举例:下面的例子将在当前用户默认路径创建密钥文件

3.手动挂载S3存储桶

命令格式:s3fs [S3存储桶名] [本地目录名] -o passwd_file=[密钥文件名] -o endpoint=[区域名]

如:

s3fs ultrapower-test /home/ec2-user/s3mnt -o passwd_file=/home/ec2-user/.passwd-s3fs -o endpoint=ap-northeast-1

检查挂载结果

挂载操作执行结束后,可以使用Linux “df”命令查看挂载是否成功。出现类似下面256T的s3fs文件系统即表示挂载成功。用户就可以进入本地挂载目录去访问存储在S3存储桶中的对象。

卸载挂载的S3存储桶

如果不再需要通过挂载方式访问S3存储桶,可以使用Linux “umount”命令卸载。

sudo umount /home/ec2-user/s3mnt

设置开机自动挂载S3存储桶

修改/etc/fstab文件,添加后面的自动挂载命令

vi /etc/fstab

总结:

使用S3fs可以方便的把S3存储桶挂载在EC2的本地操作系统中,由于S3fs实际上是使用Amazon S3服务的访问接口,所以不能简单的把S3fs挂载的目录和本地操作系统目录等同使用。用户使用S3f3挂载S3存储桶和直接访问S3服务有类似的使用场景。适用于对不同大小文件对象的一次保存(上传),多次读取(下载),不适用于对已保存文件经常做随机修改的场景。

还在为AWS账单拆分烦恼吗

AWS是世界上最大的公有云提供商,提供的云资源种类也最丰富。AWS云上客户数量多,用云规模大。拥有多个AWS账号、运行多套业务应用的客户很多。对这些用户的AWS管理员来说,AWS账单是个不得不面对的基础服务。

但是,AWS记账粒度很细,计费规则很多,还有RI、Credit等各种影响成本费用的手段,看清楚、弄明白AWS账单,做到明明白白消费、力求节约用云,是客户AWS管理员必备的功课,需要较长一段时间的熟悉研究才可能做到,还可能出现各种状况。

比如,老板问,最近业务激增,AWS资源用量有没有显著增加啊?小白管理员一查AWS账单,可能会傻眼:怎么这个月的比以前还低啊?怎么3月前花钱特别多,那时是业务低谷期啊?老鸟会知道,3个月前集中购买了一批预付费RI,所以费用激增;后续使用RI、当然费用就低;何况上月刚充入了一大笔Credit抵扣券,当然费用就少了。就算老鸟,要还原实际用云消费,审视其与业务规模的关系,也是不容易做到的。

又如,公司3个游戏都在云上,还有个统一的日志分析平台。老板说每个游戏团队要独立核算成本,日志分析平台成本要按比例分摊。这回老鸟管理员也有点儿挠头了:要是没有日志分析平台,一个游戏一个独立AWS账户最容易分清成本,但是三个独立账户游戏都接分析平台,VPC和部署架构就会复杂,何况多个AWS账户RI复用的灵活性变小了,管理复杂了,防D的Shield服务要买多份,每月花多个3000美刀!即便这些都能忍,日志分析平台的成本咋谈呢?

如果老板非要不可,就的一咬牙、一跺脚,撸起格子衬衫袖子、露出程序猿本色,没有什么事是开发搞不定的!

且慢!神州泰岳业务刚推出了免费、易用、灵活的AWS账单拆分工具,可以1) 还原真实资源消费和成本、2) 按业务单元拆分账单。你不如花3、5分钟装上,完美解决上述烦恼省出开发的时间去陪女朋友。

工具介绍、手册和下载请看https://wiki.awstweaker.com/2019/10/24/aws-up账单拆分工具/

还在为AWS账单拆分烦恼吗

AWS是世界上最大的公有云提供商,提供的云资源种类也最丰富。AWS云上客户数量多,用云规模大。拥有多个AWS账号、运行多套业务应用的客户很多。对这些用户的AWS管理员来说,AWS账单是个不得不面对的基础服务。

但是,AWS记账粒度很细,计费规则很多,还有RI、Credit等各种影响成本费用的手段,看清楚、弄明白AWS账单,做到明明白白消费、力求节约用云,是客户AWS管理员必备的功课,需要较长一段时间的熟悉研究才可能做到,还可能出现各种状况。

比如,老板问,最近业务激增,AWS资源用量有没有显著增加啊?小白管理员一查AWS账单,可能会傻眼:怎么这个月的比以前还低啊?怎么3月前花钱特别多,那时是业务低谷期啊?老鸟会知道,3个月前集中购买了一批预付费RI,所以费用激增;后续使用RI、当然费用就低;何况上月刚充入了一大笔Credit抵扣券,当然费用就少了。就算老鸟,要还原实际用云消费,审视其与业务规模的关系,也是不容易做到的。

又如,公司3个游戏都在云上,还有个统一的日志分析平台。老板说每个游戏团队要独立核算成本,日志分析平台成本要按比例分摊。这回老鸟管理员也有点儿挠头了:要是没有日志分析平台,一个游戏一个独立AWS账户最容易分清成本,但是三个独立账户游戏都接分析平台,VPC和部署架构就会复杂,何况多个AWS账户RI复用的灵活性变小了,管理复杂了,防D的Shield服务要买多份,每月花多个3000美刀!即便这些都能忍,日志分析平台的成本咋谈呢?

如果老板非要不可,就的一咬牙、一跺脚,撸起格子衬衫袖子、露出程序猿本色,没有什么事是开发搞不定的!

且慢!神州泰岳业务刚推出了免费、易用、灵活的AWS账单拆分工具,可以1) 还原真实资源消费和成本、2) 按业务单元拆分账单。你不如花3、5分钟装上,完美解决上述烦恼省出开发的时间去陪女朋友。

工具介绍、手册和下载请看https://wiki.awstweaker.com/2019/10/24/aws-up账单拆分工具/

 

AWS置放群组简介与使用

置放群组简介:

在我们启动EC2实例时,EC2服务会以某种方式放置实例,将所有实例分布在底层的基础硬件上,最大限度的减少相关故障。若使用置放群组功能,它可以影响EC2实例的放置。如放置一组相互依赖的实例,以满足工作负载需求。根据工作负载的不同,置放群组分为以下三种策略:

第一种:集群

在一个可用区中将实例放到一起。通过使用这个策略,可以实现低延迟的网络工作负载。以满足HPC应用程序使用,紧耦合的节点与节点之间通信的要求。

下图显示放入集群置放群组中的实例。

第二种:分区

将实例分布放置在不同的逻辑分区上。这样一个分区中的实例组不会与不同分区的实例组使用相同的基础硬件。该策略通常为大型分布式和重复的工作负载所使用,例如Hadoop、Cassandra 和 Kafka。

下图是单个可用区中的分区置放群组简单的直观表示。它显示了放入到一个分区置放群组的实例,该置放群组具有三个分区 — 分区 1、分区 2 和 分区 3。每个分区均包含多个实例。一个分区中的实例不与其他分区中的实例共享机架,这使可以将单一硬件故障的影响限定在相关的分区内。

第三种:分布

将一组实例严格的放置在不同的基础硬件上,减少相关故障。

分布置放群组是一组具有以下特点的实例:每个实例放置在不同的机架上,并且每个机架具有各自的网络和电源。

下图显示单个可用区中的 7 个实例,这些实例已放入一个分布置放群组。7 个实例放置在 7 个不同的机架上。

置放群组限制:

具体参考官网:https://docs.aws.amazon.com/zh_cn/AWSEC2/latest/UserGuide/placement-groups.html#placement-groups-partition

使用限制:

  • 区域中名称唯一。
  • 不能合并置放群组。
  • 一次可在一个置放群组中启动一个实例;实例不能跨多个置放群组。
  • 置放群组中的实例可以使用容量预留。但是,无法为置放群组显式预留容量。
  • 无法在置放群组中启动租赁为 host 的实例。

使用置放群组:

可以使用 Amazon EC2 控制台或命令行创建置放群组。

在置放群组启动实例:

可以专门创建一个 AMI 以在置放群组中启动实例,并在该实例上安装所需的软件和应用程序。然后,从该实例中创建一个 AMI。

注意事项:

  • 实例数:输入在该置放群组中所需的实例总数,因为以后可能无法向其中添加实例。
  • 置放群组:如果页面上没有看到之前创建的置放群组列表,那么要确定可启动的实例类型。
  • 分区置放群组:一个区域置放群组支持最多7个分区
  • 分布置放群组:每个可用区最多支持运行7个实例

更改实例的置放群组:

可以将现有实例移动到置放群组,将一个置放群组中的实例移动到另一个置放群组或从置放群组中删除实例。在开始之前,实例必须处于 stopped 状态。

此处可通过命令行,将停止的EC2实例移动到置放群组中。

aws ec2 modify-instance-placement –instance-id xxxx –group-name MySpreadGroup

 

AWS与Eureka

要什么是Eureka,它与AWS又有什么关系?

 Eureka是一个基于REST的服务,主要用在AWS云环境作为服务发现,负载均衡和失败转移。我们叫这个服务,Eureka服务。 Eureka也有一个JAVA客户端组件, Eureka Client,帮助与服务端更简单的交互。 客户端也有一个内置的负载均衡做简单的round-robin均衡。 在Netflix, 很多更高级的负载均衡器包装了Eureka来提供基于很多其他因子,如流量,资源利用率,错误情况等权重的负载均衡。

为什么需要Eureka?

在AWS云,由于其天生的属性,服务器来来去去。不像传统的负载均衡是与已知的IP地址和机器名工作,在AWS,负载均衡需要更多更复杂的注册,解注册服务。由于AWS还没有提供一个中间层负载均衡,Eureka填补了这个中间层负载均衡的巨大空缺。

Eureka与AWS ELB有什么不同?

AWS Elastic Load Banancer是一个暴露给终端用户网络流量的服务边缘负载均衡方案。Eureka是作为中间层负载均衡的补充。理论上你可以把中间层服务放在AWS ELB之后, 如果在EC2模型中你把他们直接暴露给外部世界但失去了所有AWS安全组的好处。

AWS ELB也是一个传统的代理类型的负载均衡方案然而Erueka是不同的,负载均衡发生在实例/服务器/主机级别。客户端实例知道所有关于他们需要与哪台服务器通信的信息。基于你看的角度这可能会是好处也是坏处。如果你寻找的是AWS提供的基于用户session粘滞的负载均衡,Eureka没有一个开箱即用的方案。在Netflix,我们更需要我们的服务是无状态的(无粘滞)。这是一个更好的扩展模型并且Eureka很适合做这个。

另一个与代理模式负载均衡和用Eureka的负载均衡的不同是你的应用在负载均衡停机时更有弹性,这是由于所有可用服务器的信息都缓存在客户端。这确实需要一点内存,但买到了更好的弹性。

Eureka与Route 53有什么不同?

Route 53是一个域名服务,同样的Eureka可以提供同样的中间层服务,但相似点到此为止了。 Route 53是一个DNS服务,甚至可以在非AWS数据中心都可以提供你的DNS记录。Route 53也可以在AWS区域之间基于路由做延迟控制。Eureka与内部DNS是同义词并且跟外部世界的DNS服务没有任何关系。广义上Eureka也是一个区域隔离的服务,他不知道其他AWS区域的服务器。它主要的目的就是保存一个区域内的信息作为负载均衡用途。

你可以将你的之后跟渐层服务注册在Route 53上并用AWS安全组来保护你的公网服务器,但这样你的中间层服务器仍然暴露在外部。他同样会有传统基于DNS负载均衡方案的缺点,流量仍然可能会被路由到服务器已经不健康或者已经不存在的地方(AWS的云服务里任何时候服务器都可能消失)。

Netflix是怎么使用Eureka的?

在Netflix,Eureka除了作为一个中间层负载均衡的关键部分,还作为以下的原因。

作为与Netflix Asgard一起的红黑部署 – Asgard一个让云部署更方便的开源服务。Eureka会与Asgard交互,让应用在新/老版本部署切换,让故障处理更快速和无缝 – 尤其是当启动100个实例部署时要花费很长时间的时候。

当我们的cassandra需要维护时摘掉实例。

为我们的memcached缓存服务提供识别环上实例列表功能。

由于各种各样的原因提供保存其他应用特有原信息的服务。

什么时候使用Eureka?

你运行在AWS云上并且你有很多不像注册在AWS ELB上或暴露给外部的中间层服务。你想找一个简单的round-robin的负载均衡方案或者想要写一个基于Eureka包装过的符合你要求的负载均衡器。你不需要session粘滞和将session数据保存在一个像memcache的外部缓存。更重要的是,如果你的架构风格适合一个基于客户端的负载均衡模型,Eureka相当适合这个场景。

应用客户端和应用服务端怎么通信?

通信技术可以试试任何你喜欢的。Eureka帮你找到你需要通信的服务信息但没有引入任何通信协议或方法的限制。比如,你可以用Eureka获得目标机器地址并使用thrift,http(s)或其他RPC机制的协议。

高层架构

以上架构解释了Eureka是怎样在Netflix部署的并也是你会运行的状态。在每个区域(region)都会有一个eureka集群,它只知道关于这个区域内的实例信息。每个zone都至少也有一个eureka服务器来处理zone级别容灾。

服务注册在Eureka上并且每30秒发送心跳来续命。如果一个客户端在几次内没有刷新心跳,它会在90秒后被移出服务器注册信息。注册信息和刷新信息会在整个eureka集群的节点进行复制。任何zone的客户端都可看到注册信息(每30秒发生)去定位他们的服务(可能会在任何zone)并做远程调用。

非Java服务和客户端

对于非Java的服务,你可以用其他语言实现eureka的客户端部分。基于REST的服务也暴露给了所有操作给Eureka客户端。非Java客户端也可以使用REST服务来查询其他服务的信息。

可配置

使用Eureka你可以在集群中随意添加删除节点。你可以调各种内部配置,从超时到线程池。Eureka使用archaius并且如果你又一个配置源的实现那么可以动态调整很多东西。

弹性

在AWS云,很难不去思考构建弹性伸缩。Eureka使我们经验的结晶,在客户端和服务端都内置了弹性能力。

Eureka客户端设计成可以处理一个或多个Eureka服务端的失败场景。由于Eureka客户端有注册信息的缓存,他们可以很从容的处理失败,就算是所有的eureka服务器都挂了也可以。

Eureka服务器对于其他eureka节点挂了也有足够的弹性。就算是服务端和客户端产生了网络分区,服务器也有内置的弹性策略来防止大面积的停机。

多区域(Region)

在多个AWS区域部署Eureka是一个很简单的工作。多个区域的Eureka集群之间并不通信。

监控

Eureka用servo来追踪服务端和客户端的信息,包括性能,监控和报警。数据保存在JMX中并暴露给Amazon Cloud Watch。

定时启停实例

实现原理

在CloudWatch中创建规则用来定时调用lambda函数,lambda函数中编写启动和停止EC2实例的代码实现启动停止EC2实例。

实现前提和所创建的资源

要实现定时启停EC2实例需要CloudWatch规则来调用lambda函数启动和停止EC2实例,而lambda如果想要操作EC2 需要给lambda附加一个role 并要为role附加所需的权限。

综上创建的资源有:

  1. CloudWatch中创建了两个规则 StartInstanceStopInstance
  2. 四个分别用来启动和停止宁夏和北京区EC2实例的lambda函数 StopEC2InstancesStarEC2InstancesStopEC2InstancesForBeiJingStarEC2InstancesForBeiJing
  3. 一个用来附加到lambda函数的role lambda_stop_start_ec2_rol
  4. 一个包含启停实例所需权限的策略lambda_stop_start_ec2,并将该策略附加到所创建的角色

各资源配置

CloudWatch规则

资源用途

  1. StartInstance用来在每天6:00调用启动EC2实例的lambda函数StarEC2InstancesStarEC2InstancesForBeiJing
  2. StopInstance用来在每天20:30调用停止EC2实例的lambda函数 StopEC2InstancesStopEC2InstancesForBeiJing

如何修改

  1. 想要修改EC2实例启停时间只需要修改CloudWatch规则的Corn表达式即可,Cron的具体格式可参考官方文档:https://docs.aws.amazon.com/zh_cn/AmazonCloudWatch/latest/events/ScheduledEvents.html

此处一定注意!!!cron 使用的时间是UTC时间!环境是我们国内的话,时间要以当前北京时间-8:



  1. 规则只有在启用状态才会执行进行启用和禁止操作可以实现对规则的启用和停止。当前是禁止状态:

Lambda函数

资源和当前代码规则

  1. StopEC2Instances :stop宁夏区中具有特定标签(key:online value:day)且实例状态为running的EC2实例
  2. StarEC2Instances :启动宁夏区中具有特定标签(key:online value:day)且实例状态为stopstopped的EC2实例
  3. StopEC2InstancesForBeiJing :stop北京区中具有特定标签(key:online value:day)且实例状态为running的EC2实例
  4. StarEC2InstancesForBeiJing :启动北京区中具有特定标签(key:online value:day)且实例状态为stopstopped的EC2实例

函数代码修改

1.如果不想用key:online value:day的标签想用其他的标签则需要修改lambda函数代码(注意四个函数都要修改)点击要修改的lambda函数名找到函数代码部分如下图:

修改完点击保存。

IAM role和策略

  1. Role: lambda_stop_start_ec2_rol lambda所需的角色
  2. 策略lambda_stop_start_ec2:配置有lambda操作EC2所需的权限

直接启用

如果每天6:00启动20:30停止具有特定标签(key:online value:day)的EC2实例符合你的需求需要进行如下操作来启用:
1. 为要实现自动启停的实例配置标签且标签的key必须是online,value必须是day 如图:

2. 启用CloudWatch 规则:

 

五大企业行业云

——随着云应用的日益流行,五个行业都在根据自己的特定需求定制云。

2019年8月1日 作者:Macy Bayern

翻译:泰岳云业务

转载自:ZDNet

在过去的几年里,数据向云的移动呈爆炸式增长,像AWS、微软和谷歌这样的云巨头席卷了整个企业。Canalys最近的一份报告显示,2019年第一季度,全球云基础设施服务市场同比增长42%。

Forrester Research副总裁兼首席分析师安德鲁•巴特尔斯(Andrew Bartels)表示:“当我们使用‘云’这个词时,当我们的客户使用‘云’这个词时,他们通常至少在三个不同的维度或方向上进行思考。”

巴特尔斯解释说,这些维度包括用SaaS模型或单个主机应用程序、云中间件和云基础设施替换本地应用程序,其中云提供商可以访问计算和存储资源。

然而,由于公有云解决方案并不是针对每个行业的万能解决方案,垂直特定的云解决方案正在浮出水面。这些垂直云解决方案,也被称为“行业云”,正在经历着显著的增长。

原因显而易见。Gartner研究副总裁兼杰出分析师艾德•安德森(Ed Anderson)表示,与其他现场或通用云计算相比,针对特定行业开发的云应用程序既便宜又高效。

安德森表示:“(云计算)关乎数据中心的整合和效率。”“这是关于把应用程序转移到云上,在那里我可以支付云服务的消费,这比我自己尝试做所有的事情要便宜。”其中一些开销是以运行您自己的应用程序的物理环境的形式出现的。您可以将这些系统的管理外包给云。有时是为了保持最新,拥有最新的功能,而这些功能正在向云推进。”

行业云对于许多行业来说几乎是不可避免的,尤其是那些使用传统供应商的行业,Bartels补充道。为了跟上不断变化的业务技术环境,许多遗留供应商正在推动组织从旧的系统转向更像云的系统。

以下是行业云解决方案投资最大的五个行业。

1、制造业

弗雷斯特研究公司(Forrester Research)的数据显示,在北美制造企业中,大多数(84%)的全球采购影响者确认,在未来一年里,增加云计算的使用是一项中度、高度或关键的优先任务。

巴特尔斯说,大多数现场技术首先出现在制造业。然而,随着工业云的兴起,制造业的核心交易正在向云转移。这些核心交易包括“用于运行工厂生产线的系统,以处理进入生产的部件和材料的流入……以及最终产品的供给,这些最终产品进入系统,用于交付或销售给客户。”巴特尔斯补充道。

随着自动化预计将在2024年接管制造业,这一领域的数字化转型时机已经成熟。

2、零售

安德森说,垂直云解决方案在零售业也取得了巨大的成功,这主要归功于该行业产生的大量数据。

弗雷斯特研究公司(Forrester Research)确定,北美零售机构中约77%的全球采购影响者认为,在未来一年里,云计算的使用将是中等、重要或关键的优先事项。有了如此大量的数据,零售商需要扩大数据存储、收集和组织实践的规模。

巴特尔斯说,工业云对核心零售管理系统产生了巨大的影响,尤其是围绕着商品和库存的循环。

巴特尔斯继续说:“这些系统有助于管理零售商拥有的商品的流入和流出,以及这些流入和流出是如何通过他们自己的仓库库存分配系统,而不是通过卡车、商店或刚刚售出的库存。”“这些系统会跟踪这些库存水平,确保有源源不断的商品流入,以取代流向客户的商品。”

安德森指出,云技术还可以根据公司需要的任何因素,帮助跟踪各种零售店和直销店的经营业绩,从而提高效率、销售额和客户满意度。

3、政府

安德森表示,或许最突出的行业云是政府领域。

安德森说:“你主要在北美看到这种情况,但在其他国家也有其他例子,你要么有超大规模的供应商提供特定的政府版本的云,要么有国家供应商提供某种形式的政府或特定国家的云。”

这些云有助于减轻工作负载的隔离,作为一个封闭的社区工作,这保证不会有机密数据离开该国。安德森说,用户需要从政府获得在政府云上托管工作负载的特定权限。

4、医疗保健

数据管理和存储的另一个温床出现在医疗保健领域。根据弗雷斯特研究公司(Forrester Research)的数据,在北美,74%的医疗保健全球采购影响者表示,对云计算的需求在未来一年是一个适度、高或关键的优先事项。

医疗行业云提供了一个中央的、安全的存储信息的地方,这在存储许多个人记录的行业中是至关重要的。

安德森说,云计算还可以通过跟踪和保存有关患者的护理、行为和健康进展的数据,帮助医疗专业人员了解患者。他补充说,有了这些信息,卫生专业人员可以查看成功率和相关场景、某些药物反应以及其他见解。

5、农业

农业领域在创新方面取得了巨大成功,物联网(IoT)和大数据帮助农民更多地了解他们的环境和农作物生产。这些技术,加上工业云,可以为农场和农业巨头提供极其强大的洞察力。

安德森表示:“在物联网+云的情况下,你将看到(农业)制造业真正利用云的能力。”“任何可以放置传感器的地方,都可以捕捉周围环境的信息——土壤传感器、机器传感器、种子或谷物传感器、动物周围的传感器——云可以帮助你处理这些信息。”

如何建立AWS Site-to-Site VPN

AWS 站点到站点(Site-to-Site)VPN将数据中心或分支机构扩展到云,VPN使用加密通道保护在Internet上的通信,同时支持连接到客户私有网关(Customer Gateway)和中转网关(Transit Gateway)。

一、VPN的组成

  • 虚拟专用网关(VGW):虚拟专用网关是 Site-to-Site VPN 连接在 Amazon 端的 VPN 集线器;
  • 客户网关(CGW):客户网关是指 Site-to-Site VPN 连接在客户端的实体设备或软件应用程序。

要创建 AWS 连接,必须在 Site-to-Site VPN 中创建一个客户网关,用来向 AWS 提供有关的客户网关设备的信息。

  • 中转网关( Transit Gateway):还可以将 AWS Site-to-Site VPN 连接的目标网关从虚拟专用网关修改为中转网关。中转网关是一个中转中心,可用它来互连 Virtual Private Cloud (VPC) 和本地网络。

要设置VPN,首先定义连接的两端。在AWS中是通过虚拟专用网关(VGW)完成的,在公司数据中心是通过客户网关(CGW)完成的。CGW是一种防火墙或路由器,支持IPSec,理想情况下还支持BGP。

在AWS方面,VGW将提供两个托管终止端点,并将它们与网关关联。端点位于两个可用性区域中,并使用来自AWS公共地址空间的公共IP地址。

 基本 VPN 图

二、配置步骤

通过在 VPC 中启用访问远程网络的权限:

  • 创建专用网关
  • 创建自定义路由表
  • 更新安全组规则
  • 建立AWS Site-to-Site VPN 连接

CGW总是发起连接,这不能从VGW发起。如果将CGW配置为侦听传入连接,则隧道将永远不会出现。

三、一个例子

实验在两个Region的VPC之间建立VPN连接。VGW VPC CIDR:10.2.0.0/16;CGW VPC CIDR:10.1.0.0/16。

  1. 创建VGW:建好后Attach to VPC;

2、配置CGW:可选静态路由和动态路由,IP地址为网关的外部接口指定 Internet 可路由 IP 地址;该地址必须是静态的,可位于执行网络地址转换(NAT)的设备之后。CGW可以是硬件也可以是软件;这里将instance作为CGW;

3、创建VPN连接:在VGW配置VPN连接:

  • 静态路由,连接选择CGW私有网段 IP 10.1.0.0/16;
  • VGW得到两个outside ip(tunnel_1&tunnel_2),将在第5步配置对端VPN;
  • 下载配置文件,记录两个通道的pre-shared key;
  • 更新路由表router propagation;

4、配置SSH连接:利用.ppk文件使用EIP连接CGW instance;

5、配置CGW IPSec服务:

配置ipsec.conf文件,更新tunnel_1&tunnel_2 ip地址;

配置ipsec.secrets文件,更新tunnel_1&tunnel_2 ip地址和pre-shared key

6、测试连接:重启ipsec服务,ping VGW 10.2.0.100