対カルト戦-回想録
対カルト戦-回想録

AIを作成する(簡易版)


これはGoogle AI Studioであり、Gemini APIキーとGoogle Cloudの2つの利用料金が発生する?

これはPlaygroundではなくて、GASコードを入力せずに推論AIを用いたGoogleサービス連携を作成して使えるようにすることができる?


  • 料金の仕組みについて(2つの利用料金が発生する?)
    • いいえ。支払いの管理元は分かれておらず、Google AI Studioでアプリを構築・公開する際も、裏側で紐づくGoogle Cloudプロジェクト内の「前払いチャージ残高(または設定した請求先)」からまとめて消費されます。別々の場所で二重に請求が来るわけではありません。
  • GASコードを使わずにアプリを作成できるか?
    • はい。Google Apps Script(GAS)のコードを一切書かなくても、画面上の指示やチャットでのやり取りだけで、自動的にWebアプリケーションのコード(HTMLやTypeScriptなど)が生成され、すぐにプレビューや利用ができる仕組みになっています。


ゲームみたいに仕上がるが、これはPlayground?
GASコードを入力しなくても推論AIを用いたスクリプトを作成している?
Publishにすると有料課金ボランティアになる可能性がある?


  • これはPlayground?
    • いいえ、Google AI Studioのアプリ作成・プロトタイピング機能(Webアプリビルダー環境)です。通常のテキストやプロンプトを試す「Playground画面」ではなく、AIを活用したWebアプリケーションを自動構築・プレビューする画面です。
  • GASコードを入力しなくても推論AIを用いたスクリプトを作成している?
    • はい。画面左側に index.html や server.ts、各種コンポーネント(TypeScript製コード)が自動生成されている通り、GAS(Google Apps Script)を使わなくても、AIとの対話だけでWebアプリのコード(フロントエンド・バックエンド)全体が自動で組み立てられています。
  • Publishにすると有料課金ボランティアになる可能性がある?
    • はい、意図しない公開やアクセス集中が起きた場合に予期せぬコストが発生するリスクがあります。Publish(公開)すると、Google Cloudの請求先アカウントに紐づいた有料の従量課金・前払い枠からAPI利用料などが消費されるため、共有範囲やアクセス制限(認証設定など)を適切に行わないと、他人に利用されて費用がかさむ可能性があります。


通常はこの方法で作成したモノをどのようにして使用する?


Google AI Studioのアプリビルダーで作成したWebアプリケーションは、通常、以下のいずれかの方法で使用します。

  • 自分用やチーム内のテストとして使う(プレビュー・共有)
    • 画面右上の「Preview」でそのままブラウザ上で操作・テストする。
    • 「Share」ボタンを使って、特定のメンバーにURLを共有して試してもらう。
  • 外部へ公開して本格的なWebアプリとして動かす(Publish)
    • 「Publish」ボタンを押し、Google Cloudのプロジェクトに紐づけてWeb上で公開する。
    • 公開されたURLをブラウザで開くことで、通常のWebサービスと同じようにユーザーがアクセスして利用できるようになる。
  • ソースコードをエクスポートして自分の環境で動かす
    • 生成されたコード(React/TypeScriptやNode.jsなど)をGitHubに連携したりダウンロードしたりして、自身のサーバーやクラウド(Firebase、Cloud Runなど)にデプロイし直して本格運用する。


外部へ公開して本格的なWebアプリとして動かす(Publish)

​「Publish」ボタンを押し、Google Cloudのプロジェクトに紐づけてWeb上で公開する。

​公開されたURLをブラウザで開くことで、通常のWebサービスと同じようにユーザーがアクセスして利用できるようになる。

有料課金ボランティアにならない為にはどうすればいい?


結論から言うと、「アクセス制限(認証)」と「Google Cloud側の予算・割り当て制限」を二重で設定することが有効な対策です。

具体的には、以下の手順・設定を行うことで他人に勝手に使われて高額請求される(課金ボランティアになる)リスクを防げます。

1. アプリ自体にアクセス制限(ユーザー認証)をかける

公開したURLを知っている人なら誰でも使える状態(完全パブリック)を回避します。

  • Googleログイン(OAuth認証)やパスワード制限を入れる
    • AI Studioのプロンプト(チャット欄)で「許可したGoogleアカウント(またはパスワードを知っている人)だけがログインして使えるようにして」と指示し、コードに認証機能を組み込んでもらいます。
  • 特定ユーザーのみ許可リスト(Allowlist)化する
    • 自分のメールアドレスや特定のメンバーのみ利用できるように処理を追加します。

2. Google AI Studio / Gemini APIの利用上限(Quota)を設定する

APIが短時間・大量に実行されるのを物理的に防ぎます。

  • 1日・1分あたりのリクエスト数制限を設定
    • Google Cloud Consoleの「IAMと管理」>「割り当て(Quotas)」から、Gemini APIの1分あたり・1日あたりの呼び出し上限(RPM / RPD)を低い値に制限しておきます。

3. Google Cloud側で「予算アラート」を設定する

万が一制限をすり抜けて利用された場合に備え、即座に検知できるようにします。

  • 予算とアラートの設定
    • Google Cloud Consoleの「お支払い(Billing)」>「予算とアラート」から、月額予算(例: 1,000円など)を設定します。
    • 「予算の50%・80%・100%に達したらメール通知」するように設定しておくことで、異常な課金を早期に発見できます。

4. APIキーや認証情報をフロントエンド(ブラウザ側)に露出させない

公開したWebアプリのソースコード内にAPIキーが直接書き込まれていると、悪意のある第三者にキーを抜き取られて利用される危険があります。

  • バックエンド経由で処理させる
    • 生成されたコードで、Gemini APIの呼び出しがサーバー側(server.tsなど)で行われているか確認し、ブラウザ(フロントエンド)から直接APIキーを参照しない構造にします。

まとめ

  • 自分や身内だけで使いたい場合: アプリにログイン認証(Googleログイン等)を追加してからPublishする。
  • 不特定多数に公開したい場合: API上限(Quota)の制限+予算アラートの設定を必須で行う。