aws(学习笔记第二十六课) 使用AWS Elastic Beanstalk
aws(学习笔记第二十六课)
- 使用
aws Elastic Beanstalk
学习内容:
AWS Elastic Beanstalk
整体架构AWS Elastic Beanstalk
的hands on
AWS 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 application
sudo -i cd /home/ec2-user mkdir my_webapp yum install npm -y npm init -y npm install express
- 在
/home/ec2-user/my_webapp
上创建app.js
const 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.js
node 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的官方网站
未完待续->