アイデアからリリースまで: 2025 年に Google Cloud で最初のアプリケーションをリリースする

1. ブループリント、基盤の設定

家を建てる前に、土地を確保し、材料の支払い方法を設定し、ツールボックスを開く必要があります。クラウドでは、これらのコンセプトは プロジェクト課金に変換されます。

Google Cloud プロジェクトとは

Google Cloud は、強力なツールとサービスが満載の巨大なデジタル倉庫のようなものです。プロジェクトは、そのウェアハウスのプライベートで安全なコーナーです。すべてのリソース(サーバー、データベース、コードなど)を保持し、すべての費用を追跡し、その中のツールへのアクセスと使用を許可するユーザーを管理するコンテナです。本日行うすべてのアクションは、このプロジェクトの境界内で行われます。

今回はプロジェクトに焦点を当てますが、企業が使用するより大きな構造の中でプロジェクトがどのように位置づけられているかを理解しておくと役立ちます。Google Cloud は、すべてを明確なトップダウン階層で整理します。

Organization (The entire Corporation, e.g., "MegaCorp Inc.")
└── Folders (The Corporate Divisions, e.g., "Research & Development")
    ├── Project (A specific team's lab, e.g., "Project Phoenix - R&D")
    │   └── Resources (The tools in the lab, e.g., a specific server)
    └── Project (Another team's workshop, e.g., "Q4 Marketing Campaign")
        └── Resources (The tools for that campaign, e.g., a storage bucket)

この階層の上から下へのレベルは次のとおりです。

  1. 組織ノード:
    • これは、会社全体の本社です(例: yourcompany.com)。最上位に位置し、会社全体のセキュリティ ポリシーと課金ポリシーが設定されます。Google Cloud の無料トライアルでは、通常、組織ノードなしで運用します。これは学習にはまったく問題ありません。
  2. フォルダ:
    • これらは、企業内の部門(例: エンジニアリング、財務)。これは、プロジェクトをグループ化し、チーム全体にポリシーを一度に適用するために使用されるオプションのレイヤです。このワークショップではフォルダを使用しません。
  3. プロジェクト(重点分野):
    • これは特定のチームのワークショップまたはラボです。これは実際の作業が行われる場所であり、このワークショップで最も重要なレベルです。作成するすべてのリソースは、プロジェクト内に存在する必要があります。プロジェクトは、API(サービス)を有効にして請求先アカウントをリンクするレベルでもあります。
  4. リソース:
    • これらは、ワークショップ内の個々のツールとマシンです。デプロイする Cloud Run アプリケーションはリソースです。仮想マシン、データベース、ストレージ バケットはすべてリソースの例です。

ハンズオン: プロジェクトの作成と構成

  • goo.gle/devfest-boston-ai/ を獲得しましょう。Google Cloud Platform 利用規約に同意します。適用されると、クレジットが適用されたことを示すメッセージが表示されます。クレジット適用済み
  • に移動します。
  • 上部のナビゲーション バーで、[プロジェクトを選択]、[新しいプロジェクト] の順にクリックします。プロジェクトを検索する
  • プロジェクトに一意の名前を付けます(例: idea-to-launch-yourname)を選択し、[作成] をクリックします。[組織なし] を選択します。新しいプロジェクト
  • ページ上部のプルダウン メニューで新しいプロジェクトが選択されていることを確認します。

請求が重要な理由

請求先アカウントはプロジェクトの財務基盤であり、使用するリソースの費用を支払う「登録済みのクレジット カード」です。このワークショップでは、Google Cloud 無料トライアルを使用します。これにより、無料のクレジットが提供されます。これは安全なサンドボックス環境です。クレジットを使い切るかトライアル期間が終了しても、ご自身でアカウントをアップグレードしない限り、料金が自動的に請求されることはありません。費用を管理するには、まず課金を理解する必要があります。予算とアラートを設定するなどのベスト プラクティスを適用すると、費用が一定の制限に近づいた場合にメール通知を受け取ることができるため、予期しない料金の発生を防ぐことができます。

ハンズオン: 請求先アカウントをリンクする

  • [] に移動します。
  • [請求先アカウントをリンク] をクリックします。請求先アカウントをリンクする
  • プルダウンから [Google Cloud Platform Trial Billing Account] を選択し、[アカウントを設定] をクリックします。(プルダウン メニューが表示されない場合は、クレジットが適用されるまで 1 分ほど待ってからページを再読み込みしてください)。

ハンズオン: 予算アラートを設定する(ベスト プラクティス)

課金が有効になったので、費用の管理に関する重要なベスト プラクティスである予算の設定を行いましょう。この設定では、金額に達してもサービスは停止されません。代わりに、費用を常に把握できるようにメール アラートが送信されます。

  1. [お支払い] ページの左側のメニューで、[予算とアラート] をクリックします。
  2. ページ上部にある [+ 予算を作成] をクリックします。予算の作成
  3. 予算に名前を付ける: Workshop-Alert などの簡単な名前を付けます。
  4. スコープ: デフォルト設定のままにします。現在のプロジェクトが選択されているはずです。[次へ] をクリックします。予算の作成
  5. 金額: [予算額] セクションの [金額タイプ] で、[指定額] を選択します。少額(10 など)を入力します。つまり、予算は 10 ドルです。[次へ] をクリックします。予算の作成
  6. アクション: アラートを設定する場所です。デフォルトでは、利用額が予算額の 50%、90%、100%(5 ドル、9 ドル、10 ドル)を超えたときにアラートが設定されます。
    • [メール通知] で、[課金管理者とユーザーに送信されるメールアラート] がオンになっていることを確認します。これにより、アカウントに関連付けられているメールアドレスに通知が送信されます。
  7. [完了] をクリックします。予算の作成

これで、プロアクティブな費用管理ツールが設定されました。実際のプロジェクトでは、これは財務上の予期せぬ事態を防ぐための最も重要な最初の手順の 1 つです。

サービスとは何か、なぜ有効にするのか

プライベート ラボにコマンド センターを設定したので、利用可能な重機について説明します。Google Cloud は、データベースから AI モデルまで、200 種類を超える独自のプロダクトを提供しています。これらはそれぞれ Service と呼ばれます。Cloud Run を「自動化された配送とロジスティクス サービス」、Gemini を「AI 発明とプロトタイピング サービス」と考えるとわかりやすいでしょう。これらの強力なサービスを使用するには、まず、プロジェクトで対応する API(アプリケーション プログラミング インターフェース)を有効にする必要があります。

サービスの概要

倉庫とラボの例え話を続けましょう。Google Cloud プロジェクトは、巨大な倉庫内の専用のワークショップのようなものです。ワークショップには、AI 分析用のステーション、グローバル デプロイ用のステーション、データ ストレージ用のステーションなど、さまざまな高度なワークステーションが備えられています。安全性と効率性を確保するため、これらの専用ワークステーションへの主電源コンジットはデフォルトでオフになっています。

API を有効にするとは、ラボ内の特定のワークステーション(「AI プロトタイピング ステーション」など)に移動して、メイン電源スイッチを「オン」の位置に切り替えることです。

しかし、デフォルトですべてが無効になっているのはなぜですか?これは、いくつかの重要な理由から意図的に設計されたものです。

  • セキュリティ: プロジェクト レベルで最小権限の原則が適用されます。サービスを使用していない場合、プロジェクトへの接続は非アクティブになり、攻撃対象領域が縮小されます。
  • ガバナンスと費用管理: 費用がかかる可能性のあるサービスの使用を開始するには、監査可能な慎重なアクションが必要です。これにより、誤った使用を防ぎ、組織はチームが使用しているツールを管理できます。
  • シンプルさ: プロジェクト環境をクリーンに保ちます。使用する予定のないサービスのオプションで権限とダッシュボードが煩雑になることはありません。

ハンズオン: 環境を初期化する

  1. Vertex AI、Cloud Run、Cloud Build、Compute API を有効にします。
    • API の詳細ページで、青色の [有効にする] ボタンをクリックします。プロセスが完了するまで待ちます。サービスの有効化

2. アプリケーションの保護: 誰(または何)がアプリを制御できるか

コンセプトの概要

アプリケーションがインターネット上で公開されました。これは素晴らしい成果です。しかし、ここで重要な疑問が生じます。なぜこのようなことが起こったのでしょうか?コードをデプロイすると、一連の安全な権限ベースの「ハンドシェイク」がバックグラウンドで実行されます。これらを理解することが、クラウド セキュリティの鍵となります。

これらはすべて Identity and Access Management(IAM)によって管理されます。

  • IAM の基本式 IAM は、シンプルながら強力な原則に基づいて動作します。それは、「誰がどのリソースで何をできるか」です。
  • 「誰」の 2 種類(プリンシパル)これまでのワークショップでは、次の 2 つの基本的な ID タイプを見てきました。
    1. ユーザー: これはあなたです。個人用 Gmail アカウントなど、ユーザーに関連付けられた ID。
    2. サービス アカウント: アプリケーションとサービス用の特別な人間以外の ID です。コードの ID バッジのようなものと考えてください。ある Google Cloud サービス(Cloud Build など)が別のサービス(コンテナを保存する Artifact Registry など)とやり取りする必要がある場合、サービス アカウントを使用して権限があることを証明します。

アプリケーションをデプロイすると、両方のタイプの ID が使用されます。

  • ユーザー アカウントにデプロイを開始する権限があった。
  • Cloud Build サービスのサービス アカウントに、コードをビルドして結果のコンテナを保存する権限が付与されていました。

アクセスの管理

IAM コンソールを使用して、デプロイを可能にした権限を調べ、別のユーザーに特定のアクセス権を付与します。

  1. 調査: IAM コンソールに移動する
    • に移動します。
    • このページは、プロジェクトのセキュリティ ダッシュボードです。プロジェクトへのアクセス権を持つすべての「プリンシパル」(「誰」)が一覧表示されます。
  2. Find Your Identity(ユーザー)
    • プリンシパルのリストで、自分のメールアドレスを見つけます。ロールが「オーナー」になっていることに注目してください。オーナーロールには、プロジェクト内のすべての操作を行うための完全な権限が付与されます。そのため、API を有効にして gcloud run deploy コマンドを実行する権限が付与されました。
  3. サービスの ID(サービス アカウント)を確認する
    • [PROJECT_NUMBER]-compute@developer.gserviceaccount.com などの名前のプリンシパルを探します。これは、Cloud Build サービスで使用されるデフォルトのサービス アカウントです。
    • そのロールを確認します。「Cloud Build サービス エージェント」などのロールが割り当てられます。このロールには、ソースコードの取得やコンテナ イメージのレジストリへの書き込みなど、ジョブの実行に必要な特定の権限が含まれています。これは、デプロイの重い処理を行った ID です。
  4. アクセスを管理する(実践的なタスク)
    • それでは、関連するセキュリティ タスクを実行してみましょう。新しく入社した同僚が、デプロイしたばかりの 2 つのアプリケーション(fact-app-manualfact-app-cli)のパフォーマンスをモニタリングし、ログを確認できるようにする必要があるとします。ただし、セキュリティ上の理由から、新しいバージョンのデプロイや削除は許可しない必要があります。
    • [IAM] ページの上部にある [+ アクセス権を付与] をクリックします。
    • [新しいプリンシパル] フィールドに、dev-intern@example.com などの架空のメールアドレスを入力します。
    • [ロールを選択] プルダウンで、フィルタを使用して、ロール「Cloud Run 閲覧者」を検索して選択します。このロールは、最小権限の原則の完璧な例です。Cloud Run サービスに対する読み取り専用アクセス権のみが付与されます。(または、[推奨ロールを表示] を使用してみてください)。
    • [保存] をクリックします。
  5. 結果を確認する
    • これで、新しいユーザーが追加され、このワークショップで作成したリソースに直接関連するきめ細かい最小権限のロールがユーザーに付与されました。2 つのファクトチェック アプリは表示されますが、変更はできません。ユーザー アカウントとサービス アカウントが連携して、安全で監査可能なクラウド環境を構築する方法について説明しました。

今度は、ユーザーではなく別のアプリやサービスに権限を付与する練習をしてみましょう。サービス アカウント vertex-express@... で表される外部の自動化ツールが、プロジェクト内の AI サービスを使用できるようにする必要があるとします。適切なロールを付与する必要があります。

  1. [サービス アカウント] ページに移動します。
    • IAM ページで、[サービス アカウント] に移動します。
  2. ターゲット サービス アカウントを見つける:
    • サービス アカウントのリストで、vertex-express@ecstatic-acumen-{PROJECT_NUMBER}-c9.iam.gserviceaccount.com という名前のサービス アカウントを見つけます。({PROJECT_NUMBER} は実際のプロジェクト番号に置き換える必要があります)。これは、権限を付与する ID です。
  3. サービス アカウントの権限を管理する:
    • 右側の [操作] 列で、3 つのドットをクリックすると、プルダウン メニューが表示されます。
    • このサービス アカウントでできることを管理するには、[権限を管理] をクリックします。
  4. 「Vertex AI ユーザー」ロールを付与する:
    • [ロールを割り当てる] プルダウンで、フィルタを使用して、「Vertex AI ユーザー」ロールを検索して選択します。
    • [保存] をクリックします。

これで、サービス アカウントの特定のページから正しいプロジェクト レベルの権限ページに移動し、プロジェクト内で AI 機能を使用する権限を付与できました。

3. AI アシスタントを使用してコードを作成する

コンセプトの概要

すべてのアプリケーションはコードから始まります。通常、これが最も時間のかかる部分です。本日、AI パートナーである Gemini と協力して、このプロセスを加速させます。ただし、最初のコマンドを記述する前に、Google Cloud が提供する AI ツールの概要を理解しておくことが重要です。

Google の AI サービスは、最もシンプルなものから最も強力なものまで、主に次の 3 つのカテゴリに分類できます。

「クリエイティブ エンジン」(Gemini)は、それぞれ異なる目的で設計された 2 つのメイン インターフェースを通じて操作できます。

  • Google AI Studio(aistudio.google.com
    • 概要: Gemini を使用して迅速なプロトタイピングとテストを行うための無料のウェブベースのツール。これは、プロンプトの作成を開始して、モデルで何ができるかを確認する最も簡単な方法です。
    • 仕組み: Google アカウントだけで使用を開始できます。アプリケーションで使用するには、API キーを生成します。このワークショップで使用するには、プロジェクトで「Generative Language API」サービスを有効にする必要があります。
    • 例: AI Studio は、公共図書館やオープン ワークショップのようなものです。簡単に立ち寄って、ツールを無料で試すことができます。
  • Vertex AI
    • 概要: 機械学習のライフサイクル全体を管理するための Google Cloud のエンドツーエンド プラットフォームです。Gemini などの基盤モデルを使用できるだけでなく、独自のカスタム ML モデルをゼロから構築、トレーニング、デプロイできる、完全なプロフェッショナル ワークベンチです。エンタープライズ グレードのセキュリティ、スケーラビリティ、ガバナンスを実現するように構築されています。また、同じツールのエンタープライズ グレード バージョンも提供しており、Google Cloud プロジェクトに完全に統合されています。
    • 仕組み: 同じ強力なモデルを使用しますが、プロジェクトのセキュリティ、アクセス制御(IAM)、データ ガバナンスのすべての機能が継承されます。これは、パート 1 で aiplatform.googleapis.com API を有効にして有効にしたサービスです。
    • 例: Vertex AI は、プライベートで安全な企業の研究開発ラボです。実行したすべての操作は、ロギング、保護され、他のプロジェクト リソースに接続されます。

ハンズオン: Vertex AI Studio でアプリケーション コードを生成する

Vertex AI 内のビジュアル ツールを使用してアプリをビルドするとどうなるかを見てみましょう。

  1. Vertex AI Studio に移動します。
  2. ウェブサイトを生成する:
    • プロンプト ボックスに、後で使用するリクエストとまったく同じリクエストを入力します。
    Create the code for a simple web application that shows Halloween fun facts. The application should be built using the Python functions_framework for Cloud Run. The entry point function must be named 'hello_http'. When a user visits the main page, the server should randomly display one fact from a list. The page should have a separate 'index.html' file for the structure and a 'style.css' file to give it a spooky theme 
    
    • Enter キーを押すと、モデルは、Python(main.py)、HTML(index.html)、CSS(style.css)の 3 つの異なるブロックでコードを生成します。

このブラウザタブは開いたままにしておいてください。次のセクションでは、これらの 3 つのブロックからコードをコピーする必要があります。AI がファイルを正しく分離していることがわかります。これはベスト プラクティスですが、後述するように、デプロイにはいくつかの手動ステップが必要です。

4. Cloud Run を使用して世界にデプロイする

コンセプトの概要

コードは生成されましたが、ブラウザに表示されるのはテキストだけです。お客様にサービスを提供するには、サーバーで実行する必要があります。Cloud Run は「サーバーレス」プラットフォームです。つまり、コードはユーザーが提供し、サーバー、スケーリング、セキュリティなど、その他のすべては Google が処理します。最も強力な機能はゼロへのスケーリングです。アプリにアクセスするユーザーがいない場合、アイドル時間に対して料金は発生しません。

  • 「サーバーレス」とは何ですか?従来、アプリのデプロイとは、サーバー(仮想マシン)をレンタルし、オペレーティング システムをインストールし、ネットワークとセキュリティを構成し、常にメンテナンスすることを意味していました。サーバーレスは、デベロッパーがコードのみに集中できる最新のクラウド アプローチです。コードを Cloud Run などのサービスに渡すと、サーバー、スケーリング、セキュリティ、ネットワーキングなど、他のすべての処理がサービスによって行われます。
  • Cloud Run の仕組み: スケーリングの魔法 Cloud Run にデプロイすると、コードがコンテナ(アプリケーションとそのすべての依存関係の標準化されたポータブル パッケージ)にパッケージ化されます。ユーザーがアプリの URL にアクセスすると、Cloud Run はリクエストを処理するためにコンテナを直ちに起動します。1,000 人のユーザーが同時にアクセスすると、1,000 個のコピーが自動的に開始されます。最も強力な機能は、ゼロへのスケーリングです。アプリにアクセスしているユーザーがいない場合、Cloud Run は実行中のコンテナの数をゼロまでスケールダウンします。つまり、アイドル時間に対して料金は一切発生しないため、非常に費用対効果が高くなります。

最初のデプロイでは、Cloud Run コンソールのインライン エディタを使用して、コードを手動でコピーします。

ハンズオン: アプリケーションのデプロイ

  1. Cloud Run 作成ウィザードを起動します。
    • に移動します。
    • ページ上部の [+ 関数を作成] をクリックします。
  2. サービスを構成します。
    • [インライン エディタで関数を作成する] を選択します。
    • サービスに名前(fact-app-manual)を付けます。
    • ランタイム Python 3.13 を選択します。
    • リージョン を選択します。us-central1
    • [公開アクセスを許可する] を選択します。
    • その他の設定はすべてデフォルトのままにします。
    • 下部の [作成] ボタンをクリックします。
  3. コードを入力:
    • デフォルトの main.py ファイルと requirements.txt ファイルを含むエディタが表示されます。
    • main.py: [Vertex AI Studio] タブに移動します。Python コードブロック全体をコピーします。Cloud Run エディタに戻り、デフォルトの main.py コンテンツをコピーしたコードに置き換えます
    • requirements.txt:* エディタで requirements.txt ファイルをクリックします。Python コードには functions-framework が必要です。ファイルの内容を次のように置き換えます。
      functions-framework
      
    • index.html: エディタのファイル エクスプローラで、[+] をクリックして新しいファイルを追加します。ファイル名を index.html とします。Vertex AI Studio のタブに移動し、HTML コードブロックをコピーして、この新しい index.html ファイルに貼り付けます。
    • style.css: 「+」をクリックして新しいファイルを追加します。style.css という名前を付けます。Vertex AI Studio のタブに移動し、CSS コードブロックをコピーして、この新しい style.css ファイルに貼り付けます。
  4. サービスをデプロイします。
    • 3 つのファイルが正しい場所に配置されたら、[SAVE and DEPLOY] ボタンをクリックします。
  5. ライブ アプリケーションにアクセスする:
    • デプロイには数分かかります。完了すると、サービスの詳細ページが表示され、一番上に公開 URL が表示されます。
    • この URL をクリックします。これで、アプリケーションが動作するようになりました。この方法でうまくいきましたが、手作業でのコピー&ペーストが非常に多くなりました。

5. デベロッパーのワークフローの最適化

コンソールは学習には最適ですが、反復開発には時間がかかります。次に、Cloud ShellGemini CLI を使用して、この複数ステップのプロセス全体を効率的な会話に変える、デベロッパーが好むワークフローを見てみましょう。

Cloud Shell と Gemini CLI とは

Cloud Shell は、ブラウザで実行される完全な Linux コンピュータです。gcloud CLI(Google Cloud のリモート コントロール)などのデベロッパー ツールがプリロードされています。

Gemini CLI は、ターミナルで動作するインタラクティブな AI 搭載のコーディング アシスタントです。

Gemini 拡張機能とは何ですか?

Gemini CLI は強力なスマートフォンに似ています。それ自体が非常に有能です。拡張機能は、アプリストアからインストールするアプリのようなものです。これにより、Gemini CLI にデフォルトでは備わっていない新しい特殊な機能が追加されます。たとえば、nanobanana 拡張機能は、Gemini CLI を Google の強力な画像生成モデルに接続する「アプリ」であり、コマンドラインから直接画像を生成できます。

ハンズオン: 効率化されたワークフロー

  1. API キーを生成する
    • [] に移動します。
    • [+Create API Keys] ボタンをクリックします。
    • このキーを保持する
  2. Cloud Shell をアクティブにして構成する:
    • Google Cloud コンソールの上部にある Cloud Shell をアクティブにするアイコン(>_)をクリックします。
    • ターミナルで次のコマンドを実行して環境を設定します。その際、プロジェクト ID は実際のプロジェクト ID に置き換えてください。
      # Set your Project ID
      export PROJECT_ID="[your-project-id-goes-here]"
      
      NANOBANANA_GOOGLE_API_KEY を設定します。API キーに置き換えます。(「Y」と話しかけて、インストールを続行します)。
      gcloud config set project $PROJECT_ID
      
      # REPLACE with your API Key.
      export NANOBANANA_GOOGLE_API_KEY="[your-api-key-goes-here]"
      
      ターミナルで、次のコマンドを実行して拡張機能をインストールします。
      # Configure the CLI to use your project with Vertex AI
      export GOOGLE_CLOUD_PROJECT=$PROJECT_ID
      export GOOGLE_CLOUD_LOCATION=us-central1
      export GOOGLE_GENAI_USE_VERTEXAI=true
      
      # Install the image generation extension
      gemini extensions install https://github.com/gemini-cli-extensions/nanobanana
      
  • ここでは、AI コーディング アシスタントとして機能する強力なコマンドライン インターフェースである Gemini CLI を使用します。これにより、必要なコードを平易な英語で記述すると、構造が生成されるため、開発を大幅にスピードアップできます。
  1. インタラクティブ AI セッションを開始する:
    • プロジェクトの新しいディレクトリを作成し、インタラクティブ モードで Gemini CLI を起動しましょう。ターミナルで次のコマンドを実行します。
      mkdir ~/2025-website
      cd ~/2025-website
      cat <<EOF > .env
        GOOGLE_CLOUD_PROJECT=$PROJECT_ID
        GOOGLE_CLOUD_LOCATION=$GOOGLE_CLOUD_LOCATION
        GOOGLE_GENAI_USE_VERTEXAI=true
        NANOBANANA_GOOGLE_API_KEY=$NANOBANANA_GOOGLE_API_KEY
      EOF
      clear
      gemini --yolo
      
  2. アプリを生成してイテレーションする:
    • AI アシスタントとのチャット セッションが開始されました。次のプロンプトを貼り付けて、1 つのコマンドでウェブサイト全体を生成します。
      Write a simple web app that shows Halloween fun facts using the Python Flask. When a user visits the main page, it should show one random fact. Include a button that fetches and displays a new fact when clicked. Create a simple, clean index.html, a separate style.css with a spooky theme, and a requirements.txt file. After creating the files, attempt to start the web app locally on port 8080.
      
    • ローカルでテスト: AI がファイルを作成し、ウェブサーバーを起動します。(読み込みが停止しないことがあります。サーバーの起動を試みている場合は、次の手順に進んでください。)
    • Cloud Shell ツールバーの [ウェブでプレビュー] アイコンをクリックし、[ポート 8080 でプレビュー] を選択すると、新しいタブにサイトが表示されます。
    • Gemini CLI で Esc を押してリクエストをキャンセルするか、Gemini CLI に Stop the web server を促します。
  3. AI 生成の画像でウェブサイトを更新する:
    • では、拡張機能を使用してみましょう。/ で始まるコマンドは、AI へのプロンプトではなく、ツールに向けられた「スラッシュ コマンド」です。
      /generate 3 images of spooky halloween fun
      
    • 拡張機能によって 3 つの画像が作成されます。それでは、AI にウェブサイトを変更してそれらを使用するように依頼してみましょう。
      Update the website so it will display and rotate between the 3 newly generated images each time the button is clicked. And do NOT start the server.
      
  4. デプロイの準備:
    • Cloud Run はコンテナを使用してコードをデプロイします。Dockerfile は、コンテナをビルドするためのレシピです。AI に作成を依頼してみましょう。
      Create a Dockerfile suitable for deploying this Python Flask app to Cloud Run.
      
  5. 単一のコマンドでデプロイする:
    • CtrlC を 2 回押して、Gemini CLI を終了します。または、プロンプトに /quit と入力します。
    • 次に、gcloud CLI を使用して、現在のディレクトリからアプリケーション全体をデプロイします。
      gcloud run deploy fact-app-cli \
        --source . \
        --region us-central1 \
        --allow-unauthenticated
      
  6. 違いを確認する:
    • 数分後、AI によって生成された機能満載のウェブサイトの新しい URL が表示されます。Cloud Run コンソールにアクセスすると、fact-app-manualfact-app-cli の両方のサービスが表示されます。これで、コマンドライン デベロッパー ワークフローの速度とパワーを体験できました。

完了

Google Cloud で開発ライフサイクル全体を正常に完了しました。空のプロジェクトから開始し、次の操作を行いました。

  • 課金が設定された安全なプロジェクトを構成しました。
  • AI アシスタントを使用して完全なアプリケーションを作成した。
  • そのアプリケーションをスケーラブルなサーバーレス プラットフォームにデプロイした。
  • IAM を使用してセキュリティを管理する方法を学習しました。

これで、Google Cloud でさらに複雑で高性能なアプリケーションを構築するための基礎スキルが身につきました。