
【初心者向け】AWS 認定試験 攻略ガイド (2025)

はじめに
このガイドは AWS 認定試験を「取得したい」もしくは「取得しなければならない」ものの、何から始めるべきか分からない方向けに作成しています。
私は AWS を知ってから All Certification Engineers に選出されるまでの 2 年間、様々な学習方法を試行錯誤しながら試験に取り組んできました。
ここでは 試験に合格することに限って 、私が推奨する効率的な学習方法についてご紹介します。
AWS はとても広範囲に渡るソリューションを提供しており、試験に合格したからといってサービスを十分に活用できるわけではありません。
一方で、各分野における知識を体系的に整理しつつ、新たなサービスや機能を学ぶ機会としては大いに役に立ちます。
さて、いきましょう。
試験を知る
最初にすることは、試験 (相手) を知ることです。
AWS 認定試験では、すべてにおいて以下のような「試験ガイド」が公開されています。
AWS-MLA 試験ガイド の一部抜粋
ボリュームが多く気後れしてしまいますね。
でもご安心ください。ここで知るべきはたった 1 つ、
試験の形式
です。
つまり、次のことが分かれば良いのです。
- 何分の試験か?
- 何問の試験か?
- 何点で合格か?
基本的に AWS 認定試験は、文章問題に対して選択形式で解答します。
これらを把握した上で、1 問を何分で解けば良いのか、また何問正解すれば良いのかを意識しながら学習しましょう。
なお、現在リリースされている AWS 認定の試験形式は次の通りです。
カテゴリ | 試験の形式 | 合格スコア |
---|---|---|
Foundational | 90 分 / 65 問 | 700 / 1,000 |
Associate | 130 分 / 65 問 | 720 / 1,000 |
Professional | 180 分 / 75 問 | 750 / 1,000 |
Specialty | 170 - 180 分 / 65 問 | 750 / 1,000 |
概ね 7-8 割程正解すれば合格することができます。(1,000 点満点ですが、100 - 1,000 のスケールスコアなので厳密には異なります。)
また、試験には 10 - 15 問の採点対象外となる問題が含まれているので、結果に自信がない場合でも意外と合格していることもあります。
試験ガイドには他にも、試験内容や試験対象のサービスなどの有用な情報がたくさん記載されていますが、まずは形式だけ抑えておきましょう。
おすすめの学習方法
試験形式が分かったところで、次にどのように学習を進めれば良いかをお伝えします。
結論、以下のサイクルを回すだけです。
学習サイクル
これだけです。
問題を解き、不明点を記録し、自分だけの用語集を作成していきます。
用語集は Notion でも Excel でもメモ帳でも手書きでも、慣れた方法で作成して構いません。形式も問いません。
用語集に記録することを通して
自分の理解をアウトプットする
ことが重要なのです。
人間の脳は、一度に記憶できる量に限りがあります。まずは分からなかった点に絞って記録することを意識しましょう。
学習を進める過程で、必要に応じて用語集をアップデートすれば良いのです。
受験日を決める
さて、学習方法が分かれば早速試験に申し込みます。
いきなり?と思われるかもしれませんが、試験に合格するためのポイントはここ (期日を明確に決めること) にあると言っても過言ではありません。
試験は
AWS 認定
から申し込むことができ、年中受験することができます。
参考までに、必要な学習時間の目安は次の通りです。
カテゴリ | 学習期間 | 学習時間 |
---|---|---|
Foundational | 1 週間 - 1 か月 | 10 - 40 時間 |
Associate | 2 週間 - 2 か月 | 20 - 80 時間 |
Professional Specialty | 1 か月 - 3 か月 | 40 - 120 時間 |
私もそうでしたが、学習を始めたての頃は試験のレベルに対する自分の知識や理解度が測れません。どの程度学習すれば合格できるのか、想像がつかないかもしれません。
しかし、それはあまり重要ではありません。今は期限を明確にすることが大切です。この目安を基に試験日を決めて申し込んでしまいましょう。
大丈夫です。2 回までは日程を変更できます。難しいと思えば延期すれば良いのです。
問題を調達する
受験日を決めたらいよいよ、学習に入ります。
解くための問題を準備しましょう。AWS 認定試験の問題は様々なサービスが提供しています。
例えば、AWS 公式である
Skill Builder
や、
Udemy
、
Cloud License
などが有名です。
お金を惜しむな
紹介したサービスには有料のものが含まれていますが、準備する問題にはお金を惜しまず使いましょう。
AWS サービスは頻繁に更新されるため、試験もそれに合わせて定期的なアップデート (バージョン更新) が行われています。
また、試験のバージョンが変わらない場合においても、サービスの更新にともなって問題作成時には正解だった解答が正解ではなくなる場合もあります。(これらの問題は出題されなくなっていると考えられます。)
つまり、学習用の問題も適切に更新・最新化されている必要があるのです。ここに有料問題と無料問題の大きな差があります。(もちろん問題自体の質も異なります。)
追加のコストに躊躇してしまうかもしれませんが、不合格となった場合の再受験料や、再学習する時間を考えれば安いものです。
有料問題だとしても、解答や解説が間違っている場合はあります。少しでも疑問を感じた場合は、必ず AWS の公式ドキュメント を確認しましょう。
問題の枠組みを知る
試験問題は概ね次のように構成されています。
- 背景 (Background) = 事実 (Fact) + 課題 (Problem)
- 目標 (Goal)
- 制約/条件 (Constraint)
次の問題を例に考えてみましょう。一度読んでみてください。
ある e コマース企業では、AWS で複数のアプリケーションを実行しています。この企業では、一元的なストリーミングログ取り込みソリューションを設計したいと考えています。このソリューションでは、ログデータを Apache Parquet 形式に変換できる必要があります。その後、このソリューションではログファイルを Amazon S3 に保存する必要があります。作成されるログファイルの数は 1 日を通して変化します。データエンジニアは、ログファイルが確実にほぼリアルタイムで送信されるソリューションを設定する必要があります。
AWS Certified Data Engineer - Associate Official Practice Question Set
分からない単語がありましたか?あった場合は用語集に記録しましょう。
さて、この問題は上記の枠に沿って以下のように整理することができます。
- 背景 (Background)
- ある e コマース企業は、AWS 上で複数のアプリケーションを実行している。
- この企業は一元的なストリーミングログ取り込みソリューションを設計したいと考えている。
- 目標 (Goal)
- ログデータを Apache Parquet 形式に変換し、ほぼリアルタイムで Amazon S3 に保存する。
- 制約/条件 (Constraint)
- ログファイルの数は 1 日を通して変化する。
- 運用上のオーバーヘッドを最小限に抑える。
つまり、この問題は「量が変動するログデータを Apache Parquet に変換してほぼリアルタイムで Amazon S3 に保存する、運用上のオーバーヘッドが最小限である方法はどれか」と表すことができます。
さて「1. 背景」として整理した内容が省かれていることがお分かりいただけるかと思います。
そう、重要なのは「
2. 目標
」と「
3. 制約/条件
」なのです。
試験問題には不要な情報がたくさん散りばめられています。これらを排除して要点をピックアップすることが、問題を解くためのポイントです。
- やりたいこと、解決したいことは何ですか?
- 与えられた制約や、満たすべき条件はありますか?
問題の解き方を知る
問題を整理した後は、次のステップで解いていきます。
- 選択肢を確認する
- 選択肢の中から「やりたいこと」ができるものを選ぶ
- その中から「制約/条件」を満たすものを選ぶ
先程の例で考えてみましょう。
- 目標 (Goal)
- ログデータを Apache Parquet 形式に変換し、ほぼリアルタイムで Amazon S3 に保存する。
- 制約/条件 (Constraint)
- ログファイルの数は 1 日を通して変化する。
- 運用上のオーバーヘッドを最小限に抑える。
1. 選択肢を確認する
上記を踏まえて、選択肢を確認しましょう。
- ログデータを入力 S3 バケットに送信するようにアプリケーションを設定します。ログファイルが Amazon S3 に配信されたときに AWS Glue の抽出、変換、ロード (ETL) ワークフローを開始する Amazon EventBridge イベントを作成します。Parquet ファイルを出力 S3 バケットに出力するようにワークフローを設定します。
- ログデータを Amazon Data Firehose に送信するようにアプリケーションを設定します。ログデータを Parquet 形式に変換する AWS Lambda 関数を呼び出すように Firehose を設定します。Parquet ファイルを出力 S3 バケットに配信するように Firehose を設定します。
- ログデータを Amazon Kinesis Data Streams に送信するようにアプリケーションを設定します。Amazon EC2 インスタンスのグループに Kinesis クライアントライブラリ (KCL) をインストールします。EC2 インスタンスを使用してストリームレコードを読み取り、ログデータを Parquet に変換し、Parquet ファイルを Amazon S3 に保存します。
- Hive がインストールされた Amazon EMR クラスターにログ データを送信するようにアプリケーションを設定します。正規表現を使用してログ データからテーブルを作成します。形式を Parquet に設定して、Hive の Amazon S3 に外部テーブルを作成します。ログ ファイルを外部 S3 テーブルに保存するために、HiveQL UNLOAD クエリをスケジュールします。
結構ボリュームがありますね。試験は文章形式なので国語の問題でもありますが、順に考えていきましょう。
2. 選択肢の中から「やりたいこと」ができるものを選ぶ
やりたいことは、ログデータを Apache Parquet に変換してほぼリアルタイムで S3 に保存することです。
- ログデータを入力 S3 バケットに送信するようにアプリケーションを設定します。ログファイルが Amazon S3 に配信されたときに AWS Glue の抽出、変換、ロード (ETL) ワークフローを開始する Amazon EventBridge イベントを作成します。Parquet ファイルを出力 S3 バケットに出力するようにワークフローを設定します。
ログが S3 に配信された後に Glue を使用して Parquet に変換していますが、Glue を使用した変換をほぼリアルタイムで行うことはできません。
1
は不正解です。
- ログデータを Amazon Data Firehose に送信するようにアプリケーションを設定します。ログデータを Parquet 形式に変換する AWS Lambda 関数を呼び出すように Firehose を設定します。Parquet ファイルを出力 S3 バケットに配信するように Firehose を設定します。
Firehose を使用して Parquet に変換した後に S3 に保存しています。Firehose では送信されたデータをバッファリングすることができますが、この間隔は 0-900 秒で設定することができます。
2
は正解の可能性があります。
- ログデータを Amazon Kinesis Data Streams に送信するようにアプリケーションを設定します。Amazon EC2 インスタンスのグループに Kinesis クライアントライブラリ (KCL) をインストールします。EC2 インスタンスを使用してストリームレコードを読み取り、ログデータを Parquet に変換し、Parquet ファイルを Amazon S3 に保存します。
Kinesis Data Streams と KCL をインストールした EC2 インスタンスを使用して変換と保存をしており、こちらもほぼリアルタイムで変換と保存ができます。
3
も正解の可能性がありますね。
- Hive がインストールされた Amazon EMR クラスターにログ データを送信するようにアプリケーションを設定します。正規表現を使用してログ データからテーブルを作成します。形式を Parquet に設定して、Hive の Amazon S3 に外部テーブルを作成します。ログ ファイルを外部 S3 テーブルに保存するために、HiveQL UNLOAD クエリをスケジュールします。
EMR と Hive を使用して Parquet の変換と S3 への保存を行っており、同様にやりたいことを実現できます。
ここまでで、2
/3
/4
まで選択肢を絞ることができました。
3. 選んだ中から、「制約/条件」を満たすものを選ぶ
今回の制約と条件は、2 つありました。
- ログファイルの数は 1 日を通して変化する。
- 運用上のオーバーヘッドを最小限に抑える。
つまり「可能な限りリソースの作成や設定が不要なもの」かつ「柔軟にスケールすることができるもの」を選択すれば良いです。
まずは、可能な限りリソースの作成や設定が不要かどうかを確認しましょう。
2
は、Firehose を使用します。Firehose では Lambda 関数を使用してデータを変換し、S3 に保存することができます。Lambda 関数を作成する必要はありますが、運用する必要があるものは基本的に関数のプログラムコードのみで、ミドルウェアや OS などを管理する必要はありません。
3
は、Kinesis Data Streams と KCL、EC2 を使用します。KCL をインストールした EC2 インスタンスをセットアップする必要があります。そのために VPC やサブネットも必要ですね。また、OS や KCL の定期的なアップデートも必要になりそうです。
4
は、EMR と Hive を使用します。EMR にはサーバーレス機能もありますが、ここでは EMR クラスターと表現されているためクラスター管理が必要になりそうです。また S3 に保存するために HiveQL のカスタムスクリプトを作成する必要もあります。
この時点で 2
が優勢であることが分かりますね。
最後に 2
が「柔軟にスケールすることができるもの」であるかを確認しましょう。
Firehose はフルマネージドサービスなので、送信されるログデータ量に応じて自動的に性能が拡張されます。Lambda 関数も同様で、 同時実行 と呼ばれる仕様で高いスケーラビリティを持ちます。
厳密には、両サービスともサービスクォータと呼ばれる制限 (性能上限) がありますが、ここでは問題文中で具体的な数値指標が述べられていないため考慮せずとも問題ありません。
正解は 2
です。
- サービスの各機能で実現できること、できないこと
- 実現できる場合における制限
- よくある活用例
今回取り上げた問題にある「運用上のオーバーヘッドを最小限に抑える」は、実は頻繁に登場します。これは「可能な限りマネージドサービスを使用する」と言い換えることができますが、このようなノウハウは問題を解いていく過程で自然と蓄積されていきます。
さいごに
いかがでしたか?
AWS 認定試験は決して難しいものではありません。
優良な問題を調達し、問題を解いて不明点を記録する。このサイクルを繰り返すだけで合格することができます。
自分が理解できていないことを素早く把握し、小さなことを一つずつ積み重ねましょう。
[余談] AWS サービスに触れよう
ここまで試験に合格することに限った学習方法をお伝えしてきましたが、AWS サービスを効果的に活用できるようになるために最も重要なことは、実際にサービスに触れることです。
公式から様々なハンズオンが公開されていますので、実際にサービスに触れて、楽しみながら学びましょう。