试试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控制台中点击“创建应用程序”。

スクリーンショット 2023-02-19 9.52.41.png
スクリーンショット 2023-02-20 15.39.38.png

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

创建环境

我们将营造一个环境。

スクリーンショット 2023-02-20 14.29.06.png
スクリーンショット 2023-02-20 15.43.09.png
スクリーンショット 2023-02-20 15.44.17.png
スクリーンショット 2023-02-20 15.45.03.png

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

スクリーンショット 2023-02-20 15.46.39.png
スクリーンショット 2023-02-20 15.48.41.png
スクリーンショット 2023-02-20 15.50.12.png
スクリーンショット 2023-02-20 15.50.45.png
スクリーンショット 2023-02-20 15.58.38.png
スクリーンショット 2023-02-19 10.52.57.png

确认设定内容

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

スクリーンショット 2023-02-20 16.02.00.png
スクリーンショット 2023-02-20 16.05.49.png

创建新环境

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

スクリーンショット 2023-02-20 16.09.41.png
スクリーンショット 2023-02-20 16.11.04.png
スクリーンショット 2023-02-20 16.12.24.png
スクリーンショット 2023-02-20 16.13.55.png
スクリーンショット 2023-02-20 16.23.29.png
スクリーンショット 2023-02-20 15.06.21.png

确认设置内容

スクリーンショット 2023-02-20 16.25.54.png
スクリーンショット 2023-02-20 16.27.55.png
スクリーンショット 2023-02-20 16.28.31.png

(仅供参考)

在创建环境进行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%)
bannerAds