菜单

AWS 服务和练习

相关源文件

本页面提供了一个全面的 AWS 服务和 devops-exercises 存储库中的实践练习指南。它作为理解 AWS 组件、它们之间的关系以及如何通过结构化练习获得实践经验的核心资源。

有关云平台的一般信息,请参阅云平台

DevOps 中的 AWS 概述

AWS(Amazon Web Services)是领先的云平台提供商之一,提供广泛的服务来构建、部署和管理应用程序。在 DevOps 上下文中,AWS 提供工具和服务来自动化基础设施配置、部署管道、扩展、监控等。

来源:topics/aws/README.md

AWS 练习的存储库结构

该存储库为各种 AWS 服务提供了有组织的练习,每项练习都遵循一致的格式,包含目标、说明和解决方案。

来源:topics/aws/README.md:74-186

核心 AWS 服务

IAM(身份和访问管理)

IAM 提供对 AWS 资源的细粒度访问控制。它允许您创建和管理 AWS 用户、组和权限,以控制谁可以访问特定的 AWS 资源。

练习中涵盖的关键 IAM 组件

  • 用户和组管理
  • 密码策略和 MFA
  • 用于服务间通信的角色
  • 凭证报告和访问顾问

存储库包含以下练习

  • 创建具有特定权限的用户
  • 设置密码策略和 MFA
  • 创建跨服务访问的角色
  • 生成凭证报告以进行审计
  • 使用访问顾问优化权限

来源:topics/aws/README.md:77-85, topics/aws/README.md:226-367

EC2(弹性计算云)

EC2 提供云中可调整大小的计算容量。它本质上是虚拟机,您可以使用各种 CPU、内存、存储和网络资源的配置来配置它们。

存储库通过以下内容涵盖 EC2

  • 启动 Web 实例
  • 配置安全组
  • 为 EC2 设置 IAM 角色
  • 创建和使用 Spot 实例
  • 管理弹性 IP
  • 配置放置组
  • 使用弹性网络接口 (ENI)
  • 休眠实例
  • 管理 EBS 卷和快照
  • 创建 AMI
  • 设置 EFS

来源:topics/aws/README.md:87-102, topics/aws/README.md:368-618

S3(简单存储服务)

S3 是一项可扩展的对象存储服务,用于在任何地方存储和检索任意数量的数据。它通常用于备份和恢复、归档、内容分发以及作为应用程序的数据存储。

涵盖的关键功能

  • 存储桶和对象管理
  • 存储类别(Standard、IA、Glacier 等)
  • 生命周期策略
  • 安全和访问控制
  • 事件通知

存储库包含以下练习

  • 创建 S3 存储桶
  • 配置存储桶生命周期策略
  • 设置事件触发器

来源:topics/aws/README.md:104-109, topics/aws/README.md:41-47

负载均衡和自动伸缩

弹性负载均衡 (ELB) 将传入的应用程序流量分发到多个目标,例如 EC2 实例。自动伸缩组根据需求自动调整 EC2 实例的数量。

存储库包含以下练习

  • 设置应用程序负载均衡器
  • 配置多个目标组
  • 创建网络负载均衡器
  • 实现基本的自动伸缩组
  • 配置动态伸缩策略

来源:topics/aws/README.md:110-123, topics/aws/README.md:49-52

VPC(虚拟私有云)

VPC 提供了 AWS 云中一个逻辑隔离的部分,您可以在其中启动您定义的虚拟网络中的 AWS 资源。

涵盖的关键组件

  • VPC 创建和配置
  • 子网(公共和私有)
  • 互联网网关
  • 路由表
  • 网络 ACL 和安全组

存储库练习包括

  • 创建 VPC
  • 设置具有不同访问模式的子网

来源:topics/aws/README.md:125-131, topics/aws/README.md:25-37

数据库

AWS 提供各种数据库服务,包括关系型、NoSQL、内存型和专用数据库选项。

存储库包含以下练习

  • 在 RDS 上设置 MySQL 数据库
  • 配置 Aurora 数据库
  • 使用 ElastiCache

来源:topics/aws/README.md:132-138, topics/aws/README.md:55-59

无服务器计算

AWS Lambda 使您无需配置或管理服务器即可运行代码。只需为您使用的计算时间付费。

涵盖的关键概念

  • Lambda 函数和执行模型
  • 事件源和触发器
  • 函数配置和部署
  • 与其他 AWS 服务的集成

存储库包含以下练习

  • 创建基本的“Hello World”函数
  • 设置 URL 函数
  • 构建与 DynamoDB 集成的 Web 应用程序

来源:topics/aws/README.md:155-161, topics/aws/README.md:37-42

容器服务

AWS 提供用于大规模运行和管理容器的服务。

该存储库包含 ECS(弹性容器服务)和 Fargate 的练习

  • 使用 Fargate 创建 ECS 任务

来源:topics/aws/README.md:149-153, topics/aws/README.md:38-40

部署和基础设施即代码

AWS 提供持续集成、持续交付和基础设施即代码的服务

  • Elastic Beanstalk 用于部署和扩展 Web 应用程序
  • CodePipeline 用于持续集成和交付
  • Cloud Development Kit (CDK) 用于使用编程语言定义基础设施

存储库包含

  • 在 Elastic Beanstalk 上部署简单的 Node.js 应用程序
  • 使用 S3 设置基本 CI
  • 创建示例 CDK 应用程序

来源:topics/aws/README.md:163-180

AWS 服务集成:S3 事件触发器示例

该存储库包含通过 S3 事件触发器集成多个 AWS 服务的示例。这演示了一种常见模式,即一个服务(S3)的事件触发另一个服务(Lambda)的自动化操作。

该实现包括

  1. 一个存储对象 S3 存储桶
  2. 一个处理 S3 事件的 Lambda 函数
  3. 一个用于通知的 SNS 主题
  4. 用于权限的 IAM 角色

Lambda 函数从 S3 事件中提取信息并发送通知

scripts/aws s3 event triggering/s3-lambda/s3-lambda.py5-38

该存储库还包含一个 Bash 脚本来自动化此集成的设置

scripts/aws s3 event triggering/aws_s3_event_trigger.sh10-122

来源:scripts/aws s3 event triggering/s3-lambda/s3-lambda.py, scripts/aws s3 event triggering/aws_s3_event_trigger.sh

AWS 练习指南

练习遵循结构化格式,包含目标、说明和解决方案。以下是入门方法:

先决条件

在开始 AWS 练习之前,您应该具备

  1. 一个 AWS 账户(某些练习可以使用免费套餐完成)
  2. 已安装和配置 AWS CLI
  3. 对云概念的基本理解
  4. 熟悉终端/命令行

练习结构

每个练习通常包括

  1. 目标:您将学到和完成的内容
  2. 说明:分步指南
  3. 解决方案:详细的演练和解释
  4. 注释:附加信息或技巧(可选)

示例练习表

姓名主题目标和说明解决方案注释
创建用户IAM练习说明文件解决方案文件
启动 EC2 Web 实例EC2练习说明文件解决方案文件
创建存储桶S3练习说明文件解决方案文件
应用程序负载均衡器ELB、ALB练习说明文件解决方案文件
自动伸缩组基础ASG练习说明文件解决方案文件

来源:topics/aws/README.md:77-123

AWS 认证对齐

本存储库中的内容与 AWS 认证路径保持一致,特别是:

  1. AWS Cloud Practitioner:AWS 服务和概念的基础知识
  2. AWS Solutions Architect Associate:设计可用、经济高效、容错和可扩展的系统

练习和问题涵盖认证主题,包括

  • AWS 全球基础设施
  • 核心服务(EC2、S3、IAM、VPC)
  • 安全和合规性
  • 账单和定价模型
  • 灾难恢复
  • 扩展性和弹性

来源:certificates/aws-cloud-practitioner.md, certificates/aws-solutions-architect-associate.md

最佳实践

在使用 AWS 服务时,请考虑以下最佳实践:

  1. 安全性:遵循 IAM 的最小权限原则
  2. 成本管理:设置预算和提醒,避免意外收费
  3. 基础设施即代码:使用 CDK 等工具维护基础设施
  4. 自动化:自动化部署和例行任务
  5. 监控:从一开始就实施日志记录和监控
  6. 高可用性:跨可用区设计冗余
  7. 可扩展性:使用自动伸缩组处理动态工作负载

“无应用程序”练习演示了 AWS 部署的故障排除实践。

来源:topics/aws/README.md:184-185

结论

AWS 服务和练习部分提供了与 DevOps 工作流中使用的核心 AWS 服务相关的实践、动手经验。通过完成这些练习,您将获得配置、管理和集成 AWS 服务以构建可扩展、可靠且安全的云应用程序的技能。

有关使用 AWS 的安全最佳实践,另请参阅安全实践