GCPエンタープライズ設計ガイドの読書メモ
はじめに
業務でGCPの一部を利用することになったため、概要を把握するためにこれをサラッと読んだ。 この本はGCPの様々な機能に関する概要をまとめたもので、これを読むだけでGCPがガンガン使えるようになるものではない。 あくまでGCP全体の概要を把握するために読むものである。 本の中では、AWSの機能のこれにあたるという説明が多くされているため、AWS経験者なら頭に入りやすいのではないだろうか。
この記事では、僕が必要としていた部分だけ抽出して文書にしている。
AWSとGCPの違い
- AWSはCloudのサービスをリードしている
- GCPはCloudのテクノロジーをリードしている
- AWSは多機能
- GCPはシンプル
- AWSは従来のITインフラをそのまま抽象化した
- VPCなどなど
- Googleはソフトウェアエンジニアが基盤を意識しなくても作れるようになっている
- ITインフラの内部が隠蔽されている
- AWSは休日も含む24時間365日の日本語サポートがある
- GCPの日本語サポートは、平日9~17時
Computing Service
- GCPサービス => AWSで該当するもの
- Google Compute Engine => AWS EC2
- Google App Engine => AWS Elastic Beanstalk
- スケールアウト時にはコンテナのプロセスを起動する
- Standard EnvironmentとFlexible Environmentの2つのタイプが存在する
- SE版は機能が制限されているが、めちゃくちゃ早い
- FE版はDockerで動くので自由度が高いが、まぁまぁ遅い
- 新しいバージョンの環境へのアクセスについては、柔軟に振り分けられる
- ABテストなどにも使える
- cronで定期実行も可能
- Google K8s Engine => AWS EKS
- Google Cloud Functions => AWS Lambda
Cloud SQL
- Cloud SQLは、ストレージの自動拡張、Failover Replica機能、Read Replicaの作成の機能を持ち、耐障害性・スケール性能に優れている。
- Cloud SQLにアクセスする場合は、Cloud SQL Proxyを利用して、IAMを利用したプロジェクトレベル・インスタンスレベルでのアクセス制御を行うこと。
- Cloud SQLでは転送中・保存済みのデータはすべて暗号化されている。
ID管理
- GCPではClod IAMを利用して、リソースの権限制御をしている
- Cloud IAMは下記のIDに対して設定が可能である
Cloud IAMでのRole
<service>.<resource>.<verb>
といった形式で定義する。
- Primitive roles: プロジェクトレベルで設定する Owner, Editer, Viewerの権限
- Predefined Roles: GCPのリソース単位で設定できる役割。App Engine管理者はApp Engineのすべての設定が可能
- Custom roles: 個別に作成するrole. メンバーやサービスアカウント毎に付与可能.
- Cloud IAMのアクセス制御ポリシーは、Organization/Folder/Project/Resourceという階層になっている
- 上の階層で定められた権限が、下位の階層に継承される