Google Cloud Platform とは?Google のパブリッククラウド
Google Cloud Platform(GCP)は Google のパブリッククラウドです。compute、storage、networking、データベース、データや AI のサービスをオンデマンドで借りられ、範囲は AWS や Azure に似ています。
GCP は 3 大パブリッククラウドの 1 つです。強力なデータ、analytics、Kubernetes の提供で知られています(Kubernetes 自体が Google から生まれました)。チームが GCP を使う理由は、どのクラウドを使う理由とも同じです。弾力的なスケール、マネージドサービス、使った分だけの支払いです。CI/CD の一般的なデプロイ先です。
GCP の主要サービス
- Compute Engine - 仮想マシン。
- Cloud Run と Cloud Functions - serverless compute。
- GKE - マネージド Kubernetes。
- Cloud Storage と BigQuery - object storage と analytics。
project とリソース階層
GCP はすべてを project に整理し、それらを folder と organization の下にまとめます。project は billing と権限の境界であり、リソース、API、IAM のバインディングはすべて project の中に存在するため、環境をきれいに分離できます。
アイデンティティとアクセス
GCP は IAM を使い、member(ユーザー、グループ、service account)にリソースへの role を付与します。自動化された workload は service account として認証します。GCP の外からの CI では、Workload Identity Federation により外部トークンを鍵なしで service account にマッピングできます。
リージョンとゾーン
他のクラウドと同様、GCP は多数のリージョンで稼働し、各リージョンには冗長性のための複数のゾーンがあります。レイテンシ、コスト、データレジデンシーの理由でリージョンを選び、ほとんどのリソースはリージョナルまたはゾーナルです。
CI/CD での役割
パイプラインはイメージを build し、Artifact Registry へプッシュして、Cloud Run または GKE へデプロイします。GitHub Actions からの認証は Workload Identity Federation を使うため、service account の鍵は保存されません。好みに応じて、Cloud Build で build を GCP 内で完結させることもできます。
重要なポイント
- GCP は Google のパブリッククラウドで、データ、Kubernetes、serverless の提供が強力です。
- すべては project の中に存在します。project は billing と権限の境界です。
- パイプラインは Artifact Registry と Cloud Run または GKE 経由でデプロイし、federation で認証します。