GCP PCD合格記(2023/6/29投稿)

# はじめに
この度GCP認定のGoogle Cloud Certified - Professional Cloud Developerを受験してきましたので、勉強した内容と受験した感想を書いておきます。


# 前提
* AWSの実務経験あり
* Azureの認定は4つ取得
* AWS認定は全て取っています(詳細は[こちら](https://qiita.com/handy-dd18/items/d21d914bf1c475d777f2))
    * [SAP on AWS認定](https://qiita.com/handy-dd18/items/18e8a856906f97bbb964)も取ってます
* Google Cloudは実務経験はなく、「Google Cloud Skills Boost」のみ
* Google Cloud認定は5つ目になります


# 参考URL
Professional Data Engineer試験の時にも同じ方の記事を読んでましたが、以下の記事が非常に参考になりました。ありがとうございます。
※以下の学習内容には書いてませんが、このドキュメントは読んだほうが良いと書かれていたものは練習問題を解く前に大体読みました。
https://blog.g-gen.co.jp/entry/professional-cloud-developer


# 学習内容
今回は以下の順番で勉強を進めました。

* ①[公式模擬問題](https://docs.google.com/forms/d/e/1FAIpQLSc_67KaPnNwQrLZ7kuhw-aubz7gMAwY6DQwRJYcW0qlG-iajA/viewform?hl=ja)
* ②練習問題([Udemy](https://www.udemy.com/share/108h5k3@2z9GYr2yuo5jgfcXJuRiquZg-2Ei_LPLImXmvs3s0qFM1l9RC4CVqUwUI-hlY5KJ/))

## 公式模擬問題
Googleの勉強方法は固定化しつつあるのですが、過去のPDE試験と同じように、まずは公式の[模擬問題](https://docs.google.com/forms/d/e/1FAIpQLSc_67KaPnNwQrLZ7kuhw-aubz7gMAwY6DQwRJYcW0qlG-iajA/viewform?hl=ja)を解きました。
この時、正誤関係なく参考リンクとして記載されているドキュメントリンクは全て目を通すようにしました。

Google Cloud試験はGoogle Cloud以外の知識も問われてくるようになっており、今回の試験だとドキュメントリンクにKubernetesやIstioのものが含まれていたりするので、そのあたりも漏らさず確認して役割と機能についてざっくり理解しました。


## 練習問題
模擬問題のあとはUdemyで公開されている[練習問題があるコース](https://www.udemy.com/share/108h5k3@2z9GYr2yuo5jgfcXJuRiquZg-2Ei_LPLImXmvs3s0qFM1l9RC4CVqUwUI-hlY5KJ/)を購入しました。

最初は[こちらのコース](https://www.udemy.com/share/108X563@JOizBlYLC7msOY30zCO46QzEPbZ_p1tTeZ-1V22X_Djwuqm-tdZq9NE9_wO3z03F/)を購入していたのですが、自分の環境だと問題文に改行が少なかったりしてかなり見づらいので、上のコースを購入しました。

実際に練習問題を解いてみた感想としては、UdemyのほうはCloud RunやCloud Functionの出題数が少し多いように感じましたが、公式の模擬問題とあまり難易度的には変わらないと感じました。

こちらについても解説を読んで、理解しきれていないサービスについては公式ドキュメントを調べて読むようにしました。


# 受験した感想
Udemyで解いた問題よりは難しく感じました。が、諦めるほどの絶望的なわからなさではありませんでした。

出題されたサービスについて機能や使い分けをある程度理解しておけば4択から2択までは割と絞れるので、そこから分からない時に実務だった場合はどれになるかを考えたり、AWSサービスに置き換えるとするとどれが正答に近いかとか考えてみると良かったです。

あとは、日本語的に意味が理解しにくい問題もいくつかあったので、それらの問題はフラグを付けて後から時間かけて理解するようにしていました。


# 受験結果
無事に合格することができました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/440403/0594f1e5-cd4e-ee7c-4846-f901600a0587.png)

※まだGoogleからの連絡は来てないですが、一応合格ということで。
　あまりないとは思いますが、どんでん返しで不合格になったらこの記事は速攻消します。


# おわりに
今回4ヶ月ぶりにGoogle Cloudの試験を受験して思ったのは、問題の日本語がわかりにくいところでした。
3クラウドの試験を色々受けていると問題の見づらさには慣れていくのですが、Googleは問題文読んでて一番「ん？」ってなることが多いので、読解のほうが時間かけたかもしれません。

以下に3クラウド資格を受験した感想を書いてみましたが、個人的にはAzureの問題が一番読みやすいので解いてて楽しいです。

Azure　→　配色変えられるし、問題文も割と見やすくわかりやすい
AWS　→　見れないことはない。ただ、日本語と英語でAWSサービス名が変わってる気がする...
GCP　→　日本語の接続詞が一部間違っていて、たまに読み解きにくい文章が出てくる

この記事がどなたかの参考になれば幸いです。


# おまけ
途中までしか記録できていませんが、勉強中に読んだドキュメントリンクを参考までに貼っておきます。
自分がわかればよい精神で書いてたので、もし間違ったカテゴライズされててもスルーしてもらえると助かります。

* memo
 Kubernetes
　Service
　　https://cloud.google.com/kubernetes-engine/docs/concepts/service
　Istio
　	NetworkPolicy 
　		https://kubernetes.io/docs/concepts/services-networking/network-policies/
　	AuthorizationPolicy 
　		https://istio.io/latest/docs/tasks/security/authorization/authz-http/
　	Knative
　	　https://cloud.google.com/knative?hl=ja
　Secret Manager
　	https://cloud.google.com/secret-manager/docs/overview
Workload Identity
　https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity?hl=ja
GKE
　垂直 Pod 自動スケーリング
　　https://cloud.google.com/kubernetes-engine/docs/how-to/vertical-pod-autoscaling?hl=ja
　　https://cloud.google.com/kubernetes-engine/docs/how-to/vertical-pod-autoscaling?hl=ja
　Pod の自動スケーリング
　　https://cloud.google.com/kubernetes-engine/docs/tutorials/autoscaling-metrics?hl=ja
　クラスタの自動スケーリングについて
　　https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-autoscaler?hl=ja
　　https://cloud.google.com/kubernetes-engine/docs/how-to/cluster-autoscaler?hl=ja
Memorystore
　https://cloud.google.com/memorystore?hl=ja
Firestore 
　Datastore モード
　　https://cloud.google.com/datastore/docs?hl=ja
Cloud Endpoints
　https://cloud.google.com/endpoints/docs/openapi/configure-endpoints?hl=ja
Cloud Storage
　保護ポリシーとロック
　　https://cloud.google.com/storage/docs/bucket-lock?hl=ja
　ライフサイクル管理
　　https://cloud.google.com/storage/docs/lifecycle?hl=ja
Cloud Run
　ログの記録と表示
　　https://cloud.google.com/run/docs/logging?hl=ja#container-logs
　Cloud Logging ライブラリ
　　https://cloud.google.com/logging/docs/reference/libraries
　コンテナログとリクエストログを関連付ける
　　https://cloud.google.com/run/docs/logging?hl=ja#correlate-logs
　Error Reporting
　　https://cloud.google.com/error-reporting/docs/troubleshooting?hl=ja
　　https://cloud.google.com/run/docs/error-reporting?hl=ja
App Engine
　https://cloud.google.com/appengine/docs/the-appengine-environments?hl=ja
　トラフィックの分割
　　https://cloud.google.com/appengine/docs/standard/python/splitting-traffic?hl=ja
　IAM
　　最小限の権限
　　　https://cloud.google.com/iam/docs/using-iam-securely?hl=ja#least_privilege
　　サービスアカウント
　　　https://cloud.google.com/iam/docs/understanding-service-accounts?hl=ja#granting_minimum_permissions_to_service_accounts
　　OAuth 2.0 を使用した Google API へのアクセス 
　　　https://developers.google.com/identity/protocols/oauth2?hl=ja
　Cloud Functions
　　関数ID
　　　https://cloud.google.com/functions/docs/securing/function-identity?hl=ja#runtime_service_account
　VPC
　　限定公開のGoogleアクセス
　　　https://cloud.google.com/vpc/docs/private-google-access?hl=ja
　　サーバーレス VPC アクセス
　　　https://cloud.google.com/vpc/docs/configure-serverless-vpc-access?hl=ja#creating_a_connector
　Cloud Profiler
　　https://cloud.google.com/profiler/docs?hl=ja
　Cloud Pub/Sub
　　https://cloud.google.com/pubsub/docs/subscriber?hl=ja#push-subscription
　Cloud Load Balancing
　　Google マネージド SSL 証明書を使用する
　　　https://cloud.google.com/load-balancing/docs/ssl-certificates/google-managed-certs?hl=ja
　Cloud Build
　　ビルドステップの順序の構成
　　　https://cloud.google.com/build/docs/configuring-builds/configure-build-step-order?hl=ja
　　ビルド構成ファイルを作成する
　　　https://cloud.google.com/build/docs/configuring-builds/create-basic-configuration?hl=ja
　Cloud Bigtable
　　スキーマ設計のベスト プラクティス
　　　https://cloud.google.com/bigtable/docs/schema-design?hl=ja#types_of_row_keys
　　時系列データ用のスキーマ設計
　　　https://cloud.google.com/bigtable/docs/schema-design-time-series?hl=ja#ensure_that_your_row_key_avoids_hotspotting
Cloud Spanner
　https://cloud.google.com/spanner?hl=ja