mcpField
G
gcp-cloud-architect

gcp-cloud-architect

github.com/alirezarezvaniクラウド・DevOps28.9k720 回インストール2 日前に更新
リポジトリ

gcp-cloud-architect について

Google Cloud の設計を行うチーム向けのスキルです。要件に応じたアーキテクチャパターンの提案、コスト分析、Terraform と gcloud の構成生成に加え、CI/CD やセキュリティ確認、障害対応も支援します。

主な機能

  1. 01要件に基づくパターン提案
  2. 02コストと削減案の分析
  3. 03Terraform と gcloud 構成の生成
  4. 04CI/CD 設定の案内
  5. 05セキュリティとデプロイ障害の確認

活用シーン

  1. 01SaaS やモバイルバックエンドの GCP 設計
  2. 02既存リソースのコスト削減機会の分析
  3. 03選択したパターンのインフラコード生成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/alirezarezvani/claude-skills --skill gcp-cloud-architect

インストール後、Claude Code で/gcp-cloud-architectを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
architecture_patterns.md
best_practices.md
service_selection.md
scripts/
architecture_designer.py
cost_optimizer.py
deployment_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 を使用します

デプロイに失敗した場合:

  1. 失敗の原因を確認します。
    gcloud run services describe my-app-api --region us-central1
    gcloud logging read "resource.type=cloud_run_revision" --limit=20
    
  2. Cloud Logging でアプリケーションのエラーを確認します。
  3. 構成またはコンテナイメージを修正します。
  4. 再デプロイします。
    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-architectAWS における同等のスキル — 同じ 6 段階のワークフローで、サービスが異なります
engineering-team/azure-cloud-architectAzure における同等のスキル — 主要クラウド 3 社を網羅します
engineering-team/senior-devopsより幅広い DevOps の範囲 — パイプライン、監視、コンテナ化
engineering/terraform-patternsIaC の実装 — GCP を対象とする Terraform モジュールに使用します
engineering/ci-cd-pipeline-builderパイプラインの構築 — Cloud Build とデプロイを自動化します

参考ドキュメント

ドキュメント内容
references/architecture_patterns.md6 つのパターン:サーバーレス、GKE マイクロサービス、3 層構成、データパイプライン、ML プラットフォーム、マルチリージョン
references/service_selection.mdコンピューティング、データベース、ストレージ、メッセージングの選定マトリックス
references/best_practices.md命名、ラベル、IAM、ネットワーク、監視、災害復旧

コメント