KENTEM TechBlog

建設業のDXを実現するKENTEMの技術ブログです。

【AZ-104合格体験記】IaC布教の印籠を求めたら、無知が手に入った 話

はじめに

こんにちは!積読に追われている3年目エンジニアのK・Mです!

今回は、お盆休みを利用して受験した AZ-104: Microsoft Azure Administrator の受験体験記を書いていこうと思います!

きっかけ

AZ-104を受験しようと思ったきっかけは、大きく2つありました。

  1. Azureのことをまだまだ知らなすぎる
  2. IaCの普及活動を行う上での印籠が欲しかった

Azureのことをまだまだ知らなすぎる

現在携わっているプロダクトにBicepを導入したのですが、導入早々いきなり躓きました。

— 知らないプロパティが多すぎる —

普段Azure PortalをGUIでポチポチ触っているときとは大違いのプロパティ数に震えたのを覚えています。

例えば、弊社でもよく利用しているApp Service。

Bicepで扱えるプロパティは驚異の200種類以上あります。

あまりに長すぎてここにコードを貼る気にはなれないので、興味がある方はMicrosoft Learnを覗いてみてくださいm( _ _ )m

learn.microsoft.com

普段Portalから設定していると見えない項目も多く、「自分、Azureのこと全然知らんな……」と改めて実感しました。

IaCの布教活動を行う上での印籠が欲しかった

なんとかBicepをプロジェクト内に導入し、横展開を図ることを当面の目標として定めました。

が、いくら若手のチャレンジに寛容な弊社であっても、Azureの知識もまだまだ未熟な私がいきなり「IaC導入しましょう!」と言っても、なかなか説得力がありません。

というわけで知識と印籠の両方が欲しくて受験することを決めました。

もちろん、資格を持っているからといってIaCの導入判断が正しくなるわけではありませんし、IaCがあらゆる場面で最適とも限りません。 当たり前ですが、使い捨てのリソースや構成がシンプルなリソースはGUIで十分です。

ただ、実際に手を動かして得た経験に加えて、Azure全体の知識を体系的に身につけ、「Azureについて一定の知識があります」と客観的に示せるものがあれば、IaCを導入するべきかどうかも含めて、もう少し根拠を持って話せるようになるんじゃないかと考えました。

余談ですが、ブログ執筆時点ですでにAZ-400の受験を申し込んでいます。受かったら、また体験記を書こうと思います。

受験日まで

申し込み

申し込みを6月23日に行い、約1か月半後の8月15日に試験日を設定しました。

平日にがっつり勉強できる自信がなかったため、

「お盆休みに詰め込めばなんとかなるやろ」

という作戦で、お盆の終盤に試験日を持ってきました。

お盆までの勉強状況

勉強時間

平日は、通勤時の電車内20分×往復2回と、家に帰ってから30分〜1時間ほど勉強していました。

土日は、どちらか片方の日に2〜3時間ほど勉強していました。

個人的にはもう少し時間を取りたかったのですが、途中で別の技術を勉強し始めたり、最近飼い始めたマメルリハを眺めたりしていたら、思ったほど勉強時間は伸びませんでした。

鳥、かわいいので仕方ないですね。

勉強方法

基本的には、Udemyで購入した模擬試験をひたすら解き、間違えたところを復習する流れで進めました。

復習の際にはClaudeやChatGPTをガンガン質問攻めして、単純に問題と答えを暗記するのではなく、

「このAzureリソースは、なぜこういう仕組みになっているのか」

というメンタルモデルを作ることを意識しました。

それ以外にも、セールで安くなっていた解説動画を見たり、「Azureの知識地図」やMicrosoft Learnを読んだりしていました。

そして分からないことが出てきたら、またClaudeやChatGPTに質問攻め。

だいたいこのループです。

FloatingIPについて質問している例

お盆

勉強時間

お盆初日は1日中だらだらしてしまい、何もできませんでした。

しかし、それ以外の日は試験日まで1日6時間ほど勉強していました。

昼頃にカフェへ行って夜まで粘っていたので滞在時間だけならかなり長かったのですが、案の定途中で別の勉強を始めたり、スマホゲームに勤しんだりしていたので、実働としてはこのくらいかなという感じです。

勉強内容

お盆期間中も、平日と同じく模擬試験を解くことをメインにしていました。

ただし、この頃からはできるだけ本番に近い状態で問題を解くようにしていました。

AZ-104では試験中にMicrosoft Learnを参照できるため、細かい仕様や回答に自信がない場合は、なるべくLearnから根拠を探して回答するようにしました。

後述しますが、本番では自信をもって回答できた問題がほとんどなく、Learnをめちゃくちゃ使いました。

そのため、この時期に

「Learnのどこを探せば答えがありそうか」

という感覚を身につけておいたのは、かなり役に立ったと思います。

また、自分のAzureアカウントで実際にリソースを作成して、問題文だけではイメージしづらい部分を確認するようにもしていました。

模擬試験のスコア推移

80問×5回分の模擬試験を購入しました。

第1回〜第4回については、お盆前・お盆中を合わせて最低2周、最大5周しました。

第5回は、試験前日に初見で1回だけ解きました。

スコア推移は以下の通りです。

模擬試験 1回目 2回目 3回目 4回目 5回目
第1回 46% 71% 73% 78% 85%
第2回 52% 71% - - -
第3回 66% 76% 88% 92% -
第4回 60% 92% - - -
第5回 68% - - - -

全体を通して、初回は正答率が低く、2回目でなんとか合格ラインに乗るくらいの状態でした。

AZ-104は範囲が広いため、最初のうちは

「知らないから解けない」以前に「問題文が何を言っているのか分からない」

ということもかなり多かったです。

結局、試験前日に初見で解いた第5回も合格点を超えることができず、かなり不安な状態で本番を迎えました。

受験日当日

試験会場に到着し、本人確認や持ち物検査を済ませて試験開始です。

そして開始早々、思わぬ……というより案の定の展開になりました。

マジでわかんねぇ/(^o^)\ナンテコッタイ

体感では、

  • 自信をもって回答できた問題:5問くらい
  • 「たぶんこれかな……」くらいの問題:10問くらい
  • 自信なし : それ以外全部

という惨状でした。

そのため、ほとんどの問題を必死にMicrosoft Learnで調べながら回答していました。

ただ、先述の通り事前にLearnを使いながら模擬試験を解く練習をしていたおかげか、回答のヒントになりそうなページや箇所は比較的すぐに見つけることができました。

結果的には時間にも余裕を持って試験を終えることができました。

そして結果は……

825点で合格!

試験中の手応えとは裏腹に、それなりに余裕を持った点数で合格することができました。

正直、試験終了ボタンを押した時点では普通に落ちたと思っていました。

先程時間に余裕をもって~と書きましたが、実をいうと単に絶望して諦めただけです。

所感

受験したことで得られたもの

インフラやコンピューターの知識が多少身についた

私は土木系の学科出身で、情報系の学部で学ぶような基礎知識を体系的に勉強してきたわけではありません。

そのため、恥ずかしながら以前は

「ネットワーク?なにそれ美味しいの?」

くらいの状態で仕事をしていました。

AZ-104はPaaSだけでなく、仮想ネットワーク、VM、ロードバランサー、VPN、ストレージなど、比較的インフラ寄りの領域が多く出てきます。

そして、

「なぜこの設定が必要なのか?」

「そもそも、この通信はどう流れているのか?」

というところまで掘り下げていくと、必然的にネットワークやコンピューターの基本的な仕組みを理解する必要が出てきます。

そのため、Azureの勉強をしながらインフラ周辺の基礎知識も一緒に身につけられたのは、個人的にはかなり大きな収穫でした。

Microsoft Learnが多少読めるようになった

勉強中に何度もMicrosoft Learnを見に行ったおかげか、少しずつLearnを読めるようになってきました。

Learnは独特の言い回しがあったり、前提知識が要求されたりするため、以前は読むだけでもかなり苦戦していました。

まぁ、公式ドキュメントなんてだいたいそんなもののような気もしますが。

勉強中や試験中に何度もLearnへ触れることで、

「この情報なら、このあたりに書いてありそう」

という感覚が少しずつ身についてきました。

以前ほど公式ドキュメントを読むことに抵抗がなくなったのは、資格そのもの以上に仕事で活きそうな変化だと感じています。

受験前に期待していたけど、期待通りではなかったもの

別にAzureを使いこなせるようにはならない

AZ-104を取れば、それなりにAzureを使いこなせるようになるだろうと期待していました。

が、全然そんなことはありませんでした。

もちろんAzureの知識はかなり増えましたが、

「AZ-104に合格した = Azureを自在に設計・構築できる」

というわけでは当然ありません。

先ほども触れましたが、AZ-104はIaaS寄りの内容もかなり多く出題されます。

一方、弊社のプロダクトではPaaSを利用するケースが多いため、日々の業務にそのまま使える知識という意味では、かなり部分的だったと思います。

とはいえ、Azureのネットワークや権限、監視など、PaaSを使っていても土台として必要になる知識は多くあります。

そういう意味では、直接役に立つというより、地味に効いてくるタイプの勉強だったのかなと思っています。

IaCを広めるためのバックボーンには、思ったほどならない

ARMテンプレートやBicepに関する問題もいくつか出題されますが、試験全体から見るとごく一部です。

また、出題されたとしても、

  • どのコマンドを実行するか
  • どのリソースプロバイダーを利用するか
  • どのテンプレートを選ぶか

といった内容が中心でした。

そのため、

「IaCをどう設計するか」 「どう運用すれば安全に変更できるか」 「どうすればチームに定着するか」

といった、実際にIaCを導入・普及させるうえで重要な部分については、AZ-104だけではあまりカバーされません。

このあたりは、結局自分で手を動かしたり、本やブログを読み漁ったり、実際のプロジェクトで試行錯誤しながらベストプラクティスを身につけていく必要がありそうです。

ただ、この辺りはAZ-400の領域に入ると、継続的インテグレーションや継続的デリバリー、Infrastructure as Codeなどのプラクティスとしてもう少し深く扱われるはずなので、今度はそちらに期待しています。

まとめ

AZ-104を受験する前は、

「Azureをもっと使いこなせるようになりたい」

「IaCを推進するための武器が欲しい」

という思いが強かったです。

実際に受験してみると、期待していたものがそのまま手に入ったわけではありませんでした。

AZ-104を取ったからといってAzureマスターになれるわけでもないですし、IaCを自在に設計できるようになるわけでもありません。

それでも、

  • Azureのサービスを体系的に知ることができた
  • ネットワークやインフラの基礎を学ぶきっかけになった
  • Microsoft Learnを読む力が多少ついた
  • 「自分が何を知らないのか」が以前より分かるようになった

という意味では、受験してよかったと思っています。

特に最後の

「自分が何を知らないのか分かるようになった」

というのは、個人的にはかなり大きかったです。

Azure、知らんことが多すぎる。

ということで、次はAZ-400に挑戦します。予定日は11月15日です。

2か月後の自分、頑張ってください。

おわりに

KENTEMでは、様々な拠点でエンジニアを大募集しています! 建設×ITにご興味頂いた方は、是非下記のリンクからご応募ください。 recruit.kentem.jp career.kentem.jp