【Google Cloud】実務未経験新卒エンジニアがAssociate Cloud Engineerを取得した話

# はじめに
Google Cloudの知識を体系的に学ぶために、Associate Cloud Engineerの資格取得に向けて勉強を重ねていました。先日無事一発合格できたので、その体験記になります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614347/6f1be52b-f74a-19bf-9f83-f7eaeafcb5cb.png)

# Associate Cloud Engineerとは？
Google Cloudの入門用の試験の位置付けになります。入門とはいえ、実務経験6ヶ月以上が目安とされています。試験は50問の選択肢問題が出題されます。

申し込み方法は、公式サイトから受験申し込みをするだけです。受験料は$125です。自宅受験とテストセンター受験が選べますが、気分転換も兼ねてテストセンター受験を選びました。メールで試験会場の案内が届きます。

蛇足ですが、メールの案内で試験当日持っていく利用可能な身分証に、「軍の身分証明書」と書いてあり、アメリカの資格だということを実感しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614347/e8e0f636-4b7a-1e28-1b37-c19a030a67ff.png)

私の受けた所感としては、以下の2点について学ぶことができる資格だったと思います。
- Google Cloudが提供する色々なサービスの概要を学べる
- よくあるユースケースでGoogleが推奨するプラクティスを学べる

例えば以下のような問題が出題されます。

> あなたは外国為替取引アプリケーションを開発しています。対象読者は世界中のトレーダーです。データはリレーショナル構造を使用して保存およびクエリされるため、世界中のユーザーがまったく同じデータを見ることができます。アプリケーションは複数のリージョンにデプロイされ、世界中のユーザーにサービスを提供します。遅延を最小限に抑えるにはどのストレージ オプションを選択する必要がありますか?

- Cloud BigTable
- Cloud SQL
- Cloud Spanner
- Fire Store

正解は**Cloud Spanner**になります。リレーショナル構造であることxグローバルなスケーラビリティが要求されることを満たすのは、Cloud Spannerとなります。

ちなみに実際にCloud Spannerを利用しているサービスで紹介されているものには、「ポケモンGO」「メルペイ」「みんなの銀行」などがあります。

この問題を解くには、各ストレージサービスの特徴を把握している必要があります。また、具体的なシナリオと紐づけてGoogleが推奨する最適解(ユースケース)を選べるかも問われます。

このように、Associate Cloud Engineerの試験は、各サービスの概要理解に留まらず、具体的なユースケースについての理解が問われます。実務を想定した力を身につけることができるでしょう。

# なぜAssociate Cloud Engineerを受けようと思ったか？
目的は大きく二つあります。一つは、まず身近なタスクを確実に理解して取り組めるようになること。もう一つは、体系的な知識を得ることで、成長速度を加速させることです。

私は2023年現在、新卒1年目のWebエンジニアとして働いています。社会人になるまでエンジニア実務をしたことがなく、ましてやGoogle Cloudに触ったことはほとんどありませんでした。所属企業ではGoogle Cloudを全社的に利用しており、仕事を進めるにあたって飛び交う用語や仕組みが分からない場面が多々ありました。

「IAMの設定追加しておいて」
「Pub/Subのサブスクリプション追加しておいて」
「Looker StudioにBigQueryからのデータを出しておいて」
「KubernetesののDeploymentを見てみて」
、、、

このような作業を実際求められたりするのですが、当初は何を言っているのか全く分からず、ゼロから調べての繰り返しでした。これだと非効率ですし、納得感を持ってタスクに取り組みたいなと思っていました。

また、学習の過程でGoogle Cloudの体系的な教科書的知識をインプットすることを期待しました。そうすることで、社内で飛び交う様々な議論を素通りすることなく「どのようにやりたいことをGoogle Cloudで実現できるか？」を主体的に考えられる機会を増やしたいと思っていました。

これらの背景があり、Google Cloudを体系的に学習できる入門的な位置付けの資格としてAssociate Cloud Engineerが目に留まり、受験しようと決めました。

# 学習の流れ
まず最初に受験日と大まかな学習計画を立てました。過去の受験者の合格体験記を読み漁り、およそ3ヶ月あればいけるだろうと予測を立てました。まずは、Google Cloud全体の概要を理解するために、基礎を学ぶところから始め、問題演習へと続けました。教材を探す際は、なるべく最新のもの&評判の良いものを軸に探し、学習コンテンツを選定しました。

具体的に実施したことは以下になります。また、本試験後に振り返ってみてどうだったかの感想も一緒に書いていきます。

1. UdemyでGoogle Cloudの概要を掴む
2. 教科書で再度復習&問題演習
3. Udemyの問題演習講座でひたすら問題を解く
4. 理解の浅い問題を抽出し、繰り返し解く
5. 公式docや解説サイトを読み込む

### UdemyでGoogle Cloudの概要を掴む
Google Cloud（GCP）の基礎 - 図解と実践でインフラの基礎を固める

https://www.udemy.com/course/google-cloud-i/

Udemyで評判のよかった日本語のGoogle Cloudハンズオン講座です。問題演習の前に、視覚的にGoogle Cloudの各サービスの基礎を知ることができました。Google Cloudの勉強を開始する最初の題材としてピッタリな教材だと思います。

### 教科書で再度復習&問題演習
(模擬問題付き)徹底攻略 Google Cloud認定資格 Associate Cloud Engineer教科書

https://amzn.asia/d/039Lc8s

こちらは2023年8月に発売された最新の教科書+問題集です。他の色々な教材の口コミを見ていると、問題が古いという口コミがあったため、最新のものにこだわりました。結果としては、上記のUdemyの動画の良い復習になり、問題演習を通して試験の雰囲気に慣れることができました。しかし、こちらの教科書についている問題は本試験に比べるとやや簡単めで足りない印象があるので、本格的な問題演習は別途必要そうです。

### Udemyの問題演習講座でひたすら問題を解く
UdemyにはAssociate Cloud Engineerの問題演習講座がいくつかあり、その中で最も評判が良いものを選びました。口コミも最新１ヶ月の分までリアルタイムで更新されておりとても良好でした。

https://www.udemy.com/share/107RQQ/

> This course really helped me a lot, practice test questions were very similar to the official google exam.

本試験と同じような問題がたくさん出るといった口コミがたくさん書いてあります。50問x5セット+20問=270問というボリュームです。

一点だけ注意が必要なのが、英語圏のコースなので、日本語翻訳しながら問題演習を進めることになることです。機械翻訳のやや読みにくい日本語で進める必要があったため、それなりに苦行となりました。

しかし、問題の内容が本試験に近いというのは本当で、しっかりやりこめば間違いなく合格できると思います。寧ろ、本試験よりコースの問題の方が若干難しいので、本試験が簡単に見えます。また、合格にはシナリオを正確に読み解く日本語の読解力も必要となるため、結果として良い訓練になりました。

### 理解の浅い問題を抽出し、繰り返し解く
上記のコースの説明には、合格者は、問題を90%以上解けるようになるまで演習を重ねたと書いてあります。問題演習を通して理解不十分な問題を抽出し、繰り返し解くことを重ねていきました。

私の勉強法ですが、スプシを活用しました。問題ごとに理解度を以下の3段階に分け、スプシに問題と回答を転記していきました。

1. 内容が全然理解できていない
2. なんとなく消去法で正解を選べる
3. 類題が出されたら確実に理解して正解できる

これにより、復習の重みづけを行い、効率的に理解不十分な問題を潰していきます。また、試験当日にはスプシを印刷し、その紙を移動の電車の中で読み込んでいました。試験直前まで、勉強できる体制を作り短期記憶の力を借ります。

### 公式docや解説サイトを読み込む
上記の問題演習の中で理解不十分な箇所を中心に、公式docや解説サイトを読み込みました。特にVPC周りは、多種多様な問題が出される上にとっつきにくい内容なので入念に読み込みました。

解説サイトで非常に参考になったのが、以下のG-genのブログでした。日本語でGoogle Cloudの概念を初学者向けに分かりやすく解説しているので、非常におすすめです。

https://blog.g-gen.co.jp/entry/associate-cloud-engineer

# 結果
上記の学習を重ねた結果、無事Associate Cloud Enginnerに一発合格できました。本試験の所感としては、確実に解けたであろう問題7割、多分合っているだろうという問題2割、自信が無い問題１割くらいでした。試験後、モニター上に合格の文字が出た瞬間はとてもホッとし、肩の荷が降りました。試験直後に結果が分かるのでありがたいですね。正式な合格通知はメールで後日届きます。私の場合2日後に届きました。

勉強時間に関して、平均すると一日30分ほどの勉強を3ヶ月続けたため50時間くらい学習に費やしたのかなと思います。


# 学習の効果
合格後、学習の効果を実感できる出来事がありました。SlackアプリをCloudRunにデプロイしている社内サービスがあり、それを他のワークスペースに導入するタスクの話です。ワークスペース固有のTokenを環境変数として利用しているため、別サービスとしてデプロイし直すことになりました。早速シークレットマネージャーから環境変数を設定してデプロイしたいところですが、エラーとなりました。エラー文を読むと、Cloud RunのサービスアカウントにsecretAccessorロールが無いよというメッセージが書かれていました。資格の学習を通してIAMの知識が頭に入っている今ではすぐにエラー内容を理解することができます。指定のIAMを付与することで無事エラーを解決しデプロイすることができました。半年前であれば、おそらく内容を理解できずにコードがおかしいのでは？と調査に錯綜していたかもしれません。

# おわりに
Associate Cloud Enginnerの試験勉強を通して色々なサービスの概要と、色々なユースケースのベストプラクティスを学ぶことができました。学んだことを実務で活かせる機会がこれから多く訪れるのかなと期待しています。

また、クラウドやインフラ周りの知識は長くは変わらないものだと言われているので中長期的なキャリアに役立つことも期待したいです。

こちらの記事が、今後Google Cloudの学習を考えている方の役に立てれば幸いです。