gcp-cloud-architect について
Google Cloud の設計を行うチーム向けのスキルです。要件に応じたアーキテクチャパターンの提案、コスト分析、Terraform と gcloud の構成生成に加え、CI/CD やセキュリティ確認、障害対応も支援します。
主な機能
- 01要件に基づくパターン提案
- 02コストと削減案の分析
- 03Terraform と gcloud 構成の生成
- 04CI/CD 設定の案内
- 05セキュリティとデプロイ障害の確認
活用シーン
- 01SaaS やモバイルバックエンドの GCP 設計
- 02既存リソースのコスト削減機会の分析
- 03選択したパターンのインフラコード生成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ alirezarezvani/ claude-skills --skill gcp-cloud-architectインストール後、Claude Code で/gcp-cloud-architectを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/architecture_patterns.mdbest_practices.mdservice_selection.mdscripts/architecture_designer.pycost_optimizer.pydeployment_manager.py詳細
GCP Cloud Architect
スタートアップやエンタープライズ向けに、インフラストラクチャ・アズ・コードのテンプレートを使って、スケーラブルでコスト効率の高い Google Cloud アーキテクチャを設計します。
ワークフロー
ステップ 1:要件を収集する
アプリケーションの仕様を収集します。
- Application type (web app, mobile backend, data pipeline, SaaS)
- Expected users and requests per second
- Budget constraints (monthly spend limit)
- Team size and GCP experience level
- Compliance requirements (GDPR, HIPAA, SOC 2)
- Availability requirements (SLA, RPO/RTO)
ステップ 2:アーキテクチャを設計する
アーキテクチャ設計ツールを実行して、パターンの推奨を取得します。
python scripts/architecture_designer.py --input requirements.json
出力例:
{
"recommended_pattern": "serverless_web",
"service_stack": ["Cloud Storage", "Cloud CDN", "Cloud Run", "Firestore", "Identity Platform"],
"estimated_monthly_cost_usd": 30,
"pros": ["Low ops overhead", "Pay-per-use", "Auto-scaling", "No cold starts on Cloud Run min instances"],
"cons": ["Vendor lock-in", "Regional limitations", "Eventual consistency with Firestore"]
}
推奨パターンから選択します。
- サーバーレス Web:Cloud Storage + Cloud CDN + Cloud Run + Firestore
- GKE 上のマイクロサービス:GKE Autopilot + Cloud SQL + Memorystore + Cloud Pub/Sub
- サーバーレスデータパイプライン:Pub/Sub + Dataflow + BigQuery + Looker
- ML プラットフォーム:Vertex AI + Cloud Storage + BigQuery + Cloud Functions
詳細なパターン仕様については、references/architecture_patterns.md を参照してください。
検証チェックポイント: ステップ 3 に進む前に、推奨パターンがチームの運用成熟度とコンプライアンス要件に合致することを確認してください。
ステップ 3:コストを見積もる
推定コストと最適化の機会を分析します。
python scripts/cost_optimizer.py --resources current_setup.json --monthly-spend 2000
出力例:
{
"current_monthly_usd": 2000,
"recommendations": [
{ "action": "Right-size Cloud SQL db-custom-4-16384 to db-custom-2-8192", "savings_usd": 380, "priority": "high" },
{ "action": "Purchase 1-yr committed use discount for GKE nodes", "savings_usd": 290, "priority": "high" },
{ "action": "Move Cloud Storage objects >90 days to Nearline", "savings_usd": 75, "priority": "medium" }
],
"total_potential_savings_usd": 745
}
出力には以下が含まれます。
- サービス別の月額コスト内訳
- 適正サイズへの変更に関する推奨事項
- 確約利用割引の機会
- 継続利用割引の分析
- 月額コストの潜在的な削減額
詳細な見積もりには、GCP Pricing Calculator を使用してください。
ステップ 4:IaC を生成する
選択したパターンのインフラストラクチャ・アズ・コードを作成します。
python scripts/deployment_manager.py --app-name my-app --pattern serverless_web --region us-central1
Terraform HCL の出力例(Cloud Run + Firestore):
terraform {
required_providers {
google = {
source = "hashicorp/google"
version = "~> 5.0"
}
}
}
provider "google" {
project = var.project_id
region = var.region
}
variable "project_id" {
description = "GCP project ID"
type = string
}
variable "region" {
description = "GCP region"
type = string
default = "us-central1"
}
resource "google_cloud_run_v2_service" "api" {
name = "${var.environment}-${var.app_name}-api"
location = var.region
template {
containers {
image = "gcr.io/${var.project_id}/${var.app_name}:latest"
resources {
limits = {
cpu = "1000m"
memory = "512Mi"
}
}
env {
name = "FIRESTORE_PROJECT"
value = var.project_id
}
}
scaling {
min_instance_count = 0
max_instance_count = 10
}
}
}
resource "google_firestore_database" "default" {
project = var.project_id
name = "(default)"
location_id = var.region
type = "FIRESTORE_NATIVE"
}
gcloud CLI のデプロイ例:
# Deploy Cloud Run service
gcloud run deploy my-app-api \
--image gcr.io/$PROJECT_ID/my-app:latest \
--region us-central1 \
--platform managed \
--allow-unauthenticated \
--memory 512Mi \
--cpu 1 \
--min-instances 0 \
--max-instances 10
# Create Firestore database
gcloud firestore databases create --location=us-central1
Cloud CDN、Identity Platform、IAM、Cloud Monitoring を含む完全なテンプレートは、
deployment_manager.pyによって生成され、references/architecture_patterns.mdでも利用できます。
ステップ 5:CI/CD を構成する
Cloud Build または GitHub Actions を使って、自動デプロイを設定します。
# cloudbuild.yaml
steps:
- name: 'gcr.io/cloud-builders/docker'
args: ['build', '-t', 'gcr.io/$PROJECT_ID/my-app:$COMMIT_SHA', '.']
- name: 'gcr.io/cloud-builders/docker'
args: ['push', 'gcr.io/$PROJECT_ID/my-app:$COMMIT_SHA']
- name: 'gcr.io/google.com/cloudsdktool/cloud-sdk'
entrypoint: gcloud
args:
- 'run'
- 'deploy'
- 'my-app-api'
- '--image=gcr.io/$PROJECT_ID/my-app:$COMMIT_SHA'
- '--region=us-central1'
- '--platform=managed'
images:
- 'gcr.io/$PROJECT_ID/my-app:$COMMIT_SHA'
# Connect repo and create trigger
gcloud builds triggers create github \
--repo-name=my-app \
--repo-owner=my-org \
--branch-pattern="^main$" \
--build-config=cloudbuild.yaml
ステップ 6:セキュリティを確認する
セキュリティ構成を検証します。
# Review IAM bindings
gcloud projects get-iam-policy $PROJECT_ID --format=json
# Check service account permissions
gcloud iam service-accounts list --project=$PROJECT_ID
# Verify VPC Service Controls (if applicable)
gcloud access-context-manager perimeters list --policy=$POLICY_ID
セキュリティチェックリスト:
- IAM ロールには最小権限の原則を適用します(基本ロールより事前定義ロールを優先します)
- GKE では、サービスアカウントに Workload Identity を使用します
- 機密性の高い API に対して VPC Service Controls を構成します
- 顧客管理の暗号化には Cloud KMS 暗号鍵を使用します
- すべての管理者アクティビティに対して Cloud Audit Logs を有効にします
- 組織のポリシーでパブリックアクセスを制限します
- すべての認証情報に Secret Manager を使用します
デプロイに失敗した場合:
- 失敗の原因を確認します。
gcloud run services describe my-app-api --region us-central1 gcloud logging read "resource.type=cloud_run_revision" --limit=20 - Cloud Logging でアプリケーションのエラーを確認します。
- 構成またはコンテナイメージを修正します。
- 再デプロイします。
gcloud run deploy my-app-api --image gcr.io/$PROJECT_ID/my-app:latest --region us-central1
よくある失敗の原因:
- IAM 権限エラー -- サービスアカウントのロールと
--allow-unauthenticatedフラグを確認します - クォータ超過 -- IAM & Admin > Quotas からクォータの増加をリクエストします
- コンテナの起動失敗 -- コンテナログとヘルスチェックの構成を確認します
- リージョンが有効になっていない --
gcloud services enableを使って必要な API を有効にします
ツール
architecture_designer.py
ワークロード要件に基づいて GCP サービスを推奨します。
python scripts/architecture_designer.py --input requirements.json --output design.json
入力: アプリの種類、規模、予算、コンプライアンス要件を含む JSON 出力: 推奨パターン、サービススタック、コスト見積もり、長所と短所
cost_optimizer.py
GCP リソースを分析し、コスト削減の機会を特定します。
python scripts/cost_optimizer.py --resources inventory.json --monthly-spend 5000
出力: 以下に関する推奨事項:
- アイドル状態のリソースの削除
- マシンタイプの適正サイズへの変更
- 確約利用割引
- ストレージクラスの移行
- ネットワークのエグレス最適化
deployment_manager.py
gcloud CLI のデプロイスクリプトと Terraform 構成を生成します。
python scripts/deployment_manager.py --app-name my-app --pattern serverless_web --region us-central1
出力: 以下を含む本番環境向けのデプロイスクリプト:
- Cloud Run または GKE のデプロイ
- Firestore または Cloud SQL のセットアップ
- Identity Platform の構成
- 最小権限の原則に沿った IAM ロール
- Cloud Monitoring と Logging
クイックスタート
Cloud Run 上の Web アプリ(月額 100 ドル未満)
Ask: "Design a serverless web backend for a mobile app with 1000 users"
Result:
- Cloud Run for API (auto-scaling, no cold start with min instances)
- Firestore for data (pay-per-operation)
- Identity Platform for authentication
- Cloud Storage + Cloud CDN for static assets
- Estimated: $15-40/month
GKE 上のマイクロサービス(月額 500~2000 ドル)
Ask: "Design a scalable architecture for a SaaS platform with 50k users"
Result:
- GKE Autopilot for containerized workloads
- Cloud SQL (PostgreSQL) with read replicas
- Memorystore (Redis) for session caching
- Cloud CDN for global delivery
- Cloud Build for CI/CD
- Multi-zone deployment
サーバーレスデータパイプライン
Ask: "Design a real-time analytics pipeline for event data"
Result:
- Pub/Sub for event ingestion
- Dataflow (Apache Beam) for stream processing
- BigQuery for analytics and warehousing
- Looker for dashboards
- Cloud Functions for lightweight transforms
ML プラットフォーム
Ask: "Design a machine learning platform for model training and serving"
Result:
- Vertex AI for training and prediction
- Cloud Storage for datasets and model artifacts
- BigQuery for feature store
- Cloud Functions for preprocessing triggers
- Cloud Monitoring for model drift detection
入力要件
アーキテクチャ設計のため、以下の詳細を提示してください。
| 要件 | 説明 | 例 |
|---|---|---|
| アプリケーションの種類 | 構築するもの | SaaS プラットフォーム、モバイルバックエンド |
| 想定規模 | ユーザー数、リクエスト数/秒 | 1 万ユーザー、100 RPS |
| 予算 | GCP の月額上限 | 月額最大 $500 |
| チームの状況 | チーム規模、GCP の経験 | 開発者 3 名、中級 |
| コンプライアンス | 規制上の要件 | HIPAA、GDPR、SOC 2 |
| 可用性 | 稼働時間の要件 | 99.9% SLA、1 時間の RPO |
JSON 形式:
{
"application_type": "saas_platform",
"expected_users": 10000,
"requests_per_second": 100,
"budget_monthly_usd": 500,
"team_size": 3,
"gcp_experience": "intermediate",
"compliance": ["SOC2"],
"availability_sla": "99.9%"
}
出力形式
アーキテクチャ設計
- 推奨パターンとその根拠
- サービススタックの図(ASCII)
- 月額コストの見積もりとトレードオフ
IaC テンプレート
- Terraform HCL:本番環境に対応した Google プロバイダーの設定
- gcloud CLI:スクリプト化されたデプロイコマンド
- Cloud Build YAML:CI/CD パイプラインの定義
コスト分析
- 現在の支出の内訳と最適化の推奨事項
- 優先度別アクションリスト(高/中/低)と実装チェックリスト
アンチパターン
| アンチパターン | 問題点 | より良い方法 |
|---|---|---|
| 本番環境でデフォルトの VPC を使用する | 分離されておらず、ファイアウォールルールが共有される | プライベートサブネットを備えたカスタム VPC を作成する |
| GKE ノードプールを過剰にプロビジョニングする | アイドル状態のキャパシティにコストが無駄になる | GKE Autopilot またはクラスタオートスケーラーを使用する |
| シークレットを環境変数に保存する | Cloud Console やログに表示される | Workload Identity とともに Secret Manager を使用する |
| 継続利用割引を無視する | 自動で適用される 20~30% の割引を逃す | 継続的なベースライン使用量に合わせて VM のサイズを適正化する |
| SaaS を単一リージョンにデプロイする | 1 つのリージョンで障害が発生すると全面停止する | Cloud Load Balancing を使用したマルチリージョン構成にする |
| 高負荷のワークロードで BigQuery のオンデマンド料金を利用する | 大規模環境ではコストが予測しにくい | 一貫したワークロードには BigQuery スロット(定額制)を使用する |
| 長時間タスクに Cloud Functions を使用する | タイムアウトが 9 分で、コールドスタートも発生する | 60 秒を超えるタスクには Cloud Run を使用する |
関連項目
| スキル | 関連性 |
|---|---|
engineering-team/aws-solution-architect | AWS における同等のスキル — 同じ 6 段階のワークフローで、サービスが異なります |
engineering-team/azure-cloud-architect | Azure における同等のスキル — 主要クラウド 3 社を網羅します |
engineering-team/senior-devops | より幅広い DevOps の範囲 — パイプライン、監視、コンテナ化 |
engineering/terraform-patterns | IaC の実装 — GCP を対象とする Terraform モジュールに使用します |
engineering/ci-cd-pipeline-builder | パイプラインの構築 — Cloud Build とデプロイを自動化します |
参考ドキュメント
| ドキュメント | 内容 |
|---|---|
references/architecture_patterns.md | 6 つのパターン:サーバーレス、GKE マイクロサービス、3 層構成、データパイプライン、ML プラットフォーム、マルチリージョン |
references/service_selection.md | コンピューティング、データベース、ストレージ、メッセージングの選定マトリックス |
references/best_practices.md | 命名、ラベル、IAM、ネットワーク、監視、災害復旧 |