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...
みなみ
みなみ
一个普通的干饭人🍚
最新发布
02-生成AIパスポート試験対策:第2章「生成AI」
2025-2-1
01-生成AIパスポート試験対策:第1章「人口知能」
2025-2-1
究極のAWS認定 AI 実践者 AIF-C01 - 学習メモ
2025-1-27
不要再傻傻的直接买NISA啦
2025-1-27
Kubernetes、仮想マシンとコンテナの概念を超簡単に解説!
2025-1-24
529-AWS SAP AWS 「理論・実践・一問道場」VPCエンドポイント
2025-1-22
公告
🎉欢迎访问我的博客🎉
- 感谢您的支持 --
本站点于2024/09/01建立
👏主要分享IT相关主题👏
系统管理:
Redhat…
容器和编排:
Kubernetes、Openshift…
云计算:
AWS、IBM…
AI入门
以及技术笔记和考证经验
定期更新,欢迎互动。
感谢访问!
快速浏览相关标签