Elastic Beanstalk-环境搭建
基本知识
基本知识参照: 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,还是要手动删除