Udemy講師クーポン配布中。詳しくはこちら(AIP問題集追加しました)

【無料】AWS DVA-C02練習問題10問|Udemy講師作成

AWS DVA無料問題集です。正解と解説を確認する際は右側のボタンを押下してください。

問題集の完全版は以下Udemyにて発売しているためお買い求めください。問題集への質問はUdemyのQA機能もしくはUdemyのメッセージにて承ります。Udemyの問題1から10問抜粋しております。

多くの方にご好評いただき、講師評価 4.5/5.0 を獲得できております。ありがとうございます。

特別価格: 通常2,600円1,500円

講師クーポン適用で42%OFF

講師クーポン【全出題範囲を網羅+詳細な解説】AWS DVA-C02日本語実践問題集260問(ディベロッパーアソシエイト)

【全出題範囲を網羅+詳細な解説】AWS DVA-C02日本語実践問題集200問+α(ディベロッパーアソシエイト)

問題文:
あるフィンテック企業のソフトウェアエンジニアは、オンライン決済プラットフォームのサービスを AWS CodeDeploy を使用して Amazon Elastic Container Service (ECS) にデプロイしています。このエンジニアは、新しいバージョンを全顧客に公開する前に、限られたベータユーザーグループに対して動作を検証する仕組みを構築したいと考えています。
この要件を満たすために、どのような設定を行うべきですか?

選択肢:
A. CloudFormation テンプレートを修正して、Transform セクションに AWS::CodeDeploy::BlueGreen フックを追加します。

B. 新しいバージョン用のネストされたスタックを作成し、Transform セクションに AWS::CodeDeploy::BlueGreen フックを追加します。

C. アプリケーションスタックを更新し、新しいバージョンの準備が整った時点で手動でデプロイを実行します。

D. 新しいバージョンを新しい CloudFormation スタックでデプロイし、テスト完了後に DNS レコードを更新して新しいスタックを公開します。

正解:A

A. CloudFormation テンプレートを修正して、Transform セクションに AWS::CodeDeploy::BlueGreen フックを追加します。

正解 AWS CodeDeployでECSアプリケーションのBlue/Greenデプロイメントを実現するには、CloudFormationテンプレートのTransformセクションにAWS::CodeDeploy::BlueGreenフックを追加することで、段階的なトラフィック移行とテストが自動化されます。このフックにより、新しいタスクセット(Green環境)を作成し、限られたベータユーザーに対してテストトラフィックを送信した後、検証が完了すれば全トラフィックを新環境に移行できます。

B. 新しいバージョン用のネストされたスタックを作成し、Transform セクションに AWS::CodeDeploy::BlueGreen フックを追加します。

不正解 ネストされたスタックを使用する必要はありません。Blue/Greenデプロイメントは既存のスタック内でフックを追加するだけで実現できます。ネストされたスタックを使用すると構成が複雑になり、デプロイメント戦略の管理が困難になります。また、CodeDeployのBlue/Greenデプロイメントは単一スタック内でのリソース更新として動作するため、別スタックを作成する必要がありません。

C. アプリケーションスタックを更新し、新しいバージョンの準備が整った時点で手動でデプロイを実行します。

不正解 手動デプロイではBlue/Greenデプロイメントの自動化された安全性とテスト機能を活用できません。段階的なトラフィック移行、自動ロールバック、テスト期間中の監視などの機能が使えないため、要件である「限られたベータユーザーグループに対して検証する仕組み」を効率的に実現できません。

D. 新しいバージョンを新しい CloudFormation スタックでデプロイし、テスト完了後に DNS レコードを更新して新しいスタックを公開します。

不正解 技術的には実現可能ですが、CodeDeployのBlue/Green機能を使わずに手動でDNS切り替えを行う方法です。この方法では自動ロールバック、段階的トラフィック移行、統合された監視機能などのCodeDeployの利点を活用できません。また、スタックの管理が複雑になり、運用負荷が増加します。

全体的な説明

問われている要件

  • AWS CodeDeployとAmazon ECSを使用したアプリケーションデプロイメント環境での設定
  • 新しいバージョンを限られたベータユーザーグループに対して検証する仕組みの構築
  • テスト完了後に全顧客へ公開する段階的なリリース戦略の実装
  • CloudFormationを使用したインフラ管理での適切な設定方法

前提知識

Blue/Greenデプロイメントとは

Blue/Greenデプロイメントは、現在稼働中の環境(Blue環境)と並行して新しい環境(Green環境)を構築し、検証完了後にトラフィックを切り替えるデプロイメント手法です。

  • Blue環境:現在稼働中の本番環境
  • Green環境:新しいバージョンがデプロイされたテスト環境
  • トラフィックの段階的移行により、リスクを最小化しながらリリースを実行

AWS CodeDeploy for ECS

CodeDeployはECSサービスのBlue/Greenデプロイメントをサポートしており、以下の機能を提供します:

  • 自動的な新しいタスクセットの作成
  • Application Load Balancerを通じた段階的なトラフィック移行
  • カスタマイズ可能なデプロイメント設定(移行速度、テスト期間など)
  • 自動ロールバック機能
  • CloudWatchとの統合による監視とアラーム

CloudFormationのTransformセクション

CloudFormationテンプレートのTransformセクションでは、テンプレートの前処理を行うマクロを指定できます。

  • AWS::CodeDeploy::BlueGreenフックを使用することで、ECSサービス更新時に自動的にBlue/Greenデプロイメントが実行される
  • 宣言的な設定により、デプロイメント戦略をコード化して管理可能
  • 他のAWSサービスとの連携も自動化される

図による解説

解くための考え方

AWS CodeDeployでECSアプリケーションのBlue/Greenデプロイメントを実現する際は、CloudFormationテンプレートにTransformセクションを追加し、AWS::CodeDeploy::BlueGreenフックを使用します。

このフックにより、新しいタスクセット(Green環境)の作成、Application Load Balancerでのトラフィック分散設定、段階的なトラフィック移行が自動化されます。

各段階での自動検証とアラーム監視、問題発生時の自動ロールバック機能により、少数のユーザーグループでのテスト環境から本番環境への安全な移行が実現できます。

参考資料

目次

スポンサーリンク

以下スポンサーリンクです。

この記事がお役に立ちましたら、コーヒー1杯分(300円)の応援をいただけると嬉しいです。いただいた支援は、より良い記事作成のための時間確保や情報収集に活用させていただきます。

目次