勉強時間がない中でAZ-104に受かる方法

この記事は [Azure Advent Calendar 2022](https://qiita.com/advent-calendar/2022/azure) の 3日目です。皆さんもご参加お願いします！
# はじめに
2022年10月初旬にMicrosoftが提供するクラウド「Azure」の資格の一つである「AZ-104（Microsoft Azure Administrator）」を取得しました。
業務繁忙によりほとんど勉強時間が取れず、2022年7月から勉強を始めて約3か月かかりましたが、隙間時間を縫って確実に一発合格するための情報をお伝えしたいと思います。
ちなみに楽な道、というわけではありません。
逆に言えば、面倒がらずにこれをやっておけば確実という感じです。
# 試験内容
#### 難易度
Azureの資格には、Fundamentals、Associate、Exportという3つのレベルがあり、本試験は中級のAssociateにあたります。
#### 構成
50問、150分です。
なお問題数は40～60問くらいで固定ではないようです。
#### ボーダー
700 / 1000点で、試験終了後すぐに合否がわかります。
私は770点でギリギリでした。
# 受験方法
[AZ-104公式サイト](https://learn.microsoft.com/ja-jp/certifications/exams/az-104)にサインインし、サイト中盤にある「試験のスケジュール設定」から自分の受けたい日に試験予約をして、最寄りのテストセンターで受験しました。
ちなみに後で詳細を述べますが上記サイトは豊富な自習教材があり、研修の予約も可能なので必見です。
# 試験形式
以下3種類の問題形式があります。
#### ケーススタディ問題
システム構成の前提条件などが与えられて「要件を満たすにはどの設定値をどのようにすればいいか？」みたいなことを問われます。
#### 選択問題
普通の選択式問題です。
#### Yes/No問題
「〇〇を実現するために、この設定をこのようにしたが、合っているか？」みたいなことを問われます。
# 勉強方法
勉強し始める前はHerokeを少し触ったことがあるくらいで、Azureを触るのは初めてでした。
そこで、以下の3ステップで学習しました。
## 1.基礎単語の暗記、基礎概念の理解
まずは単語、そして概念の理解と進んでいきました。
具体的には、以下の学習サイトのAZ-104カテゴリのものを一通り閲覧しました。
そして、テーマの最後に問題があるので、それをひたすらポチポチ完了していきました。
そこでわからない単語があれば調べて、メモにまとめました。
[Microsoft Learn](https://learn.microsoft.com/ja-jp/training/paths/az-104-administrator-prerequisites/)

また、この頃は**真の繁忙期**ではなかったため、以下の3日間の研修を受けることができました。
人に説明してもらえる & 専用のラボ環境（LODS）でAzureが触れるのでオススメです。
とにかくメモをとってわからないところは恥ずかしからずに質問しました。3日間でA4のノートをメモでちょうど使い切り、これも学習メモとして大きく役に立ちました。
[Microsoft Training Days](https://esi.microsoft.com/)

## 2.実際に触ってみる
AZ-104の問題は、要件が与えられて最適な設定値は何か、その設定方法は何か、ということを聞かれることが多い印象です（Azure portal上での操作方法、Azure CLIやAzure Powershellでのコマンドなど）。
よって、一番手っ取り早いかつ効率的な勉強法は、**実際に自分でAzureを触って設定を行い、体系的に理解することです！**
教科書を見るだけでは、一個一個の設定値を暗記していくのは大変ですし、そもそもそれだと実際に「使える」知識になりません。
私の場合は、以下のようなステップでAzureを触ってみました。
いつかこの構築時のノウハウもアウトプットしたいと思っています。

1. 無料アカウント作成
2. リソースグループの作成
3. VNetの作成
4. NSGの作成
5. VM(Webサーバ、APサーバ、DBサーバ、踏み台サーバ)の作成
6. LBの作成
7. VM(DBサーバ) → Azure Database for MySQLへのシフト
8. VM(Webサーバ、APサーバ) → App Serviceへのシフト

※本来踏み台サーバはBastionを利用すれば事足ります。
　個人的に踏み台も構築してみたかったので自前で構築しています。

ここまでやればデプロイ関係やVNetの設定周りについては相当慣れますし、知識も蓄積されます。
おかげで以下の「試験時の得点」の通り、実機操作やネットワーク構成については**ほぼ満点**をとることができました。

:::note
自分で設定したものは試験問題で出会っても怖くない！
:::

金銭面でも、VMは検証時にしか起動していなかったので、無料枠の200ドル以内の175ドルくらいに収めることができました。



#### 試験時の得点
・Azureコンピューティングリソースのデプロイと管理（20～25%）　→**満点**
・仮想ネットワークの構成と管理（25～30%）　→**9割**
→実際に設定したから、問題を見ただけですぐわかった！

・Azureリソースの監視とバックアップ（10～15%)　→**2割**
→実際に設定をやらなかったからか相当なロス…。

※課金額を無料クレジットの$200に収めたかったのでストレージアカウントを作成しませんでした（ストレージアカウントは停止とかの概念がなく、データが保存されている限りずっと課金され続ける）。
その結果Log AnalyticsやAzure Backupはストレージアカウントの作成が必要であるため設定をしませんでした。

## 3. 頻出問題を暗記！
2の構築と並行して模擬問題をひたすら解いていきます。
その際、問題文や回答も含めてほぼ同じような問題が出ることがあるため、考えなくてもすぐに答えられるくらいまで問題&回答をセットで覚えてしまいます。
模擬問題として私が使用していたのは[Udemyの模擬問題集](https://www.udemy.com/course/az-104-microsoft-azure-administrator4260/?utm_source=bene-content-marketing&utm_campaign=normal&utm_content=story&utm_term=development&utm_medium=udemyads)です（有料です）。
上記問題集は4つ分の模擬問題がセットになっているのでこれを全て解きます。
ここまで来たら、もう合格は目の前だと思います。

# 注意事項等
・演習の時は60分くらいで解き終わっていたのですが、本番はすこし焦って思ったより時間がかかりました（100分くらい）。
・ケーススタディ→選択問題→yes/no問題の順番で出題されました。
　ケーススタディ、選択問題はそれぞれのパート内なら前の問題に戻れましたが、yes/no問題は戻れませんでした（実際問題を解いていて戻ったことは一度もなかったですが）。
・ケーススタディ問題は、まず質問文を読んだ方が良いです。その後要件を読むのですが、質問文に出てきた技術の名前がある箇所など、必要そうなところだけをかいつまんで読みます。
# おわりに
先輩に「本番解いてる時に受かってるか不安だなって思ったけど余裕だったわ」と言われた印象が強くて、わりと余裕で受かるかと思ったけど実際はそんなことなかったです…。