关注公众号:AWS爱好者(iloveaws)
文 | 沉默恶魔(禁止转载,转载请先经过作者同意)
网站:www.iloveaws.cn
Hello大家好,欢迎来到《AWS解决方案架构师认证 Professional(SAP)中文视频培训课程》,上节课我们介绍了Elastic Beanstalk知识点、优势,然后实操演示使用Elastic Beanstalk部署了一个示例的WEB应用等内容,我们这节课继续Elastic Beanstalk的内容。
我们开始今天的课程。
上节课我们实操演示使用Elastic Beanstalk创建一个应用程序,这个应用程序是基于PHP平台,我们配置的是使其运行示例应用程序做演示,应用程序的名称为 iloveawscn-app。
查看创建的应用程序
可以通过访问EB管理控制台,环境左侧的“事件”,查看我们这个应用程序相关联的事件和通知。
通过事件的条目也可以看到当时创建 Web 服务器环境时,Elastic Beanstalk 创建一个EC2实例。
我们前面选择的PHP平台、以及webserver,还有示例应用代码都是运行在这台实例ID尾数为c8f0的EC2实例上。
通过EC2管理控制台,也可以查看到这台EC2实例,我们访问下EC2管理控制台。
可以看到实例id尾数为c8f0的这个实例,就是Elastic Beanstalk启动的实例。
您可以对这台实例完全控制,包括使用ssh登陆并管理这台实例,当然前提是您必须先创建 EC2 密钥对并配置 Elastic Beanstalk 的EC2 实例使用该 密钥对,然后才能访问EC2 实例。
按照Elastic Beanstalk的设计理念,通过Elastic Beanstalk的控制台页面,就能完成所有的管理需求,并不需要SSH登录到ec2实例。
接下来我们一起来看一下。
检索和下载日志
首先,当要对WEB应用程序进行故障排查时,最常用的方式是通过日志。通过查看Elastic Beanstalk 环境的 EC2 实例上的各类日志来对应用程序进行故障排查。
最常用日志文件有 Elastic Beanstalk 操作日志和来自 Web 服务器或应用程序服务器的日志,这些日志都会存储在EC2实例本地,而我们可以使用EB管理控制台轻松检索这些日志,而不必在通过SSH到实例上去查看。另外也支持将环境配置为将实例的日志实时传输到 Amazon CloudWatch Logs,然后通过CloudWatch检索日志。
那现在我们就来演示下通过EB控制台获取EC2实例的日志,EB控制台访问环境中的“日志”,然后请求“完整日志”。
好,现在就可以点击下载,下载日志到本地进行查看。
浏览器会下载一个ZIP文件,我们解压缩后进入到/var/log目录,可以看到里面有实例的messages日志,nginx日志,以及eb的各类日志等等。
通过EB控制台,不需要登录EC2实例,就可以非常方便将日志下载到本地,然后通过日志进行故障排查。
这是日志部分。
通过EB控制台部署新版本
另外我们可能需要定期更新、部署新版本的应用程序,将我们的更新的版本应用程序发布出去,通过Elastic Beanstalk控制台,操作起来也是非常的方便。
可以通过访问控制台,然后选择要更新应用程序的环境,然后通过这里的“上传和部署”,部署新版本的应用程序。
比如我们现在在本地更新了应用程序代码,需要打成zip包,然后点击“上传和部署”,选择本地的更新代码的ZIP文件,点击“部署”,然后Elastic Beanstalk会上传更新的应用程序,自动解压缩并放置EC2环境中正确的位置,自动重启必要的服务比如web server 、php等等工作,也就是说,所有更新、发布应用程序代码时需要的步骤,Elastic Beanstalk全部都自动帮我们搞定了,非常的方便。
这是应用程序更新和部署部分。
我们继续。
自定义环境(EC2数量、ASG、ELB、环境配等)
我们上节课的实操演示,在使用EB控制台创建应用程序时,采用的是默认的配置,默认的话只启动1台EC2实例的环境,所以我们刚刚也看到了目前我们的应用程序只跑在一台EC2实例上。
那如果后面应用程序的访问量上来了,一台实例不够了,我们是可以通过EB控制台,配置Auto Scaling 组,然后前面在配置一个负载均衡器,实现弹性伸缩和负载均衡,这些EB都是支持的。
我们看下具体在哪里配置。
选择要配置的环境,然后访问左边的“配置”选项卡,在这里提供了一系列选项,可以自定义环境中的资源以及 Elastic Beanstalk 行为和平台设置。
那我们现在要修改EC2的容量,实现弹性伸缩,就需要编辑“容量”这里,然后将“环境类型”由现在的“单一实例”,变更为“负载均衡”。配置最大,最小实例,使用实例的类型,AMI,实例放置的可用区,以及触发扩展的指标。
以及在这里可以配置基于时间的扩展,通过以上这些配置可以轻松的配置EB支持弹性伸缩和负载均衡。
我们在看下其他配置项,“软件”配置,基于我们现在演示的PHP环境,您可以配置PHP的内存限制,最长执行时间等重要的配置项,这些需要SSH到实例修改php.ini文件的工作都可以通过控制台这里进行配置。
我们在往下看,您可以通过这里的配置将实例的日志 流式传输到 CloudWatch Logs,然后在CloudWatch上对实例的日志进行检索和查看。
还有一些配置像实例的安全组,根卷的类型,以及前面提到的EC2使用的密钥对,监控相关的配置等等,这些都可以通过EB的控制台, 选择要配置的环境,通过配置页进行配置,可支持的配置项非常非常多,学友可以自己创建个环境,自己亲自实操一下更有助于这些知识的掌握。
好,以上就是我们今天的课程内容,希望通过这两个课时,能够让大家更了解Elastic Beanstalk。
希望此系列教程能为您通过 AWS解决方案架构师认证 Professional 认证考试带来帮助,如您有任何疑问
关注公众号:AWS爱好者(iloveaws)
文 | 沉默恶魔(禁止转载,转载请先经过作者同意)
网站:www.iloveaws.cn