【AWS】云架构原则
2025年07月17日
文章浏览:36
【AWS】云架构原则

AWS 云架构原则

AWS 建议的云架构原则,通常被称为 AWS 良好架构框架 (AWS Well-Architected Framework),它提供了一套指导方针和最佳实践,帮助您在云中设计和运行可靠、安全、高效、经济实惠且可持续的系统。这个框架不仅仅是一组技术建议,更是一种思维方式,旨在帮助您理解在 AWS 上做出架构决策的优缺点。

AWS 良好架构框架建立在六个支柱的基础上,这些支柱代表了在云中构建和运行系统时需要考虑的关键领域。通过定期审查您的架构与这些支柱的符合程度,您可以识别潜在的风险并持续改进您的工作负载。

AWS 良好架构框架的六个支柱

1. 卓越运营 (Operational Excellence)

关注点: 运行和监控系统,并持续改进流程和程序。

设计原则:

  • 以代码形式执行操作: 将操作视为代码,实现自动化和版本控制。
  • 频繁、小规模、可逆的变更: 采用小步快跑的发布模式,减少变更风险。
  • 使用运行手册和剧本: 建立标准化的操作流程和故障排除指南。
  • 预期失败: 设计系统时考虑故障,并提前做好应对准备。
  • 从失败中学习: 对所有操作事件进行分析,并持续改进。

AWS 实践:

  • 使用 AWS CloudFormation 或 AWS CDK 实现基础设施即代码 (IaC)。
  • 利用 AWS CodePipeline、CodeBuild、CodeDeploy 自动化 CI/CD 流程。
  • 使用 Amazon CloudWatch 和 AWS X-Ray 进行监控、日志记录和可观测性。
  • 实施 AWS Systems Manager 的自动化功能。

2. 安全性 (Security)

关注点: 保护信息和系统。

设计原则:

  • 实施强大的身份基础: 遵循最小权限原则,使用集中式身份管理。
  • 实现可追溯性: 记录所有操作和事件,以便审计。
  • 应用安全所有层级: 在网络、计算、存储和应用程序代码等所有层级实施安全控制。
  • 实现数据分类: 根据数据敏感性进行分类,并应用适当的保护措施。
  • 自动化安全最佳实践: 利用自动化工具进行安全检查和响应。
  • 保护传输中和静态数据: 对数据进行加密。

AWS 实践:

  • 使用 AWS IAM 进行身份和访问管理。
  • 利用 AWS Organizations 和 Service Control Policies (SCPs) 进行多账户安全治理。
  • 启用 AWS CloudTrail 进行审计和日志记录。
  • 使用 Amazon GuardDuty、Amazon Inspector、AWS Security Hub 进行威胁检测和漏洞管理。
  • 部署 AWS WAF 和 AWS Shield 进行网络保护。
  • 使用 AWS Key Management Service (KMS) 进行密钥管理和数据加密。

3. 可靠性 (Reliability)

关注点: 工作负载按预期执行其功能,并能从故障中快速恢复以满足需求。

设计原则:

  • 从故障中自动恢复: 实施自动化机制来检测和修复故障。
  • 水平扩展以提高聚合工作负载可用性: 避免单点故障,通过增加冗余来提高可用性。
  • 停止猜测容量: 根据实际需求自动扩展或缩减资源。
  • 管理变更自动化: 利用自动化来管理基础设施和应用程序的变更。
  • 测试恢复过程: 定期进行灾难恢复演练。

AWS 实践:

  • 在多可用区 (Multi-AZ) 和多区域 (Multi-Region) 中部署应用程序。
  • 使用 Elastic Load Balancing (ELB) 和 Auto Scaling 进行负载均衡和弹性伸缩。
  • 利用 Amazon RDS Multi-AZ 或 Amazon Aurora 实现数据库高可用。
  • 使用 Amazon Route 53 进行 DNS 故障转移。
  • 实施备份和恢复策略(如 EBS 快照、S3 版本控制)。
  • 利用 AWS Fault Injection Service (FIS) 进行故障注入测试。

4. 性能效率 (Performance Efficiency)

关注点: 有效利用计算资源以满足系统需求,并随着需求变化保持效率。

设计原则:

  • 普及先进技术: 利用云服务提供商提供的最新技术和托管服务。
  • 数分钟内实现全球化部署: 利用 AWS 的全球基础设施,将工作负载部署到离用户更近的区域。
  • 使用无服务器架构: 优先考虑无服务器服务,以实现自动扩展和按需付费。
  • 经常进行实验: 持续测试不同的资源类型和配置,以找到最佳性能。
  • 考虑机械化同质化: 利用自动化和标准化来提高效率。

AWS 实践:

  • 选择合适的 EC2 实例类型和大小(Right-sizing)。
  • 使用 AWS Lambda、Amazon ECS、Amazon EKS 等服务进行计算。
  • 利用 Amazon S3、Amazon DynamoDB、Amazon Aurora 等高性能存储和数据库服务。
  • 使用 Amazon CloudFront 进行内容分发。
  • 利用 Amazon ElastiCache 进行数据缓存。
  • 监控 CloudWatch Metrics 中的性能指标。

5. 成本优化 (Cost Optimization)

关注点: 避免不必要的成本。

设计原则:

  • 实践云财务管理: 建立成本意识文化,进行预算和支出预测。
  • 采用按用量付费模式: 只为实际使用的资源付费。
  • 衡量总效率: 评估工作负载的价值与成本投入的比率。
  • 停止无差别收取费用: 消除因传统数据中心管理而产生的固定成本。
  • 分析和归因支出: 深入了解成本驱动因素,并将其归因到业务单元或项目。

AWS 实践:

  • 使用 AWS Cost Explorer 和 AWS Budgets 监控和管理成本。
  • 利用 Amazon EC2 Auto Scaling 自动缩减资源。
  • 选择合适的 EC2 购买选项(按需、预留实例 RI、Savings Plans、Spot 实例)。
  • 优化存储成本(如 S3 存储类、EBS 卷类型)。
  • 利用 AWS Compute Optimizer 获取资源优化建议。
  • 使用 AWS Cost and Usage Report (CUR) 进行详细的成本分析。

6. 可持续性 (Sustainability)

关注点: 了解您的工作负载对环境的影响,并努力减少资源消耗。

设计原则:

  • 了解您的影响: 衡量工作负载的能源消耗和碳足迹。
  • 建立可持续性目标: 设定明确的减少环境影响的目标。
  • 最大化利用率: 提高资源利用率,减少闲置资源。
  • 减少下游影响: 考虑数据传输、存储和处理对环境的影响。
  • 利用托管服务: 托管服务通常比自建基础设施更具能源效率。
  • 数据生命周期管理: 优化数据存储,删除不再需要的数据。

AWS 实践:

  • 使用 AWS Cost Explorer 和 AWS Budgets 监控资源使用情况。
  • 优先选择节能的 EC2 实例类型(如 Graviton 处理器)。
  • 利用 Auto Scaling 自动关闭闲置资源。
  • 优化数据存储和传输,减少不必要的数据移动。
  • 利用 AWS 的全球基础设施,选择能源效率更高的区域。
  • 使用 AWS Well-Architected Tool 中的可持续性支柱进行评估和改进。
总结

AWS 良好架构框架的六个支柱提供了一个全面的视角,帮助您在 AWS 云中构建和运行高性能、安全、可靠、经济高效且可持续的应用程序。通过将这些原则融入到您的架构设计、开发和运营流程中,您可以最大限度地发挥云计算的优势,并为您的业务带来更大的价值。定期进行架构审查是确保您的云环境持续符合这些最佳实践的关键。


参考文章

AWS Well-Architected と 6 つの柱

 https://aws.amazon.com/jp/architecture/well-architected/?wa-lens-whitepapers.sort-by=item.additionalFields.sortDate&wa-lens-whitepapers.sort-order=desc&wa-guidance-whitepapers.sort-by=item.additionalFields.sortDate&wa-guidance-whitepapers.sort-order=desc 


过去考试题

パフォーマンスを低下させることなく、ユーザー、トラフィック、データサイズの増加をサポートできるソリューションは、次のどのクラウドアーキテクチャの原則と一致しますか?

  1. コンポーネントを疎結合にする
  2. 障害に備えた設計する
  3. 伸縮自在性を実装する
  4. 並列化する


伸縮自在性を実装することで、ユーザー、トラフィック、データサイズの増加に対応できます

リソースを自動的に水平方向および垂直方向に拡張することで、パフォーマンスを低下させずに需要の変化に対応できます。


A:コンポーネントを疎結合にすることは、柔軟性と拡張性を高めますが、この問題で求められているのは、需要の増加に対応できる伸縮自在性のある設計です。

B:障害に備えた設計は重要ですが、この問題の目的ではありません。

D:並列化は、特定のタスクの処理を高速化するための手法ですが、この問題で求められているのはシステム全体の伸縮自在性です。


过去考试题

マルチアベイラビリティーゾーンでAmazon RDSインスタンスを構築する場合、従っているアーキテクチャの概念は次の内どれですか?

  1. 疎結合での設計
  2. サービス重視の設計
  3. 障害に備えた設計(Design for failure)
  4. 自動化を重視した設計


マルチアベイラビリティーゾーン(Multi-AZ)でAmazon RDSインスタンスを構築することは、障害に備えた設計(Design for failure)の概念に沿っています。Multi-AZは、プライマリデータベースインスタンスとスタンバイレプリカを異なるアベイラビリティーゾーンに配置することで、データベースの可用性を高める機能です。万が一、プライマリインスタンスが障害に見舞われた場合でも、自動的にスタンバイレプリカに切り替わるため、データベースの可用性が維持されます。つまり、このアーキテクチャは、障害発生時でもシステムが稼働し続けられるよう設計されているため、「障害に備えた設計」の概念に基づいています。


A「疎結合での設計」は、システムの各コンポーネントが緩やかに結合されており、相互依存が最小限に抑えられている設計の概念ですが、この問題の文脈には合致しません。

B「サービス重視の設計」は、システムをサービスとして設計し、サービスの再利用性や維持管理性を重視する概念ですが、この問題の文脈とは異なります。

D「自動化を重視した設計」は、システムの構築やデプロイ、運用をできる限り自動化することで効率化を図る概念ですが、この問題の文脈とは異なります。


过去考试题

次のうち、AWS クラウド アーキテクチャの推奨される設計原則はどれですか?

  1. 密結合コンポーネントを設計する。
  2. すべてのアプリケーション機能を処理できる単一のアプリケーション コンポーネントを構築します。
  3. 失敗の可能性を減らすために、より少ない繰り返しで大きな変更を行う。
  4. ワークロードを細分化(セグメント化)して、モノリシック アーキテクチャを回避します。


AWS のクラウドアーキテクチャの推奨設計原則は、

ワークロードを細分化(セグメント化)してモノリシックなアーキテクチャを避けることです。

これによりスケーラビリティ、可用性、保守性などが向上します。


A:密結合のコンポーネントは推奨されません。なるべく疎結合で設計することで、変更の影響範囲を限定できます。

B:単一のアプリケーションコンポーネントでは、スケーラビリティや可用性が制限されてしまいます。

C:小さな変更を繰り返し行うことで、リスクを分散し、失敗の影響を最小限に抑えることができます。大きな変更を一度に行うと、リスクが高くなります。


过去考试题

AWS Well-Architected Frameworkのどの柱が、インフラやサービスの中断から回復し、需要を満たすためにコンピューティングリソースを動的に獲得するシステムの能力を指すか。

  1. セキュリティ
  2. 信頼性
  3. コスト最適化
  4. パフォーマンス効率化


AWS Well-Architected Frameworkの「信頼性(Reliability)」の柱は、システムが中断から回復し、需要に応じてコンピューティングリソースを動的に獲得する能力を指します。この柱は、障害に対する耐性、復旧手順、そして水平スケーリングの原則を扱います。


A: セキュリティの柱は、データの機密性と完全性の保護、プライバシー制御、アクセス管理などを扱います。

C: コスト最適化の柱は、システムのコストを最小化し、支出を監視する原則を扱います。

D: パフォーマンス効率化の柱は、リソースを効率的に使用し、高いパフォーマンスを実現する設計原則を扱います。


过去考试题

ある企業が、AWSクラウド上で複雑なマイクロサービスアーキテクチャを実装しようとしています。このシステムは、高い可用性と耐障害性を持ち、異常な状況下でも自動的に回復できる必要があります。また、コスト効率とパフォーマンスのバランスも重要です。AWS Well-Architected Frameworkのどの柱(ピラー)が、これらの要件を最も包括的に満たしていますか?


  1. セキュリティ(Security)
  2. 運用上の優秀性(Operational Excellence)
  3. パフォーマンス効率(Performance Efficiency)
  4. 信頼性(Reliability)


正解はD(信頼性(Reliability))です。信頼性の柱は、システムが予期せぬ障害から自動的に回復し、高い可用性を維持する能力に焦点を当てています。これには、分散システム設計、フォールトトレrance、自動スケーリング、データのバックアップと復旧などが含まれます。マイクロサービスアーキテクチャの複雑性を考慮すると、信頼性は特に重要です。


選択肢 A(セキュリティ):セキュリティは重要ですが、この問題の主要な要件である自動回復や高可用性には直接関連しません。ただし、セキュリティは信頼性を支える重要な要素の一つです。


選択肢 B(運用上の優秀性):運用上の優秀性は、システムの効率的な運用とモニタリングに関連しています。自動回復プロセスの一部を含む可能性がありますが、高可用性や耐障害性の設計そのものには直接焦点を当てていません。


選択肢 C(パフォーマンス効率):パフォーマンス効率は、リソースの効率的な利用とシステムのパフォーマンス最適化に関連しています。コスト効率とパフォーマンスのバランスという要件の一部を満たしますが、自動回復や高可用性の中心的な要件には対応していません。


过去考试题

AWS Well-Architected Frameworkの信頼性の柱に従うことで達成される設計原則はどれか。

  1. 多要素認証の強制
  2. フォールトトレランス(Fault Tolerance)の確保
  3. スケーラビリティの向上
  4. セキュリティの最適化


AWS Well-Architected Frameworkの信頼性の柱では、フォールトトレランスの確保が設計原則の1つとして掲げられています。フォールトトレランスとは、障害が発生しても継続して稼働できるよう設計することを意味しています。障害に備えて冗長性を持たせたり、自動的にフェイルオーバーできるようにすることで、信頼性の高いシステムを実現できます。


A: 多要素認証の強制は、セキュリティの柱に関連する設計原則です。

C: スケーラビリティの向上は、パフォーマンスの柱に関連する設計原則です。

D: セキュリティの最適化は、セキュリティの柱に関連する設計原則です。





关注 收藏