AWS部署后端和数据库
后端
步骤一:为后端应用创建 Docker 镜像
- 编写 Dockerfile
在你的后端项目根目录下创建一个名为 Dockerfile 的文件,内容如下:2.推送docker1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19FROM node:14
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
# 如果使用 TypeScript,进行编译
COPY tsconfig.json ./
COPY src ./src
RUN npm run build
# 复制所有源代码
COPY . .
# 暴露应用运行的端口
EXPOSE 8080
# 启动命令
CMD [ "npm", "start" ]1
2
3docker build -t your_dockerhub_username/your_app_name:latest .
docker login
docker push your_dockerhub_username/your_app_name:latest步骤二:在 AWS ECS 上部署容器
- 创建 ECS 集群
- 点击 “Clusters”,然后点击 “Create Cluster”。
- 选择 “Networking Only”(适用于 Fargate)。
- Create
- 创建任务定义
- Create new Task Definition
- 选择 “FARGATE”
- 添加容器:
- Add container
1
2
3
4Container name:express-container
Image:your_dockerhub_username/your_app_name:latest
Port mappings:容器端口设置为 8080。
Environment variables:添加需要的环境变量,特别是数据库连接信息(推荐使用 AWS Secrets Manager)。
- 创建服务
Services -> Create
配置服务:
Launch Type:FARGATE
Task Definition:选择刚创建的任务定义。
Cluster:express-app-cluster
Service Name:express-app-service
Number of tasks:1
配置网络:
Cluster VPC:选择你的 VPC(要和数据库vpc相同)
Subnets:选择公共子网(以便从互联网访问)。
Security Groups:创建或选择一个安全组,允许入站端口 8080。
Load Balancer(可选但推荐):
如果需要负载均衡和自动扩展,选择 “Application Load Balancer”。
配置监听器和目标组,将流量转发到容器端口 8080。
点击 “Next step”,然后 “Create Service”。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Mio's blog!