> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cloudthinker.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Google Cloud

> サービスアカウントによるリソース管理、コスト最適化、セキュリティ監視のためにGoogle CloudをCloudThinkerに接続します

GCPプロジェクトを接続して、CloudThinkerエージェントがコスト分析、リソース最適化、セキュリティ監査、Google Cloudサービス全体のインフラ管理を実行できるようにします。

GCPの認証は**サービスアカウントキー**（JSONファイル）で行います。サービスアカウントのIAMロールが各エージェントのアクセス範囲を決定します。

***

## 前提条件

* IAM管理者アクセス権を持つGCPプロジェクト。
* プロジェクト内でサービスアカウントを作成しIAMロールを割り当てる権限。
* ブラウザで[Google Cloud Console](https://console.cloud.google.com/)へのアクセス。

<Info>
  ビューアーレベルのサービスアカウントで、コスト分析、セキュリティ監査、リソース検査が可能です。書き込み機能が必要な場合にのみロールを拡張してください。
</Info>

***

## セットアップ

<Steps>
  <Step title="サービスアカウントを作成">
    [Google Cloud Console](https://console.cloud.google.com/)でプロジェクトを選択し、**IAM & Admin → Service accounts** に移動します。**Create Service Account** をクリックして次の情報を入力します：

    * **名前**：`cloudthinker-readonly`
    * **説明**：CloudThinker監視用の読み取り専用アクセス
  </Step>

  <Step title="ロールを割り当て">
    必要なビューアーロールを付与します：

    * `Viewer`（基本的な読み取りアクセス）
    * `Monitoring Viewer`（監視データ用）
    * `Security Reviewer`（セキュリティ分析用）
  </Step>

  <Step title="JSONキーを生成">
    リストから作成したサービスアカウントをクリックし、**Keys** タブ → **Add key** → **Create new key** に移動します。**JSON** 形式を選択して **Create** をクリックします。キーファイルをダウンロードして安全に保管してください。
  </Step>

  <Step title="CloudThinkerに接続を追加">
    **Connections → GCP** に移動してJSONキーファイルをアップロード（またはその内容を貼り付け）します。**Connect** をクリックします。CloudThinkerが認証情報を確認し、**Connected** ステータスに変わります。
  </Step>
</Steps>

<Warning>
  JSONキーファイルは安全に保管してください。バージョン管理システムにコミットしたり、公開したりしないでください。
</Warning>

### マルチプロジェクトのセットアップ

複数のGCPプロジェクトを持つ組織向け：

<Steps>
  <Step title="組織レベルのアクセスを付与">
    サービスアカウントに組織またはフォルダレベルでロールを付与し、すべてのターゲットプロジェクトにアクセスできるようにします。
  </Step>

  <Step title="請求アカウントのアクセスを追加">
    クロスプロジェクトのコスト分析のために **Billing Account Viewer** を追加します。
  </Step>

  <Step title="プロジェクトを追加">
    接続後、CloudThinkerはアクセス可能なプロジェクトを自動的に検出します。
  </Step>
</Steps>

***

## 接続詳細

| フィールド                 | 説明                                          | 例                                                                   |
| --------------------- | ------------------------------------------- | ------------------------------------------------------------------- |
| **サービスアカウントキー（JSON）** | 接続ダイアログにアップロードまたは貼り付けるGCPサービスアカウントキーのJSON全体 | `{"type": "service_account", "project_id": "your-project-id", ...}` |

キーファイルには次の構造が含まれます：

```json theme={null}
{
  "type": "service_account",
  "project_id": "your-project-id",
  "private_key_id": "key-id",
  "private_key": "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n",
  "client_email": "cloudthinker-readonly@your-project.iam.gserviceaccount.com",
  "client_id": "123456789012345678901",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://oauth2.googleapis.com/token"
}
```

***

## 必要な権限

### 最小（読み取り専用分析）

```
roles/viewer                    # Basic read access
roles/monitoring.viewer         # Cloud Monitoring access
roles/logging.viewer            # Cloud Logging access
```

### 推奨（完全分析）

```
# All of the above, plus:
roles/compute.viewer            # Compute Engine details
roles/container.viewer          # GKE cluster access
roles/cloudsql.viewer           # Cloud SQL access
roles/bigquery.dataViewer       # BigQuery analysis
roles/billing.viewer            # Billing and cost data
roles/securitycenter.viewer     # Security Command Center
```

<Tip>
  最小ロールから始め、必要に応じて追加します。プロジェクトレベルのビューアーロールで、コスト分析とほとんどのセキュリティ監査が可能です。
</Tip>

***

## エージェントの機能

接続後、エージェントはGCPリソースの分析と最適化を実行できます。

| エージェント                                | GCPの機能                                              |
| ------------------------------------- | --------------------------------------------------- |
| **[Alex](/ja/guide/agents/alex)**     | コスト分析、VMの適正サイズ調整、コミット使用量の推奨、リソース最適化                 |
| **[Oliver](/ja/guide/agents/oliver)** | Security Command Centerのファインディング、IAM監査、コンプライアンスチェック |
| **[Tony](/ja/guide/agents/tony)**     | Cloud SQLパフォーマンス、BigQuery最適化、Spannerチューニング          |
| **[Kai](/ja/guide/agents/kai)**       | GKEクラスター管理、ワークロード最適化、Autopilot分析                    |

### 接続を確認する

```text theme={null}
@alex run a GCP account check and list connected projects and active services
```

### プロンプト例

```text theme={null}
@alex analyze Compute Engine costs over the last 30 days and #recommend right-sizing opportunities
@oliver audit GCP IAM bindings and flag any over-permissioned service accounts
@kai inspect GKE cluster health and #report any pod failures or resource pressure
```

***

## トラブルシューティング

<Accordion title="権限拒否エラー">
  サービスアカウントに必要なロールがあることを確認します。プロジェクトレベルのIAMバインディングを確認し、APIが有効になっていること（Compute、Monitoringなど）、JSONキーが有効で期限切れでないことを確認してください。
</Accordion>

<Accordion title="無効なキーファイル">
  JSONファイルが完全で適切にフォーマットされていることを確認します。秘密鍵が切り詰められていないこと、余分な空白や文字が追加されていないことを確認してください。GCPコンソールからキーを再生成してみてください。
</Accordion>

<Accordion title="請求データがない">
  **Billing Account Viewer** ロールが割り当てられていることを確認します。Cloud Billing APIを有効にし、BigQueryへの請求エクスポートが設定されていることを確認してください。
</Accordion>

<Accordion title="GKEアクセスの問題">
  **Kubernetes Engine Viewer** ロールが割り当てられていることを確認します。クラスターがアクセス可能なプロジェクトにあることを確認し、クラスターがWorkload Identityを使用しているかどうかを確認してください。
</Accordion>

***

## セキュリティ

* **最小権限** — エージェントがユースケースに必要な権限のみを付与します。まず読み取り専用から始め、後から拡張してください。
* **デフォルトで読み取り専用** — エージェントにこの接続で変更を行わせる場合を除き、読み取り専用の認証情報を使用してください。
* **認証情報のローテーション** — 通常のスケジュールに従ってキーとトークンをローテーションしてください。接続を更新すると、CloudThinker が新しい値を自動的に取得します。
* **オフボーディング時に失効** — 接続を削除するか、チームメンバーが退職する際には、プロバイダー側で認証情報を無効化してください。

- **プロジェクトスコープ** — サービスアカウントのIAMロールを、CloudThinkerがアクセスする必要があるGCPプロジェクトのみに制限します。
- **キーの保管** — サービスアカウントJSONをシークレットマネージャーに保管し、CloudThinkerへのアップロード後はローカルのコピーを削除します。

***

## 関連

<CardGroup cols={2}>
  <Card title="AWS接続" icon="https://mintcdn.com/cloudthinker/aLd-ttc-SCW-aFky/images/icons/aws.svg?fit=max&auto=format&n=aLd-ttc-SCW-aFky&q=85&s=45d526a3e9345214c0345f277da2e829" href="/ja/guide/connections/aws" width="24" height="24" data-path="images/icons/aws.svg">
    Amazon Web Servicesを接続
  </Card>

  <Card title="Kaiエージェント" icon="dharmachakra" href="/ja/guide/agents/kai">
    GKE向けKubernetesエージェント
  </Card>
</CardGroup>
