GCP認定 Professional Cloud Architectに合格した学習法

GCP認定の[Professional Cloud Architect](https://cloud.google.com/certification/cloud-architect?hl=ja)に合格した際の学習法です。

類似記事が結構あったので誰かの為になればいいなと思い書きます。

## 事前知識と学習期間

事前知識としては、GCP認定の[Associate Cloud Engineer](https://cloud.google.com/certification/cloud-engineer?hl=ja)とAWS認定の[Developer Associate](https://aws.amazon.com/jp/certification/certified-developer-associate/?nc1=h_ls)に合格しています。
AWS歴は半年程度、GCP歴は1ヶ月程度です。
エンジニアとしては経験2年未満です。
学習期間はおよそ2週間で、時間にすると1日3時間ほど勉強していたので全体で42時間ほどです。

## 学習教材

学習に用いた教材は以下の通りです。

### 書籍

- [Google Cloud Platform エンタープライズ設計ガイド](https://www.amazon.co.jp/Google-Cloud-Platform-%E3%82%A8%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%97%E3%83%A9%E3%82%A4%E3%82%BA%E8%A8%AD%E8%A8%88%E3%82%AC%E3%82%A4%E3%83%89-%E9%81%A0%E5%B1%B1/dp/4822257908/)
- [GCPの教科書](https://www.amazon.co.jp/GCP%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8-%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E3%82%A8%E3%83%BC%E3%82%B9%E6%A0%AA%E5%BC%8F%E4%BC%9A%E7%A4%BE-%E5%90%89%E7%A9%8D-%E7%A4%BC%E6%95%8F%E3%83%BB%E4%BB%96/dp/4865941959/)
- [クラウドネイティブ・アーキテクチャ 可用性と費用対効果を極める次世代設計の原則](https://www.amazon.co.jp/%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E3%83%8D%E3%82%A4%E3%83%86%E3%82%A3%E3%83%96%E3%83%BB%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3-%E5%8F%AF%E7%94%A8%E6%80%A7%E3%81%A8%E8%B2%BB%E7%94%A8%E5%AF%BE%E5%8A%B9%E6%9E%9C%E3%82%92%E6%A5%B5%E3%82%81%E3%82%8B%E6%AC%A1%E4%B8%96%E4%BB%A3%E8%A8%AD%E8%A8%88%E3%81%AE%E5%8E%9F%E5%89%87-impress-top-gear/dp/4295007757/)

の3つです。
上2冊は2巡程度読み、GCP全体のサービス概要やGCPの思想について理解を深め、クラウドネイティブ・アーキテクチャは一通り読んだのみとなります。
GCP認定は他の方も書かれている通り、**クラウドをクラウドらしく扱う**事を基軸に設計されているように感じるのでクラウドネイティブ・アーキテクチャは読んでおいて損は無いと思います。

### 公式ドキュメント

GCPの思想や、どのようなサービスがあり、どう扱うのか。クラウドらしさとは何か。GoogleはGCPをどのように利用してほしいのか。が無料で学べます。
どのサービスやソフトウェアも、作った本人が一番詳しいんですね。一番詳しい人達が作った記事が無料で読めるんです。読むしかないですね！
[公式ドキュメント](https://cloud.google.com/docs/)の、「GCP でソリューションを構築する」に書いてある3つの項目。それぞれ、項目下にいくつかのリンクが載ってますが全部読むべきです。
私にとっては厳しいですが、このページを読むだけで受かる人もいるだろうと思えるレベルでたくさんの知識や技法が身につきます。
以下は、特に役に立った公式ドキュメント内のリンク集です。

- [VM を Compute Engine に移行する場合のベスト プラクティス](https://cloud.google.com/solutions/best-practices-migrating-vm-to-compute-engine)
- [VM への安全な接続](https://cloud.google.com/solutions/connecting-securely)
- [エンタープライズ企業のベスト プラクティス](https://cloud.google.com/docs/enterprise/best-practices-for-enterprise-organizations)
- [高等教育機関における Cloud IAM と Cloud Billing のベスト プラクティス](https://cloud.google.com/solutions/best-practices-for-iam-and-billing-in-higher-education)
- [ビッグデータ セットを GCP に転送する](https://cloud.google.com/solutions/transferring-big-data-sets-to-gcp)
- [VM イメージ管理のベスト プラクティス](https://cloud.google.com/solutions/image-management-best-practices)

**あくまで主観に基づくモノ、私にとって参考になったモノです。**

---

公式ドキュメントは、上記の他にも試験に関するケーススタディを暗記するレベルでよみこみました。

- [Mountkirk Games](https://cloud.google.com/certification/guides/cloud-architect/casestudy-mountkirkgames-rev2/?hl=ja)
- [Dress4Win](https://cloud.google.com/certification/guides/cloud-architect/casestudy-dress4win-rev2/?hl=ja)
- [TerramEarth](https://cloud.google.com/certification/guides/cloud-architect/casestudy-terramearth-rev2/?hl=ja)

試験には上記のどれかのケーススタディを読んだ上で解く問題が出てきます。

ケーススタディは事前に読んでおき、それぞれの仮想顧客がどのような課題・目的を持っているのか。
様々な要件に沿って最適なGCP上のサービスは何があり、どのような設計になるか。

これを考えながら読んだ事で試験にも怖気づ対応できました。

例えばMountkirk Gamesの、ゲームバックエンドの技術要件は以下のようになっています。

1. ゲーム アクティビティに基づいて動的にスケールアップまたはスケールダウンする
2. トランザクション データベース サービスに接続して、ユーザー プロフィールとゲーム状態を管理する
3. 将来の分析のために、時系列データベース サービスでゲーム アクティビティを保存する
4. システムがスケールしたときに、バックログの処理によってデータが失われないようにする
5. 強化された Linux ディストリビューションを実行する

上記1,4,5からゲームのバックエンドにはGCEでマネージドインスタンスグループを構成するべきだ、というのが考えられますが、このようにしてケーススタディを読み進めていきましょう。

### 問題集

AWSでは過去問集や予想問題などの情報が多いのですが、GCPだとほぼ無く、他の方の記事にも公式の模擬試験のみが実際に解いてみた問題だと書かれていました。

私は[WHIZLABS](https://www.whizlabs.com/)でGCP認定の学習コースを購入し、コースに含まれる問題を解いて試験に備えました。

Google公式の模擬試験のように、1問1問丁寧な解説がついているのでオススメです。

## 感想

試験問題の詳細を公開するのは規則違反なので実際に受けてみた感想ですが、

- クラウドをクラウドらしく扱うこと、
- GCP認定だからといって問題内の架空の利用者にGCPの利用を強制するわけではないこと、
- そもそもGCPだけに特化した人では受からずITやコンピュータサイエンスの知識もしっかり持っておく必要があること、
- 消去法で2択まで絞れる問題もあれば、全ての選択肢が解答に近く、その中で最適なもののを答えなければいけない問題もあること

を、しっかり意識して行くことが大事だなと思います。

普通に当たり前の事が多いですが、言語化し再認識することでしっかりとした意識で試験に挑めると思います。