GCP認定Professional Cloud Architect受験対策

# はじめに
取得してから1年経ちますが、これからProfessional Cloud Architectを受験する方のために要点をまとめました。
本記事を読んだだけで合格できる、ということを保証するものではありませんので、ご了承ください。

# もくじ
- Professional Cloud Architectについて
- 要点
- 勉強法
- まとめ

# Professional Cloud Architectについて
本資格では一般的なGoogle Cloudのアーキテクチャについて問われます。どのデータベースを使用するか、他のネットワークとどう接続するか、などの対象分野は広いですが、内容は浅い印象です。問題は50～60問の選択式であり、試験時間は2時間、受験費用は$200 (税別) です。本試験だけケーススタディ問題があり、試験に出題される可能性のあるケーススタディは試験ガイドに記載されています。
[試験ページ](https://cloud.google.com/learn/certification/cloud-architect?hl=ja)では、以下のことが評価されるとあります。

- クラウド ソリューション アーキテクチャの設計と計画
- クラウド ソリューション インフラストラクチャの管理とプロビジョニング
- セキュリティとコンプライアンスに対応した設計
- 技術プロセスやビジネス プロセスの分析と最適化
- クラウド アーキテクチャの実装の管理
- ソリューションとオペレーションの信頼性の確保

Professional Cloud Network Engineerの[試験ガイド](https://cloud.google.com/learn/certification/guides/professional-cloud-architect?hl=ja)には試験に出題される可能性があるトピックについて記載があります。全て知りたい方は試験ガイドのリンクに飛んでいただきたいですが、ここでは主に重要だと思われるトピックについてピックアップしました。

## 重要トピック
- 費用最適化
- 高可用性とフェイルオーバーの設計
- オンプレミス環境、マルチクラウド環境との統合
- クラウドネイティブネットワーキング
- ストレージタイプ
- コンピューティングリソース
- データ移行
- セキュリティ
- CI/CD
- オペレーション

# 要点
Professional Cloud Architectではかなり広い分野に関する知識が試験範囲となっているため、以下4つにフォーカスをしよく出るサービスのキーワードを紹介します。
- ネットワーク
- データベース
- セキュリティ
- オペレーション

## ネットワーク
ネットワーク分野ではGoogle Cloudの別のVPCやオンプレミス環境、AWSやAzureなどの他パブリッククラウド環境とどう接続するかについて問われることがあります。各環境を接続する際に用いるサービスを挙げています。
  
- [**VPCネットワークピアリング**](https://cloud.google.com/vpc/docs/vpc-peering?hl=ja)  
Google Cloudの他VPCと接続する際に使用します。 

- [**CLoud VPC**](https://cloud.google.com/network-connectivity/docs/vpn/concepts/overview?hl=ja)  
IPsecVPNを使用して、他環境と接続する際に用います。公共のインターネットを通過する接続方式です。

- [**Cloud Interconnecct**](https://cloud.google.com/network-connectivity/docs/interconnect/concepts/overview?hl=ja)  
オンプレミス環境とGoogle Cloud環境を公共のインターネットを通過せずに接続します。物理的に接続するDedicated Interconnectとサービスプロバイダーを介するPartner Interconncectと2つのオプションがあります。  

参考リンク  

https://cloud.google.com/architecture/best-practices-vpc-design?hl=ja#choose-method

## データベース
データベース分野では問題文でユースケースが記載され、それを満たせるデータベースを選択させる問題が出題されることがあります。ここではGoogle Cloudの主要なデータベースサービスについて、キーワードとともに列挙します。以下で挙げたデータベース以外で有名なものとしてPostgres互換のフルマネージドサービスであるAlloyDBがありますが、試験でまだ出題されていないことから本記事では省いています。
※今後出題されることがあれば、記事を更新します。

- [**Cloud SQL**](https://cloud.google.com/sql/docs?hl=ja)  
MySQL、PostgreSQL、SQL Serverで使用できるRDBのフルマネージドサービス。Database Migration Service (DMS) を利用することで、Cloud SQLへの移行を簡素化できます。

- [**Cloud Bigtable**](https://cloud.google.com/bigtable/docs?hl=ja)  
Apache HBaseをサポートしており、短いレイテンシで大容量のデータを保存する用途に適したキーバリューデータベースです。

- [**Cloud Spanner**](https://cloud.google.com/spanner?hl=ja)  
グローバルに分散され、強整合性を備えたスケーラブルなフルマネージドサービスです。リレーショナルデータベースの構造と非リレーショナルデータベースの水平スケーラビリティを兼ね備えているデータベースでもあります。

- [**Memorystore**](https://cloud.google.com/memorystore/docs?hl=ja)  
一般的なオープンソースであるRedisとMemcachedのマネージドバージョンを提供するフルマネージドデータベースサービスです。

- [**Firestore**](https://cloud.google.com/firestore/docs?hl=ja)  
自動スケーリングと高性能を実現し、アプリケーション開発を簡素化するように構築されたNoSQLドキュメントデータベースです。

- [**Bare Metal Solution**](https://cloud.google.com/bare-metal?hl=ja)  
OracleワークロードをGoogle Cloudへリフト＆シフトする際に用いるデータベースサービスです。問題文に「オンプレミスのOracleデータベースをGoogle Cloudに移行したい」という文言があれば、十中八九これが正解です。

以上が試験によく出るGoogle Cloudのデータベースサービスです。以下の参考リンクにはユースケースやさいてきなデータベース選択についてまとめてありますので、そちらも一読しどういうときにどのデータベースを選択すべきか判断できるようになると合格に近づきます。
※Professional Cloud Data Engineerだとここら辺がかなり詳細に問われます

参考リンク  

https://cloud.google.com/architecture/framework/system-design/databases?hl=ja#key-services

https://cloud.google.com/products/databases?hl=ja

## セキュリティ
一概にセキュリティと言ってもクラウドにはクラウド環境内の権限を管理するセキュリティやネットワークセキュリティ、データ保護のセキュリティなど様々な観点のセキュリティがあります。ここでは本試験でよく出題されるサービスについて挙げています。

- [**Cloud KMS**](https://cloud.google.com/kms/docs?hl=ja)  
Google Cloudサービスや独自のアプリケーションで使用する暗号鍵を管理できるサービスです。求められている気密性により、「Google Cloudのデフォルト暗号化」や「顧客管理の暗号鍵」などを選択します。保護レベルとしてFIPS 140-2 レベル3が指定されていたら、Cloud HSMを用います。高価なサービスではありますが、問題文中に保護レベル指定されていたら問答無用でこちらを選択します。

- [**IAM**](https://cloud.google.com/iam/docs/overview?hl=ja)
Google Cloudにおけるアクセスを管理できるサービスです。クラウドでは「最小権限の原則」に従うことが推奨されており、不必要な権限をユーザやサービスアカウントに持たせないようにします。試験でも時々適切な権限を付与させる問題があるので、問題文中でどの程度の権限まで必要とされているかを理解する必要があります。

- [**Security Command Center**](https://cloud.google.com/security-command-center/docs?hl=ja)
Google Cloud内の脆弱性や脅威の報告を一元的に行うサービスです。構成ミス、脆弱性、脅威を特定することにより、セキュリティ体制を強化し、リスクを軽減できるようになります。「COntainer Threat Detection」「Security Health Analytics」「Web Security Scanner」など多くの機能があるので上記リンクからどんな機能があり、何が出来るのかを一通り押さえておくと良いです。


- [**Google Cloud Armor**](https://cloud.google.com/armor/docs/cloud-armor-overview?hl=ja)  
DDoS攻撃やクロスサイトスクリプティング、SQLインジェクションなどのアプリケーション攻撃といったさまざまなタイプの脅威からGoogle Cloudのデプロイを保護するGoogle Cloudのサービスです。イメージ的にはWAFに相当します。

- [**ファイアウォールルール**](https://cloud.google.com/firewall/docs/firewalls?hl=ja)  
特定のプロジェクトとネットワークにおけるインスタンス間の接続を許可または拒否が出来るサービスです。似たようなもので[階層型ファイアウォールポリシー](https://cloud.google.com/vpc/docs/firewall-policies?hl=ja)があり、こちらを使用すると組織全体で一貫したファイアウォールポリシーを適用することができ、組織もしくはフォルダ単位で割り当て可能となります。

## オペレーション
ここではGoogle Cloudの主な監視サービスについて紹介します。

- [**Cloud Logging**](https://cloud.google.com/logging/docs?hl=ja)  
ロギングデータとイベントの保存、検索、分析、モニタリングをサポートするリアルタイムのログ管理システムです。Google Cloud環境だけでなく、オンプレミスリソースや他のクラウドプロバイダ (AWSなど) のリソースからログを収拾することもできます。

- [**Cloud Monitoring**](https://cloud.google.com/monitoring/docs?hl=ja)  
ほとんどのGoogle Cloudサービスに関するパフォーマンス情報を自動的に収集して保存するサービスです。グラフやダッシュボードのツールを使用すると収集した情報を可視化できます。また、Google Cloudのパフォーマンス情報だけでなくサードパーティアプリケーションからシステム指標とアプリケーション指標を収集することもできます。

※上で紹介した2つのサービスは試験によっては、それぞれStackdriver Logging、Stackdriver Monitoringと表記されていることがあります。

- [**Network Intelligence Center**](https://cloud.google.com/network-intelligence-center?hl=ja)
Google Cloudネットワークの監視やトラブルシューティングをするサービスです。大きく「ネットワークトポロジー」「接続テスト」「パフォーマンスっダッシュボード」「ファイアウォールインサイト」「ネットワークアナライザ」の5つの機能があります。

# 勉強法
私が勉強した方法を一例として紹介します。
1. [試験ガイド](https://cloud.google.com/learn/certification/guides/professional-cloud-architect?hl=ja)を読む
2. Qiitaの受験対策記事や[G-gen](https://blog.g-gen.co.jp/entry/professional-cloud-architect)で試験でよく問われることを押さえる
3. [模擬試験](https://docs.google.com/forms/d/e/1FAIpQLScpVCxsKSrqMBmqJ4fiYrJfCSlMhJVIFaW_v3MD4xEd6NW0Bw/viewform?hl=ja)を受験する
4. [Udemy](https://www.udemy.com/course/google-cloud-professional-cloud-architect-i/)などの問題集を利用して知識強化を図る

個人的には、4の方法で解答を見ながら問題を読んでいき、キーワードを押さえて行くのが効率的な勉強方法かなと思います。
# まとめ
以上がProfessional Cloud Architect合格に向けた要点です。この内容がこれからProfessional Cloud Architectを目指される方の参考になれば幸いです。  
また、私が別で書いたGoogle Cloud認定資格11種の難易度などについての記事もございますので、こちらも参照ください。

https://qiita.com/yutakon/items/73fa3e853e60620fd777