Elastic Beanstalk-环境搭建(Nodejs)

本文介绍了如何使用Elastic Beanstalk通过控制面板和EB-CLI搭建Node.js应用和环境。首先,通过控制面板新建应用和环境,选择Node.js开发平台,等待环境生成并检查健康状况。接着,更新应用并验证更新内容。然后,详细说明了删除应用版本、环境终了的步骤。此外,还探讨了使用EB-CLI进行环境搭建,包括应用初始化、密钥设置、CodeCommit集成、SSH配置以及环境创建、更新和结束。最后提醒注意资源清理,特别是S3桶的删除问题。

基本知识

基本知识参照: Elastic Beanstalk.

通过控制面板搭建

新建应用和环境

作成新的应用
在这里插入图片描述
键入应用名;NodeTest
说明;任意
在这里插入图片描述
新的开发环境做成
选择webServer
在这里插入图片描述
环境名;Nodetest-env
开发平台选择;Nodejs
应用;选择样本(demo应用)
在这里插入图片描述
等待数分钟后,环境自动生成
在这里插入图片描述
在这里插入图片描述
可以看到健康状况;ok
AWS在缺省VPC上自动生成了
EC2,S3(用来存放版本),安全组,IAM角色,CloudFormation等资源
缺省VPC没有的话,环境创建失败。
在这里插入图片描述
删除EC2时,不忘了解掉关联,删除IP
在这里插入图片描述

最后确认环境正常生成
在这里插入图片描述

更新应用

官网下载sample压缩包后,选择上传
在这里插入图片描述
指定下载的压缩包
在这里插入图片描述

可以看到环境的重新装载
在这里插入图片描述
最终环境的成功更新
在这里插入图片描述
点击URL,确认此次更新的内容
在这里插入图片描述

删除应用和环境

删除应用版本

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

环境终了

在这里插入图片描述
键入环境名以确认
在这里插入图片描述
删除中
在这里插入图片描述
删除后的状态,显示已经终了
在这里插入图片描述
上图的 【动作】列表中选择【应用删除】,回到最初的新建页面
在这里插入图片描述

确认其他项
EC2-----------terminated
ElasticIP-----自动解放删除
S3--------------删除;不能删除的时候,参照: 不能删除桶的问题.
CloudFormation-------自动删除

通过Git / EB-CLI搭建

EB-CLI安装参照: AWS-EBCLI.

新建应用和环境

root用户clone资源

[root@localhost /]# git clone https://github.com/oblily/beanstalk_nodejs_sample.git
[root@localhost /]# cd  beanstalk_nodejs_sample
[root@localhost beanstalk_nodejs_sample]# git status
# On branch master
nothing to commit, working directory clean

新建应用

eb命令初期化
[root@localhost beanstalk_nodejs_sample]# eb init

Select a default region
1) us-east-1 : US East (N. Virginia)
2) us-west-1 : US West (N. California)
3) us-west-2 : US West (Oregon)
4) eu-west-1 : EU (Ireland)
5) eu-central-1 : EU (Frankfurt)
6) ap-south-1 : Asia Pacific (Mumbai)
7) ap-southeast-1 : Asia Pacific (Singapore)
8) ap-southeast-2 : Asia Pacific (Sydney)
9) ap-northeast-1 : Asia Pacific (Tokyo)
10) ap-northeast-2 : Asia Pacific (Seoul)
11) sa-east-1 : South America (Sao Paulo)
12) cn-north-1 : China (Beijing)
13) cn-northwest-1 : China (Ningxia)
14) us-east-2 : US East (Ohio)
15) ca-central-1 : Canada (Central)
16) eu-west-2 : EU (London)
17) eu-west-3 : EU (Paris)
18) eu-north-1 : EU (Stockholm)
(default is 3): 9
密钥设置
You have not yet set up your credentials or your credentials are incorrect
You must provide your credentials.
(aws-access-id):XXXXXXXX
(aws-secret-key):XXXXXXX
应用名称设定
Enter Application Name
(default is "beanstalk_nodejs_sample"):
Application beanstalk_nodejs_sample has been created.
开发平台选择
Select a platform.
1) Node.js
2) PHP
3) Python
4) Ruby
5) Tomcat
6) IIS
7) Docker
8) Multi-container Docker
9) GlassFish
10) Go
11) Java
12) Packer
(default is 1): 1
CodeCommit使用
Do you wish to continue with CodeCommit? (y/N) (default is n): n
SSH使用
Do you want to set up SSH for your instances?
(Y/n): y
Key-pair
Select a keypair.
1) study-aws
2) [ Create new KeyPair ]
(default is 1):

新建环境

[root@localhost beanstalk_nodejs_sample]# eb create
Enter Environment Name
(default is beanstalk-nodejs-sample-dev):
Enter DNS CNAME prefix
(default is beanstalk-nodejs-sample-dev):

Select a load balancer type
1) classic
2) application
3) network
(default is 2):
Creating application version archive "app-97f6-190116_103437".
Uploading beanstalk_nodejs_sample/app-97f6-190116_103437.zip to S3. This may take a while.
Upload Complete.
Environment details for: beanstalk-nodejs-sample-dev
  Application name: beanstalk_nodejs_sample
  Region: ap-northeast-1
  Deployed Version: app-97f6-190116_103437
  Environment ID: e-pbdurbmy8u
  Platform: arn:aws:elasticbeanstalk:ap-northeast-1::platform/Node.js running on 64bit Amazon Linux/4.7.1
  Tier: WebServer-Standard-1.0
  CNAME: beanstalk-nodejs-sample-dev.ap-northeast-1.elasticbeanstalk.com
  Updated: 2019-01-16 10:34:41.526000+00:00
Printing Status:
2019-01-16 10:34:39    INFO    createEnvironment is starting.
2019-01-16 10:34:41    INFO    Using elasticbeanstalk-ap-northeast-1-XXXXXX as Amazon S3 storage bucket for environment data.
2019-01-16 10:35:02    INFO    Created target group named: arn:aws:elasticloadbalancing:ap-northeast-1:XXXXXX:targetgroup/awseb-AWSEB-4ZKQVV15C6AN/f1f23d1c03a1c447
2019-01-16 10:35:02    INFO    Created security group named: sg-010fbd14ff4e9d691
2019-01-16 10:35:18    INFO    Created security group named: awseb-e-pbdurbmy8u-stack-AWSEBSecurityGroup-1IVHDE2EMPT0Z
2019-01-16 10:35:18    INFO    Created Auto Scaling launch configuration named: awseb-e-pbdurbmy8u-stack-AWSEBAutoScalingLaunchConfiguration-5UBF8BCJ3CMS
2019-01-16 10:36:51    INFO    Created Auto Scaling group named: awseb-e-pbdurbmy8u-stack-AWSEBAutoScalingGroup-EDNTMOSFNB1G
2019-01-16 10:36:51    INFO    Waiting for EC2 instances to launch. This may take a few minutes.
2019-01-16 10:36:51    INFO    Created Auto Scaling group policy named: arn:aws:autoscaling:ap-northeast-1:XXXXXX:scalingPolicy:4251aec8-8bdf-483d-a364-c34ee321dcf7:autoScalingGroupName/awseb-e-pbdurbmy8u-stack-AWSEBAutoScalingGroup-EDNTMOSFNB1G:policyName/awseb-e-pbdurbmy8u-stack-AWSEBAutoScalingScaleDownPolicy-K6BUIKVAK82T
2019-01-16 10:36:51    INFO    Created Auto Scaling group policy named: arn:aws:autoscaling:ap-northeast-1:XXXXXX:scalingPolicy:ba650b51-62b5-4e99-990b-451306c0a8de:autoScalingGroupName/awseb-e-pbdurbmy8u-stack-AWSEBAutoScalingGroup-EDNTMOSFNB1G:policyName/awseb-e-pbdurbmy8u-stack-AWSEBAutoScalingScaleUpPolicy-IR1YIL40F8YY
2019-01-16 10:37:07    INFO    Created CloudWatch alarm named: awseb-e-pbdurbmy8u-stack-AWSEBCloudwatchAlarmLow-148JQVNUWGNFK
2019-01-16 10:37:07    INFO    Created CloudWatch alarm named: awseb-e-pbdurbmy8u-stack-AWSEBCloudwatchAlarmHigh-IGJJZFIK2LE8
2019-01-16 10:38:12    INFO    Created load balancer named: arn:aws:elasticloadbalancing:ap-northeast-1:XXXXXX:loadbalancer/app/awseb-AWSEB-O9ALNBX83MST/7b2375bf79e4d430
2019-01-16 10:38:13    INFO    Created Load Balancer listener named: arn:aws:elasticloadbalancing:ap-northeast-1:XXXXXX:listener/app/awseb-AWSEB-O9ALNBX83MST/7b2375bf79e4d430/c24448a62acb0abd
2019-01-16 10:39:19    INFO    Application available at beanstalk-nodejs-sample-dev.ap-northeast-1.elasticbeanstalk.com.
2019-01-16 10:39:19    INFO    Successfully launched environment: beanstalk-nodejs-sample-dev

[root@localhost beanstalk_nodejs_sample]#

生成了AutoScaling组,elb等资源
打开环境链接

eb open

实时监控eb健康状态

eb health --refresh

更新环境

[root@localhost beanstalk_nodejs_sample]# eb deploy
Creating application version archive "app-97f6-190116_111048".
Uploading beanstalk_nodejs_sample/app-97f6-190116_111048.zip to S3. This may take a while.
Upload Complete.
2019-01-16 11:10:50    INFO    Environment update is starting.
2019-01-16 11:11:36    INFO    Deploying new version to instance(s).
2019-01-16 11:12:15    INFO    New application version was deployed to running EC2 instances.
2019-01-16 11:12:15    INFO    Environment update completed successfully.

在这里插入图片描述

终了环境

[root@localhost beanstalk_nodejs_sample]# eb terminate
The environment "beanstalk-nodejs-sample-dev" and all associated instances will be terminated.
To confirm, type the environment name: beanstalk-nodejs-sample-dev
2019-01-16 11:16:11    INFO    terminateEnvironment is starting.
.......
.......
2019-01-16 11:19:19    INFO    Deleted security group named: sg-010fbd14ff4e9d691
2019-01-16 11:19:23    INFO    Deleting SNS topic for environment beanstalk-nodejs-sample-dev.
2019-01-16 11:19:24    INFO    terminateEnvironment completed successfully.

从log里可以看到,依次删除了下列的资源

Deleted Load Balancer listener named
Deleted CloudWatch alarm named
Deleted load balancer named
Deleted Auto Scaling group policy named
Waiting for EC2 instances to terminate.
Deleted Auto Scaling group named:
Deleted Auto Scaling launch configuration named
Deleted target group named
Deleted security group named
Deleting SNS topic for environment beanstalk-nodejs-sample-dev.

对于S3,还是要手动删除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值