试试AWS Elastic Beanstalk
首先
我想要尝试一下AWS的Elastic Beanstalk。
ChatGPT告诉我,它有以下特点。
Beanstalk是在AWS上快速启动和运行Web应用程序的最佳方式。它具有以下特点:
多样的应用程序平台(如Java、.NET、PHP、Node.js等)
多种应用程序部署选项(如ZIP文件、Git、Docker等)
监控(可通过AWS管理控制台和Amazon CloudWatch来查看应用程序状态和指标)
管理和更新(可使用AWS CLI和SDK来更改应用程序和环境配置)
扩展(可通过自动扩展组和负载均衡器来根据流量调整实例数量)
定制化(可使用配置文件和扩展功能来更改基础设施的详细信息)
合规性(符合PCI DSS、HIPAA、ISO 27001等规定)
下载示例应用程序
首先,您可以从这里下载要使用的示例应用程序。
我想尝试一下使用Node.js。
当您解压缩Zip文件时,会变成这样。
% ls nodejs
EBSampleApp-Nodejs.iml cron.yaml package.json
app.js index.html
Beanstalk的设置
创建一个应用程序并设置运行环境来运行该应用。
创建应用程序
在AWS控制台中点击“创建应用程序”。


当你点击这里创建应用程序时,似乎会同时创建应用程序和环境。
在这一阶段,只会创建应用程序。
创建环境
我们将营造一个环境。




将设置设置为以便单击更多选项。
将源代码直接作为示例代码上传为Zip格式。






确认设定内容
我将查看所创建配置的设置内容。点击左侧菜单的设置选项。


创建新环境
假设开发工作已经完成,我们将开始创建生产环境。






确认设置内容



(仅供参考)
在创建环境进行Beanstalk的时候,只是修改了样本代码的颜色,但是当在压缩的时候,以源代码的父目录进行压缩,就会报错。似乎相对路径无效。
% zip nodejs-prod.zip nodejs-prod/*
adding: nodejs-prod/EBSampleApp-Nodejs.iml (deflated 47%)
adding: nodejs-prod/app.js (deflated 52%)
adding: nodejs-prod/cron.yaml (deflated 24%)
adding: nodejs-prod/index.html (deflated 72%)
adding: nodejs-prod/package.json (deflated 23%)
通过在与代码相同的目录下进行压缩,成功了。
% zip ../nodejs-prod.zip -r .
adding: EBSampleApp-Nodejs.iml (deflated 47%)
adding: cron.yaml (deflated 24%)
adding: index.html (deflated 72%)
adding: package.json (deflated 23%)
adding: .ebextensions/ (stored 0%)
adding: .ebextensions/logging.config (deflated 53%)
adding: app.js (deflated 52%)