41-Elastic Beanstalk进阶

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爱好者的网址 www.iloveaws.cn,查看AWS认证资料、认证培训课时视频、仿真认证题库等
  • 可以通过扫码加入【AWS爱好者】微信公众号,查看原创的AWS知识点相关文章
  • 加入【AWS爱好者】微信群,和其他同学一起备考,以及探讨交流AWS相关知识
  • 加入【AWS知识星球】持续学习

我们今天的视频课程就到这里,感谢大家的观看,我们下一课程再见。

2021年10月29日

0 responses on "41-Elastic Beanstalk进阶"

Leave a Message

Setup Menus in Admin Panel

error: Content is protected !!