aws(学习笔记第二十六课)
- 使用
aws Elastic Beanstalk
学习内容:
AWS Elastic Beanstalk整体架构AWS Elastic Beanstalk的hands onAWS Elastic Beanstalk部署node.js程序包- 练习使用
AWS Elastic Beanstalk的ebcli
1. AWS Elastic Beanstalk整体架构
-
官方的
guide
AWS的官方guide如下。
aws Elastic Beanstalk guide链接 -
为什么使用
AWS Elastic Beanstalk
web application开发,必须考虑很多环境面的问题。VPC如何分割成subnet- 如何设定
AutoScaling - 设定
Elastic Load Balancing Route53设定dev/test/prod的环境设定
对于
web application开发者来说,要考虑应用开发以外的很多,需要很多考虑。如果想简单使用AWS,只考虑开发业务代码,生成.zip或者war文件就能够作成一个完整的web application,那么可以考虑使用AWS Elastic Beanstalk。
2. AWS Elastic Beanstalk的hands on
AWS Elastic Beanstalk的全体架构

- 构建
AWS Elastic Beanstalk- 开始一个新的
Elastic Beanstalk,首先创建Elastic Beanstalk application

- 之后创建
environment- 选择
web服务器环境

- 选择平台
平台选择java。其他的也没有问题,这里首先使用java

- 选择应用程序代码
这里就是应用程序代码,开发人员只关注业务代码上传,web应用程序的部署都交给AWS。这里选择AWS提供的示例程序。后面的练习中使用node.js的打包程序

- 选择
- 权限设定
- 使用
AWS的自动设置功能
自动生成一个生成的role

- 可以查看
AWS创建的两个role的权限设定
可以看出都是关于Elastic Beanstalk执行和ec2的各种权限。

- 使用
- 选择网络设定
VPC和Subnet的设定
这里选择待带有公网权限的default的VPC和Subnet。

database的设定这里无效
主要是练习使用Elastic Beanstalk的功能,这里让database的设置无效化。
- 安全组设定
安全组这里选择网络全开的default安全组,为了方便练习。

- 最后提交
Elastic BeanStalk

- 经过几分钟之后,
Elastic BeanStalk Environment会创建成功

- 开始一个新的
- 访问
AWS Elastic Beanstalk示例程序- 回到
Elastic BeanStalk Application一栏画面,进入创建的Applicaiton

- 点击
Elastic BeanStalk Application的域
可以看出马上会进入该示例程序。

- 回到
3. AWS Elastic Beanstalk部署node.js程序包
- 编写自己的
node.js web application- 进入上面创建的
ec2

- 在
ec2上创建node.js web applicationsudo -i cd /home/ec2-user mkdir my_webapp yum install npm -y npm init -y npm install express - 在
/home/ec2-user/my_webapp上创建app.jsconst express = require('express'); const app = express(); app.get('/',(req,res)=>{ res.send("Welcome to Home Page") }); app.listen(8080,() =>{ console.log("I am node js"); }); - 执行
app.jsnode application.js - 访问该
node.js web application

- 打包
node.js web application,上传到s3 bucket[root@ip-172-31-1-135 my_webapp]# zip -r app.zip ./* [root@ip-172-31-1-135 my_webapp]# aws s3 cp ./app.zip s3://finlay-cloudshell
- 进入上面创建的
- 部署
node.js web application- 开始创建另一个
application
- 选择平台环境

- 选择
s3 bucket的应用程序

- 访问
node.js web application

AWS Elastic Beanstalk让开发者单纯面对web application的开发,其他的交个AWS来构建。在这方面表现很出色。
- 开始创建另一个
4.练习使用AWS Elastic Beanstalk的ebcli
- 什么是
eb cli
顾名思义,这个是Elastic Beanstalk Command Line Interface
pypi的官方网站
未完待续->

















