type
status
date
slug
summary
tags
category
icon
password
书籍
 

理論

ECSでのブルー/グリーンデプロイメントとオートスケーリングに関する基本知識

Amazon Elastic Container Service(ECS)を使用してアプリケーションを運用する際、以下のポイントが重要です。この知識は、アプリケーションの信頼性、スケーラビリティ、更新プロセスの効率を向上させるための基本となります。

1. ブルー/グリーンデプロイメント

ブルー/グリーンデプロイメントは、新しいバージョン(グリーン)を既存のバージョン(ブルー)と並行してデプロイする方法です。以下のメリットがあります:
  • ダウンタイムの最小化:トラフィックを切り替えるだけで新しいバージョンを即座に反映可能。
  • 安全なロールバック:問題が発生した場合、簡単に元のバージョン(ブルー)に戻せます。
ECSでは、Application Load Balancer(ALB)Network Load Balancer(NLB) を使ってトラフィックを新旧のサービス間で切り替えます。ALBは、アプリケーション層のルーティングやHTTPS対応に適しているため、マイクロサービスアーキテクチャでは一般的に推奨されます。

2. ロードバランサーの選択

  • Application Load Balancer(ALB):HTTP/HTTPSを利用するアプリケーションに最適。パスベースやホストベースのルーティングが可能。
  • Network Load Balancer(NLB):低レイテンシが求められるTCP/UDPトラフィック向け。
問題文では「HTTPSプロトコル」を使用するため、ALB の採用が適切です。

3. オートスケーリング

アプリケーションの需要に応じて、ECSタスクを自動的に増減させる仕組みです。ECSでは以下の2種類のスケーリングがあります:
  • Cluster Auto Scaling:ECSクラスター内のEC2インスタンスの台数を調整する。
  • Service Auto Scaling:個々のECSサービス(タスク)の数を調整する。
AWS Fargate では、EC2インスタンス管理が不要なため、Service Auto Scaling が適用されます。CloudWatchアラームをトリガーとしてスケールアップ/スケールダウンを行うことで、効率的なリソース利用が可能です。

4. 具体的な構成例

  • ロードバランサー:ALBを使用し、各サービスへのトラフィックをルーティング。
  • デプロイ方法:ECSサービスをブルー/グリーンデプロイメントタイプに設定。
  • スケーリング:Service Auto Scalingを構成し、CloudWatchアラームをトリガーとしてタスク数を自動調整。

これらの設定を組み合わせることで、大規模なユーザー需要に対応しながら安全にアプリケーションを更新することが可能です。

実践

一問道場

質問 #223

トピック 1
ある企業が、マイクロサービスをベースとした新しいオンデマンド動画アプリケーションを開発しています。このアプリケーションは、ローンチ時に500万人のユーザーが利用し、6か月後には3000万人のユーザーが利用する予定です。
企業は、このアプリケーションを AWS Fargate 上で Amazon Elastic Container Service (Amazon ECS) を使用してデプロイしました。アプリケーションは HTTPS プロトコル を使用する ECS サービスによって開発されました。
ソリューションアーキテクトは、このアプリケーションに ブルー/グリーンデプロイメント を使用して更新を実装する必要があります。このソリューションでは、各 ECS サービスへのトラフィックをロードバランサー経由で分配する必要があります。また、アプリケーションは Amazon CloudWatch アラーム に応じてタスク数を自動的に調整する必要があります。
どのソリューションがこれらの要件を満たしますか?

選択肢

A. ECS サービスをブルー/グリーンデプロイメントタイプと Network Load Balancer を使用するように設定します。需要に応じたタスク数を満たすため、サービスごとのタスク数のクォータ増加をリクエストします。
B. ECS サービスをブルー/グリーンデプロイメントタイプと Network Load Balancer を使用するように設定します。各 ECS サービスに Cluster Autoscaler を使用して Auto Scaling グループを実装します。
C. ECS サービスをブルー/グリーンデプロイメントタイプと Application Load Balancer を使用するように設定します。各 ECS サービスに Cluster Autoscaler を使用して Auto Scaling グループを実装します。
D. ECS サービスをブルー/グリーンデプロイメントタイプと Application Load Balancer を使用するように設定します。各 ECS サービスに Service Auto Scaling を実装します。
 

解説

問題の解説

この問題では、以下の条件を満たすソリューションを選ぶ必要があります:
  1. ブルー/グリーンデプロイメント:新しいバージョンへの安全な切り替えが可能で、ロールバックも容易。
  1. トラフィックの分配:ECSサービスへのトラフィックをロードバランサーを通じて管理。
  1. オートスケーリング:Amazon CloudWatchアラームに基づいてタスク数を自動的に調整。

各選択肢の検討

A.

  • Network Load Balancer (NLB) を使用してブルー/グリーンデプロイメントを実現。
  • タスク数のクォータ増加をリクエストすると記載されていますが、具体的なオートスケーリング設定については言及がありません。
  • NLBはHTTPSプロトコルのルーティングには適していないため、選択肢として不適切です。

B.

  • NLBCluster Auto Scaling を使用。
  • Cluster Auto Scaling は ECS クラスター内の EC2 インスタンスの台数を管理するもので、AWS Fargate の場合には適用されません。
  • AWS Fargate ではクラスター管理を行わないため、この選択肢も不適切です。

C.

  • Application Load Balancer (ALB)Cluster Auto Scaling を使用。
  • ALB は HTTPS プロトコルをサポートしており適切ですが、Cluster Auto Scaling は AWS Fargate に適用されません。
  • Service Auto Scaling を指定していないため、この選択肢も不適切です。

D.

  • ALBService Auto Scaling を使用。
  • ALB は HTTPS プロトコルに対応し、Service Auto Scaling は Fargate 環境に適用可能。
  • ブルー/グリーンデプロイメントの要件を満たし、CloudWatch アラームをトリガーにしたスケーリングにも対応できるため、この選択肢が最適です。

正解:D


補足解説

  • ロードバランサーの選択:HTTPSプロトコルを使用しているため、アプリケーション層でのルーティングが可能な ALB を選ぶべきです。
  • スケーリングの選択:AWS Fargate では EC2 インスタンスの管理は不要なため、タスクレベルでスケーリングを行う Service Auto Scaling が適切です。
  • ブルー/グリーンデプロイメント:ECSサービスがサポートしているブルー/グリーンデプロイメントタイプを使用することで、安全にアプリケーションの更新を行えます。
この解答により、アプリケーションのパフォーマンスと運用効率を最大限に高めることができます。
相关文章
クラウド技術の共有 | AWS Site-to-Site
Lazy loaded image
EKSでのWordPressデプロイ:KCNA-JP試験対策 (Kubernetes実践編)
Lazy loaded image
初心者向け!コンテナ化WordPressサイト構築ガイド(超詳細版)
Lazy loaded image
EFSを活用!AWS EC2でDockerを使ったWordPressサイト構築
Lazy loaded image
529-AWS SAP AWS 「理論・実践・一問道場」VPCエンドポイント
Lazy loaded image
528-AWS SAP AWS 「理論・実践・一問道場」Migration Evaluator
Lazy loaded image
224-AWS SAP AWS 「理論・実践・一問道場」Step Functions222-AWS SAP AWS 「理論・実践・一問道場」トラフィックをEC2インスタンス経由
Loading...
みなみ
みなみ
一个普通的干饭人🍚
最新发布
35条書面-64問-1
2025年6月13日
TOKYO自習島
2025年6月10日
平成26年秋期 午後問1
2025年6月6日
令和5年秋期 午後問1
2025年6月6日
令和2年秋期 午後問1
2025年6月6日
業務上の規制-87問-1
2025年6月4日
公告

🎉 欢迎访问我的博客 🎉

🙏 感谢您的支持 🙏

📅 本站自 2024年9月1日 建立,致力于分享在 IT・MBA・不动产中介 等领域的学习与实践,并推动 学习会 的自主开展。
📖 博客语言使用比例
🇯🇵 日语 90% 🇨🇳 中文 8% 🇬🇧 英语 2%

📚 主要内容

💻 IT・系统与开发

  • 系统管理:Red Hat 等
  • 容器与编排:Kubernetes、OpenShift
  • 云计算:AWS、IBM Cloud
  • AI 入门:人工智能基础与实践
  • 技术笔记与考证经验

🏠 不动产 × 宅建士

  • 宅建士考试笔记

🎓 MBA 学习笔记

  • 管理学、经济学、财务分析等

🔍 快速查找内容(标签分类)

由于网站目前没有专门的设计,可能会导致查找信息不便。为了更快找到你感兴趣的内容,推荐使用以下标签功能 进行搜索!
📌 定期更新,欢迎常来看看!
📬 有任何建议或想法,也欢迎留言交流!