Gemini CLI を使用してアプリケーションを設計、デプロイする

Google Cloud

Gemini Cloud Assist と App Design Center の Model Context Protocol(MCP)サーバーを使用して、Gemini CLI で直接インフラストラクチャを設計、デプロイ、トラブルシューティング Google Cloud します。

目標

このチュートリアルでは、次のことを行います。

  • Gemini Cloud Assist と App Design Center の MCP サーバーを使用するように Gemini CLI を設定する。
  • 既存のアプリケーション コードを実行するように最適化された Google Cloud インフラストラクチャを設計してデプロイする。
  • 技術的な問題を分析してトラブルシューティングする。

費用

このドキュメントでは、課金対象である次の コンポーネントを使用します Google Cloud:

  • App Design Center.
  • Google Cloud resources that you create as part of your application infrastructure.

料金計算ツールを使うと、予想使用量に基づいて費用の見積もりを生成できます。

新規の Google Cloud ユーザーは無料トライアルをご利用いただける場合があります。

このドキュメントに記載されているタスクの完了後、作成したリソースを削除すると、それ以上の請求は発生しません。詳細については、クリーンアップをご覧ください。

始める前に

  1. アカウントにログインします。 Google Cloud を初めて使用する場合は、 アカウントを作成して、 実際のシナリオでプロダクトがどのように機能するかを評価してください。 Google Cloud新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
  2. Google Cloud CLI をインストールします。

  3. 外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。

  4. gcloud CLI を初期化するには、次のコマンドを実行します:

    gcloud init
  5. プロジェクトを作成または選択します Google Cloud

    プロジェクトを選択または作成するために必要なロール

    • プロジェクトを選択する: プロジェクトの選択には特定の IAM ロールは必要ありません。ロールが付与されているプロジェクトを選択できます。
    • プロジェクトを作成する: プロジェクトを作成するには、プロジェクト作成者ロール (roles/resourcemanager.projectCreator)が必要です。これには resourcemanager.projects.create 権限が含まれています。詳しくは、ロールを付与する方法をご覧ください。
    • プロジェクトを作成する: Google Cloud

      gcloud projects create PROJECT_ID

      PROJECT_ID は、作成する Google Cloud プロジェクトの名前に置き換えます。

    • 作成した Google Cloud プロジェクトを選択します。

      gcloud config set project PROJECT_ID

      PROJECT_ID は、 Google Cloud プロジェクトの名前に置き換えます。

  6. プロジェクトで課金が有効になっていることを確認します Google Cloud 。

  7. Google Cloud CLI をインストールします。

  8. 外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。

  9. gcloud CLI を初期化するには、次のコマンドを実行します:

    gcloud init
  10. プロジェクトを作成または選択します Google Cloud

    プロジェクトを選択または作成するために必要なロール

    • プロジェクトを選択する: プロジェクトの選択には特定の IAM ロールは必要ありません。ロールが付与されているプロジェクトを選択できます。
    • プロジェクトを作成する: プロジェクトを作成するには、プロジェクト作成者ロール (roles/resourcemanager.projectCreator)が必要です。これには resourcemanager.projects.create 権限が含まれています。詳しくは、ロールを付与する方法をご覧ください。
    • プロジェクトを作成する: Google Cloud

      gcloud projects create PROJECT_ID

      PROJECT_ID は、作成する Google Cloud プロジェクトの名前に置き換えます。

    • 作成した Google Cloud プロジェクトを選択します。

      gcloud config set project PROJECT_ID

      PROJECT_ID は、 Google Cloud プロジェクトの名前に置き換えます。

  11. プロジェクトで課金が有効になっていることを確認します Google Cloud 。

  12. MCP を介して Gemini Cloud Assist にアクセスするには、Trusted Tester プログラムに参加する必要があります。アクセスをリクエストするには、アカウント チームにお問い合わせください。
  13. Gemini CLI をインストールします。
  14. プロジェクトにApp Design Center 管理者roles/designcenter.admin)ロールがあることを確認します。
  15. 次のいずれかの Gemini Cloud Assist ロールなど、mcp.googleapis.com/tools.call 権限を含むロールがあることを確認します。
    • Gemini Cloud Assist 管理者roles/geminicloudassist.admin)。
    • Gemini Cloud Assist 編集者roles/geminicloudassist.editor)。
    • Gemini Cloud Assist ユーザーroles/geminicloudassist.user)。

環境を準備する

環境を準備するには、 Google Cloud に対して認証し、必要な サービスを有効にします。

に対して認証する Google Cloud

に対して認証します。ターミナルで次のコマンドを実行して、 Google Cloud

  1. MCP サーバーが API 呼び出しを行えるように、アプリケーションのデフォルト認証情報を設定します。

     gcloud auth application-default login
    

API を有効にする

プロジェクトで Gemini Cloud Assist サービスと App Design Center サービスを有効にします。

  1. プロジェクトで Gemini Cloud Assist サービスを有効にします。

     gcloud services enable geminicloudassist.googleapis.com
    
  2. プロジェクトで App Design Center サービスを有効にします。

     gcloud services enable designcenter.googleapis.com
    

MCP サーバーを構成する

Gemini Cloud Assist と App Design Center の MCP サーバーを使用すると、自然言語プロンプトを使用してインフラストラクチャを設計、評価、デプロイ、トラブルシューティング Google Cloud できます。MCP サーバーに接続するには、Gemini CLI の設定を構成します。

MCP サーバーを使用するように Gemini CLI を構成するには、次の操作を行います。

  1. 次のいずれかの場所で Gemini CLI 構成ファイルを開きます。

    • ユーザー スコープ: Gemini CLI プロジェクト全体に設定を適用するには、~/.gemini/settings.json を開きます。
    • ワークスペース スコープ: 特定の Gemini CLI プロジェクトに設定を適用するには、.gemini/settings.json を開きます。

    構成ファイルが存在しない場合は、新しいファイルを作成します。

  2. settings.json で、mcpServers キーの下に次の構成ブロックを追加またはマージします。

      {
        "mcpServers": {
          "gemini-cloud-assist": {
            "httpUrl": "https://geminicloudassist.googleapis.com/mcp",
            "authProviderType": "google_credentials",
            "oauth": {
              "scopes": ["https://www.googleapis.com/auth/cloud-platform"]
            },
            "timeout": 600000
          },
          "application-design-center": {
            "httpUrl": "https://designcenter.googleapis.com/mcp",
            "authProviderType": "google_credentials",
            "oauth": {
              "scopes": ["https://www.googleapis.com/auth/cloud-platform"]
            },
            "timeout": 600000
          }
        }
      }
    

    この構成では、アプリケーションのデフォルト認証情報が自動的に使用されます。

  3. 構成ファイルを保存して閉じます。

  4. Gemini CLI を起動します。

    gemini
    
  5. MCP サーバーが接続されていることを確認します。

    /mcp list
    

SKILL.md ファイルをインストールする

SKILL.md ファイルには、App Design Center と Gemini Cloud Assist の MCP サーバーのインフラストラクチャの設計、デプロイ、トラブルシューティングの手順とワークフローが記載されています。

Gemini CLI に SKILL.md ファイルを追加するには、次の操作を行います。

  1. 次のいずれかの場所に skills/design-and-deploy ディレクトリを作成します。

    • ユーザー スコープ __: Gemini CLI プロジェクト全体に設定を適用するには、~/.gemini/skills/design-and-deploy/ を作成します。
    • ワークスペース スコープ: 特定の Gemini CLI プロジェクトに設定を適用するには、.gemini/skills/design-and-deploy/ を作成します。
  2. skills/design-and-deploy/ ディレクトリで、SKILL.md ファイル を、designing-and-deploying-infrastructureのコンテンツを使用して作成します。

  3. 次のいずれかの場所に skills/google-gemini-cloud-assist ディレクトリを作成します。

    • ユーザー スコープ: Gemini CLI プロジェクト全体に設定を適用するには、~/.gemini/skills/google-gemini-cloud-assist/ を作成します。
    • ワークスペース スコープ: 特定の Gemini CLI プロジェクトに設定を適用するには、.gemini/skills/google-gemini-cloud-assist/ を作成します。
  4. skills/google-gemini-cloud-assist/ ディレクトリで、Google Cloud の操作のコンテンツを使用して SKILL.md ファイルを作成します。

  5. Gemini CLI を終了して再起動します。

    /quit
    

    Gemini CLI を再度起動すると、スキルファイルが自動的に検出されます。

  6. スキルファイルが自動的に検出されたことを確認します。

    /skills list
    

App Design Center と Gemini Cloud Assist の MCP サーバーに接続するように Gemini CLI を構成し、スキルファイルを作成しました。

インフラストラクチャを設計する Google Cloud

アプリケーション コードを保存して実行するように調整されたインフラストラクチャを設計します。

  1. 使用するプロジェクトを設定します。

    gcloud config set project PROJECT_ID
    
  2. インフラストラクチャの設計をリクエストします。 Google Cloud

     My application code is in REPOSITORY_URL. Design the Google Cloud infrastructure required for my application.
    

    エージェントは、構成したスキルを有効にするよう求めます。エージェントはインフラストラクチャ設計プランを作成し、承認を求めます。

  3. プランを承認します。

    Continue with the plan.
    

    エージェントは、インフラストラクチャの作成に使用するツールを特定します。エージェントは、 プロジェクトで App Design Center を設定する setup_adc ツールを使用するよう求めます。

  4. Gemini Cloud Assist が提案されたツールを使用できるようにします。

    エージェントは設計を提案し、デプロイの準備ができているかどうかを尋ねます。

  5. 提案された設計を反復します。

    The infrastructure looks good, but I want to add a cache for frequently accessed data.
    

    エージェントは、要件を統合するように設計を更新します。エージェントは、変更の説明が必要かどうか、または変更をテストするかどうかを尋ねます。

最初のインフラストラクチャ設計を作成し、設計を改善するために反復しました。

セキュリティ標準への準拠を評価する

組織の管理者は、インフラストラクチャの設計とデプロイを通知する特定のセキュリティ フレームワークを構成している可能性があります。このセクションでは、設計が構成済みのセキュリティ標準に準拠していることを確認します。

  1. インフラストラクチャ設計が組織のセキュリティ標準に準拠していることを確認します。

    I want to make sure that infrastructure design is compliant with my organization's security standards.
    

    エージェントは、組織の管理者が Security Command Center で指定したセキュリティ フレームワークに基づいてインフラストラクチャ設計を分析します。監査でコンプライアンスの問題が見つかった場合、エージェントはセキュリティ強化を提案し、承認を求めます。

  2. 推奨されるセキュリティ強化を適用する

    Apply the recommended security enhancements.
    

    エージェントは変更を適用し、設計を承認する準備ができているかどうかを尋ねます。

インフラストラクチャ設計は、組織のセキュリティ フレームワークに準拠しています。

インフラストラクチャ設計をデプロイする

インフラストラクチャ設計をデプロイします Google Cloud。

  1. 設計を承認してデプロイします。

    Deploy the infrastructure design to my Google Cloud project.
    

    エージェントは、最終的な設計を Google Cloud プロジェクトにデプロイします。エージェントは、プロジェクトへの変更を承認するよう求めます。たとえば、API を有効にする必要がある場合があります。

    アプリケーションが正常にデプロイされると、エージェントはデプロイの詳細、アーキテクチャ コンポーネント、アプリケーションを使用する手順を表示します。

  2. デプロイが失敗した場合は、トラブルシューティングのサポートをご利用ください。たとえば、コンポーネント構成の詳細や Identity and Access Management(IAM)権限を修正する必要がある場合があります。

    Fix the component configuration errors.
    

    エージェントはコンポーネント構成の推奨事項を提供し、確認して承認するための差分ビューを作成します。

  3. 変更後にデプロイを再試行するには、このセクションの手順を繰り返します。

アプリケーション コードとインフラストラクチャ設計を Google Cloudにデプロイしました。

クリーンアップ

このチュートリアルで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、リソースを含むプロジェクトを削除するか、プロジェクトを維持して個々のリソースを削除します。

    プロジェクトを削除する: Google Cloud

    gcloud projects delete PROJECT_ID

次のステップ