gcp-cloud-architect
スタートアップと企業向けのGCP(Google Cloud Platform)アーキテクチャ設計ができます。Google Cloud インフラストラクチャの設計、GKEまたはCloud Runへのデプロイ、BigQueryパイプラインの構築、GCPのコスト最適化、またはGCPへの移行時に活用してください。Cloud Run、GKE、Cloud Functions、Cloud SQL、BigQuery、コスト最適化に対応しています。
description の原文を見る
Projete arquiteturas GCP para startups e empresas. Use ao projetar infraestrutura Google Cloud, implantar no GKE ou Cloud Run, configurar pipelines BigQuery, otimizar custos GCP ou migrar para GCP. Cobre Cloud Run, GKE, Cloud Functions, Cloud SQL, BigQuery e otimização de custos.
SKILL.md 本文
GCP Cloud Architect
スタートアップと企業向けにスケーラブルで経済的なGoogle Cloudアーキテクチャを、インフラストラクチャアズコード(IaC)テンプレートを使用して設計します。
ワークフロー
ステップ1:要件の収集
アプリケーション仕様を収集します:
- アプリケーションタイプ(ウェブアプリ、モバイルバックエンド、データパイプライン、SaaS)
- 予想ユーザー数と1秒あたりのリクエスト数
- 予算制約(月間支出上限)
- チームサイズとGCP経験レベル
- コンプライアンス要件(LGPD、ANVISA、SOC 2)
- 可用性要件(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"]
}
推奨パターンから選択します:
- サーバーレスウェブ: 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料金計算機を使用してください。
ステップ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を使用したデプロイ例:
# Cloud Runサービスをデプロイ
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
# Firestoreデータベースを作成
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'
# リポジトリを接続してトリガーを作成
gcloud builds triggers create github \
--repo-name=my-app \
--repo-owner=my-org \
--branch-pattern="^main$" \
--build-config=cloudbuild.yaml
ステップ6:セキュリティレビュー
セキュリティ設定を確認します:
# IAMバインディングを確認
gcloud projects get-iam-policy $PROJECT_ID --format=json
# サービスアカウント権限を確認
gcloud iam service-accounts list --project=$PROJECT_ID
# VPC Service Controls(該当する場合)を確認
gcloud access-context-manager perimeters list --policy=$POLICY_ID
セキュリティチェックリスト:
- IAMロールは最小権限に従う(基本ロールより定義済みロールを優先)
- サービスアカウントはGKE用のWorkload Identityを使用
- VPC Service Controlsは機密APIに対して設定
- 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 > クォータからクォータの増加をリクエスト
- コンテナ起動失敗 — コンテナログとヘルスチェック設定を確認
- リージョンが有効になっていない —
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でのウェブアプリ(月額100ドル未満)
プロンプト: 「1000ユーザーのモバイルアプリ向けサーバーレスウェブバックエンドを設計してください」
結果:
- API用Cloud Run(オートスケール、最小インスタンスでコールドスタートなし)
- データ用Firestore(操作単価課金)
- 認証用Identity Platform
- 静的アセット用Cloud Storage + Cloud CDN
- 推定: 月額15〜40ドル
GKE上のマイクロサービス(月額500〜2000ドル)
プロンプト: 「50kユーザーのSaaSプラットフォーム向けスケーラブルアーキテクチャを設計してください」
結果:
- コンテナワークロード用GKE Autopilot
- Cloud SQL(PostgreSQL)と読み取りレプリカ
- セッションキャッシュ用Memorystore(Redis)
- グローバル配信用Cloud CDN
- CI/CD用Cloud Build
- マルチゾーンデプロイメント
サーバーレスデータパイプライン
プロンプト: 「イベントデータのリアルタイムアナリティクスパイプラインを設計してください」
結果:
- イベント取り込み用Pub/Sub
- ストリーム処理用Dataflow(Apache Beam)
- アナリティクスとウェアハウス用BigQuery
- ダッシュボード用Looker
- 軽量変換用Cloud Functions
MLプラットフォーム
プロンプト: 「モデルトレーニングとサービング用のMLプラットフォームを設計してください」
結果:
- トレーニングと予測用Vertex AI
- データセットとモデルアーティファクト用Cloud Storage
- フィーチャーストア用BigQuery
- 前処理トリガー用Cloud Functions
- モデルドリフト検出用Cloud Monitoring
入力要件
アーキテクチャ設計にこれらの詳細を提供してください:
| 要件 | 説明 | 例 |
|---|---|---|
| アプリケーションタイプ | 構築内容 | SaaSプラットフォーム、モバイルバックエンド |
| 予想スケール | ユーザー、リクエスト/秒 | 10kユーザー、100 RPS |
| 予算 | GCP月間上限 | 月額500ドル上限 |
| チームコンテキスト | サイズ、GCP経験 | 3開発者、中級 |
| コンプライアンス | 規制要件 | ANVISA、LGPD、SOC 2 |
| 可用性 | アップタイム要件 | SLA 99.9%、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 Providerの設定
- gcloud CLI: スクリプト化されたデプロイメントコマンド
- Cloud Build YAML: CI/CDパイプライン定義
コスト分析
- 現在の支出明細と最適化推奨事項
- 優先順位付けアクション(高/中/低)と実装チェックリスト
アンチパターン
| アンチパターン | 失敗の理由 | 正しいアプローチ |
|---|---|---|
| 本番環境でデフォルトVPCを使用 | 分離なし、ファイアウォールルール共有 | プライベートサブネットを持つカスタムVPCを作成 |
| GKEノードプールの過剰プロビジョニング | 未使用容量での無駄なコスト | GKE Autopilotまたはクラスタオートスケーラーを使用 |
| 環境変数にシークレットを格納 | Cloud Consoleとログに表示 | Secret Managerにシークレット、Workload Identityを使用 |
| 継続使用割引を無視 | 自動で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、ネットワーク、監視、ディザスタリカバリ |
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- ricardonevesbraga
- ライセンス
- MIT
- 最終更新
- 2026/4/24
Source: https://github.com/ricardonevesbraga/flowgrammers-skills / ライセンス: MIT