跳至主要内容

13 个顶级 AWS 项目:从入门到精通

探索 13 个适合各个水平的 AWS 实战项目。通过贴近实战的应用与专家指引,提升您的云技能。
Joleen Bothma
Joleen Bothma

创建您的免费账户

实践并学习路径你的进步。

使用 Google 继续继续即表示您接受我们的 使用条款,我们的 隐私政策 ,并且您的数据存储在美国。

Amazon Web Services(AWS) 目前是领先的云服务提供商,拥有31% 的全球市场份额。这意味着获得AWS 认证至关重要,有助于您胜任诸如数据工程师或云架构师等多种技术岗位。

然而,仅有理论知识还不够;动手实践项目对于真正理解并高效利用 AWS 功能至关重要。

本文将带您逐步完成面向各技能水平的 AWS 项目。在最后一节中,我们还将探讨一些聚焦微服务、监控与基础设施即代码的 DevOps 项目。

请务必在项目完成后关闭或终止所使用的资源。为避免产生意外费用,请不要让任何 AWS 服务持续运行超过数小时。

初学者

中级

高级

DevOps

1. 在 Amazon S3 上托管静态网站

4. 构建无服务器的图像处理系统

6. 使用 Amazon Sagemaker 部署完整的机器学习反欺诈解决方案

11. 使用 ECS、Terraform 和 CodePipeline 构建全栈应用

2. 使用 AWS Elastic Beanstalk 部署简单的 Python Web 应用

5. 使用 AWS Lex 创建聊天机器人

7. 使用 Amazon Sagemaker 构建推荐系统

12. 构建自动化的 CloudWatch 警报报告系统

3. 在 Amazon RDS 上部署 SQL Server 数据库

 

8. 使用 Amazon Sagemaker 构建图像分类系统

13. 使用 Amazon ECS 和 AWS Fargate 构建容器化 Web 应用

 

9. 使用基础模型与 AWS 构建多模态 RAG

 

10. 在 AWS 上构建具备代理能力的 LLM 助手

面向初学者的 AWS 项目

如果您是 AWS 的新手,这些项目可以帮助您探索基础功能,并熟悉最佳实践等内容。

AWS 入门:IAM 角色与 S3

作为 AWS 初学者,最佳的起点是先熟悉 AWS 生态与其服务。我们的AWS 入门课程将带您学习基础知识以及部分进阶概念。

任何初学者都应熟练掌握的两项最常用服务是 IAM 与 S3。

AWS 身份与访问管理(IAM)

IAM 服务包含在每个 AWS 账户中。通过 IAM,您可以添加新用户并控制其对 AWS 服务与资源的访问。

您需要了解如何使用 IAM,并遵循安全最佳实践。这些技能对于本文提到的 AWS 项目至关重要。

AWS IAM Overview

来源:AWS

AWS 简单存储服务(S3)

AWS S3 可能是最受欢迎、使用最广的 AWS 服务之一。它提供极具性价比的数据存储解决方案,且设置非常简单。Amazon 还提供弹性文件系统(EFS)作为替代的存储方案。

我们的AWS 存储教程探讨了 S3 与 EFS 的不同特性和优势。

本文列出的许多项目都会以某种方式将 S3 作为存储方案,您在职业生涯中也很可能大量使用它。请巩固Amazon S3 的基本概念,并查看我们AWS 存储服务章节,来自我们的AWS 入门课程。

1. 在 Amazon S3 上托管静态网站

作为本文项目的开端,我们从简单的静态网站托管开始。建议您创建自己的静态网站,这不仅能帮助您学习若干 AWS 服务的使用,还能作为展示项目的绝佳方式,在作品集中体现您的 AWS 技能并发送给未来雇主。

AWS 文档中提供了非常易于遵循的教程,讲解如何使用在 Route 53 注册的域名配置静态网站。

本项目使用到的 AWS 服务:

  • Amazon Route 53:注册域名。
  • Amazon S3:存储网站内容。
  • CloudFront:为静态网站提速。
  • Lambda@Edge(CloudFront 的一项功能):用于安全性。

2. 使用 AWS Elastic Beanstalk 部署简单的 Python Web 应用

AWS Elastic Beanstalk Overview

来源:AWS

学习 AWS Elastic Beanstalk 基本工作原理的最佳方式之一,是使用Flask 或Django 部署一个 Python Web 应用。

AWS Elastic Beanstalk 是部署 Web 应用的理想服务,因为您可以专注于应用代码,而无需操心基础设施管理。

不过,您仍需学习一些关键概念以正确配置 Web 应用,如环境变量、负载均衡与自动伸缩。这种实操体验是了解部分关键 DevOps 概念与实践的良好开端。

3. 在 Amazon RDS 上部署 SQL Server 数据库

这门Amazon RDS for SQL Server 工作坊提供逐步讲解。您将创建一个数据库实例,并学习与备份、安全、扩展、优化和监控相关的重要概念。

中级 AWS 项目

这些项目帮助初学者学习如何利用云服务构建可扩展、高效的解决方案,同时在图像处理与交互式聊天机器人等真实场景中获得实践经验。

4. 构建无服务器的图像处理系统

本项目将指导您创建无服务器图像处理工作流,使用 AWS Step Functions、AWS Lambda、Amazon DynamoDB 与 Amazon SNS。

通过使用 AWS Step Functions 来编排多项服务,您将学习如何编排与自动化复杂工作流——这是现代云解决方案的一项关键技能。

本项目使用到的 AWS 服务:

  • Amazon Rekognition:识别上传图像中是否存在人脸。
  • AWS CloudFormation:使用模板快速创建项目所需资源。
  • AWS Step Functions:用于编排工作流。
  • AWS Lambda:调用 Rekognition。
  • Amazon DynamoDB:存储图像元数据。
  • Amazon 简单通知服务(SNS)。
  • Amazon EventBridge:在有新图像上传时触发状态机运行。

AWS Serverless Image Processing System Architecture Summary

来源:AWS

5. 使用 AWS Lex 创建聊天机器人

聊天机器人目前是热门话题,AWS Lex 可极其简便地搭建具备网页界面的聊天机器人,并可集成到您的个人或公司网站。

AWS Lex Chatbot Demo

来源:AWS

AWS 提供了一个Amazon Lex UI 示例项目,可让您亲手设置与使用聊天机器人。使用 Amazon CloudFormation 模板还能进一步加速,自动创建并配置构建聊天机器人 UI 所需的全部资源。

本项目使用到的 AWS 服务:

  • Amazon Cognito 身份池:为浏览器中调用 Lex API 创建认证所需的凭证。
  • AWS Lex:用于聊天机器人。
  • Amazon CloudFormation:用于模板。

高级 AWS 项目

本节介绍基于机器学习与 AI 的项目,涉及广泛的 AWS 服务。

这些项目引入更先进的技术与技能,帮助您构建具有影响力的前沿解决方案,提升用户体验与业务流程。

使用 AWS 的机器学习项目

Amazon Sagemaker 是在 AWS 中构建、训练与部署机器学习模型的全托管、灵活且可扩展的服务。对于涉及机器学习的高级 AWS 项目,它是不二之选。

请查看这篇Sagemaker 入门教程,全面了解该服务。

6. 使用 Amazon Sagemaker 部署完整的机器学习反欺诈解决方案

本节的第一个项目是 AWS 提供的深度端到端机器学习反欺诈解决方案。

该项目将引导您完成数据准备、模型训练与部署。您将深入了解整个机器学习流程,最终获得一个功能完善的反欺诈系统。

AWS Fraud Detection Solution using Amazon Sagemaker: Overview of the machine learning process

来源:AWS

要顺利完成该项目,需要具备基础的 Python 技能。但代码讲解详尽,即便您仍在学习 Python,也能跟上进度。

7. 在 Amazon Sagemaker 中构建推荐系统

在此项目中,您将基于客户评分数据,在 Amazon Sagemaker 上训练并部署推荐系统。

该项目将介绍构建推荐系统的基本概念。您将实际运用深度学习理念与 SageMaker,进行可扩展的模型训练与部署。

推荐系统广泛应用于电商、内容流媒体等领域,使该项目具有高度相关性,并为所学技能提供真实的应用场景。

8. 使用 Amazon Sagemaker 与 MXNet 数据构建图像分类流水线

在本项目中,您将使用 Amazon Sagemaker 构建图像分类流水线。

该项目将带您认识图像分类——计算机视觉中的基础任务。但借助 Amazon Sagemaker 处理繁重工作,您可以将重心放在理解流程与关键概念上,而无需自建自定义模型。

使用 AWS 的 AI 项目

高级项目的第二部分聚焦于基于 AI 的解决方案。生成式 AI、大语言模型与 ChatGPT 目前主导着 AI 市场,现在正是提升 AI 技能的好时机。

在开始这些项目时,请记住我们在DataFramed 播客中探讨的行业视角:

各大玩家确实在押注扩大算力。他们在建设更多算力,因此明年会通过更多算力来实现扩张。接下来问题是:是否会有更多数据?这方面更为微妙。我认为这是一种光谱分布,而非非黑即白。

Jonathan Cornelissen, Co-founder & CEO of DataCamp,

Amazon Bedrock 是一项全托管、无服务器的服务,使您能够轻松且安全地试验与部署生成式 AI 解决方案。

请查看这个Amazon Bedrock 工作坊,了解 Bedrock 及其工作原理的入门知识。

9. 使用基础模型与 AWS 构建多模态 RAG

在第一个项目中,您将构建一个基于基础模型的多模态 RAG,托管在 Amazon Bedrock 与 Amazon Sagemaker 上。

其目标是从幻灯片(例如 Microsoft PowerPoint)中的表格、图表与文本中提取与上下文相关的信息。当您拥有不同格式的数据(如图像或文本)并需要从中提取洞见时,多模态 RAG 尤其有用。

通过在 Amazon Bedrock 与 SageMaker 上使用基础模型,您可以亲身体验前沿 AI 工具。学会如何利用 AI 执行复杂的数据提取与分析,是多行业、多场景中极具价值的技能。

10. 在 AWS 上构建具备代理能力的 LLM 助手

在本项目中,您将使用 Bedrock、Lambda、Cognito、Aurora 与 S3 在 AWS 上构建一个具备代理能力的 LLM 助手。

这是一个深入的项目,提供对完整三层架构的实践体验。它还将以贴近现实的方式展示 AI 解决方案如何在云平台上开发与部署。

本项目还涵盖使用 Cognito 进行用户认证,以及使用 Aurora 与 S3 进行数据管理等关键环节,帮助您全面理解安全高效的应用开发。

AWS Agentic LLM Assistant Architecture Summary

来源:AWS

AWS DevOps 项目

DevOps 涉及五个主要领域或最佳实践:

  • 持续集成与持续交付
  • 微服务
  • 基础设施即代码
  • 监控与日志
  • 沟通与协作

AWS 提供了覆盖以上各领域的服务,非常适合想要在 DevOps 方向发展与精进的人学习与掌握。本节将介绍使用 AWS 服务覆盖上述三个领域的项目。

11. 使用 ECS、Terraform 和 CodePipeline 构建全栈应用

本项目展示如何使用 AWS 服务创建一个用于部署全栈应用的稳健架构。

它强调使用托管容器服务与基础设施即代码(IaC)的优势,从而实现高效、可靠的应用部署。

您将亲手实践包括 ECS(容器管理)、Terraform(基础设施即代码)与 CodePipeline(CI/CD)在内的关键 AWS 服务,掌握必备的云技能。

通过集成持续集成与持续部署(CI/CD)流水线,本项目还将引导您了解现代 DevOps 实践。您将学习如何更可靠、更高效地部署应用,这些技能对于在生产环境中维持顺畅、自动化的工作流至关重要。

AWS Full-Stack Application with ECS, Terraform, and CodePipeline Architecture Summary

来源:AWS

12. 构建自动化 CloudWatch 警报报告系统

本项目将指导您创建一个自动化的 CloudWatch 警报报告系统,在指定 AWS 区域内生成每日触发的 Amazon CloudWatch 警报报告。该报告由 Amazon EventBridge 触发的 AWS Lambda 函数创建,作为 CSV 文件保存到 S3 存储桶中,并通过 Amazon SES 发送邮件。

该项目将带您了解如何使用 Lambda、EventBridge 与 SES 等 AWS 服务实现任务自动化。它展示了如何简化监控与报告流程,这是 DevOps 的重要组成部分。

项目还演示了如何整合多项 AWS 服务(Lambda、S3、SES)以构建协同的解决方案,从而让您体会云环境中服务编排的重要性。

AWS Automated CloudWatch Alarm Reporting System Architecture Summary来源:AWS

13. 使用 Amazon ECS 与 AWS Fargate 构建容器化 Web 应用

本项目涉及构建与部署容器化 Web 应用,使用 Amazon ECS 与 Fargate。应用会根据用户选择显示随机的猫或狗图片。

您将亲手体验使用 Docker 进行容器化,以及使用 Amazon ECS 与 Fargate 进行编排。

AWS Fargate 是重要的 DevOps 工具,可用于管理与运行容器,而无需预置、配置或扩展虚拟机集群。

该项目还涵盖负载测试,教您如何在不同流量条件下评估并确保 Web 应用的可扩展性与可靠性。

AWS Containerized Web App Using Amazon ECS and AWS Fargate Demo Process

来源:AWS

结语

本文呈现了一系列旨在提升各层级技能的 AWS 项目,强调通过实践项目获取 AWS 服务的动手经验与熟练度,这对多种技术岗位都至关重要。

无论您是希望从事云技术相关职业,还是仅仅想提升 AWS 技能,文中列出的项目都提供了宝贵的学习机会。

若要在 AWS 领域打造坚实的职业路径,可先报名我们的AWS 入门课程,随后逐步迈向获得认证。若想了解AWS 云从业者岗位的职业发展与薪资情况,请查看我们的详尽指南!

AWS 项目常见问题

有哪些适合初学者的 AWS 项目?

适合初学者的 AWS 项目包括:在 Amazon S3 上托管静态网站、使用 AWS Elastic Beanstalk 部署简单 Web 应用,以及使用 AWS Lambda 和 API Gateway 搭建基础的无服务器 API。这些项目可帮助您掌握 AWS 服务的基础知识及其实际应用。

运行典型 AWS 项目的成本是多少?

运行典型 AWS 项目的成本因所用服务、项目规模与使用模式而异。AWS 提供免费套餐(Free Tier),可在限定范围内使用多项服务,方便初学者以较低成本进行试验,但务必监控用量以避免意外费用。

如何在 AWS 上部署 Web 应用?

要在 AWS 上部署 Web 应用,您可以使用 AWS Elastic Beanstalk 进行简单、可扩展的部署,或使用 Amazon ECS 部署容器化应用。流程通常包括准备应用、在所选服务中创建环境并部署代码。

如何在 AWS 上实现部署与工作流自动化?

您可以使用 AWS CodePipeline(用于持续集成与持续交付 CI/CD)、AWS CloudFormation(用于基础设施即代码),以及 AWS Step Functions(用于编排复杂工作流)在 AWS 上实现部署与工作流的自动化。这些工具有助于简化流程并减少人工干预。

进行 AWS DevOps 项目需要了解哪些工具与服务?

进行 AWS DevOps 项目,您应熟悉用于 CI/CD 的 AWS CodePipeline、用于构建与测试代码的 AWS CodeBuild、用于自动化部署的 AWS CodeDeploy,以及用于管理基础设施的 AWS CloudFormation。此外,还应掌握 AWS CloudWatch 以进行监控与日志记录。

Joleen Bothma

作者

Joleen Bothma

主题