Google Cloud Certified - Professional Cloud Architect を取得するために（２／６）

#概要
Google Cloudの認定資格の一つであるProfessional Cloud Architectを取得するまでの軌跡をリアルタイムで記事として記録していく。

#試験受験日
2019年2月5日（火）

#過去の記事
[第１回](https://qiita.com/shuichiro/items/a87f021f05fb8d558756)

#やったこと
##書籍によるトレーニング
50%ほど読み終わり。AWSとGCPとの比較でサービスがまとめられており、AWSを使ったことがある身としては非常に理解しやすい。認定資格とは直接関係ないがGCPサービスの成り立ちや歴史の記述があり楽しく読み進めることができる。
GCPのサービスを広く薄く紹介してあり期待通りのスキルが詰め込まれている。書籍からの理解度は下記の表にまとめることで確認していく。

##公式ドキュメントによるトレーニング
未実施
##公式模擬試験の受験
未実施

#GCPの理解度確認
トレーニングの理解度を確認するためにGCPにどのようなサービスがあるのかまとめていく。
サービスの一覧は[公式ドキュメント](https://cloud.google.com/docs/)のトップよりサービス的なもののみ抜き出した。一覧は2019年1月4日現在のもの。

##サービス
###コンピューティング
| サービス名称 | サービス概要 | 特記事項 |
|:--|:--|:--|
| App Engine  | インターネット公開するWebサービスを作成するプラットフォーム、Java,PHP,Python,Goで書いたサービスが稼働する。プラットフォームはGCPによりフルマネージドされるため開発者が運用を意識するコストが極端に減る。   | StandardモードとFlexibleモードがありStandardモードの方が制約が多いが、高速に動作する。  |
| Compute Engine  | 仮想マシン。ある程度決められたリソースの組み合わせの中から必要なスペックを選択して作成される仮想マシン。リソースを自由に設定できるが高額になるプランもある。ディスクは永続とローカルがあり、永続は仮想マシン停止後もデータが残りづづける。ローカルは停止されたとき削除される。永続ディスクはSSDかHDDが選択可能で、ローカルディスクはSSDのみ使用可能である。  |   メンテナンス時に停止不要なライブマイグレーション機能がある。永続ディスクはスナップショット取得可能である。|
| Kubernetes Engine  | Kubernetesクラスタの実行プラットフォーム、GCPによりフルマネージドされるのでKubernetesクラスタを作成しておけば自動でノードの復旧を行ってくれる。   | 下記のオペレーション系サービスとの連携も可能である。 |
| Cloud Functions  | (未トレーニング)  |   |

###ストレージ
| サービス名称 | サービス概要 | 特記事項 |
|:--|:--|:--|
| Cloud Storage  | ファイルを格納できるオンラインストレージ、バケットを作成しデータを格納できる。クラスを選択できマルチリージョン単一リージョンの選択が出来る。アクセス頻度によりNealine、Coldlineを選択出来る。バージョニングも可能である。  | アクセス制御はリスト（ACL）にて行うこともできる。  |
| Cloud Spanner  | マルチリージョンでスケール出来、かつ整合性がとれたデータを読出し・格納ができるデータベースである。ただしSQLは使用できず提供されるAPIによってのみデータの読出し・格納が出来る。自動採番機能はない。  | データが偏らないように物理レイアウトを意識した設計が必要である。  |
| Cloud SQL | 仮想RDBMS、MySQLやPostgreSQL等を動かせるサービス。フェールオーバーやレプリケーション等複雑になりがちなRDBの設定を行ってくれる。自動バックアップの設定も可能である。  | 接続エンドポイントがグローバルIPになるので、適切な接続管理が必要になる。  |
| Cloud Bigtable  | 仮想NoSQLデータベース、GCPによりフルマネージドされ自動的にスケールされる。アクセス数によらない高いスループットが期待できる。ディスクにはSSDとHDDが選択可能である。   |   |
| Cloud Datastore  | 仮想NoSQLデータベース、付加に応じて自動的にスケールされて処理速度が変化しないのが特徴である。PythonやJavaのオブジェクトをそのまま格納することが出来る。  | SQLライクなクエリが実行できるがJOINが使えない、サブクエリが使えない、複数の不等号を使った検索処理が行えないといった制約がある。  |
| Cloud Firestore ベータ版  | (未トレーニング)  |   |
| Cloud Memorystore ベータ版  | (未トレーニング)  |   |
| Storage Transfer Service  | (未トレーニング)  |   |
| Transfer Appliance  | (未トレーニング)  |   |
###ネットワーキング
| サービス名称 | サービス概要 | 特記事項 |
|:--|:--|:--|
| Cloud DNS  | DNS、独自ドメインの名前解決を行えるようになる。一般的なDNSで利用されるレコードが使用可能である。 |   |
| Cloud Interconnect  | オンプレミス環境とGCPを直接専用線で接続するサービスであり、大容量かつ高速な通信を行いたい場合に使用する。  |   |
| CDN Interconnect | (未トレーニング)  |   |
| Cloud Load Balancing  | 仮想ロードバランサー、HTTP(S)通信を複数の仮想マシンへロードバランスしてくれる。HTTPだけでなくSSLやTCP通信もロードバランスが出来るが、使用できるポートは限られている。  |   |
| ダイレクト ピアリング | (未トレーニング)  |   |
| Cloud Content Delivery Network  | Googleのエッジポイントへコンテンツをキャッシュしてくれるサービスである。キャッシュされるコンテンツの元をCloud Load Balancingを指定するとキャッシュが行われるようになる。  |   |
| Cloud Memorystore ベータ版  | (未トレーニング)  |   |
| バーチャル プライベート ネットワーク（VPN） | IPSec VPNを使用しインターネットを経由しGCPと接続するサービスであり、通信量があまり多くない場合に使用する。  |   |
| Virtual Private Cloud（VPC）  | 仮想ネットワーク、このネットワークにCompute Engineの仮想マシンを繋ぐことになる。VPCはリージョンをまたいで作成出来、VPCの中にサブネットワークを構築することが出来る。これによりリージョンをまたいでもプライベートネットワークで通信ができる。通信制御はファイヤーウォールで送信元・送信先と通信ポートの設定し行う。送信元・送信先はアドレスではなくタグで行われるので仮想マシン等はタグ付けが必要になる。VPC同士の接続も可能である。  |ポート25、465、587の送信は禁止されている。   |
###ビッグデータ
| サービス名称 | サービス概要 | 特記事項 |
|:--|:--|:--|
| BigQuery  | DWS、データの保存とクエリエンジンによる検索が可能である。リソースが実質的に無限大である。データセットの中にテーブルを作り、テーブルにデータを格納する。ビュー機能もありクエリによって論理的にテーブルの作成が可能である。実行結果が返ってくるまで待つインタラクティブクエリと実行結果がいつになるか解らないバッチクエリの二種類があり、必要に応じて使い分ける必要がある。   | 課金体系が検索をした量によるので注意が必要である。  |
| Cloud Composer  | (未トレーニング)    |   |
| Cloud Dataflow | データ処理サービス、Cloud Pub/Subやストレージサービスを入力ソースとしデータの加工を行いBigQuery等に出力することが出来る。実行時にのみCompute Engineが作成され処理を行い、処理が終わると削除される。作成されるCompute Engineは最小と最大のノード数が指定でき不可に応じて自動的にスケーリングされる。Cloud Dataflowの定義はJavaかPythonを用いて作成する。 | GCPが用意したテンプレートを使うことで、Pub/Sub to BigQuery等を容易に行うことも出来る。 |
| Cloud Dataproc  |  (未トレーニング)   |   |
| Cloud Datalab | (未トレーニング)    |   |
| Cloud Pub/Sub  | メッセージングサービス、メッセージを中継してくれる。送信するパブリッシャー、受診するサブスクライバーに分かれPub/Subを経由してメッセージをやり取りすることでお互いの状態を確認することなくメッセージのやり取りができるようになる。メッセージの順序制御は行われないので、サブスクライバー側で考慮する必要がある。   | ストリーミングデータの入り口となりうるサービスである。   |
###機械学習
| サービス名称 | サービス概要 | 特記事項 |
|:--|:--|:--|
| Cloud TPU ベータ版  | (未トレーニング)   |   |
| Cloud Machine Learning Engine  |(未トレーニング)    |   |
| Cloud Vision API  | (未トレーニング)   |   |
| Cloud Speech-to-Text API  | (未トレーニング)   |   |
| Cloud Text-to-Speech APIベータ版  |(未トレーニング)    |   |
| Dialogflow Enterprise Edition  |(未トレーニング)    |   |
| Cloud Natural Language API  | (未トレーニング)   |   |
| Cloud Talent Solution  | (未トレーニング)   |   |
| Cloud Translation API  |(未トレーニング)    |   |
| Cloud Video Intelligence API  | (未トレーニング)   |   |
| Cloud Prediction API  |(未トレーニング)    |   |
###モノのインターネット（IoT）
| サービス名称 | サービス概要 | 特記事項 |
|:--|:--|:--|
| Cloud IoT Core  | (未トレーニング)   |   |
###ID とセキュリティ
| サービス名称 | サービス概要 | 特記事項 |
|:--|:--|:--|
| Cloud Identity and Access Management  | (未トレーニング)   |   |
| Cloud Identity-Aware Proxy  |(未トレーニング)    |   |
| Cloud Key Management Service  | (未トレーニング)   |   |
| Cloud Data Loss Prevention API  |(未トレーニング)    |   |
| Cloud Armor |  (未トレーニング)   |   |
| Cloud Security Command Center  | (未トレーニング)   |   |
| Cloud Security Scanner  |(未トレーニング)    |   |
###オペレーション
| サービス名称 | サービス概要 | 特記事項 |
|:--|:--|:--|
| Stackdriver Logging  | (未トレーニング)  |   |
| Stackdriver Monitoring  | (未トレーニング)  |   |
| Stackdriver Error Reporting  | (未トレーニング)  |   |
| Stackdriver Trace  | (未トレーニング)  |   |
| Stackdriver デバッガ  |(未トレーニング)   |   |
| Stackdriver Profiler Beta  | (未トレーニング)  |   |
| Cloud Security Scanner  | (未トレーニング)  |   |
###デベロッパー ツール
| サービス名称 | サービス概要 | 特記事項 |
|:--|:--|:--|
| Cloud SDK  | (未トレーニング)  |   |
| Container Registry  | GCP上で動くDockerコンテナリポジトリ、Dockerイメージをインターネットに公開することなくKubernetes Engineから利用することが可能になる。  |   |
| Cloud Build  | (未トレーニング)  |   |
| Cloud Source Repositories  | (未トレーニング)  |   |
| Cloud Tools for IntelliJ  |  (未トレーニング) |   |
| Cloud Tools for PowerShell  | (未トレーニング)  |   |
| Cloud Tools for Visual Studio  |  (未トレーニング)|   |
| Cloud Tools for Eclipse  |(未トレーニング)   |   |
| Cloud API  |  (未トレーニング) |   |
| Cloud Shell  | (未トレーニング)  |   |
| Cloud Tools for Android Studio  |  (未トレーニング) |   |
###データ移行
| サービス名称 | サービス概要 | 特記事項 |
|:--|:--|:--|
| Transfer Appliance  | (未トレーニング)  |   |
| Storage Transfer Service  | (未トレーニング)  |   |
| Google BigQuery Data Transfer Service |(未トレーニング)   |   |
###Resource Manager
| サービス名称 | サービス概要 | 特記事項 |
|:--|:--|:--|
| Deployment Manager  | (未トレーニング)  |   |
| Cloud Marketplace  | (未トレーニング)  |   |
| Resource Manager  | (未トレーニング)  |   |
| Cloud Billing  |(未トレーニング)   |   |

#感想
書籍である程度網羅的にトレーニングが出来ることが解り非常に有用だった。書籍の発売時にベータサービスだったものが正式サービスになっていたりするのでクラウド系の技術は日々トレーニングが必要であることを実感出来た。

#次回記事投稿予定
2019年1月12日（土）