
本コースはGCPの基本を既に学習されている方、もしくはGCPの基礎知識はあり、その上でPCAに挑戦する際の、自分の知識の再確認や勉強の仕上げとして内容を確認する方々をターゲットとしています。そのため、本コースでは実際のコンソールやコマンドなどでの実習は含んでいないため予め御理解の上ご利用いただければと思います。GCP初心者の方でも、AWSなどのパブリックラウドの仮想コンピュータ、クラウドストレージ、VPCネットワーク、IAM・ロール、その他のサービス概要を理解している方であれば、PCA試験がどのようなものなのか、どのぐらいのレベルなのかを理解していただくことを想定しています。GCPの基本から理解されたい方もしくはハンズオンや実習を希望されている方は、別途他の本やオンライントレーニングを受講いただければと思います。
ここで私のクラウド認定試験の経歴をご紹介させていただき、その経験から皆さんにアドバイスをさせていただければと思います
これまで4回のPCA受験経験から、GCPにおける各分野別出題傾向をまとめると以下のような割合となります。
GCEで仮想マシンインスタンスを作成する際に、その場所を指定する必要があります。リージョンは米国、ヨーロッパ、アジアといった地域内にいくつかのリージョンがあり、そのリージョンの中にゾーンが複数選択できるといった構成です。
GCEを運用する際に、スケーラビリティと可用性を求められる場合にこのMIGでの運用を検討します
常のVMの料金よりも安い料金で利用できるプリエンプティブル(Preemptible)に関しての利用シーンを確認しておきます。
GAEはそれまでのアプリケーションサーバー運用では必ず必要となる、ロードバランサーやフェールオーバーの仕組みがすべて始めからGAEだけで提供されており、開発者はサーバーの管理やメンテナンスに時間を取られることなく、正しいコードを書くだけでサービスが提供可能、しかもリリース後にアクセスが突然増えてもGAEがすべてうまく対応してくるのです。またアプリケーションのリリースに関しても、GAEだけで新しいバージョンと既存のバージョンを徐々に切り替えていく、いわゆるカナリアリリースのように安全に新バージョンリリースができる仕組みも備えています。
この章ではGCPのストレージ・データベースに属するサービスに関して解説していきいます。データを保存(一時保存含む)するサービスが非常に豊富に提供されています。利用シーンごとに最適なサービスを選択することが必要なってきます。各サービスの特徴を正しく理解し、提示される問題の趣旨に最も沿ったサービスの選択はもちろん、サービスの設定オプションや詳細な設定値なども出題される場合があるため、そのポイントを効率よく理解することが合格へのキーとなります。
NoSQLとしてはGAEと共に比較的マネージド・サービスとしては歴史の長いサービスとなります。Googleが自分たちの検索エンジンやGoogle Mapなどのために生み出した、Key-ValueやMapReduceといった技術を使って非常に高いスループットとスケーラビリティを提供します。
また、リクエスト量により数百ノードまでシームレスにスケール可能で、リアルタイムアプリ向けの高可用性とワークロードの分散が可能です。ストレージ・データベース分野ではBigQueryと並びデータの分析に特化したサービスに属します。特に ではこのBigTableの利用を検討します。
GCPのパブリッククラウドプロバイダーとして他社との差別化ポイントとしてBigQueryに代表されるビッグデータに関する機能の充実があります。バックエンドのデータ解析、データ活用基盤としてGCPをAWSなどと併用する、いわゆるマルチクラウド戦略を取る企業も増えてきています。そのGCPのデータ分析サービスは非常に多く、PCAでもデータベース、ストレージと並び、出題頻度が高い分野となっています。特にGCPのDWHプラットフォーム的なBigQueryと他のデータフローなどとの組み合わせによる最適なソリューション提案などの質問が出題されます。ここでは現時点で18におよぶデータ分析に関連するすべてのサービスを一挙に見ていきたいと思います。
近年、GCPの大きなアドバンテージとして注目されるBigQuery。企業のデータ活用のプラットフォームとして他社にはない、高速かつペタバイト級のBigデータをSQLで自由に分析が可能といった特徴があります。DWH用途ではBigQuery一択といってもいいほど、大量データかつSQLにより柔軟な分析用途として出題が多いサービスです。また分析結果をロールや役割によってセキュアに共有するためのデータセットを利用した利用方法なども特徴です。SQLによる分析基盤の側面と大容量データを保存するストレージ機能の両方を持ち合わせた、新しいジャンルのサービスとなります。
Google CloudではフルマネージドETL(Extract (抽出)、 Transform (変換)、 Load (書き出し))に属するDataflowサービス。特にバッチとストリーミングの両方に対応し、 オープンソースであるApache Beamで構築されたパイプライン処理に特化したサービスです。
殆どの企業ではオンプレ環境をクラウドへ移行することを検討しています。Google Cloudではそのようなマイグレーションに特化したツール群を数多く提供しています。ここではGoogle Cloudでマイグレーションにカテゴライズされるサービスをまとめます。
マイグレーション関連の問題で出題が多いのが専用Interconnectです。特に大量のオンプレ内に保存されているデータを、内部IP経由で安全かつ高速に安定したネットワークにより移行する際の選択肢として検討されます。また大量のデータ転送というキーワードでTransfer Applianceとの比較も出題されます。ポイントとして一度だけのデータ転送、自分のデータセンター以外の直接ネットワーク接続が難しい場合などはTransfer Appliance、移行後もオンプレとクラウドを併用する場合や内部IPでの接続が必須といった場合に専用Interconnectを検討する場合が多いです。内部IPが必須の場合、Cloud VPNによるインターネット経由での接続との比較の場合、コストを重視する場合Cloud VPN、要件にコストがまったく関係ないような場合は、より安定した専用回線による専用Interconnectを検討してください。
Transfer Appliance
ネットワーク帯域幅や接続が制限されている場合は、ネットワークを介して大量のデータを転送すると接続が長時間独占されます。そのような場合にTransfer Applianceの利用を検討します。ニーズに応じて、40TBと300TBのTransfer Applianceを必要な容量分レンタルします。もし要件に転送が完了する期間に制限がある場合、Transfer Applianceの場合、通常は完了までに 1~2 週間かかることを考慮してください。場合よっては専用Interconnect(最大100GBPS)もしくはStorage Transfer Service(数十GB)を選択肢として検討します。
パブリッククラウドでは重要なIAMやセキュリティに関してもカバーしておきたい項目です。パブリッククラウドのセキュリティの基本となる「最小権限の原則(Principle of least privilege)」を念頭に置いて回答することが必要な場合があります。回答肢の中にいくつかのロール選択肢がある場合、問題文のシーンを理解し、その設定や作業を行う際に最低限必要なロールを選択することが重要です。
特に閲覧だけでいいのか、編集やJob実行権限などもその役割により必要なのかを検討し、さらにそれをグループ単位で付与するのか、フォルダや組織単位で統制を取らなければいけないかなどをよく検討する必要があります。また、他の分野と同様にIAM、セキュリティ関係のサービスは非常に多く提供されているので、一通り目を通してサービス名と内容がわかるようにしておくと回答の際、正解率を高めることができますので以下の表を参考にして確認しておくことをおすすめします。
Google Cloudでは管理すべきサービスはリソースと呼び、GCEやGCSなどは組織、フォルダ、プロジェクトと言ったリソース階層によりアクセス制御する仕組みになっています(リソース階層の例を参照)。例えば会社として統一したポリシーを適用したい場合、組織(Organization)という、通常ドメインといった単位でアクセス制御を行います。更に部署ごとや会社配下の事業部毎に細かく制御したい場合などはフォルダにより管理します。その配下に開発、テスト、本番環境のようにプロジェクト単位でリソースを管理します。ちなみにGoogle Cloudでのベストプラクティスとして、同じアプリケーションやシステムでも開発、テスト、本番環境はプロジェクト単位に分けて管理をします。
IAM、ロール、サービスアカウント
Google Cloudにおける権限の管理に関して、各名称や役割に関してしっかりと理解しておきましょう。Google Cloudにおけるアクセス管理モデルはプリンシパル、ロール、ポリシーから構成されています。
パブリッククラウドではデータはお客様のものという概念があり、例えCSPが提供する環境であっても、データの管理や責任は基本的に利用者側で担保しなければなりません。厳しい規制下に置かれている業界では、データの暗号化はCSP側が提供する暗号化キーではなく、自分たちの鍵を持ち込んでデータを暗号化することが求められます。また定期的にキーのローテーションを実施することも要求される場合があります。そのような状況に合わせた鍵の管理を可能な限り、マネージドで管理するためのサービスとしてCloud Key ManagementのようなKMSがGoogle Cloudでも利用可能です。
Google CloudネットワークはVPCを始めとする各種ネットワーク関連のサービス群です。Google Cloudは文字通りGoogleの地球規模のネットワークをバックボーンに、高速で安定した回線によりグローバルロードバランサーに代表されるリージョン間の高速通信が特徴です。またオンプレからの移行にも豊富なオプションを用意し、中でもCloud Interconnectなどによりお客様環境とGoogle間を内部IPにより安定した回線を利用したデータの移行や移行後のオンプレとクラウドのハイブリッド環境構築なども可能となっています。ここではGoogle Cloudのネットワーク関連のサービスについて見ていきたいと思います。
他のカテゴリと同様、豊富なネットワーク関連サービスを一通りチェックして、知らないサービスがないようにしてください。
ファイアウォールルール
AWSではサブネット単位でセキュリティグループを設定し、そこで通信制御を定義しますが、Google Cloudではそれぞれのインスタンスにタグを付け、その(ネットワーク)タグに対して別途ファイアウォールルールによりインバウンド、アウトバウンドの通信許可もしくは不可を定義します。そしてその定義に名前とは別にターゲットタグを付け、そのターゲットタグとインスタンスに設定したネットワークタグを一致させることによりインスタンスをファイアウォールルールで設定したサブネット環境に属させる事ができます。
限定公開のGoogleアクセス(Private Google Access)
VMインスタンスに外部IPを設定したくない場合、基本的にはGoogle APIなどのGoogle Cloudサービスを利用することはできません。そのような場合にこの限定公開のGoogleアクセスを有効化することにより、外部IPを持たないVMやオンプレなどからCloud StorageやBigQueryなどのGoogle Cloudサービスはもちろん、 Google Map, Google WorkspaceなどへGoogle API経由でのアクセスが可能になります。外部 IP アドレスを持つインスタンスには影響しません。
Private Service Connect
VPC内のインスタンスからGCSなどのGoogleが提供するサービスにアクセスする場合、storage.googleapis.comなどのインターネットを経由してアクセスすることになります。安全に内部IP経由でアクセスしたい場合に、このPrivate Service Connectを利用します。
出題傾向としてコマンドベースの選択問題に関してgcloud、kubectl、Linuxコマンドなどそれぞれの違いを明確に理解することが重要です。また問題によってはコマンドで使われる引数の詳細を問われるものもあるので、コマンド構文などは一通り確認しておくことが重要です。
また他の項目と同様各種ベストプラクティスに関しては一通り目を通しておいてください
これまでPaaSのGAE、IaaSのGCEといった2択のコンピュータですが、GKEリリース以降その中間的な位置としてコンテナによるIaaS的なサーバ環境とそれをマネージドのクラスタで運用するインフラ環境が次第に注目されるようなりました。
GKEではインフラ環境の作成とアプリケーションのデプロイメントでそれぞれ別のコマンドを使用します。この2つの違いを明確に理解しておくことが重要です。GKEでのKubernates clusterの作成にはgcloudコマンド、デプロイメントにはkubectlを使用して定義ファイルからデプロイメントを行います。
アジャイル開発にはCI/CDにより、コードを書き(もしくは変更追加を行い)、コード実行に必要となる各種ライブラリやパッケージとともにビルトを行いイメージを作成し、テストし、テストが完了したらイメージ(もしくはアーティファクト)をレジストリに登録し、それをオーケストレータが本番環境にデプロイし、その後の利用状況によりコンテナの追加、削除などの運用までの一連の作業を自動化することが可能です。
もっともコスト関連で出題が多いのはGCEでもご説明したプリエンプティブVMを利用したコスト削減です。GCEの通常のインスタンスよりも破格な値段で利用できる反面、ステートレスなアプリケーション、もしくは処理が中断しても問題ないようなバッチ処理や画像のレンダリングなどの特定の条件での利用が想定されます。
問題文にコストを下げるなどの要件が記述されている場合は、プリエンプティブVMもしくはDataproc上でのプリエンプティブワーカーなどを検討する前に、アプリケーション自体がミッションクリティカルであったり、24時間利用が見込まれるようなユーザーアプリケーションなどの条件がないかを確認して最適な回答を選択する必要があります。
コンピュータ関連では全くアクセスのない時に、インスタンス利用料もかからない、Cloud Functionsの選択もコスト関連としてはチェックしておいてください。GCEやGAEフレキシブルのようにアクセスのないときでも、最低数のインスタンスは起動しておかなければならないので、Cloud Functionsに代表されるサーバーレス環境がこの手の問題には回答となる場合があります。
また通常は利用した分だけ支払う従量課金とは別に、Google Cloudでは予め利用する量が見込める場合、コミットメント利用割引という制度もあり前払いによる深いディスカウントを選択することも可能です。こちらもコスト関連としてはチェックしておいてください。
Google Cloudでは現在Google Cloud のオペレーション スイートに集約されていますが、試験には以前のブランドであるStackdriverとして出題されている場合があります。目的ごとに適切なログサービスを選定することがポイントになります。
海外ではもっとも高収入が得られる認定試験として常にトップに上がる Google Cloud Certified Professional Cloud Architect(通称PCA)。近年、3大パブリッククラウドプロバイダとしてBigQueryや機械学習で注目を浴びているGoogle Cloud Platform(GCP)で人気のあるPCA。そのPCAを受験するにあたって、これまで5年で4回の受験歴(2回の不合格、1回の合格、1回の更新合格)のあるわたくしの経験をもとに、PCA合格のポイントを最短で習得して頂ける内容となっています。
模擬試験(50問✕2)で実際の試験問題数と試験時間で理解度を疑似体験することができます。