SAA-C03 ソリューションアーキテクト アソシエイト

AWS SAA-C03 で AWS Elastic Beanstalk はどう問われるか

AWS Elastic Beanstalk が正解になる問題 3問
例題 3問 収録
最頻出: 第 2 分野: 弾力性に優れたアーキテクチャの設計

SAA-C03 (ソリューションアーキテクト アソシエイト) の練習問題のうち 3 問で AWS Elastic Beanstalk が正解になります。出題はすべて第 2 分野: 弾力性に優れたアーキテクチャの設計 (3問) からです。タスク単位では「タスク 2.2 高可用性および/または耐障害性のあるアーキテクチャを設計する」が 3 問と中心で、ここが AWS Elastic Beanstalk を学ぶうえで最優先の論点です。誤答の選択肢としては Amazon EC2、AWS CodeBuild、Amazon ECR が併記されやすく、これらとの役割の違いを説明できるかどうかが正誤の分かれ目になります。

AWS Elastic Beanstalk の出題分野の内訳

分野別

第 2 分野: 弾力性に優れたアーキテクチャの設計

3


タスク別(AWS 公式 Exam Guide のタスクステートメント)

タスク 2.2 高可用性および/または耐障害性のあるアーキテクチャを設計する

3

AWS Elastic Beanstalk の例題 3問(クリックで即採点)

選択肢をタップするとその場で正誤が分かります。ログインもページ移動も不要です。

例題 1
単一選択
難易度: 標準

多言語の Web アプリを最短でリリースするデプロイ基盤

広告代理店の社内システム部門が、Ruby、Python、Java、Node.js など異なる言語で書かれた 12 本の Web アプリケーションを AWS 上でホストしています。各アプリは追加開発や新規リリースが頻繁に発生しており、アプリごとにデプロイ手順が異なるためリリース工数が肥大化していることが課題です。アーキテクトとして、既存アプリの大幅な書き換えを避けつつ、リリースまでの時間を最短化する方法を検討しています。最も適した方法はどれですか。

解説を読む(正解: B)

AWS Elastic Beanstalk は、アプリケーションのコードやコンテナイメージをアップロードするだけで、EC2 インスタンス、Elastic Load Balancing、Auto Scaling グループ、モニタリングといった実行環境一式を自動的に構築・運用してくれるサービスです。Docker プラットフォームを選択すれば、言語やランタイムの違いをコンテナイメージの中に閉じ込められるため、Ruby、Python、Java、Node.js が混在していてもデプロイ手順を一本化でき、リリースのたびにアプリ固有の環境構築作業を繰り返す必要がなくなります。ローリングデプロイや、環境 URL のスワップによる Blue/Green 相当の切り替えも標準機能として提供されており、既存アプリを大きく書き換えることなくリリースまでの時間を最短化できます。したがって各アプリをコンテナ化して Elastic Beanstalk にデプロイする案が要件に最も合致します。AWS CloudFormation テンプレートを一から記述する案は、インフラをコードとして管理できる利点はあるものの、ネットワーク、ロードバランサー、スケーリングポリシーまで自分で定義する必要があり、リリースを早めたいという目的に対して初期工数が過大です。AWS CodeBuild でビルドして AWS Lambda 関数として公開する案は、既存の Web アプリケーションをサーバーレス向けに作り替える改修が前提となるため、短期でのリリース短縮にはつながりません。リリースのたびに AMI を手動で作り直す案は、ビルド時間が長く手作業も多いため、現在の課題である工数肥大をさらに悪化させる選択です。

この問題の出典(AWS 公式ドキュメント)

例題 2
単一選択
難易度: やさしい

Web アプリを最小運用で展開するプラットフォーム

インフラ専任者がいない 5 名の開発チームが、Python で書かれた社内向け Web アプリケーションと、Docker イメージとしてパッケージ済みの別アプリケーションを AWS 上で公開します。チームはロードバランサーと Auto Scaling を含む実行環境をコマンド 1 つで払い出したいと考えており、OS やミドルウェアの構成、キャパシティー調整、デプロイのローリング更新はプラットフォーム側に任せたいと考えています。最も適したサービスを 1 つ選択してください。

解説を読む(正解: D)

AWS Elastic Beanstalk は、アプリケーションのソースコードやコンテナ定義をアップロードするだけで、EC2 インスタンス、Application Load Balancer、Auto Scaling グループ、モニタリング設定までを含む実行環境を自動的にプロビジョニングするサービスです。Python や Java、Node.js などの言語プラットフォームに加えて Docker プラットフォームにも対応しているため、ソースコードのアプリとコンテナ化済みのアプリの双方を同じ手順で展開できます。バージョン管理されたデプロイやローリング更新もマネジメントコンソールや CLI から実行できるため、インフラ専任者がいないチームの要件に最も合致する選択肢 D が正解です。選択肢 B の Amazon ECR はコンテナイメージの保管庫にすぎず、そこから直接アプリケーションを公開して外部にサービスする機能はありません。選択肢 C の Amazon EKS は Kubernetes の知識とクラスター運用が前提となり、少人数でインフラ専任者のいないチームには学習コストと運用負荷が過大です。選択肢 A は起動テンプレート、ロードバランサー、Auto Scaling グループを個別に構築・維持する方式で、技術的には要件を満たせますが、設定と保守の手間が Elastic Beanstalk と比べて明確に大きく、「コマンド 1 つで払い出したい」という要望に反します。

例題 3
単一選択
難易度: 標準

運用負荷を抑えた Web アプリケーションの展開方式

社員 200 名の会計事務所が、社内向けの経費精算 Web アプリケーションを AWS 上に展開しようとしています。アプリケーションは Linux 上で動作する一般的な Web スタックで構築されており、専任のインフラエンジニアはいません。要件として、アプリケーションの稼働状況やヘルス状態を確認できる運用ダッシュボードが標準で提供されること、そして OS やミドルウェアへのパッチ適用を担当者が手作業で行わなくて済むことが挙げられています。開発者はビルド済みのアプリケーションをアップロードするだけでデプロイを完結させたいと考えています。この要件を満たす最も適切な展開方法はどれですか。

解説を読む(正解: C)

AWS Elastic Beanstalk は、アプリケーションのコードやバンドルをアップロードするだけで、EC2 インスタンス、Auto Scaling グループ、ロードバランサー、セキュリティグループといった実行環境一式を自動的にプロビジョニングしてくれる PaaS 型のサービスです。Java、PHP、Python、Node.js、Ruby、.NET、Docker などのプラットフォームがあらかじめ用意されており、インフラの詳細を意識せずにデプロイできます。マネージドコンソールにはアプリケーションのヘルス状態、リクエスト数、レイテンシー、直近のイベントログを一覧できる運用ダッシュボードが標準で備わっており、追加開発なしで稼働状況を把握できます。さらにマネージドプラットフォーム更新を有効にすれば、OS やミドルウェアのマイナーバージョン・パッチの適用を指定したメンテナンスウィンドウ内で AWS が自動実行するため、手作業のパッチ配布が不要になります。専任インフラ担当がいない本問の状況に最も適合します。誤りの選択肢について、CloudFormation とユーザーデータスクリプトによる構成は環境の再現性は得られますが、パッチ適用の仕組みも監視ダッシュボードも自分で設計・実装する必要があり要件を満たせません。EC2 に Patch Manager を設定する案はパッチの自動化はできるものの、デプロイの仕組みとダッシュボードを自作する手間が残ります。Amazon ECS on EC2 はコンテナ化の作業に加え、コンテナインスタンスの AMI 更新を自社で運用し続ける必要があり、運用負荷を下げたいという要件と逆行します。

AWS Elastic Beanstalk とよく混同されるサービス

AWS Elastic Beanstalk が答えの問題で、誤答の選択肢として並ぶサービス

SAA-C03 の問題プールを実際に集計した結果です。ここに並ぶサービスとの違いを言葉で説明できるようになると、AWS Elastic Beanstalk 系の問題を取りこぼしにくくなります。

Amazon EC2

2回

AWS CodeBuild

1回

Amazon ECR

1回

Amazon ECS on EC2

1回

AWS Elastic Beanstalk の公式ドキュメント

本ページの内容は以下の AWS 公式ドキュメントに基づいています。

SAA-C03 の関連論点

Amazon SQS

5問

AWS Step Functions

5問

Amazon Route 53

3問

Amazon EventBridge

3問

Amazon RDS for MySQL

3問

Amazon SNS

3問

SAA-C03 のサービス別 論点一覧をすべて見る

SAA-C03 の練習問題をすべて解く

AWS Elastic Beanstalk を含む全分野の練習問題と本番形式の模擬試験を、日本語の解説つきで収録しています。

練習問題を始める