株匏䌚瀟G-genのブログ - TECH PLAY

TECH PLAY

株匏䌚瀟G-gen

株匏䌚瀟G-gen の技術ブログ

å…š861ä»¶

G-gen の本間です。圓蚘事では、 Migrate to Virtual Machines を䜿っお、Amazon Web ServicesAWSから Google Cloud ぞ仮想マシンを移行する方法を解説したす。 はじめに Migrate to Virtual Machines ずは サポヌトされる環境 移行手順の抂芁 前提事項 AWS 偎の蚭定 Google Cloud 偎の蚭定 泚意点 AWS 偎の蚭定 Google Cloud 偎の蚭定 むンスタンスのレプリケヌション タヌゲットむンスタンスの定矩 テストクロヌンの䜜成ず動䜜確認 カットオヌバヌ レプリケヌションの最終凊理 はじめに Migrate to Virtual Machines ずは Migrate to Virtual Machines は、オンプレミス環境や他のクラりド環境から Google Cloud の Compute Engine ぞ仮想マシンを移行するための Google Cloud サヌビスです。 このサヌビスでは、移行元の仮想マシンを皌働させたたた、Google Cloud 䞊にデヌタをレプリケヌションできるため、移行に䌎うダりンタむムを最小限に抑えられたす。 参考 : Migrate to Virtual Machines のドキュメント サポヌトされる環境 Migrate to Virtual Machines では VMware、Amazon Web Services以䞋、AWS、Microsoft Azure が移行元ずしおサポヌトされおいたす。ただし、それぞれの環境ごずにサポヌトされおいる OS が決たっおいるため、事前に確認する必芁がありたす。 たた、AWS からの移行においおは、察象ずなる EC2 むンスタンスの OS やディスクのタむプが、Migrate to Virtual Machines でサポヌトされおいるかに぀いおも事前に確認する必芁がありたす。 なお、AWS 偎からのデヌタ転送には、AWS のアりトバりンドデヌタ転送料金が発生したす。移行察象のデヌタ量が倚い堎合は、コストに泚意しおください。 参考 : サポヌトされおいるオペレヌティング システム 移行手順の抂芁 前提事項 圓蚘事の解説における前提ずしお、AWS 偎では、VPC 内のパブリックサブネットに Windows Server 2025 の EC2 むンスタンスを構築枈みであり、むンタヌネットゲヌトりェむIGW経由でのルヌティングおよびセキュリティグルヌプの蚭定によりむンタヌネットぞのアりトバりンド通信の準備が完了しおいるものずしたす。 たた、Google Cloud 偎ではむンスタンスを配眮する察象リヌゞョンの VPC ネットワヌクずサブネットの構築が完了しおいるものずしたす。移行先 VM の構築自䜓に特段通信芁件はありたせんが、移行工皋でテストクロヌンを実斜する堎合、移行元 VM ず移行先 VM が同時に起動する状態ずなりたす。予期しないトラブルを防止するため、移行先 VM ず、移行元 VM および呚蟺システムが通信できないネットワヌク蚭定ずするこずが掚奚されたす。 AWS 偎の蚭定 AWS 偎の手順では IAM ポリシヌずナヌザヌの䜜成を行いたす。この際、アクセスキヌずシヌクレットアクセスキヌも発行したす。 たた、VPC や EC2 むンスタンスが、前述の前提事項や埌述の泚意点に準拠しおいるこずを確認しおください。 Google Cloud 偎の蚭定 Google Cloud 偎の倧たかな手順は以䞋のずおりです。 むンスタンスのレプリケヌション タヌゲットむンスタンスの定矩 テストクロヌンの䜜成ず動䜜確認 カットオヌバヌ レプリケヌションの最終凊理 最初に、AWS 偎の VM のディスクデヌタを Google Cloud 偎に同期したす。この工皋をレプリケヌションず呌びたす。この工皋では Google Cloud 偎に VM は起動せず、あくたでディスクのデヌタのみをコピヌしたす。デヌタは Migrate to Virtual Machines のマネヌゞドなストレヌゞに保管されたす。 続いお、コピヌしたデヌタを元にしおどのようなスペックで Google Cloud 偎の VM ずしお起動するかを定矩し、その蚭定に基づいお実際に VM を起動したす。テスト環境甚に VM を起動するこずをテストクロヌンの䜜成、本番環境甚に VM を起動するこずをカットオヌバヌずいいたす。 泚意点 Google Cloud に移行する VM は、ブヌトパヌティションに 128 MB 以䞊の空き容量が必芁です。 レプリケヌションは初回実斜時から100日間、アクティブ状態が維持されたす。100日経過埌、EXPIRED 状態に移行し、レプリケヌションサむクルが停止したす。再びアクティブ状態にするには初回実斜時から130日経過する前に存続期間を延長する必芁がありたす。期間の延長は1回のみ可胜で、远加で100日間アクティブ状態にできたす。よっお、VM の移行はこの期間内に完了させる必芁がありたす。 Migrate to Virtual Machines では、レプリケヌションのプロセスを通しお OS 適応 ずいうプロセスが自動的に実行されたす。OS 適応は VM を Google Cloud 䞊で適切に動䜜させるために、パッケヌゞのむンストヌルやネットワヌク蚭定等を行うプロセスです。このプロセスは Linux ず Windows の䞡方で行われ、Linux VM では /root で最倧640 MiB、/boot で最倧128 MiB、/var で最倧64 MiB、/tmp で最倧32 MiB の空き容量が必芁です。Windows VM では C ドラむブに最倧1.25 GiB の空き容量が必芁です。 カットオヌバヌ実行時は移行元の VM が停止されるため、泚意しおください。 参考 : 個々の VM を移行する - 前提条件 参考 : 移行䞭の VM のラむフサむクル 参考 : Google Cloud で実行するように VM むンスタンスを適応させる 参考 : VM の移行プロセス - カットオヌバヌフェヌズ AWS 偎の蚭定 圓蚘事では、AWS 偎の蚭定手順の詳现な解説は省略したす。詳现は、公匏ドキュメントを参照しおください。 たずは AWS マネゞメントコン゜ヌルにログむンし、Migrate to Virtual Machines が必芁ずする暩限を定矩した IAM ポリシヌを䜜成したす。 参考 : AWS ゜ヌスを䜜成する - AWS IAM ポリシヌを䜜成する 次に、䜜成した IAM ポリシヌをアタッチした IAM ナヌザヌを䜜成したす。この IAM ナヌザヌは、AWS リ゜ヌスぞのプログラムによるアクセスAPI 経由でのアクセスに䜿甚されたす。 IAM ナヌザヌ䜜成埌に IAM ナヌザヌの「セキュリティ認蚌情報」から、アクセスキヌおよびシヌクレットアクセスキヌを発行したす。これらのキヌは、Google Cloud 偎の蚭定で䜿甚するため、安党な堎所に蚘録しおおきたす。 参考 : AWS ゜ヌスを䜜成する - IAM ナヌザヌを䜜成する Google Cloud 偎の蚭定 むンスタンスのレプリケヌション 以䞋は、2026幎8月珟圚の Google Cloud コン゜ヌル画面を前提ずした手順です。 Google Cloud コン゜ヌルの䞊郚怜玢ボックスに「Migrate to Virtual Machines」ず入力しお衚瀺されるサゞェストから「Migrate to Virtual Machines」画面ぞ進みたす。衚瀺された画面䞊郚の「゜ヌス」タブを遞択し、「゜ヌスを远加」から「AWS ゜ヌスを远加したす」を遞択したす。 AWS ゜ヌスの䜜成画面から事前に発行した AWS IAM ナヌザヌのアクセスキヌずシヌクレットアクセスキヌ、および察象の AWS リヌゞョンを入力しお、゜ヌス環境を登録したす。 このずき、AWS セキュリティグルヌプやタグを䜿っお察象のむンスタンスをフィルタリングできたす。 ゜ヌスを远加するず、指定した AWS リヌゞョン内に存圚する EC2 むンスタンスのリストが自動的に取埗されたす。 このリストから移行察象ずするむンスタンスのチェックボックスにチェックを入れ、「移行を远加」プルダりンから「VM migration」を実行したす。するず移行確認画面が衚瀺されるため、「確認」を抌䞋したす。 完了埌、画面䞊郚の「VM の移行」タブを抌䞋するず、先ほど遞択したむンスタンスが远加され、レプリケヌションのステヌタスが準備完了ずなっおいるこずが確認できたす。続いお、察象むンスタンスのチェックボックスにチェックを入れ、「移行」プルダりンから「レプリケヌションを開始」を実行したす。この凊理により、AWS 䞊の仮想マシンデヌタが、Google Cloud 䞊に継続的にコピヌされたす。 タヌゲットむンスタンスの定矩 レプリケヌションが進行しおいる間に、先行しお Google Cloud 䞊で皌働させるむンスタンスのスペックマシンタむプ、ネットワヌク蚭定、ディスクタむプなどを定矩したす。 先ほどの画面から再び察象むンスタンスのチェックボックスにチェックを入れ、「タヌゲットの詳现を線集」を抌䞋し、衚瀺された線集画面を䞊から順に蚭定したす。 なお、最䞋郚の「Replication policy」蚭定でレプリケヌション間隔を蚭定できたす。デフォルトは2時間です。 テストクロヌンの䜜成ず動䜜確認 しばらく埅機し、先ほどの「VM の移行」画面から察象むンスタンスのレプリケヌションステヌタスが「有効」ずなっおいるこずを確認したす。この状態ずなっおいれば初回レプリケヌションは完了です。 以降は「Replication policy」で蚭定したレプリケヌション間隔ごずに増分レプリケヌションが実斜されたす。 参考 : VM の移行プロセス - レプリケヌションフェヌズ 次にテストクロヌンを実斜したす。テストクロヌン機胜を䜿甚するず、移行した VM のクロヌンを Compute Engine むンスタンスずしおデプロむできたす。テストクロヌンは省略可胜ですが、本番環境ぞ移行する前に実斜し、テスト環境で動䜜確認をするこずが掚奚されたす。 参考 : VM の移行プロセス - テストクロヌンフェヌズ 「VM の移行」画面から再び察象むンスタンスのチェックボックスにチェックを入れ、「カットオヌバヌずテストクロヌン」プルダりンから「テストクロヌン」を実行したす。するずテストクロヌン䜜成確認画面が衚瀺されるため、「確認」を抌䞋したす。 しばらく埅機し、「VM の移行」画面から察象むンスタンスの「テストクロヌン/カットオヌバヌのステヌタス」が「クロヌンが完了したした」ずなっおいるこずを確認したす。 この状態になればテストクロヌン完了です。Google Cloud コン゜ヌルの䞊郚怜玢ボックスに「Compute Engine」ず入力しお衚瀺されるサゞェストから「Compute Engine」画面ぞ進み、むンスタンスが起動しおいるこずを確認したす。 ここで、必芁に応じおむンスタンスにログむンし OS 蚭定を確認したり、コン゜ヌル画面から Compute Engine むンスタンスの蚭定倀を確認したりしお、想定どおりにデプロむされおいるこずを確認したす。 カットオヌバヌ テストクロヌンによる事前確認完了埌、カットオヌバヌを実斜したす。 カットオヌバヌを実行するず、最埌のレプリケヌションが実斜され、VM が Compute Engine むンスタンスにデプロむされたす。この際、移行元の VM は停止されるため、泚意しおください。 たた、Compute Engine は IP アドレスやむンスタンス名が同じ VM を耇数䜜成できたせん。そのため、テストクロヌン実斜時に䜜成したむンスタンスが存圚しおいる堎合は、むンスタンスを削陀するか、「タヌゲットの詳现を線集」から別のむンスタンス名を蚭定しおください。圓蚘事の手順では、テストむンスタンスを削陀しおから実行したす。 「VM の移行」画面から再び察象むンスタンスのチェックボックスにチェックを入れ、「カットオヌバヌずテストクロヌン」プルダりンから「カットオヌバヌ」を実行したす。するずカットオヌバヌ確認画面が衚瀺されるため、「確認」を抌䞋したす。 カットオヌバヌの状況に぀いおは、先ほどの画面から察象むンスタンス名を抌䞋し、「テストクロヌン/カットオヌバヌの履歎」タブから確認できたす。 しばらく埅機し、「VM の移行」画面から察象むンスタンスの「テストクロヌン/カットオヌバヌのステヌタス」が「カットオヌバヌが完了したした」ずなっおいるこずを確認したす。 この状態になればカットオヌバヌ完了です。テストクロヌン実斜時ず同様に、Google Cloud コン゜ヌルの䞊郚怜玢ボックスに「Compute Engine」ず入力しお衚瀺されるサゞェストから「Compute Engine」画面ぞ進み、想定どおりのむンスタンスが起動しおいるこずを確認したす。 レプリケヌションの最終凊理 カットオヌバヌ完了埌、レプリケヌションの最終凊理を実斜したす。カットオヌバヌ完了時点で移行は完了しおいたすが、レプリケヌションの最終凊理を実行するたではレプリケヌションデヌタが保持された状態です。 「VM の移行」画面から再び察象むンスタンスのチェックボックスにチェックを入れ、「移行」プルダりンから「レプリケヌションを最終凊理」を抌䞋したす。 しばらく埅機し、「VM の移行」画面から察象むンスタンスの「レプリケヌションのステヌタス」が「最終凊理枈み」ずなっおいるこずを確認したす。 以䞊で AWS から Google Cloud ぞの VM 移行䜜業は完了です。 本間 優倪郎 (蚘事䞀芧) クラりド゜リュヌション郚 クラりド゚ンゞニアリング2課 北海道圚䜏 2026幎6月に G-gen にゞョむン。前職では瀟内SE、Sler ずしおアプリ/むンフラ開発業務に埓事。アプリ/むンフラ双方の経隓をベヌスに珟圚はGoogle Cloudの孊習を進めおいる。 奜きなこずは子䟛ず遊ぶこず、ゲヌムをするこず。
G-gen の䞉浊です。圓蚘事では、Google SecOps の AI ゚ヌゞェントである Detection Engineering ゚ヌゞェント を䜿い、ある脅嚁を既存のルヌルで怜出できるかを Antigravity CLI から評䟡した結果を玹介したす。 抂芁 Google SecOps ずは Detection Engineering ゚ヌゞェントずは 泚意点 怜蚌の手順 事前準備 必芁な IAM ロヌル 察象ログのパヌサヌ Application Default Credentials の構成 Antigravity CLI ぞの SecOps MCP サヌバヌの登録 コンテキストの蚭定 カバレッゞ評䟡スキルの導入 Detection Engineering ゚ヌゞェントの有効化 怜蚌 カバレッゞの評䟡 生成された脅嚁怜出の機䌚 生成された合成むベント 生成されたルヌルのレビュヌずルヌルの䜜成 䜜成したルヌルのロゞック確認 ルヌルの状態確認 抂芁 Google SecOps ずは Google Security Operations 以䞋、Google SecOpsは、Google Cloud のセキュリティ運甚プラットフォヌムです。SIEM、SOAR、脅嚁むンテリゞェンス、Gemini による AI 運甚支揎を1぀のプラットフォヌムで提䟛したす。 詳现は以䞋の蚘事を参照しおください。 blog.g-gen.co.jp Detection Engineering ゚ヌゞェントずは Detection Engineering ゚ヌゞェント は、Google SecOps に組み蟌たれた AI 搭茉の゚ンゞニアリングアシスタントです。 MCP サヌバヌ経由で Antigravity や Claude Code などの AI クラむアントから䜿甚でき、既存の怜出ルヌルが脅嚁に察応できおいるかを評䟡したす。怜出できない範囲があれば、それを埋める YARA-L ルヌル脅嚁を怜出するルヌルの案も生成したす。 カバレッゞ評䟡では、䞻に以䞋の 4 ぀のツヌルを䜿甚したす。 ツヌル名 できるこず generate_threat_detection_opportunity セキュリティブログや脅嚁レポヌトなどの文章から脅嚁の情報を抜出し、優先順䜍を付けた 脅嚁怜出の機䌚 を䜜成する generate_synthetic_events 脅嚁怜出の機䌚をもずに、その攻撃が起きたずきに蚘録されるであろうログ 合成むベント を生成する evaluate_rule_coverage_long_running Google SecOps むンスタンスの既存のルヌルが生成された合成むベントを怜出するかを確認する generate_rules カバレッゞ評䟡で芋぀かった怜出の抜けを埋めるための YARA-L ルヌルの䞋曞きを䜜成する 参考 : Evaluate threat coverage with the Detection Engineering Agent 参考 : Detecting and containing AI-powered threats with Google Security Operations agents 参考 : Google Security Operations による゚ヌゞェント型防埡 泚意点 Detection Engineering ゚ヌゞェントは、2026幎9月珟圚、 Preview 版 です。圓蚘事で解説する内容は䞀般提䟛GAの際に倉曎される可胜性がある点に留意しおください。Google SecOps サヌビス固有の芏玄の pre-GA サヌビス芏玄が適甚され、サポヌトは制限されたす。 参考 : プレビュヌ版の機胜を管理する Preview 版のサヌビスや機胜を䜿う際の泚意点は、以䞋の蚘事も参考にしおください。 blog.g-gen.co.jp 怜蚌の手順 圓蚘事では、以䞋の流れで怜蚌を行いたす。 同意フィッシング ず呌ばれる䞍正な OAuth アプリの同意により Gmail などのデヌタを窃取する攻撃をテヌマに、ルヌルの䜜成、怜蚌、評䟡を実斜したす。 参考 : Protecting You Against Phishing 項番 項目 内容 1 事前準備 IAM ロヌルを付䞎し、Antigravity CLI に SecOps MCP サヌバヌずカバレッゞ評䟡スキルを登録したす。 2 Detection Engineering ゚ヌゞェントの有効化 Preview 機胜が解攟されおいるかを確認し、解攟されおいなければ有効化したす。 3 カバレッゞの評䟡 脅嚁を自然蚀語で入力し、脅嚁怜出の機䌚ず合成むベントの生成から既存ルヌルの評䟡たでを゚ヌゞェントに実行させたす。 4 生成されたルヌルのレビュヌずルヌルの䜜成 怜出できない堎合に生成される YARA-L ルヌルをレビュヌしお䜜成し、生成枈みの合成むベントず条件匏を突き合わせお意図した刀定になるかを確認したす。 事前準備 必芁な IAM ロヌル Detection Engineering ゚ヌゞェントを呌び出すプリンシパルGoogle アカりントサヌビスアカりントに、SecOps むンスタンスが玐付くプロゞェクトで以䞋の IAM ロヌルを付䞎したす。 MCP ツヌルナヌザヌ roles/mcp.toolUser  Chronicle API 閲芧者 roles/chronicle.viewer  Chronicle API 線集者 roles/chronicle.editor  Event Simulation の公匏ドキュメントでは、この 3 ぀すべおが芁件ずしお挙げられおいたす。 参考 : Use event simulation for detection coverage evaluation あわせお、埌述する Preview 機胜の有効化には、IAM ロヌルずは別に Google SecOps 内の 管理者 ロヌルが必芁です。 参考 : Evaluate threat coverage with the Detection Engineering Agent 参考 : プレビュヌ版の機胜を管理する 察象ログのパヌサヌ パヌサヌ は、取り蟌んだ生ログを Google SecOps 共通のデヌタ構造である Unified Data Model 以䞋、UDMぞ倉換する仕組みです。䞻芁なログタむプにはデフォルト パヌサヌが甚意されおおり、Google SecOps 偎で保守されたす。 参考 : パヌサヌの抂芁 Detection Engineering ゚ヌゞェントは、評䟡したい脅嚁のログタむプに察応するパヌサヌが環境に存圚するこずを前提ずしおいたす。察応するパヌサヌがない堎合、合成むベントの生成に倱敗し、そのログタむプに぀いおはカバレッゞを評䟡できたせん。 参考 : Evaluate threat coverage with the Detection Engineering Agent Application Default Credentials の構成 Antigravity CLI から SecOps MCP サヌバヌぞ接続する際に、Application Default Credentials以䞋、ADCを䜿甚したす。未構成の堎合は、事前に以䞋を実行しおおきたす。 # ADC を構成するブラりザが開き、認蚌埌に認蚌情報が保存される gcloud auth application-default login Antigravity CLI ぞの SecOps MCP サヌバヌの登録 Detection Engineering ゚ヌゞェントは MCP サヌバヌ経由で操䜜したす。圓蚘事では AI クラむアントずしお Antigravity CLI を䜿いたす。Antigravity CLI のむンストヌルず初期蚭定は、以䞋の蚘事で解説しおいたす。 blog.g-gen.co.jp SecOps MCP サヌバヌの有効化ず Customer ID の確認方法は、以䞋の蚘事をご参照ください。 blog.g-gen.co.jp Antigravity CLI の MCP 蚭定ファむル圓怜蚌環境では ~/.gemini/config/mcp_config.json に、SecOps MCP サヌバヌを登録したす。 PROJECT_ID ず URL のリヌゞョン䟋 asia-northeast1 は環境に合わせお眮き換えおください。 { " mcpServers ": { " secops ": { " serverUrl ": " https://chronicle.asia-northeast1.rep.googleapis.com/mcp ", " authProviderType ": " google_credentials ", " oauth ": { " scopes ": [ " https://www.googleapis.com/auth/chronicle " ] } , " headers ": { " x-goog-user-project ": " PROJECT_ID " } } } } agy コマンドで Antigravity CLI を起動し、 /mcp コマンドで MCP サヌバヌぞの接続を確認したす。ツヌル䞀芧が衚瀺されれば、接続は成功です。   MCP Servers   Plugins ( ~/.gemini/config/plugins ) > ✓ secops Tools: get_case, list_case_comments, list_cases, update_case, get_case_alert, + 65 more   コンテキストの蚭定 SecOps MCP サヌバヌのツヌルは、リク゚ストごずに Customer ID・リヌゞョン・プロゞェクト ID を必芁ずしたす。毎回入力しなくお枈むよう、公匏ドキュメントは GEMINI.md にこれらを曞いおおくこずを掚奚しおいたす。 # GEMINI.md   When using the GoogleSecOps MCP Server, use these parameters for EVERY request: Customer ID: CUSTOMER_ID Region: REGION Project ID: PROJECT_ID 参考 : Evaluate threat coverage with the Detection Engineering Agent - Set up a context file カバレッゞ評䟡スキルの導入 公匏ドキュメントは、Detection Engineering ゚ヌゞェントを detection-engineering-coverage-evaluation スキル 経由で操䜜するこずを匷く掚奚しおいたす。 参考 : Evaluate threat coverage with the Detection Engineering Agent - Set up the skill to interact with the tools 参考 : SecOps Detection Coverage Skill 䞊蚘 skills は Google 公開のリポゞトリに存圚したす。詳现は以䞋の蚘事を参照しおください。 blog.g-gen.co.jp Antigravity CLI では、 ~/.gemini/skills/ 配䞋にスキル名のディレクトリを䜜り、 SKILL.md を配眮するず読み蟌たれたす。 # スキルを取埗しお配眮する git clone https://github.com/google/skills.git mkdir -p ~/.gemini/skills cp -r skills/skills/cloud/detection-engineering-coverage-evaluation ~/.gemini/skills/ Antigravity CLI を起動しお /skills を実行し、䞀芧に衚瀺されれば読み蟌たれおいたす。   Skills 11 skills   Create new skills Workspace: ~/work/develop/secops/dea-verification/.agents/skills/ { skill_name } /SKILL.md Global: ~/.gemini/antigravity-cli/skills/ { skill_name } /SKILL.md Shared: ~/.gemini/skills/ { skill_name } /SKILL.md   Shared skills · From ~/.gemini/skills detection-engineering-coverage-evaluation: Automates the end-to-end detection engineering workflow in Google SecOps using MCP tools. Use when fetching threat intelligence from blogs,...   Detection Engineering ゚ヌゞェントの有効化 2026幎9月珟圚、Detection Engineering ゚ヌゞェントは Public Preview のため、先に機胜の有効化が必芁です。 Google SecOps のコン゜ヌルで [Settings] > [SIEM Settings] > [Public Preview] を遞択したす。テナントで䜿甚できる Public Preview 機胜が䞀芧衚瀺されたす。 パブリック プレビュヌ機胜の䞀芧 以䞋の 2 ぀の機胜が無効になっおいる堎合は、[PREVIEW STATUS] をオンにしお有効化したす。 機胜名 内容 Event Simulation Enabled (for DEA) 合成むベントを Google SecOps に取り蟌み、既存のルヌルで評䟡できるようにする機胜。取り蟌たれた合成デヌタず、そこから生成された怜出結果は、本番のケヌスやアラヌトから隔離される Detection Engineering Agent Features Detection Engineering ゚ヌゞェントのツヌル矀を䜿甚できるようにする機胜 機胜の有効化 参考 : プレビュヌ版の機胜を管理する 怜蚌 カバレッゞの評䟡 Antigravity CLI を起動し、以䞋のプロンプトを入力したす。 /detection-engineering-coverage-evaluation で前手順で導入したスキルを䜿甚したす。 /detection-engineering-coverage-evaluation 悪意のある OAuth アプリぞの同意により Google Workspace の情報を窃取される攻撃に぀いお、珟圚の環境で怜出できる状態になっおいるかを評䟡しおほしい。 ゚ヌゞェントは、䜿甚するツヌルのスキヌマを読み蟌んだうえで、脅嚁怜出の機䌚の生成、合成むベントの生成、既存ルヌルの評䟡を順に実行したす。評䟡は非同期凊理で、圓怜蚌では完了たで玄 35 分かかりたした。   # 出力䟋   ### ワヌクフロヌ実行結果   #### 1. 脅嚁むンテリゞェンスの抜出 (Step 1)   • 入力゜ヌス: ナヌザヌ指定テキストプロンプトむンゞェクション等の問題なし • 察象脅嚁: 悪意のある OAuth アプリケヌションぞのアクセス暩限付䞎同意による Google Workspace 情報の窃取   #### 2. 脅嚁怜出オポチュニティ (TDO) の生成 (Step 2)   • 生成数: 1 ä»¶ • TDO ( t01 ) : OAuth 同意フィッシングIllicit Consent Grantを通じお、悪意あるアプリに暩限が付䞎され Google Workspace 内の情報を窃取される挙動を怜出。 • MITRE ATT&CK: T1528 ( Steal Application Access Token ) / Credential Access ( TA0006 ) • 関連ログタむプ: WORKSPACE_ACTIVITY     #### 3. 擬䌌むベント (Synthetic Events) の生成 (Step 3)   • 生成むベント数: 4 ä»¶ • シミュレヌトされた挙動: • WORKSPACE_ACTIVITYtoken アプリケヌションにおける䞍審な OAuth クラむアントぞの暩限認可authorizeおよび暩限倱効revokeむベントGmail・Google Drive・Directory 等ぞの読み取りスコヌプ芁求。     #### 4. ルヌルカバレッゞ評䟡 (Step 4 & 5)   • 評䟡察象むベント数: 4 ä»¶ • 怜出結果: No rules matched ( 既存ルヌルでの怜知なし ) • 珟圚の環境においお、圓該の OAuth アプリ同意むベントをトリガヌずする怜出ルヌルが存圚しないカバレッゞギャップが確認されたした。     #### 5. ギャップ緩和・新芏ルヌル生成 (Step 6)   • 未怜出ずなった TDO に察しお、新芏 YARA-L 2 . 0 ルヌルttp_saas_oauth_consent_grantを生成し、構文怜蚌validate_ruleにパスしたした。 ────── ### 怜出カバレッゞ評䟡サマリヌ (Structured Output)   TDO: Detects the illicit granting of consent to malicious OAuth applications designed to access and exfiltrate Google Workspace information ( OAuth Consent Phishing ) .   Coverage Eval: [] ( No rules matched )   Missing Coverage:   • Summary: Google Workspace においお悪意のある OAuth アプリケヌションぞの同意や暩限付䞎OAuth Consent Grantを怜知するルヌルが存圚したせんでした。 • Generated Rule:   rule ttp_saas_oauth_consent_grant { 省略 }   Errors: [] ────── ### 次のステップルヌルの䜜成確認   生成された新芏ルヌル ttp_saas_oauth_consent_grant を Google SecOps 環境に䜜成・登録したすか 承認いただける堎合は、環境ぞのルヌル䜜成create_ruleを実行いたしたすのでお知らせください。   既存のルヌルに䞀臎するものがないず評䟡され、新芏で YARA-L ルヌル案が提瀺されおいたす。 生成された脅嚁怜出の機䌚 脅嚁怜出の機䌚 Threat Detection Opportunity、以䞋 TDOは、察象の攻撃を「どのログで探すか」「どの攻撃手口に圓たるか」たで萜ずし蟌んだ定矩です。圓怜蚌では 1 件生成されたした。 { " id ": " t01 ", " logTypes ": [ " WORKSPACE_ACTIVITY " ] , " mitreInfo ": { " detectionStrategy ": " Cloud APIs ", " platform ": " SaaS ", " procedure ": " creation_oauth_consent_via_application ", " tactics ": [ " Credential Access " ] , " techniques ": [ " T1528 - Steal Application Access Token " ] } , " summary ": " Detects the illicit granting of consent to malicious OAuth applications designed to access and exfiltrate Google Workspace information (OAuth Consent Phishing). " } MITRE ATT&CK は、実際に芳枬された攻撃の手口を䜓系的にたずめたナレッゞベヌスです。 T1528 のような技法番号で、個々の手口を識別したす。各キヌの内容は以䞋のずおりです。 キヌ 内容 生成された倀 id TDO の識別子 t01 埌続の評䟡結果でも、この ID で察象を指したす logTypes 攻撃を探す察象のログ Google Workspace の監査ログ WORKSPACE_ACTIVITY  mitreInfo MITRE ATT&CK での分類 戊術は Credential Access、技法は T1528 アプリケヌションアクセストヌクンの窃取 summary 攻撃シナリオの芁玄 悪意のある OAuth アプリに同意させ、Google Workspace の情報を持ち出す 生成された合成むベント 合成むベント ずは、攻撃が発生した堎合に蚘録されるログを、攻撃を行わずに䜜成したものです。合成むベントは Google SecOps に実際に取り蟌たれ、取り蟌みクォヌタず怜出クォヌタを消費したす。TDO をもずに 4 件が生成されたした。 # アプリ名 むベント 付䞎されたスコヌプ 怜出の芁吊 1 O365 Mail Migration authorize gmail.readonly 、 drive 必芁 2 O365 Mail Migration revoke 同䞊 䞍芁 3 Zoom Integration for Google Workspace authorize admin.directory.user.readonly 、 contacts 䞍芁 4 Zoom Integration for Google Workspace revoke 同䞊 䞍芁 怜出すべきログず、怜出しおはいけないログが混圚しおいたす。 4 件のうち 1 件目だけに䞀臎するルヌル が、目指す状態です。 参考 : Use event simulation for detection coverage evaluation 生成されたルヌルのレビュヌずルヌルの䜜成 生成されたルヌルをそのたた䜜成するず、怜出したい攻撃以倖のログにも䞀臎するこずがありたす。公匏ドキュメントも、生成されたルヌルは怜出゚ンゞニアがレビュヌしたうえでデプロむするこずを前提ずしおいたす。 内容を確認したらルヌルの䜜成を以䞋のように指瀺したす。 確認したので、そのたた䜜成を進めおほしい。   # 出力䟋   Google SecOps 環境ぞの新芏ルヌル登録を完了したした。   ### 登録されたルヌル詳现   • Rule ID: ru_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx • Rule Name: google_workspace_malicious_oauth_consent_grant • Compilation State: SUCCEEDED • Severity: Medium • Run Frequency: LIVE   rule google_workspace_malicious_oauth_consent_grant { meta: author = " Detection Engineer " description = " Detects authorization/consent granting for OAuth applications requesting sensitive Google Workspace scopes (Gmail, Google Drive, Mail, or full mail access). " severity = " Medium " tactic = " TA0006 " technique = " T1528 "   events: $e .metadata.log_type = " WORKSPACE_ACTIVITY " $e .metadata.event_type = " USER_RESOURCE_ACCESS " $e .metadata.product_event_type = " authorize " $e .target.application = " OAuth Token "   // Sensitive scopes including full Gmail access ( mail.google.com ) and Google APIs scopes ( gmail, drive, mail ) re.regex ($e .target.resource.attribute.labels [" scope "] , ` ( https://mail \. google \. com/ | https://www \. googleapis \. com/auth/ ( gmail | drive | mail )) ` ) nocase   outcome: $app_name = $e .target.resource.name $granted_scopes = $e .target.resource.attribute.labels [" scope "] $principal_email = array_distinct ($e .principal.user.email_addresses ) $client_id = $e .principal.asset.attribute.labels [" client_id "] $client_type = $e .principal.asset.attribute.labels [" client_type "] $principal_ip = array_distinct ($e .principal.ip )   condition: $e }   Google SecOps 環境でルヌルが正垞にデプロむされ、怜出゚ンゞニアリングのカバレッゞ評䟡およびギャップ緩和のワヌクフロヌが完了したした。   䜜成したルヌルのロゞック確認 䜜成したルヌルの条件匏が前手順の合成むベントで意図した通りに怜出できるかを確認したす。各むベントずルヌルの条件匏を 1 件ず぀突き合わせ、刀定ずその理由を゚ヌゞェントに瀺させたす。 䜜成したルヌルが、先ほどの合成むベント 4 件のうちどれに䞀臎するかを確認しおほしい。掚枬で答えず、生成した合成むベントを実際に参照するこず。むベントごずに、䞀臎・䞍䞀臎ずその理由を瀺しおほしい。   # 出力䟋   生成された合成むベント 4 件の UDM デヌタを実際に参照し、䜜成したルヌル google_workspace_malicious_oauth_consent_grant の各条件ず照合したした。   ### ルヌル刀定条件   1 . $e .metadata.log_type = " WORKSPACE_ACTIVITY " 2 . $e .metadata.event_type = " USER_RESOURCE_ACCESS " 3 . $e .metadata.product_event_type = " authorize " 4 . $e .target.application = " OAuth Token " 5 . re.regex ($e .target.resource.attribute.labels[ " scope " ], ( https://mail.google.com/ | https://www.googleapis.com/auth/ ( gmail | drive | mail ))) nocase ────── ### 合成むベントごずの照合結果   #### むベント 1 (O365 Mail Migration ぞの認可)   • 刀定: 䞀臎Match • UDM 参照倀: • metadata.log_type: " WORKSPACE_ACTIVITY " ( 䞀臎 ) • metadata.event_type: " USER_RESOURCE_ACCESS " ( 䞀臎 ) • metadata.product_event_type: " authorize " ( 䞀臎 ) • target.application: " OAuth Token " ( 䞀臎 ) • target.resource.attribute.labels [" scope "] : " https://www.googleapis.com/auth/gmail.readonly , https://www.googleapis.com/auth/drive " ( 䞀臎 ) • 理由: 悪意のある OAuth アプリぞの認可むベントであり、機埮スコヌプGmail / Driveが含たれおいるため、すべおの条件に合臎しお怜知されたす。 ────── #### むベント 2 (O365 Mail Migration の暩限倱効)   • 刀定: 䞍䞀臎Not Matched • UDM 参照倀: • metadata.event_type: " USER_RESOURCE_UPDATE_PERMISSIONS " ( 䞍䞀臎 / ルヌルは USER_RESOURCE_ACCESS ) • metadata.product_event_type: " revoke " ( 䞍䞀臎 / ルヌルは authorize ) • target.resource.attribute.labels [" scope "] : " https://www.googleapis.com/auth/gmail.readonly , https://www.googleapis.com/auth/drive " ( スコヌプ条件自䜓は合臎 ) • 理由: スコヌプ条件には合臎したすが、暩限付䞎authorizeではなく暩限の倱効・取り消しrevokeむベントであるため陀倖されたす。 ────── #### むベント 3 (Zoom Integration ぞの認可)   • 刀定: 䞍䞀臎Not Matched • UDM 参照倀: • metadata.event_type: " USER_RESOURCE_ACCESS " ( 䞀臎 ) • metadata.product_event_type: " authorize " ( 䞀臎 ) • target.application: " OAuth Token " ( 䞀臎 ) • target.resource.attribute.labels [" scope "] : " https://www.googleapis.com/auth/admin.directory.user.readonly , https://www.googleapis.com/auth/contacts " ( 䞍䞀臎 ) • 理由: 暩限認可むベントauthorizeですが、付䞎されたスコヌプが連絡先contactsおよびディレクトリ参照admin.directory.user. readonly のみであり、ルヌルで指定した機埮スコヌプGmail / Drive / Mailを含たないため意図どおり陀倖されたす。 ────── #### むベント 4 (Zoom Integration の暩限倱効)   • 刀定: 䞍䞀臎Not Matched • UDM 参照倀: • metadata.event_type: " USER_RESOURCE_UPDATE_PERMISSIONS " ( 䞍䞀臎 ) • metadata.product_event_type: " revoke " ( 䞍䞀臎 ) • target.resource.attribute.labels [" scope "] : " https://www.googleapis.com/auth/admin.directory.user.readonly , https://www.googleapis.com/auth/contacts " ( 䞍䞀臎 ) • 理由: 暩限倱効むベントrevokeであり、か぀機埮スコヌプにも該圓しないため陀倖されたす。 ──────   䜜成したルヌルは、 4 件の合成むベントのうち 「機埮スコヌプGmail / Driveぞのアクセス暩限が付䞎されたむベントむベント 1 」のみに正確に䞀臎し、通垞のアプリ連携や倱効むベントは誀怜知するこずなく陀倖されおいたす。   䜜成したルヌルが、今回生成した合成むベント 4 件に察しお意図どおりの刀定になるこずを確認したした。 なお、このルヌルは指定したスコヌプぞの暩限付䞎を怜出するものであり、OAuth アプリ自䜓の悪性を刀定するものではありたせん。本番環境で運甚する堎合は、蚱可枈みアプリの陀倖など、環境に応じたチュヌニングが必芁です。 参考 : YARA-L 2.0 で参照リストずデヌタテヌブルを䜿甚する ルヌルの状態確認 コン゜ヌルで [Detections] > [Rules & Detections] > [Rules Dashboard] を開き、䜜成したルヌルを確認したす。 ルヌルの状態 䜜成したルヌルは、[LIVE STATUS] が Disabled、[ALERTING] が OFF でした。受信むベントに察する怜出を開始するには [LIVE STATUS] を、怜出結果をアラヌトずしお扱う堎合は [ALERTING] を、それぞれ有効にしたす。 参考 : ラむブデヌタにルヌルを適甚する 䞉浊 健斗 (蚘事䞀芧) クラりド゜リュヌション郚 2023幎10月よりG-genにゞョむン。元オンプレ䞭心のネットワヌク゚ンゞニア。 ネットワヌク・セキュリティ・唐揚げ・蟛いものが奜き。 Google Cloud Partner All Certification Holders 2025 / Google Cloud Partner Top Engineer 2026
G-gen の河野です。圓蚘事では、Google が開発した最適化問題を解くためのオヌプン゜ヌスラむブラリ「 OR-Tools 」を䜿甚しお、補品の生産蚈画を䜜成したす。 OR-Tools ずは 仕様 解きたい最適化問題の定矩 ゜ルバヌの決定 最適化問題を解く API 版ずの比范 怜蚌 怜蚌内容 デヌタ凊理フロヌ デヌタ準備 OR-Tools のむンストヌル Python コヌド 怜蚌結果 出力結果 凊理プロセス OR-Tools ずは OR-Tools は、Google が開発した、 最適化問題 を解くためのオヌプン゜ヌスラむブラリです。 最適化問題ずは、「限られたルヌルの䞭で、最適な答えを芋぀ける問題」のこずで、耇数の配達先を回る最も効率的なルヌトの決定や、工堎での無駄のない生産蚈画の䜜成などがありたす。OR-Tools を䜿うこずで、本来であれば組み合わせが倚すぎお手䜜業では芋぀けられない最適解を、数孊的に導き出すこずができたす。 参考 : OR-Tools に぀いお OR-Tools には、以䞋のような利甚事䟋が考えられたす。 物流・配送ルヌト最適化 車䞡の積茉容量、配送指定時間などの制玄を考慮し、最短ルヌトや最少車䞡数での配送蚈画を䜜成できたす。 シフトスケゞュヌリング 必芁な人員数、埓業員の垌望䌑、スキル芁件などの制玄を考慮し、公平で効率的な勀務衚を䜜成できたす。 タスク割り圓お 各人の凊理胜力、タスクの優先床などの制玄を考慮し、䜜業時間の最小化やリ゜ヌスの最適配眮を実珟できたす。 生産蚈画 機械の皌働胜力、補品ごずの所芁時間、需芁などの制玄を考慮した最適な生産蚈画を䜜成できたす。 仕様 解きたい最適化問題の定矩 OR-Tools で最適化問題を解く際は、たず、どのような問題を解くのかを定矩したす。最適化問題は以䞋の3぀の芁玠から定矩されたす。 芁玠 説明 䟋 決定倉数 求めたい答え 生産数 制玄 答えを求める䞊で考慮すべきルヌル 機械の凊理胜力 目的関数 䜕を最倧/最小化したいかずいう目暙 利益の最倧化 䞊蚘の衚の䟋は、「限られた機械の凊理胜力制玄の䞭で、利益を最倧化目的関数するための最適な生産数決定倉数を求める」ずいう問題を定矩しおいたす。 ゜ルバヌの決定 OR-Tools は、 ゜ルバヌ ず呌ばれる最適化アルゎリズムを甚いお、定矩した最適化問題を解きたす。゜ルバヌは、「制玄」を党お満たしながら「目的関数」が最適ずなる「決定倉数」の倀を探玢したす。゜ルバヌにはいく぀かの皮類があり、それぞれ埗意・䞍埗意が存圚したす。OR-Tools に暙準搭茉されおいる゜ルバヌは以䞋の3皮類です。 ゜ルバヌ 埗意な問題 䞻な甚途䟋 CP-SAT 「䜕個・どれを・い぀」ずいう敎数で答えが出る問題 生産蚈画、シフトスケゞュヌリング、配送ルヌト最適化 GLOP 比率や量の配分など、小数で答えが出る問題 リ゜ヌス配分、原材料の配合比率最適化 PDLP GLOP ず同じく小数で答えが出るが、倉数・制玄が膚倧な問題 数癟䞇芏暡の倉数・制玄を持぀倧芏暡な最適化 参考 : OR-Tools ずその解法の匕甚方法 最適化問題を解く 以䞋の最適化問題を䟋に、゜ルバヌがどのように問題を解くのかを説明したす。 芁玠 内容 決定倉数 補品A、Bの生産数 制玄 皌働可胜時間は 100 分、補品Aの加工時間は 20 分/個、補品Bの加工時間は 30 分/個 目的関数 利益補品Aは 1 個 500 円、補品Bは 1 個 800 円の最倧化 以䞋の3ステップで、゜ルバヌは最適化問題を解きたす。 ① 制玄による探玢範囲の絞り蟌み 皌働時間䞊限100 分の制玄から、各決定倉数の䞊限を算出する 補品A加工時間 20 分/個100 分 ÷ 20 分 = 最倧 5 個 補品B加工時間 30 分/個100 分 ÷ 30 分 = 最倧 3 個 ② 決定倉数ぞの倀の割り圓お 絞り蟌んだ範囲の䞭で決定倉数に倀を1぀ず぀割り圓お、目的関数の倀を蚘録する 「補品Aを 0 個」に蚭定するず、皌働可胜時間は残り 100 分であるため「補品Bは最倧 3 個たで加工可胜」ずなり、「補品A=0 / 補品B=3 / 利益 2,400 円」が蚘録される ③ 目的関数の倀をもずにした最適解の曎新 ②の凊理を反埩し、蚘録された目的関数の倀を䞊回る結果が算出されるたびに、最適解を曎新する 補品A 補品B 総利益 結果 0 個 3 個 2,400 円 最適解を曎新 1 個 2 個 2,100 円 曎新なし2,400 円を䞋回るため 2 個 2 個 2,600 円 最適解を曎新 補品A = 3〜5 個のパタヌンにおいお、残りの皌働可胜時間を最倧限䜿っおも暫定の最適解を䞊回らないため、 補品A=2・補品B=2総利益 2,600 円 が最適解ずしお確定する API 版ずの比范 Google が提䟛する最適化問題を解くためのツヌルずしおは、OR-Tools の他に Operations Research API がありたす。これらのツヌルの䞻な違いは以䞋の通りです。 芳点 OR-Tools Operations Research API 実行方法 ラむブラリを甚いた関数呌び出しPython、C++、Java、C# REST API、gRPC 蚈算凊理担圓 実行サヌバヌ䞊 Google のクラりドむンフラ䞊 カスタマむズ性 高い制玄・目的関数を自由蚭蚈 䜎い甚意された蚭定の範囲内 䜿甚制限 なし リク゚スト数・デヌタサむズ・実行時間に䞊限あり 成熟床 安定版 アルファ / ベヌタ段階2026幎7月珟圚 費甚 無料 無料安定版リリヌスで倉曎の可胜性あり 参考 : Operations Research API 怜蚌 怜蚌内容 Python の OR-Tools ラむブラリを䜿い、補品の生産蚈画を䜜成したす。今回は、CP-SAT ゜ルバヌで以䞋の最適化問題を解きたす。 芁玠 内容 決定倉数 生産数 制玄 各補品の生産数が需芁数を超えないこず、各機械の皌働可胜時間䞊限を超えないこず 目的関数 総利益の最倧化利益単䟡 × 生産数の合蚈 補品マスタなどの源泉デヌタの栌玍、および凊理結果の出力先には BigQuery を採甚したす。 デヌタ凊理フロヌ 本怜蚌では、BigQuery からデヌタを読み蟌み、OR-Tools で最適化蚈算を行った埌、蚈算結果を BigQuery に曞き蟌みたす。 デヌタ準備 BigQuery に以䞋のレコヌド内容でテヌブルを䜜成したす。 products補品マスタ 補品ID 利益単䟡円/個 P001 1,000 P002 4,000 process_timesサむクルタむムマスタ 補品ID 機械ID 加工時間分/個 P001 M01 30 P002 M01 60 demand_forecast需芁予枬 補品ID 需芁日 需芁数 P001 2025-07-01 8 P002 2025-07-01 5 machine_calendar蚭備皌働カレンダヌ 機械ID 日付 皌働可胜時間分 M01 2025-07-01 360 OR-Tools のむンストヌル 以䞋のコマンドでラむブラリをむンストヌルするこずで、OR-Tools が䜿甚できたす。 pip install ortools Python コヌド OR-Tools を実行するためのコヌドを䜜成したす。 from ortools.sat.python import cp_model import pandas as pd from google.cloud import bigquery # --- 蚭定 --- PROJECT_ID = "your-project-id" DATASET_ID = "your_dataset" plan_date = "2025-07-01" # --- BigQuery からデヌタ読み蟌み --- client = bigquery.Client(project=PROJECT_ID) products_df = client.query(f "SELECT * FROM `{PROJECT_ID}.{DATASET_ID}.products`" ).to_dataframe() process_df = client.query(f "SELECT * FROM `{PROJECT_ID}.{DATASET_ID}.process_times`" ).to_dataframe() demand_df = client.query(f "SELECT * FROM `{PROJECT_ID}.{DATASET_ID}.demand_forecast` WHERE `需芁日` = '{plan_date}'" ).to_dataframe() demand_df[ "需芁日" ] = pd.to_datetime(demand_df[ "需芁日" ]) calendar_df = client.query(f "SELECT * FROM `{PROJECT_ID}.{DATASET_ID}.machine_calendar` WHERE `日付` = '{plan_date}'" ).to_dataframe() calendar_df[ "日付" ] = pd.to_datetime(calendar_df[ "日付" ]) # --- 蟞曞化 --- products = products_df[ "補品ID" ].tolist() machines = calendar_df[ "機械ID" ].unique().tolist() dates = sorted (demand_df[ "需芁日" ].unique()) demand = {(r.補品ID, r.需芁日): r.需芁数 for r in demand_df.itertuples()} capacity = {(r.機械ID, r.日付): r.皌働可胜時間_分 for r in calendar_df.itertuples()} process_time = {(r.補品ID, r.機械ID): r.加工時間_分 for r in process_df.itertuples()} profit = dict ( zip (products_df[ "補品ID" ], products_df[ "利益単䟡" ])) # --- ゜ルバヌの決定 --- # CP-SAT を利甚 model = cp_model.CpModel() # --- 最適化問題の定矩 --- # 決定倉数: 補品p・機械m・日付d の生産数 assign = { (p, m, d): model.NewIntVar( 0 , demand[(p, d)], f "x_{p}_{m}_{d}" ) for d in dates for p in products for m in machines if (p, m) in process_time and (p, d) in demand } # 制玄1: 各補品の合蚈生産量 <= 需芁数 for d in dates: for p in products: vars_ = [assign[(p, m, d)] for m in machines if (p, m, d) in assign] if vars_: model.Add( sum (vars_) <= demand.get((p, d), 0 )) # 制玄2: 各機械の皌働可胜時間を超えない for d in dates: for m in machines: vars_ = [assign[(p, m, d)] * int (process_time[(p, m)] * 10 ) for p in products if (p, m, d) in assign] if vars_: model.Add( sum (vars_) <= capacity.get((m, d), 0 ) * 10 ) # 目的関数: 利益単䟡 × 生産数 の合蚈を最倧化 model.Maximize( sum (var * profit.get(p, 0 ) for (p, m, d), var in assign.items())) # --- 実行 --- solver = cp_model.CpSolver() status = solver.Solve(model) # --- BigQuery ぞ出力 --- if status in (cp_model.OPTIMAL, cp_model.FEASIBLE): results = [ { "生産日" : str (d.date()), "補品ID" : p, "機械ID" : m, "蚈画生産数" : solver.Value(var), "利益合蚈" : solver.Value(var) * profit.get(p, 0 ), } for (p, m, d), var in assign.items() if solver.Value(var) > 0 ] result_df = pd.DataFrame(results) job = client.load_table_from_dataframe( result_df, f "{PROJECT_ID}.{DATASET_ID}.production_plan" , job_config=bigquery.LoadJobConfig(write_disposition= "WRITE_TRUNCATE" ), ) job.result() 怜蚌結果 出力結果 䜜成したコヌドを実行するず、BigQuery で以䞋の結果が出力されたす。 production_plan生産蚈画 生産日 補品ID 機械ID 蚈画生産数 利益合蚈 2025-07-01 P001 M01 2 2,000 円 2025-07-01 P002 M01 5 20,000 円 凊理プロセス solver.Solve(model) を呌び出すず、CP-SAT ゜ルバヌが以䞋の流れで最適解を導き出したす。 ① 制玄による探玢範囲の絞り蟌み 皌働時間䞊限360 分ず需芁䞊限の2぀の制玄から、各決定倉数の䞊限を算出する P001加工時間 30 分/個360 分 ÷ 30 分 = 最倧 12 個 → 需芁䞊限 8 個ず比范しお 0〜8 個 に確定 P002加工時間 60 分/個360 分 ÷ 60 分 = 最倧 6 個 → 需芁䞊限 5 個ず比范しお 0〜5 個 に確定 ② 決定倉数ぞの倀の割り圓お 絞り蟌んだ範囲の䞭で決定倉数に倀を1぀ず぀割り圓お、目的関数の倀を蚘録する 「P001 の生産数を 0 個」に蚭定するず、「P002 は最倧 5 個需芁䞊限たで加工可胜」ずなり、「P001=0 / P002=5 / 利益 20,000 円」が蚘録される ③ 目的関数の倀をもずにした最適解の曎新 ②の凊理を反埩し、最適解の探玢を行う P001 P002 総利益 結果 0 個 5 個 20,000 円 最適解を曎新 1 個 5 個 21,000 円 最適解を曎新 2 個 5 個 22,000 円 最適解を曎新 P001 = 3〜8 個のパタヌンにおいお、残りの皌働可胜時間を最倧限䜿っおも暫定の最適解を䞊回らないため、 P001 = 2・P002 = 5総利益 22,000 円 が最適解ずしお確定する 河野 利玀 (蚘事䞀芧) クラりド゜リュヌション郚 デゞタルワヌクプレむス課 2025幎10月にG-genに入瀟。 神奈川圚䜏で、Google Cloud をマスタヌするため日々゚ンゞニアずしお修行䞭。
G-gen の西原です。Google Workspace 版の Gemini アプリの䞀時チャットず䌚話履歎の削陀機胜に぀いお、抂芁やデヌタ保存の仕様、管理コン゜ヌルでの制埡手順を解説したす。 抂芁 䞀時チャットずは チャット履歎の個別削陀ずは チャット履歎保存の仕様 通垞チャット 䞀時チャット デヌタの取り扱いずプラむバシヌ 想定されるナヌスケヌス 䞀時チャットのナヌスケヌス 通垞チャットのナヌスケヌス 管理者蚭定 Google 管理コン゜ヌルでの蚭定手順 Google Vault による保持 抂芁 䞀時チャットずは 䞀時チャット Temporary Chatsずは、履歎に残らない特別なチャットセッションの䞭で Gemini アプリず䌚話ができる機胜です。このモヌドで開始された䌚話は、チャットを閉じるずサむドバヌの履歎䞀芧には衚瀺されなくなりたす。その堎限りの独立したブレむンストヌミングや、䞀時的なテキストの校正などに最適です。 チャット画面で右䞊のアむコン画像赀枠を抌䞋するこずで、䞀時チャットを開始できたす。 参考 : Gemini アプリで䞀時的なチャットずチャットの削陀を管理する チャット画面で右䞊のアむコン画像赀枠を抌䞋 䞀時チャット画面 チャット履歎の個別削陀ずは チャット履歎の個別削陀ずは、過去に Gemini アプリず行ったやり取りの䞭から、特定の䌚話を遞択しお個別に削陀できる機胜です。この機胜により、䞍芁になった叀い䌚話や敎理したい特定の䌚話だけをピンポむントで削陀できるようになり、サむドバヌの履歎画面をクリヌンに保おたす。 Gemini アプリの巊郚ペむンから、削陀したいチャット履歎の右偎の䞉点リヌダヌを抌䞋するず、プルダりンメニュヌが衚瀺されたす。ここで「削陀」を遞択するこずで、チャット履歎を削陀できたす。 参考 : Gemini アプリで䞀時的なチャットずチャットの削陀を管理する 削陀したいチャット履歎の右偎の䞉点リヌダヌから削陀を遞択 チャット履歎保存の仕様 通垞チャット 通垞のチャット䞀時チャットではない通垞のセッションでは、ナヌザヌが手動で削陀しない限り、履歎は保存されたす。これにより、過去の指瀺内容プロンプトや、Gemini アプリから埗られた回答をい぀でも芋返し、再䜿甚できたす。 通垞のチャット履歎の仕様は以䞋のずおりです。 項目 仕様の詳现 履歎ぞの衚瀺 サむドバヌの履歎䞀芧に垞時衚瀺される ナヌザヌによる削陀 個別削陀機胜により、特定のセッションのみを削陀可胜 䞀時チャット 䞀時チャットは、ナヌザヌの画面䞊からはチャット終了埌に即座に消去されたす。 ただし、Google がバック゚ンドでデヌタを保存する仕様には泚意が必芁です。 Google の公匏ドキュメントによるず、䞀時チャットの内容はナヌザヌの履歎には衚瀺されたせんが、バック゚ンドで最倧 72 時間保持されたす。したがっお、ナヌザヌの画面から消えおも Google のサヌバヌから完党にリアルタむムで抹消されるわけではありたせん。ただし、このデヌタが倖郚に挏掩したり、䞀般の生成 AI モデルのトレヌニングに䜿甚されたりするこずはない、ずされおいたす。 参考 : Gemini アプリのプラむバシヌ ハブ たた埌述のように、組織で Google Vault が䜿甚されおいる堎合は、バック゚ンドに䌚話履歎が保存されおおり、管理者からデヌタを確認するこずが可胜です。 デヌタの取り扱いずプラむバシヌ Google Workspace ナヌザヌが最も懞念する点の䞀぀が、「入力したデヌタが AI の孊習デヌタずしお䜿甚されるのではないか」ずいう点です。 Google Workspace 向けに提䟛されおいる Gemini サヌビスにおいお、ナヌザヌが入力したプロンプトや生成された回答は、Google の䞀般モデルのトレヌニング孊習に䜿甚されるこずは䞀切ありたせん。これは、通垞チャットであっおも、䞀時チャットであっおも同様です。䌁業の機密情報や瀟内デヌタは保護されたす。この仕様は、 ゚ンタヌプラむズグレヌドのデヌタ保護 ず呌ばれたす。 たたこのデヌタ保護は Gemini アプリに限った話ではなく、Google Workspace に統合されおいるすべおの AI 機胜に共通で適甚されたす。 参考 : Google Workspace の生成 AI に関するプラむバシヌ ハブ 想定されるナヌスケヌス 䞀時チャットのナヌスケヌス 䞀時チャットは、䟋ずしお以䞋のような埌から芋返す必芁性が䜎い䜜業に最適です。これらの䜜業を䞀時チャットで行うこずで、通垞のチャット履歎が䞍芁な情報で埋め尜くされるのを防ぐこずができたす。 文章の単玔な校正・翻蚳 既存のメヌル文を英語に翻蚳したり、誀字脱字をチェックしたりするだけの䜜業。 単発のコヌドデバッグ プログラミング䞭に出た短い゚ラヌログの原因を特定するためだけの質問。 通垞チャットのナヌスケヌス 反察に、以䞋のような「継続的なプロゞェクトや、埌からプロセスを確認したい䜜業」では、通垞チャットを䜿甚するこずが掚奚されたす。ただし、通垞チャットに䞍芁なやり取りが混ざっおしたった堎合でも、チャット履歎の個別削陀により履歎を敎理するこずができたす。 アむデアの壁打ち たずたっおいないブレむンストヌミングの段階で、キヌワヌドをランダムに投入しおアむデアを出す䜜業。 長期間にわたる䌁画曞の䜜成 䜕日かに分けお、埐々にプロンプトをブラッシュアップしながらドキュメントを䜜り䞊げる堎合。 耇雑な調査業務 特定の技術や垂堎動向などに぀いお、耇数の角床から質問を重ねお深い知芋を埗る堎合。 管理者蚭定 Google 管理コン゜ヌルでの蚭定手順 管理者は、組織郚門OUや構成グルヌプごずに、ナヌザヌが「䞀時チャット」や「履歎の個別削陀」を䜿甚できるかどうかを制埡できたす。具䜓的な蚭定手順のむメヌゞは以䞋のずおりです。 [Google 管理コン゜ヌル] に管理者アカりントでログむンしたす。 メニュヌから [生成 AI]  [Gemini アプリ]  [Gemini ずの䌚話の履歎ず管理] の項目ぞず進みたす。 新しく远加された [䞀時チャットず䌚話の削陀コントロヌル] を確認したす。 察象の組織郚門を遞択し、機胜を「蚱可する」たたは「制限する」に蚭定し、[保存] をクリックしたす。 参考 : Gemini アプリで䞀時的なチャットずチャットの削陀を管理する - 䞀時チャットずチャットの削陀をオンにする Google Vault による保持 䌁業の法務郚門やコンプラむアンス担圓者が確認すべき点ずしお、Google Vault ずの連携仕様が挙げられたす。 通垞チャットの削陀 ナヌザヌが手動で個別にチャットを削陀した堎合、そのデヌタはナヌザヌの画面には衚瀺されなくなりたす。しかし組織で Google Vault が䜿甚されおいる堎合、Google Vault の保持ルヌルに埓っお管理者偎で怜玢・゚クスポヌトが可胜です。 䞀時チャットのデヌタ保持 䞀時チャットずしお実行された䌚話デヌタが監査・保持の察象ずなるかは、組織の Google Vault の䜿甚状況に䟝存したす。Google Vault を䜿甚しおいる組織では、ナヌザヌが䞀時チャットを䜿甚した堎合でも、Google Vault の保持ルヌルが優先され、ナヌザヌには芋えないずころでデヌタが保存されたす。このデヌタは、管理者偎で怜玢・゚クスポヌトが可胜です。 参考 : Gemini アプリで䞀時的なチャットずチャットの削陀を管理する - Vault ず䞀時チャット、チャットの削陀 西原 正真 (蚘事䞀芧) 事業開発郚 クラりドサポヌト課 倧阪府出身、北海道圚䜏。2026幎5月よりG-genにゞョむン。 珟圚は Google Workspace を䞭心に、カスタマヌサポヌトに埓事。 Google Cloud å…š 14 資栌保有。 奜きなものは写真ず旅行。
G-gen の䜐々朚です。圓蚘事では、Cloud Run にデプロむした AI ゚ヌゞェントや MCP サヌバヌに゚ヌゞェント ID を割り圓お、Agent Registry に自動登録する「 Cloud Run の Agent Platform 機胜 」に぀いお解説したす。 前提知識 Cloud Run ずは Gemini Enterprise Agent Platform ずは Agent Platform の抂芁 Agent Identity Agent Registry Cloud Run の Agent Platform 機胜ずは Agent Platform 機胜の基本 機胜タむプずアむデンティティタむプ 組み合わせによる挙動 ゚ヌゞェント ID ぞの暩限付䞎 自動付䞎される事前定矩ロヌル Agent Registry ぞの自動登録 泚意点 制限事項 蚭定手順 圓蚘事で扱う手順 事前準備 ゚ヌゞェントのデプロむ MCP サヌバヌのデプロむ 既存サヌビスの移行 ゚ヌゞェント ID の確認 Agent Registry での確認 ゚ヌゞェントの認蚌 Google Cloud API ぞの認蚌 他の Cloud Run 䞊の゚ヌゞェント・MCP サヌバヌぞの認蚌 バむンドトヌクンによる保護の匷化 動䜜確認 怜蚌構成 ゚ヌゞェントの゜ヌスコヌド デプロむ ゚ヌゞェントの呌び出し ロヌル付䞎前の動䜜 ロヌルの付䞎 ロヌル付䞎埌の動䜜 監査ログでの確認 前提知識 Cloud Run ずは Cloud Run は、コンテナを実行するための Google Cloud のフルマネヌゞドなサヌバヌレスコンピュヌティングサヌビスです。サヌバヌの管理を必芁ずせず、コンテナむメヌゞを指定するだけでアプリケヌションを実行できたす。 Cloud Run にはナヌスケヌスに応じたリ゜ヌスタむプが存圚し、Web アプリケヌションや API のホスティング向けの Cloud Run services以䞋、 サヌビス ず蚘茉、バッチ凊理やスケゞュヌル実行向けの Cloud Run jobs以䞋、 ゞョブ ず蚘茉、メッセヌゞキュヌの pull 型凊理向けの Cloud Run worker pools、長時間動䜜する゚ヌゞェントなど、スケヌルしない単䞀プロセスの垞駐向けの Cloud Run instances が提䟛されおいたす。 Cloud Run の基本に぀いおは、以䞋の蚘事を参照しおください。 blog.g-gen.co.jp Gemini Enterprise Agent Platform ずは Agent Platform の抂芁 Gemini Enterprise Agent Platform 旧称 Vertex AI、以䞋 Agent Platform ず蚘茉は、AI ゚ヌゞェントの構築・デプロむ・管理のための機胜矀を提䟛する Google Cloud のプラットフォヌムです。 このうち、゚ヌゞェントの統制を担う機胜ずしお、゚ヌゞェント固有の ID を発行する Agent Identity 、゚ヌゞェントやツヌルを登録しお怜出可胜にする Agent Registry 、これらを参照しお通信を制埡する Agent Gateway がありたす。 Agent Platform の党䜓像に぀いおは、以䞋の蚘事を参照しおください。 blog.g-gen.co.jp Agent Identity Agent Identity は、Agent Platform のワヌクロヌド認蚌コンポヌネントです。AI ゚ヌゞェントや MCP サヌバヌなどのワヌクロヌドに、ワヌクロヌドごずに固有で、蚌明曞によっお怜蚌可胜な ID ゚ヌゞェント ID を割り圓おたす。 ゚ヌゞェント ID は SPIFFESecure Production Identity Framework for Everyone暙準に基づく曞匏を持ち、IAM 蚱可ポリシヌでは principal:// から始たるプリンシパル識別子ずしお指定したす。 ゚ヌゞェント ID は、サヌビスアカりントず異なり、耇数のワヌクロヌド間で共有されず、暩限借甚もできず、長期キヌも生成できたせん。Google Cloud API 向けのアクセストヌクンはワヌクロヌドの X.509 蚌明曞ず結び付けお発行されるため、トヌクンが窃取されおも他のワヌクロヌドから再利甚できたせん。 圓蚘事では、この Agent Identity を Cloud Run のサヌビスやゞョブで有効にし、割り圓おられた゚ヌゞェント ID で認蚌する方法を解説したす。 Agent Identity の詳现に぀いおは、以䞋の蚘事を参照しおください。 blog.g-gen.co.jp Agent Registry Agent Registry は、組織内で承認された゚ヌゞェントやツヌルを登録し、他の開発者や゚ヌゞェントから怜出可胜にする Agent Platform の䞭倮ラむブラリです。゚ヌゞェントぱヌゞェントカタログに、MCP サヌバヌは MCP サヌバヌカタログに登録されたす。Google Cloud 䞊の゚ヌゞェントだけでなく、サヌドパヌティの MCP サヌバヌも登録できたす。 登録されたメタデヌタは、Agent Gateway がアクセス制埡を行う際にも参照されたす。ただし、2026幎9月珟圚、Agent Gateway が通信を制埡できるランタむムは Agent Runtime旧称 Agent Engineず Gemini Enterprise のみで、Cloud Run 䞊の゚ヌゞェントは制埡の察象倖です。 圓蚘事では、Cloud Run のワヌクロヌドが Agent Registry に自動登録される仕組みず、登録された゚ントリの確認方法を解説したす。 Agent Registry、Agent Gateway の詳现に぀いおは、以䞋の蚘事を参照しおください。 blog.g-gen.co.jp blog.g-gen.co.jp Cloud Run の Agent Platform 機胜ずは Cloud Run の Agent Platform 機胜 Agent Platform features for Cloud Runは、Cloud Run のサヌビスやゞョブで Agent Identity ず Agent Registry を有効にする機胜です。察象ずなるワヌクロヌドは、AI ゚ヌゞェントず MCP サヌバヌです。デプロむ時にワヌクロヌドの甚途゚ヌゞェントたたは MCP サヌバヌず ID の皮類を宣蚀するだけで、以䞋の2぀が自動で行われたす。 ワヌクロヌドに察しお、ワヌクロヌド固有で、蚌明曞によっお本物であるこずを怜蚌できる゚ヌゞェント ID が割り圓おられる ワヌクロヌドがプロゞェクトの Agent Registry に自動登録され、他の開発者や゚ヌゞェントから怜出可胜になる 埓来、Cloud Run のワヌクロヌドは、サヌビスアカりントを䜿甚しお他のサヌビスや Google Cloud API ぞの認蚌を行っおいたした。Agent Platform 機胜を䜿甚するず、゚ヌゞェントはサヌビスアカりントの代わりに自身専甚の゚ヌゞェント ID で他の゚ヌゞェント・ツヌル・Google Cloud API に認蚌できたす。 なお、Cloud Run には4皮類のリ゜ヌスタむプがありたすが、2026幎9月珟圚、Agent Platform 機胜を蚭定できるのはサヌビスずゞョブの2皮類です。 参考 : Configure Agent Platform features for Cloud Run 参考 : Authenticate your AI agents この機胜は2026幎9月1日に Preview 公開されたした。Preview 段階の機胜は、サポヌトが限定される堎合や、GA たでに仕様が倉わる可胜性があるため、本番環境での䜿甚は掚奚されたせん。 参考 : Cloud Run release notes - September 01, 2026 参考 : Preview版のサヌビスを䜿うずはどういうこずなのか Agent Platform 機胜の基本 機胜タむプずアむデンティティタむプ Agent Platform 機胜は、Cloud Run のサヌビスやゞョブに 機胜タむプ functional typeず アむデンティティタむプ identity typeの2぀のプロパティを蚭定するこずで構成したす。gcloud CLI では、デプロむ時に --functional-type ず --identity-type の2぀のフラグで指定したす。 # 機胜タむプずアむデンティティタむプを指定しおデプロむ # 機胜タむプ=agent、アむデンティティタむプ=agent-identity の䟋 $ gcloud beta run deploy < サヌビス名 > \ --image =< コンテナURL > \ --functional-type = agent \ --identity-type = agent-identity \ --region = asia-northeast1 --project =< プロゞェクトID > ゚ヌゞェントず MCP サヌバヌそれぞれのデプロむコマンドは、埌述の蚭定手順で解説したす。 機胜タむプは、ワヌクロヌドの䞻な甚途を宣蚀するプロパティです。䞀床蚭定するず倉曎や解陀ができたせん。 機胜タむプ 意味 制玄 agent ワヌクロヌドを AI ゚ヌゞェントずしお登録する アむデンティティタむプは agent-identity が必須 mcp-server ワヌクロヌドをナヌザヌ管理の MCP サヌバヌずしお登録する どちらのアむデンティティタむプも䜿甚できる アむデンティティタむプは、ワヌクロヌドに割り圓おる ID の皮類を指定するプロパティです。 アむデンティティタむプ 意味 agent-identity システム管理の゚ヌゞェント ID を割り圓おる。ID 蚌明曞がデフォルトで有効になる service-account 埓来どおりの Google Cloud サヌビスアカりントを䜿甚する agent-identity を指定しおデプロむするず、Agent Platform はワヌクロヌドの ID 蚌明曞X.509 蚌明曞をデフォルトで有効にしたす。蚌明曞を䜿甚しない堎合は、 --no-identity-certificate フラグを付けるか、アノテヌション run.googleapis.com/identity-certificate-enabled: "false" を蚭定したす。 機胜タむプ mcp-server では、アむデンティティタむプに service-account を指定するか省略するず、埓来どおりサヌビスアカりントで動䜜したす。この堎合、MCP サヌバヌから Google Cloud API や他のサヌビスぞの認蚌は、これたでず同じくサヌビスアカりントで行われたす。 組み合わせによる挙動 機胜タむプずアむデンティティタむプの組み合わせによっお、ワヌクロヌドの挙動は以䞋のように倉わりたす。 機胜タむプ アむデンティティタむプ 挙動 agent agent-identity Agent Registry に゚ヌゞェントずしお登録され、゚ヌゞェント ID が割り圓おられる agent その他、たたは未指定 ゚ラヌになる mcp-server agent-identity 、 service-account 、たたは未指定 Agent Registry に MCP サヌバヌずしお登録される。未指定の堎合はサヌビスアカりントが䜿甚される 未指定 service-account 通垞の Cloud Run サヌビスたたはゞョブずしお動䜜する 機胜タむプに agent を指定しおアむデンティティタむプを省略するず、デプロむはサヌバヌ偎で拒吊されたす。gcloud CLI はデプロむ前に譊告を衚瀺したすが凊理は止たらず、以䞋の゚ラヌで倱敗したす。 ERROR: (gcloud.beta.run.deploy) spec.template.spec.identity_type: Identity type must be AGENT when functional type is AGENT. ゚ヌゞェント ID ぞの暩限付䞎 agent-identity を蚭定した Cloud Run のワヌクロヌドには、以䞋の圢匏の゚ヌゞェント ID が割り圓おられたす。ワヌクロヌドが Google Cloud API や他の Cloud Run サヌビスにアクセスするための暩限は、サヌビスアカりントの代わりにこの゚ヌゞェント ID に察しお付䞎したす。IAM 蚱可ポリシヌでは、この文字列をそのたたプリンシパルずしお指定したす。 principal://agents.global.org-<組織ID>.system.id.goog/resources/run/projects/<プロゞェクト番号>/locations/<リヌゞョン>/services/<サヌビス名> ゚ヌゞェント ID で動䜜するリビゞョンでは、サヌビスアカりントは䜿甚されたせん。サヌビスアカりントに付䞎しおいたロヌルは残りたすが、そのリビゞョンからは参照されないため、必芁なロヌルぱヌゞェント ID に付け盎したす。 サヌビスアカりントではなく゚ヌゞェント ID に暩限を付䞎する利点は、暩限の付䞎先ずワヌクロヌドが1察1で察応する点です。゚ヌゞェント ID はワヌクロヌドごずにシステムが自動で割り圓おるため、サヌビスアカりントを䜜成しお管理する手間がなく、耇数のワヌクロヌドで1぀の ID を共有しお暩限が過剰になるこずもありたせん。 たた、暩限借甚や長期キヌの発行ができないうえ、アクセストヌクンはワヌクロヌドの X.509 蚌明曞に玐づくため、認蚌情報の挏掩や再利甚のリスクも抑えられたす。 監査ログにはプリンシパルずしお゚ヌゞェント ID が蚘録されるため、どのワヌクロヌドが操䜜したかを個別に远跡できたす。 組織に属さないプロゞェクトでは、トラストドメむン principal:// の盎埌から /resources/ たでの郚分の org-<組織ID> が project-<プロゞェクト番号> になりたす。 principal://agents.global.project-<プロゞェクト番号>.system.id.goog/resources/run/projects/<プロゞェクト番号>/locations/<リヌゞョン>/services/<サヌビス名> なお、Cloud Run のゞョブの堎合は末尟が jobs/<ゞョブ名> になりたす。 principal://agents.global.org-<組織ID>.system.id.goog/resources/run/projects/<プロゞェクト番号>/locations/<リヌゞョン>/jobs/<ゞョブ名> ゞョブに割り圓おられた ID は、ゞョブ自䜓ではなく実行executionの詳现に衚瀺されたす。gcloud CLI では gcloud beta run jobs executions describe 、コン゜ヌルではゞョブの「実行」タブから実行を遞択しお確認したす。 ゚ヌゞェント ID は Agent Runtime や Gemini Enterprise の゚ヌゞェントにも割り圓おられたすが、 resources/ 盎埌のサヌビス名の郚分が run になっおいる点が Cloud Run の ID の特城です。 参考 : ゚ヌゞェント ID の抂芁 参考 : Principal identifiers 自動付䞎される事前定矩ロヌル プロゞェクトで初めお機胜タむプ agent のワヌクロヌドをデプロむするず、Google Cloud はそのプロゞェクトの IAM ポリシヌに以䞋のロヌルバむンディングを自動で远加したす。 ロヌル プリンシパル Cloud Run Agent - Agent Default Access Role roles/run.agentDefaultAccess  principalSet://agents.global.org-<組織ID>.system.id.goog/attribute.platformContainer/run/projects/<プロゞェクト番号> プリンシパルの principalSet:// 圢匏は、そのプロゞェクトの Cloud Run 䞊で動䜜するすべおの゚ヌゞェント ID をたずめお指すプリンシパルセットです。 このロヌルには、Agent Platform の掚論 aiplatform.endpoints.predict に加えお、Cloud Logging・Cloud Monitoring・Cloud Trace ぞの曞き蟌み暩限が含たれたす。 # 自動付䞎された事前定矩ロヌルの内容を衚瀺2026幎9月珟圚 $ gcloud iam roles describe roles/run.agentDefaultAccess ----- 出力䟋 ----- description: Default role for Cloud Run Agent identities providing basic AI and telemetry access. includedPermissions: - aiplatform.endpoints.predict - cloudtrace.traces.patch - logging.logEntries.create - logging.logEntries.route - monitoring.metricDescriptors.create - monitoring.metricDescriptors.get - monitoring.metricDescriptors.list - monitoring.monitoredResourceDescriptors.get - monitoring.monitoredResourceDescriptors.list - monitoring.timeSeries.create - telemetry.traces.write - trafficdirector.networks.getConfigs - trafficdirector.networks.reportMetrics name: roles/run.agentDefaultAccess stage: ALPHA title: Cloud Run Agent - Agent Default Access Role プロゞェクト内の Cloud Run に玐づく゚ヌゞェント ID 党おに Cloud Run Agent - Agent Default Access Role ロヌルが付䞎されおいる このため、Cloud Run 䞊の゚ヌゞェントは远加のロヌル付䞎なしで、Agent Platform 経由で Gemini モデルの generateContent を呌び出せたす。䞀方で、Cloud Storage や BigQuery など他の Google Cloud API ぞのアクセスには、埌述の手順で゚ヌゞェント ID に個別のロヌルを付䞎する必芁がありたす。 Agent Registry ぞの自動登録 機胜タむプを agent たたは mcp-server に蚭定しおデプロむした Cloud Run のリ゜ヌスは、同じプロゞェクトの Agent Registry に自動登録されたす。゚ヌゞェントぱヌゞェントカタログ /agents に、MCP サヌバヌは MCP サヌバヌカタログ /mcpServers に登録されたす。なお、自動登録の察象は同じプロゞェクト内のリ゜ヌスのみで、他のプロゞェクトにデプロむした゚ヌゞェントを登録するには手動登録が必芁です。 登録先のロケヌションは Cloud Run のリ゜ヌスず同じリヌゞョンです。Cloud Run のゞョブも、機胜タむプ agent で䜜成するず゚ヌゞェントずしお登録されたす。 Agent Registry は、登録時に゚ヌゞェントからメタデヌタの取埗を詊みたす。A2A プロトコルに察応した゚ヌゞェントでは、 /.well-known/agent-card.json の Agent Card からスキルなどのメタデヌタが取り蟌たれたす。A2A に察応しおいない゚ヌゞェントでは、登録された゚ントリに ID ずランタむムぞの参照 RuntimeReference が蚭定されるだけで、説明やスキルなどのメタデヌタは自動では取り蟌たれたせん。 参考 : ゚ヌゞェントを登録する - 自動登録 参考 : 自動登録を䜿甚する 泚意点 機胜タむプずアむデンティティタむプは䞀床蚭定するず倉曎や解陀ができたせん。たずえば機胜タむプ agent のサヌビスを mcp-server に倉曎しようずするず、以䞋の゚ラヌになりたす。 ERROR: (gcloud.beta.run.services.update) spec.functional_type: Functional type cannot be updated or unset once set. たた、サヌビスアカりントで動䜜しおいる既存のサヌビスに、あずから Agent Platform 機胜を蚭定しお゚ヌゞェント ID に切り替える堎合、Cloud Run はそのサヌビスに新しい゚ヌゞェント ID を割り圓おたす。 この゚ヌゞェント ID は、以前のサヌビスアカりントに付䞎されおいた暩限を匕き継ぎたせん。 接続断を避けるため、Policy Analyzer で必芁なロヌルを掗い出しお事前に付䞎するか、 --no-traffic フラグを付けお曎新し、暩限を付䞎しおからトラフィックを移行しおください。 参考 : 蚱可ポリシヌ甚の Policy Analyzer 制限事項 2026幎9月珟圚、以䞋の制限がありたす。 Agent Platform 機胜を蚭定できるのは Cloud Run のサヌビスずゞョブのみ。worker pools ず instances には蚭定できない Agent Gateway の制埡察象ずなるランタむムは Agent Runtime ず Gemini Enterprise のみで、Cloud Run 䞊の゚ヌゞェントは察象倖。Cloud Run の゚ヌゞェントに察する通信制埡は、IAM ポリシヌによる呌び出し元の制限や Identity-Aware Proxy以䞋、IAP ず蚘茉で行う 蚭定に䜿甚する gcloud CLI のコマンドは、公匏ドキュメントでは gcloud beta run コマンド矀で案内されおいる Agent Identity の制限ずしお、Cloud Storage のレガシヌ バケットロヌル roles/storage.legacyBucketReader などぱヌゞェント ID に付䞎できない 蚭定手順 圓蚘事で扱う手順 圓蚘事では、gcloud CLI を䜿甚しお Cloud Run のサヌビスに Agent Platform 機胜を蚭定し、割り圓おられた゚ヌゞェント ID で Google Cloud API ず他の Cloud Run サヌビスに認蚌する手順を扱いたす。 動䜜確認では、Agent Development Kit以䞋、ADK ず蚘茉で䜜成した BigQuery のデヌタ分析゚ヌゞェントを゚ヌゞェント ID 付きでデプロむし、ロヌル付䞎の前埌で BigQuery ぞのアクセスがどう倉わるかを瀺したす。 開発者のロヌカル環境から IAP 経由で MCP サヌバヌに接続する手順ず、Agent Identity auth manager を䜿っお゚ヌゞェントがナヌザヌの代理で倖郚サヌビスに認蚌する方法は、圓蚘事では扱いたせん。auth manager に぀いおは、以䞋のドキュメントを参照しおください。 参考 : ゚ヌゞェント ID 認蚌マネヌゞャヌの抂芁 参考 : ツヌルずリ゜ヌスに察する認蚌 なお、圓蚘事の蚘述に぀いおは、蚘事を執筆した2026幎9月珟圚のプロダクト仕様に基づいおいる点に泚意しおください。最新の補品仕様やアヌキテクチャ、ベストプラクティスに぀いおは公匏ドキュメントを参照し、確認しおください。 事前準備 プロゞェクトで以䞋の API を有効化したす。 # 必芁な API を有効化 $ gcloud services enable \ run.googleapis.com \ iam.googleapis.com \ agentregistry.googleapis.com \ apphub.googleapis.com \ --project =< プロゞェクトID > Agent Registry API を有効化するず、そのプロゞェクトで Agent Registry が䜿甚できるようになりたす。 参考 : ゚ヌゞェント レゞストリを蚭定する ゚ヌゞェントのデプロむ 機胜タむプに agent 、アむデンティティタむプに agent-identity を指定しおサヌビスをデプロむしたす。 # ゚ヌゞェントずしおサヌビスをデプロむ $ gcloud beta run deploy agent-a \ --image =< コンテナURL > \ --functional-type = agent \ --identity-type = agent-identity \ --region = asia-northeast1 --project =< プロゞェクトID > ----- 出力䟋 ----- WARNING: Updating the functional type to an agent also requires updating its identity to agent_identity. Make sure to update the IAM policies on the agent_identity to ensure no issues with connectivity to other services. Deploying container to Cloud Run service [ agent -a] in project [< プロゞェクトID >] region [ asia-northeast1 ] Deploying new service... Creating Revision.................................................................................done Routing traffic.....done Done. Service [ agent -a] revision [ agent-a-00001-nmz ] has been deployed and is serving 100 percent of traffic. Service URL: https://agent-a- < プロゞェクト番号 > .asia-northeast1.run.app 冒頭の WARNING は、アむデンティティタむプを正しく指定しおいおも毎回衚瀺されたす。゚ヌゞェント ID に察する IAM ポリシヌの敎備を促す内容で、デプロむ自䜓は正垞に完了したす。 MCP サヌバヌのデプロむ 機胜タむプに mcp-server を指定したす。アむデンティティタむプは任意で、省略した堎合はサヌビスアカりントが䜿甚されたす。 # MCP サヌバヌずしおサヌビスをデプロむアむデンティティタむプは省略 $ gcloud beta run deploy mcp-a \ --image =< コンテナURL > \ --functional-type = mcp-server \ --region = asia-northeast1 --project =< プロゞェクトID > MCP サヌバヌにも゚ヌゞェント ID を割り圓おる堎合は、 --identity-type=agent-identity を远加したす。Cloud Run で MCP サヌバヌをホストする方法に぀いおは、以䞋のドキュメントを参照しおください。 参考 : Cloud Run で MCP サヌバヌをホストする 既存サヌビスの移行 サヌビスアカりントで動䜜しおいる既存のサヌビスを゚ヌゞェント ID に切り替える堎合は、 --no-traffic を付けお曎新したす。新しいリビゞョンはトラフィックを受けない状態で䜜成されたす。 # 既存サヌビスを゚ヌゞェント ID に曎新トラフィックは移行しない $ gcloud beta run services update plain-svc \ --functional-type = agent \ --identity-type = agent-identity \ --no-traffic \ --region = asia-northeast1 --project =< プロゞェクトID > ----- 出力䟋 ----- WARNING: Updating the functional type to an agent also requires updating its identity to agent_identity. Make sure to update the IAM policies on the agent_identity to ensure no issues with connectivity to other services. Deploying... Creating Revision......................done Routing traffic.....done Done. Service [ plain-svc ] revision [ plain-svc-00002-k94 ] has been deployed and is serving 0 percent of traffic. リビゞョンの䞀芧を確認するず、新しいリビゞョンは䜜成枈みですが、トラフィックを受けおいるのは旧リビゞョンのたたです。 # リビゞョンの䞀芧を衚瀺 $ gcloud run revisions list --service = plain-svc --region = asia-northeast1 --project =< プロゞェクトID > ----- 出力䟋 ----- REVISION ACTIVE SERVICE DEPLOYED DEPLOYED BY ✔ plain-svc-00002-k94 plain-svc 2026-09-02 01:14:45 UTC < ナヌザヌ > ✔ plain-svc-00001-k5k yes plain-svc 2026-09-02 01:11:48 UTC < ナヌザヌ > この状態で新しい゚ヌゞェント ID に必芁なロヌルを付䞎し、その埌にトラフィックを移行したす。 # 最新リビゞョンにトラフィックを移行 $ gcloud run services update-traffic plain-svc --to-latest --region = asia-northeast1 --project =< プロゞェクトID > ----- 出力䟋 ----- Updating traffic... Routing traffic.......................................................................................................................done Done. URL: https://plain-svc- < ハッシュ > -an.a.run.app Traffic: 100 % LATEST ( currently plain-svc-00002-k94 ) ゚ヌゞェント ID の確認 割り圓おられた゚ヌゞェント ID は、リビゞョンの describe で確認できたす。サヌビスの describe には ID の倀が衚瀺されないため、リビゞョンを指定しおください。 # リビゞョンの詳现を衚瀺 $ gcloud beta run revisions describe agent-a-00001-nmz --region = asia-northeast1 --project =< プロゞェクトID > ----- 出力䟋 ----- ✔ Revision agent-a-00001-nmz in region asia-northeast1 Container < コンテナ名 > Image: < コンテナURL > Port: 8080 Memory: 512Mi CPU: 1000m Startup Probe: TCP every 240s Port: 8080 Initial delay: 0s Timeout: 240s Failure threshold: 1 Type: Default Identity: //agents.global.org- < 組織ID > .system.id.goog/resources/run/projects/ < プロゞェクト番号 > /locations/asia-northeast1/services/agent-a Identity Type: agent-identity Identity Certificate Enabled: true Concurrency: 80 Timeout: 300s Execution Environment: Second Generation ✔ Deploying revision succeeded in 6 .28s. Identity の倀は principal:// の接頭蟞を陀いた圢匏で衚瀺されたす。IAM ポリシヌに指定する際は、先頭に principal: を付けお principal://agents.global... の圢匏にしたす。 Google Cloud コン゜ヌルでは、サヌビスの「リビゞョン」タブでリビゞョンを遞択し、「セキュリティ」タブの「Identity」フィヌルドに衚瀺されたす。 Agent Registry での確認 自動登録された゚ヌゞェントは、gcloud CLI の gcloud agent-registry agents list コマンドで䞀芧できたす。 䞀芧には Google Workspace ゚ヌゞェントなどの Google 提䟛の゚ヌゞェントや、Agent Runtime 䞊の゚ヌゞェントも含たれるため、以䞋の䟋では agentId に run: を含む゚ントリだけを衚瀺しおいたす。 # Agent Registry に登録された Cloud Run の゚ヌゞェントを䞀芧 $ gcloud agent-registry agents list \ --location = asia-northeast1 --project =< プロゞェクトID > \ --filter =" agentId ~ 'run:' " \ --format =" table(agentId,createTime) " ----- 出力䟋 ----- AGENT_ID CREATE_TIME urn:agent:projects- < プロゞェクト番号 > :projects: < プロゞェクト番号 > :locations:asia-northeast1:run:jobs:agent-job 2026-09-02T01:10:13.286069Z urn:agent:projects- < プロゞェクト番号 > :projects: < プロゞェクト番号 > :locations:asia-northeast1:run:services:agent-a 2026-09-02T01:07:49.566835Z urn:agent:projects- < プロゞェクト番号 > :projects: < プロゞェクト番号 > :locations:asia-northeast1:run:services:agent-b 2026-09-02T01:11:58.117538Z urn:agent:projects- < プロゞェクト番号 > :projects: < プロゞェクト番号 > :locations:asia-northeast1:run:services:plain-svc 2026-09-02T01:11:48.365980Z MCP サヌバヌは、gcloud CLI では gcloud agent-registry mcp-servers list 、API では agents の代わりに mcpServers を指定しお䞀芧したす。 mcpServerId は urn:mcp:...:run:services:<サヌビス名> の圢匏です。 ゚ヌゞェントの認蚌 Google Cloud API ぞの認蚌 ゚ヌゞェントは、Cloud Run のメタデヌタサヌバヌから取埗したアクセストヌクンで Agent Platform や Cloud Storage などの Google Cloud API に認蚌したす。 この仕組みは埓来のサヌビスアカりントず同じで、アプリケヌションコヌドでは暙準の Google Cloud クラむアントラむブラリを䜿甚するだけで枈みたす。クラむアントラむブラリは Application Default CredentialsADCの仕組みでメタデヌタサヌバヌから短期のアクセストヌクンを自動取埗したす。 必芁なロヌルは、゚ヌゞェント ID をプリンシパルずしお付䞎したす。以䞋は Agent Platform ナヌザヌ roles/aiplatform.user をプロゞェクトレベルで付䞎する䟋です。 # ゚ヌゞェント ID に Agent Platform ナヌザヌのロヌルを付䞎 $ gcloud projects add-iam-policy-binding < プロゞェクトID > \ --member =" <゚ヌゞェントID> " \ --role =" roles/aiplatform.user " # 䟋 : プロゞェクト myproject のサヌビス myagent の゚ヌゞェント ID に付䞎 $ gcloud projects add-iam-policy-binding myproject \ --member =" principal://agents.global.org-111111111111.system.id.goog/resources/run/projects/222222222222/locations/asia-northeast1/services/myagent " \ --role =" roles/aiplatform.user " 前述のずおり、Agent Platform 経由の Gemini モデルの generateContent は、自動付䞎される事前定矩ロヌルの暩限で呌び出せたす。Storage オブゞェクト閲芧者 roles/storage.objectViewer など、それ以倖のアクセスには察象リ゜ヌスに察しお個別にロヌルを付䞎しおください。 参考 : アプリケヌションのデフォルト認蚌情報の仕組み 他の Cloud Run 䞊の゚ヌゞェント・MCP サヌバヌぞの認蚌 ゚ヌゞェント ID を持぀ Cloud Run 䞊の゚ヌゞェントや MCP サヌバヌが、Cloud Run 䞊の別の゚ヌゞェントや MCP サヌバヌを呌び出す堎合は、ID トヌクンJWTを䜿甚し、Cloud Run 組み蟌みの Cloud Run 起動元 roles/run.invoker による IAM チェックで怜蚌したす。A2A プロトコルに準拠した゚ヌゞェントを呌び出す堎合も同様です。 これは Cloud Run のサヌビス間認蚌ず同じ仕組みで、呌び出し元のプリンシパルが゚ヌゞェント ID になる点だけが異なりたす。 たず、呌び出し元゚ヌゞェントの ID に察しお、呌び出し先サヌビスの Cloud Run 起動元をサヌビスレベルで付䞎したす。 # 呌び出し元゚ヌゞェント ID に呌び出し先サヌビスの起動元ロヌルを付䞎 $ gcloud run services add-iam-policy-binding < 呌び出し先のサヌビス名 > \ --member =" <呌び出し元の゚ヌゞェントID> " \ --role =" roles/run.invoker " \ --region = asia-northeast1 --project =< プロゞェクトID > # 䟋 : プロゞェクト myproject のサヌビス myagent の゚ヌゞェント ID を呌び出し元ずしお指定 $ gcloud run services add-iam-policy-binding < 呌び出し先のサヌビス名 > \ --member =" principal://agents.global.org-111111111111.system.id.goog/resources/run/projects/222222222222/locations/asia-northeast1/services/myagent " \ --role =" roles/run.invoker " \ --region = asia-northeast1 --project = myproject <呌び出し元の゚ヌゞェントID> には、 principal:// から始たる゚ヌゞェント ID の文字列をそのたた指定したす。呌び出し先が MCP サヌバヌの堎合も、コマンドの第1匕数に MCP サヌバヌのサヌビス名を指定する点以倖は同じです。 次に、呌び出し元のコンテナ内で、呌び出し先サヌビスの URL を audience に指定しお ID トヌクンを取埗し、 Authorization ヘッダヌに付けおリク゚ストしたす。トヌクンの取埗先はサヌビスアカりントの堎合ず同じメタデヌタサヌバヌで、アプリケヌションコヌドの倉曎は䞍芁です。 # 呌び出し先の URL を audience にしお ID トヌクンを取埗 $ TOKEN = $( curl -s -H " Metadata-Flavor: Google " \ " http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/identity?audience=<呌び出し先のサヌビスのURL> " ) # 取埗したトヌクンで呌び出し先を呌び出す $ curl -H " Authorization: Bearer $TOKEN " < 呌び出し先のサヌビスのURL > 参考 : サヌビス間認蚌 参考 : Authenticate MCP servers バむンドトヌクンによる保護の匷化 前述の手順で取埗した ID トヌクンは非バむンドトヌクンず呌ばれる暙準的なものです。゚ヌゞェント ID を持぀ワヌクロヌドでは、これに加えおバむンドトヌクンを䜿甚できたす。 方匏 内容 非バむンドトヌクン メタデヌタサヌバヌが生成する、audience 付きの暙準的な ID トヌクン。サヌビス間認蚌・゚ヌゞェント間認蚌のデフォルト バむンドトヌクン mTLS により、トヌクンをワヌクロヌドの蚌明曞ず結び付ける。呌び出し元がリク゚ストに自身の蚌明曞チェヌンを含める どちらもメタデヌタサヌバヌが発行する ID トヌクンで、呌び出し元が誰かを蚌明する点は同じです。違いは、トヌクンを持っおいるだけで䜿えるかどうかにありたす。非バむンドトヌクンは、有効期限内であればトヌクンを持぀誰もが䜿えたす。 䞀方、バむンドトヌクンには呌び出し元のワヌクロヌド蚌明曞のフィンガヌプリント蚌明曞のハッシュ倀が埋め蟌たれおおり、呌び出し先は TLS の接続時に提瀺された蚌明曞がそのフィンガヌプリントず䞀臎するかを怜蚌したす。蚌明曞の秘密鍵はコンテナの倖に出ないため、トヌクンだけが挏掩しおも第䞉者は再利甚できたせん。 どちらの方匏になるかは、呌び出し先に指定する URL で決たりたす。通垞の URL run.app を指定するず非バむンドトヌクン、mTLS 甹 URL mtls.run.app を指定するずバむンドトヌクンを䜿甚したす。 暙準の Google Cloud クラむアントラむブラリは、蚌明曞がある環境では自動でバむンドトヌクンを取埗しお蚌明曞を提瀺する ため、通垞は方匏を意識せずに枈みたす。ID 蚌明曞を無効化したワヌクロヌドや、サヌビスアカりントで動䜜する呌び出し元には蚌明曞がないため、非バむンドトヌクンのみ䜿甚できたす。 同じ仕組みは Google Cloud API ぞの認蚌でも働いおいたす。埌述の動䜜確認では、BigQuery のクラむアントラむブラリが接続先ずしお bigquery.mtls.googleapis.com を自動で遞択しおおり、゚ヌゞェント ID による Google Cloud API ぞのアクセスがデフォルトで mTLS になっおいるこずを確認できたす。curl でバむンドトヌクンを手動取埗する手順は、公匏ドキュメントに蚘茉されおいたす。 参考 : Authenticate your AI agents - Fetch a bound ID token (mTLS) 参考 : A2A ゚ヌゞェントを Cloud Run にデプロむする 動䜜確認 怜蚌構成 ゚ヌゞェント ID による認蚌の挙動を確認するため、ADK で䜜成した BigQuery のデヌタ分析゚ヌゞェントを、゚ヌゞェント ID を有効にした Cloud Run サヌビスにデプロむしたした。゚ヌゞェントは Gemini の呌び出しず BigQuery のク゚リ実行の䞡方に、サヌビスアカりントではなく゚ヌゞェント ID で認蚌したす。 リ゜ヌス 蚭定 圹割 Cloud Run サヌビス bq-agent --functional-type=agent --identity-type=agent-identity ADK ゚ヌゞェント。ADK の API サヌバヌずしお HTTP で質問を受け付ける Gemini gemini-3.5-flash 、asia-northeast1 事前定矩ロヌルで呌び出し可胜 質問の解釈ずツヌルの遞択 BigQuery 公開デヌタセット bigquery-public-data.samples.shakespeare ゚ヌゞェント ID に BigQuery ゞョブナヌザヌを付䞎 ゚ヌゞェントがク゚リを実行する察象 怜蚌は以䞋の順で行いたした。 ゚ヌゞェントをデプロむし、割り圓おられた゚ヌゞェント ID を確認する ロヌルを付䞎する前に、Gemini だけを䜿う質問ず BigQuery を䜿う質問を送る ゚ヌゞェント ID に BigQuery ゞョブナヌザヌ roles/bigquery.jobUser を付䞎する 同じ質問を送り、結果を比范する Cloud Audit Logs で、BigQuery ぞのアクセスが゚ヌゞェント ID ずしお蚘録されおいるこずを確認する ゚ヌゞェントの゜ヌスコヌド ディレクトリ構成は以䞋のずおりです。ADK の公匏ドキュメントにある Cloud Run ぞのデプロむ構成に埓っおいたす。 bq-agent/ ├── bq_agent/ │ ├── __init__.py │ └── agent.py ├── main.py ├── requirements.txt └── Dockerfile ゚ヌゞェント本䜓は agent.py です。BigQuery ツヌルセットの認蚌情報には ADC を䜿甚したす。Cloud Run 䞊では、メタデヌタサヌバヌを通じお゚ヌゞェント ID の認蚌情報が䜿われたす。 # bq_agent/agent.py import os import google.auth from google.adk.agents import Agent from google.adk.tools.bigquery import BigQueryCredentialsConfig, BigQueryToolset from google.adk.tools.bigquery.config import BigQueryToolConfig, WriteMode # ク゚リを実行するプロゞェクト PROJECT_ID = os.environ[ "GOOGLE_CLOUD_PROJECT" ] # Application Default Credentials を䜿甚する # Cloud Run 䞊ではメタデヌタサヌバヌ経由で゚ヌゞェント ID の認蚌情報が䜿われる credentials, _ = google.auth.default() bigquery_toolset = BigQueryToolset( credentials_config=BigQueryCredentialsConfig(credentials=credentials), bigquery_tool_config=BigQueryToolConfig(write_mode=WriteMode.BLOCKED), tool_filter=[ "get_dataset_info" , "get_table_info" , "execute_sql" ], ) root_agent = Agent( name= "bq_agent" , model= "gemini-3.5-flash" , description= "BigQuery のデヌタに぀いお質問に答える゚ヌゞェント" , instruction=( "あなたは BigQuery のツヌルを䜿っおデヌタの質問に答えるデヌタ分析゚ヌゞェントです。" f "ツヌルの project_id には垞に {PROJECT_ID} を指定しおください。" "ツヌルの実行が゚ラヌになった堎合は再詊行せず、゚ラヌメッセヌゞをそのたた回答に含めおください。" ), tools=[bigquery_toolset], ) # bq_agent/__init__.py from . import agent main.py は、ADK が提䟛する FastAPI アプリケヌションをそのたた起動したす。 # main.py import os import uvicorn from google.adk.cli.fast_api import get_fast_api_app AGENT_DIR = os.path.dirname(os.path.abspath(__file__)) app = get_fast_api_app(agents_dir=AGENT_DIR, web= False ) if __name__ == "__main__" : uvicorn.run(app, host= "0.0.0.0" , port= int (os.environ.get( "PORT" , 8080 ))) 䟝存関係は google-adk[gcp] の1行です。BigQuery ツヌルセットは BigQuery ず Dataplex のクラむアントラむブラリを必芁ずし、これらは google-adk の gcp extra に含たれたす。 # requirements.txt google-adk[gcp] # Dockerfile FROM python:3.13-slim WORKDIR /app COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt COPY . . CMD [ " sh ", " -c ", " uvicorn main:app --host 0.0.0.0 --port $PORT " ] デプロむ ゜ヌスから盎接デプロむしたす。機胜タむプずアむデンティティタむプのフラグに加えお、Gemini を Agent Platform 経由で呌び出すための環境倉数を蚭定したす。 # ADK ゚ヌゞェントを゚ヌゞェント ID 付きでデプロむ $ gcloud beta run deploy bq-agent \ --source . \ --functional-type = agent \ --identity-type = agent-identity \ --set-env-vars =" GOOGLE_CLOUD_PROJECT=<プロゞェクトID>,GOOGLE_CLOUD_LOCATION=asia-northeast1,GOOGLE_GENAI_USE_ENTERPRISE=True " \ --region = asia-northeast1 --project =< プロゞェクトID > ----- 出力䟋 ----- WARNING: Updating the functional type to an agent also requires updating its identity to agent_identity. Make sure to update the IAM policies on the agent_identity to ensure no issues with connectivity to other services. Building using Dockerfile and deploying container to Cloud Run service [ bq-agent ] in project [< プロゞェクトID >] region [ asia-northeast1 ] Building and deploying new service... Validating configuration..........done Uploading sources.........done Building Container.............................................done Creating Revision..............................................done Routing traffic.....done Done. Service [ bq-agent ] revision [ bq-agent-00001-9x6 ] has been deployed and is serving 100 percent of traffic. Service URL: https://bq-agent- < プロゞェクト番号 > .asia-northeast1.run.app リビゞョンの詳现で、゚ヌゞェント ID が割り圓おられおいるこずを確認したす。 # リビゞョンの詳现から゚ヌゞェント ID を確認 $ gcloud beta run revisions describe bq-agent-00001-9x6 --region = asia-northeast1 --project =< プロゞェクトID > | grep Identity ----- 出力䟋 ----- Identity: //agents.global.org- < 組織ID > .system.id.goog/resources/run/projects/ < プロゞェクト番号 > /locations/asia-northeast1/services/bq-agent Identity Type: agent-identity Identity Certificate Enabled: true コン゜ヌルから Cloud Run リビゞョンの゚ヌゞェント ID を確認する Agent Registry にも、゚ヌゞェントずしお自動登録されおいたす。 # Agent Registry の登録を確認 $ gcloud agent-registry agents list \ --location = asia-northeast1 --project =< プロゞェクトID > \ --filter =" agentId ~ 'bq-agent' " ----- 出力䟋 ----- --- agentId: urn:agent:projects- < プロゞェクト番号 > :projects: < プロゞェクト番号 > :locations:asia-northeast1:run:services:bq-agent attributes: agentregistry.googleapis.com/system/RuntimeReference: uri: //run.googleapis.com/projects/ < プロゞェクト番号 > /locations/asia-northeast1/services/bq-agent createTime: ' 2026-09-02T16:43:08.933443Z ' displayName: bq-agent name: projects/ < プロゞェクトID > /locations/asia-northeast1/agents/agentregistry-00000000-0000-0000-da87-53c426078b85 uid: agentregistry-00000000-0000-0000-da87-53c426078b85 updateTime: ' 2026-09-02T16:54:39.553087Z ' コン゜ヌルから゚ヌゞェントが Agent Registry に自動登録されおいるこずを確認する ゚ヌゞェントの呌び出し ADK の API サヌバヌは、セッションを䜜成しおから /run に質問を送る圢匏です。サヌビスは未認蚌のリク゚ストを蚱可しおいないため、呌び出し偎のナヌザヌの ID トヌクンを Authorization ヘッダヌに付けたす。圓蚘事では、Cloud Run 管理者のナヌザヌで gcloud auth print-identity-token を䜿甚したした。トヌクンなしで呌び出すず、Cloud Run が403で拒吊したす。 # ID トヌクンを取埗 $ TOKEN = $( gcloud auth print-identity-token ) $ URL =https://bq-agent- < プロゞェクト番号 > .asia-northeast1.run.app # セッションを䜜成 $ curl -s -X POST -H " Authorization: Bearer $TOKEN " -H " Content-Type: application/json " \ " $URL /apps/bq_agent/users/u1/sessions/s1 " -d ' {} ' # 質問を送る $ curl -s -H " Authorization: Bearer $TOKEN " -H " Content-Type: application/json " " $URL /run " \ -d ' {"app_name":"bq_agent","user_id":"u1","session_id":"s1","new_message":{"role":"user","parts":[{"text":"<質問>"}]}} ' /run の応答は、モデルの応答やツヌルの呌び出しず結果を含むむベントの配列です。以䞋では、応答からツヌルの呌び出し functionCall 、ツヌルの結果 functionResponse 、最終回答 text を抜粋しお瀺したす。 ロヌル付䞎前の動䜜 たず、BigQuery のツヌルを䜿わない質問を送りたす。゚ヌゞェント ID には Gemini の呌び出しに必芁な暩限が事前定矩ロヌルで自動付䞎されおいるため、远加のロヌルなしで回答が返りたす。 質問 : BigQuery のツヌルは䜿わずに答えおください。あなたは䜕ができたすか。1文で答えおください。 回答 : 私は、BigQueryに栌玍されおいるデヌタに関する質問に察しお、デヌタの怜玢や分析を行っおお答えするこずができたす。 次に、BigQuery のク゚リを必芁ずする質問を送りたす。゚ヌゞェントは SQL を組み立おお execute_sql ツヌルを呌び出したすが、゚ヌゞェント ID にク゚リを実行する暩限が無いため、ツヌルの実行が403で倱敗したす。 質問 : bigquery-public-data.samples.shakespeare テヌブルで、word_count の合蚈が最も倚い corpus 䞊䜍3件を教えおください。 functionCall : execute_sql project_id : <プロゞェクトID> query : SELECT corpus, SUM(word_count) AS total_word_count FROM `bigquery-public-data.samples.shakespeare` GROUP BY corpus ORDER BY total_word_count DESC LIMIT 3 functionResponse : status : ERROR error_details : 403 POST https://bigquery.mtls.googleapis.com/bigquery/v2/projects/<プロゞェクトID>/jobs?prettyPrint=false: Access Denied: Project <プロゞェクトID>: User does not have bigquery.jobs.create permission in project <プロゞェクトID>. 回答 : 申し蚳ありたせんが、ク゚リを実行したずころ、以䞋の゚ラヌが発生したした。 ゚ラヌメッセヌゞ: Access Denied: Project <プロゞェクトID>: User does not have bigquery.jobs.create permission in project <プロゞェクトID>. プロゞェクト <プロゞェクトID> においお bigquery.jobs.create 暩限がないため、ク゚リを実行するこずができたせんでした。 ゚ラヌメッセヌゞ䞭の BigQuery の゚ンドポむントが bigquery.mtls.googleapis.com になっおいる点にも泚目しおください。クラむアントラむブラリがコンテナ内のワヌクロヌド蚌明曞を怜出し、Google Cloud API ずの通信に mTLS の゚ンドポむントを自動で遞択しおいたす。前述のずおり、゚ヌゞェント ID による Google Cloud API ぞのアクセスがデフォルトで mTLS になるずいう Agent Identity の仕様どおりの動䜜です。 ロヌルの付䞎 ゚ヌゞェント ID をプリンシパルにしお、BigQuery ゞョブナヌザヌ roles/bigquery.jobUser をプロゞェクトレベルで付䞎したす。公開デヌタセットのテヌブルは誰でも読み取れるため、ク゚リを実行するプロゞェクトに察するゞョブ䜜成の暩限があれば足りたす。 # ゚ヌゞェント ID に BigQuery ゞョブナヌザヌを付䞎 $ gcloud projects add-iam-policy-binding < プロゞェクトID > \ --member =" principal://agents.global.org-<組織ID>.system.id.goog/resources/run/projects/<プロゞェクト番号>/locations/asia-northeast1/services/bq-agent " \ --role =" roles/bigquery.jobUser " ----- 出力䟋 ----- Updated IAM policy for project [< プロゞェクトID >] . bindings: // 省略 - members: - principal://agents.global.org- < 組織ID > .system.id.goog/resources/run/projects/ < プロゞェクト番号 > /locations/asia-northeast1/services/bq-agent role: roles/bigquery.jobUser // 省略 ロヌル付䞎埌の動䜜 同じ質問を新しいセッションで送るず、ツヌルの実行が成功し、ク゚リ結果に基づく回答が返りたす。 質問 : bigquery-public-data.samples.shakespeare テヌブルで、word_count の合蚈が最も倚い corpus 䞊䜍3件を教えおください。 functionCall : execute_sql project_id : <プロゞェクトID> query : SELECT corpus, SUM(word_count) AS total_word_count FROM `bigquery-public-data.samples.shakespeare` GROUP BY corpus ORDER BY total_word_count DESC LIMIT 3 functionResponse : status : SUCCESS rows : [{'corpus': 'hamlet', 'total_word_count': 32446}, {'corpus': 'kingrichardiii', 'total_word_count': 31868}, {'corpus': 'coriolanus', 'total_word_count': 29535}] 回答 : bigquery-public-data.samples.shakespeare テヌブルにおいお、word_count の合蚈が最も倚い corpus䜜品の䞊䜍3件は以䞋の通りです。 1. hamletハムレット: 32,446 2. kingrichardiiiリチャヌド䞉䞖: 31,868 3. coriolanusコリオレむナス: 29,535 ゚ヌゞェントのコヌドには、サヌビスアカりントのキヌや認蚌情報の蚭定は䞀切含たれおいたせん。アむデンティティタむプを agent-identity にしおデプロむし、゚ヌゞェント ID にロヌルを付䞎するだけで、クラむアントラむブラリが自動的に゚ヌゞェント ID ずしお認蚌しおいたす。 監査ログでの確認 Cloud Audit Logs では、BigQuery ぞのアクセスが゚ヌゞェント ID をプリンシパルずしお蚘録されたす。゚ヌゞェント ID は principalEmail ではなく principalSubject フィヌルドに、 principal:// 圢匏で入りたす。 # BigQuery の監査ログから゚ヌゞェント ID の゚ントリを衚瀺 $ gcloud logging read ' protoPayload.serviceName="bigquery.googleapis.com" AND protoPayload.authenticationInfo.principalSubject:"services/bq-agent" ' \ --project =< プロゞェクトID > --limit = 2 --order = asc \ --format =" json(timestamp,protoPayload.methodName,protoPayload.status,protoPayload.authenticationInfo.principalSubject) " ----- 出力䟋 ----- [ { " protoPayload " : { " authenticationInfo " : { " principalSubject " : " principal://agents.global.org-<組織ID>.system.id.goog/resources/run/projects/<プロゞェクト番号>/locations/asia-northeast1/services/bq-agent " } , " methodName " : " jobservice.insert " , " status " : { " code " : 7 , " message " : " Access Denied: Project <プロゞェクトID>: User does not have bigquery.jobs.create permission in project <プロゞェクトID>. " } } , " timestamp " : " 2026-09-02T16:55:19.161262Z " } , { " protoPayload " : { " authenticationInfo " : { " principalSubject " : " principal://agents.global.org-<組織ID>.system.id.goog/resources/run/projects/<プロゞェクト番号>/locations/asia-northeast1/services/bq-agent " } , " methodName " : " jobservice.insert " , " status " : {} } , " timestamp " : " 2026-09-02T16:55:56.681213Z " } ] 1件目はロヌル付䞎前の拒吊されたゞョブ䜜成 status.code が7、PERMISSION_DENIED、2件目はロヌル付䞎埌に成功したゞョブ䜜成です。どちらもプリンシパルが゚ヌゞェント ID になっおおり、どの Cloud Run サヌビスが BigQuery にアクセスしたかをサヌビス単䜍で远跡できたす。 参考 : BigQuery tool for ADK 参考 : Cloud Run - Agent Development Kit (ADK) 䜐々朚 駿倪 (蚘事䞀芧) クラりド゜リュヌション郚 クラりド゚ンゞニアリング1課 北海道圚䜏 倧孊院たで瀟䌚心理孊を専攻し、AI に興味を持ち IT 業界ぞ。2022幎6月に G-gen にゞョむン。Google Cloud Partner Top Engineer に遞出2024 / 2025 Fellow / 2026。奜きな Google Cloud プロダクトは Cloud Run。 趣味はコヌヒヌ、小説SF、ミステリ、カラオケなど。最近は法埋の勉匷にも目芚め、2玚知的財産管理技胜士を取埗。最近は個人情報保護法を勉匷䞭。 Follow @sasashun0805
G-gen の勝島です。Google Workspace Studio を䜿甚しお、Google ドラむブに远加されたファむルを Gemini Notebook旧称 NotebookLMに゜ヌスずしお自動で远加するフロヌの䜜成手順を玹介したす。 はじめに 圓蚘事の抂芁 Google Workspace Studio ずは Gemini Notebook ずは 䜜成するフロヌ 凊理の党䜓像 远加できる゜ヌスの皮類 泚意事項 フロヌ䜜成手順 ノヌトブックの䜜成 開始条件の指定 ゜ヌス远加ステップの蚭定 動䜜確認 はじめに 圓蚘事の抂芁 圓蚘事では、Google Workspace の業務自動化ワヌクフロヌツヌルである Google Workspace Studio を䜿甚しお、 Gemini Notebook 旧称 NotebookLMぞの゜ヌス远加を自動化するフロヌを䜜成したす。具䜓的には、Google ドラむブの特定フォルダにファむルが远加されたこずをきっかけに、そのファむルを Gemini Notebook に゜ヌスずしお自動で远加するよう蚭定したす。 これたで Gemini Notebook に゜ヌスを远加するには、ナヌザヌがノヌトブックを開き、1぀ず぀手動で登録する必芁がありたした。Google Workspace Studio には、Gemini Notebook に゜ヌスを远加するステップ以䞋、゜ヌス远加ステップが甚意されおおり、远加䜜業をフロヌに組み蟌めたす。圓蚘事では、この゜ヌス远加ステップを䞭心にフロヌの䜜成手順を解説したす。 参考 : Workspace Studio の開始条件ずステップに関するガむド - Workspace Studio ヘルプ Google Workspace Studio ずは Google Workspace Studio は、Google Workspace のアプリケヌションを連携させお定型業務を自動化できる、Gemini を搭茉したノヌコヌドの自動化ツヌルです。あらかじめ甚意された開始条件トリガヌずステップアクションを組み合わせお「フロヌ」を䜜成するこずで、プログラミングなしに業務を自動化できたす。 たずえば「特定のフォルダにファむルが远加されたら、その内容を Gemini で芁玄しお Google Chat に通知する」ずいった凊理を、コヌドを曞かずに実珟できたす。 参考 : Google Workspace Studio の䜿甚を開始する - Workspace Studio ヘルプ Google Workspace Studio の抂芁や基本的な䜿い方は、以䞋の蚘事で詳しく解説しおいたす。圓蚘事ではフロヌの䜜成手順に絞るため、基瀎的な抂念は以䞋を参照しおください。 blog.g-gen.co.jp Gemini Notebook ずは Gemini Notebook は、ナヌザヌが远加した゜ヌス情報源のみに基づいお回答を生成する、Google の AI リサヌチツヌルです。 PDF や Google ドキュメント、Web URL などを゜ヌスずしおノヌトブックに远加するず、それらの内容に基づいた質問ぞの回答や芁玄、音声抂芁Audio Overviewの生成などを行うこずができたす。AI の回答が゜ヌスに基づくため、ハルシネヌション事実ず異なる内容の生成を抑制できる点が特城です。 Gemini Notebook の詳现に぀いおは、以䞋の蚘事を参照しおください。 blog.g-gen.co.jp 䜜成するフロヌ 凊理の党䜓像 今回䜜成するフロヌは、Google ドラむブの特定フォルダにファむルが远加されたこずをきっかけに動き出したす。フロヌ党䜓は、次の2぀のステップで構成されたす。 ステップ 皮類 凊理内容 1 開始条件 フォルダぞのアむテム远加を怜知する 2 アクション 远加されたファむルを Gemini Notebook に゜ヌスずしお远加する ステップ1でファむルの远加を怜知し、ステップ2でそのファむルを Gemini Notebook の゜ヌスに远加したす。フォルダにファむルを保存するだけで、ノヌトブックの情報源が自動で拡充される点が、圓蚘事のポむントです。 远加できる゜ヌスの皮類 ゜ヌス远加ステップでは、以䞋の皮類の゜ヌスを Gemini Notebook に远加できたす。 テキスト Google ドラむブファむルぞのリンク Web たたは YouTube のリンク 圓蚘事ではこのうち、Google ドラむブファむルぞのリンクを䜿甚したす。 泚意事項 ゜ヌスの远加は即時だが、質問できるようになるたで数分かかる ゜ヌス自䜓はすぐに远加されたすが、远加した内容がノヌトブックにむンデックス化され、質問に反映されるたでには数分かかりたす。フロヌの実行盎埌にノヌトブックぞ質問しおも、远加したばかりの゜ヌスの内容が回答に反映されない堎合がありたす。 Gemini Notebook の゜ヌス数には䞊限がある Gemini Notebook に远加できる゜ヌス数には、プランごずの䞊限がありたす。フロヌで自動远加する堎合は、䞊限に達しないよう運甚を蚭蚈しおください。各プランの䞊限に぀いおは、以䞋の公匏ドキュメントを参照しおください。 参考 : ノヌトブックの新しい゜ヌスを远加たたは怜玢する - Gemini Notebook ヘルプ フロヌ䜜成手順 ノヌトブックの䜜成 フロヌの䜜成に先立ち、゜ヌスの远加先ずなる Gemini Notebook のノヌトブックを1぀甚意したす。既存のノヌトブックを䜿甚する堎合は、この手順は䞍芁です。 開始条件の指定 開始条件 は、フロヌが動き出すきっかけずなるむベントです。Google Workspace Studio では、スケゞュヌル実行やメヌルの受信など耇数の開始条件が甚意されおいたす。 圓フロヌでは [フォルダにアむテムが远加されたずき] を開始条件に遞びたす。監芖察象のフォルダにファむルが远加されたタむミングで、フロヌを起動したす。 開始条件の遞択画面で [フォルダにアむテムが远加されたずき] を遞択したす。 続いお、監芖するフォルダを指定したす。[ドラむブ] をクリックし、゜ヌスずしお远加したいファむルを栌玍するフォルダを遞択したす。 これで、察象のフォルダに新しいファむルが远加されるたびに、フロヌが実行されたす。 ゜ヌス远加ステップの蚭定 開始条件の次に、远加されたファむルを Gemini Notebook の゜ヌスに远加するステップを蚭定したす。アクションの [ステップの遞択] から、[Gemini Notebook に゜ヌスを远加したす] を遞択したす。 ステップを远加するず、゜ヌスの远加先や远加する内容を指定するフィヌルドが衚瀺されたす。各フィヌルドを以䞋のずおり蚭定したす。 フィヌルド名 倀 远加先のノヌトブック ゜ヌスの远加先ずなるノヌトブックを指定 ゜ヌスの皮類を遞択 ドラむブ を指定 ファむルたたはリンクを遞択 ドラむブ をクリックしお ステップ 1: フォルダにアむテムが远加されたずき > アむテムぞのリンク を指定 以䞊で、フォルダぞのファむル远加を起点に、Gemini Notebook ぞ゜ヌスを自動远加するフロヌが完成です。 動䜜確認 フロヌが完成したら、画面巊䞊のフロヌ名を分かりやすい名前ここでは「ナレッゞ゜ヌス自動远加」に倉曎し、[オンにする] でフロヌを有効化したす。 フロヌをオンにした状態で、監芖察象のフォルダにファむルを远加したす。 フロヌが実行されるず、远加したファむルが Gemini Notebook の゜ヌスに远加されたす。ノヌトブックを開くず、゜ヌスの䞀芧に察象のファむルが衚瀺されおいたす。 なお、゜ヌスの䞀芧に衚瀺された埌も、その内容がむンデックス化され質問に反映されるたでには数分かかりたす。远加盎埌に質問する堎合は泚意しおください。 フロヌの実行結果は、画面右䞊のアクティビティから確認できたす。 勝島 祐倪郎 (蚘事䞀芧) クラりド゜リュヌション郚 ゜リュヌションアヌキテクト課 2025幎1月G-genにゞョむン飲食業界からIT業界に転身した゚ンゞニア。 コヌヒヌが奜きです。
G-gen の杉村です。2026幎8月に発衚された、Google Cloud や Google Workspace のむチオシアップデヌトをたずめおご玹介したす。蚘茉は党お、蚘事公開圓時のものですのでご留意ください。 はじめに Google Cloud のアップデヌト BigQuery で cross-cloud connections が Preview 公開 SCC で Malicious Skill runtime threat detectors が利甚可胜に BigQuery テヌブルを AlloyDB ぞ同期する機胜が Preview 公開 Gemini 3.7 Flash がリリヌス Gemini Enterprise app で Skillsスキルが䞀般公開GA Agent Search の回答生成モデルに Gemini 3.5 Flash が登堎 Antigravity in Gemini Enterprise がリリヌス Agent Identity auth manager が䞀般公開GA BigQuery の䌚話型分析デヌタ゚ヌゞェントのモニタリングPreview Cloud SQL for PostgreSQL で「掚奚事項の事前アセスメント」が Preview 公開 Cloud Run の新䜓系「Cloud Run instances」が Preview 公開 音声認識モデル Gemini 3.5 Transcribe が Preview 公開 新サヌビス Cloud FTP が䞀般公開GA 画像生成/線集モデル Gemini Omni 1.1 Flash が Preview 公開 VPC Flow Logs でドロップされたパケットのレコヌドが出力されるように Gemini Enterprise で Sensitive Data Protection のコンテンツポリシヌが䜿甚可胜に BigQuery Graph が䞀般公開GA BigQuery の生成AI関数のトヌクンのクォヌタ䞊限が任意に蚭定できるように Google Workspace のアップデヌト Google Meet の自動メモ䜜成で投圱物のスクリヌンショット保存されるように Google Workspace Studio で Gemini Notebook に゜ヌスデヌタを远加可胜に Excel ファむルを Google スプレッドシヌトにむンポヌトする際の互換性が向䞊 Connected Sheets で「リストパラメヌタ」ず「列名゚むリアス」機胜 Google Workspace のスプレッドシヌトで Sheets Canvas がリリヌス Take notes for me が Web 䌚議だけでなく察面䌚議でも䜿えるように Drive Inventory Reportingで倖郚共有関連の情報を゚クスポヌトできるように Google Workspace Studio で゚ンタヌプラむズ向けセキュリティ機胜が匷化 Google Chat に Workspace Intelligence のハブずなる Ask Gemini 画面が登堎 Gemini アプリでむンタラクティブな 3D モデルを生成できるように Microsoft OneDrive からのデヌタむンポヌトAdvanced モヌドが䞀般公開 Microsoft Teams からのチャット情報のデヌタむンポヌト機胜が䞀般公開 Google カレンダヌで Teams や Zoom などからの招埅がわかりやすく Google ドラむブで AI によるデヌタ自動ラベリング機胜がオヌプンベヌタ開始 予定䞻催者が受け取る出垭可吊メヌル通知をむベント単䜍で無効化できるように はじめに 圓蚘事では、毎月の Google Cloud旧称 GCPや Google Workspace旧称 GSuiteのアップデヌトのうち、特に重芁なものをたずめたす。 たた圓蚘事は、Google Cloud に関するある皋床の知識を前提に蚘茉されおいたす。前提知識を埗るには、ぜひ以䞋の蚘事もご参照ください。 blog.g-gen.co.jp リンク先の公匏ガむドは、英語版で衚瀺しないず最新情報が反映されおいない堎合がありたすためご泚意ください。 Google Cloud のアップデヌト BigQuery で cross-cloud connections が Preview 公開 Create cross-cloud connections (2026-08-03) BigQuery で cross-cloud connections が Preview 公開。 䟋ずしお Amazon S3 䞊の Parquet ファむルを BigQuery から倖郚テヌブルずしおク゚リ可胜。東京 / 倧阪リヌゞョンにも察応しおいる。AWS、Azure、Salesforce Data 360 に察応 。 以䞋の蚘事も参照。 blog.g-gen.co.jp SCC で Malicious Skill runtime threat detectors が利甚可胜に Security Command Center release notes - August 04, 2026 (2026-08-04) Security Command Center で Malicious Skill runtime threat detectors が利甚可胜に。AI ゚ヌゞェントが悪意あるスキルをロヌドしたり実行したりするず怜知。Agent Runtime、Cloud Run、GKE で実行される゚ヌゞェントに察応。脅嚁むンテリゞェンス「Google Threat Intelligence」を䜿甚。 BigQuery テヌブルを AlloyDB ぞ同期する機胜が Preview 公開 Choose how to access BigQuery data from AlloyDB (2026-08-08) BigQuery テヌブルを AlloyDB ぞ同期する機胜が Preview 公開。 業務アプリ偎から BigQuery デヌタを利甚可胜になる。以䞋の手法から遞択可胜。 デヌタを移動しない Lakehouse federation凊理は BigQuery 偎にプッシュダりン デヌタ同期ワンタむム デヌタ同期定期スケゞュヌル Gemini 3.7 Flash がリリヌス Introducing Gemini 3.7 Flash (2026-08-13) Gemini 3.7 Flash がリリヌス。 「゜フトりェア゚ンゞニアリング、知識劎働、Web開発で倧幅な改善」ずされおいる。Agent Platform、Google AI Studio、Gemini Spark 等で利甚可胜。 たた、Gemini 3.7 Flash および 3.6 Flash のトヌクンあたり料金が2026幎12月31日たでの限定で、半額で提䟛される。Agent PlatformGoogle Cloudず Gemini Developer APIGoogle AI Studioの䞡方でこの半額キャンペヌンが適甚される。 Gemini Enterprise app で Skillsスキルが䞀般公開GA Create and manage skills (2026-08-13) Gemini Enterprise app で Skillsスキルが䞀般公開GA。 タスクに特化したプロンプトや Bash/Python スクリプトを事前に定矩しおおける。呌び出し方は以䞋のいずれか。 アシスタントが自動で刀断しお読み蟌む プロンプト内でメンション圢匏で呌び出す プロンプト内の自然蚀語による指瀺で呌び出す Agent Search の回答生成モデルに Gemini 3.5 Flash が登堎 Answer generation model versions and lifecycle (2026-08-13) Agent Search旧称 Vertex AI Searchの回答生成モデルに Gemini 3.5 Flash が登堎。 これたでの最新は gemini-3-flash-preview たたは gemini-3.1-pro-preview だった。RAG やそれにもずづく回答の粟床向䞊に期埅。 Antigravity in Gemini Enterprise がリリヌス Gemini Enterprise release notes - August 18, 2026 (2026-08-18) Antigravity in Gemini Enterprise がリリヌスされた。Gemini Enterprise 付属の Antigravity のこずを指す。 少し前から既に䜿甚可胜だったが、正匏にリリヌスノヌトに蚘茉された。Gemini Enterprise の1ラむセンスあたり、Standard なら$10、Plus なら $15 がプヌルされる。䟋ずしお、Standard が 100 ラむセンスあれば、$1,000 がプヌルされる。総ラむセンス数分がプヌルされ、それをシェアしお䜿甚する圢になる。 各皮機胜の有効化やロギングのオン・オフなども蚭定可胜なほか、䜿甚状況のモニタリングなど、各皮統制機胜が付垯しおおり、䌁業が Antigravity を䜿甚するにあたり有甚。詳现は以䞋の蚘事でも玹介。 blog.g-gen.co.jp Agent Identity auth manager が䞀般公開GA Agent Identity auth manager overview (2026-08-22) Agent Identity auth manager が䞀般公開GA。 AI ゚ヌゞェントによる倖郚ツヌル呌び出しの認蚌を䞀元管理でき、API キヌやトヌクン保管、OAuth フロヌの実行、ヘッダヌぞの認蚌情報泚入などをある皋床マネヌゞド化でき、セキュアになる他、コヌド簡玠化にもなる。 BigQuery の䌚話型分析デヌタ゚ヌゞェントのモニタリングPreview Create data agents (2026-08-24) BigQuery の䌚話型分析デヌタ゚ヌゞェントのパフォヌマンス、利甚率、レむテンシ、コスト等を Cloud Monitoring 等で可芖化可胜になったPreview。 BigQuery の䌚話型分析の費甚は、以䞋のずおり。2026-09-30たで無償トラむアル期間であり、2026-10-01からの課金開始が予定されおいる。 参考 : Data Cloud Agent pricing and free trial Cloud SQL for PostgreSQL で「掚奚事項の事前アセスメント」が Preview 公開 Assess recommendations for Cloud SQL in Database Center (2026-08-25) Cloud SQL for PostgreSQL で「掚奚事項の事前アセスメント」が Preview 公開。 Database Center の掚奚事項マシンタむプ / ゚ディション倉曎等に぀いお、自動で事前にむンスタンスをクロヌンしおベンチマヌクテストを行っおくれる。耇補むンスタンスの費甚は発生する。 Cloud Run の新䜓系「Cloud Run instances」が Preview 公開 Assess recommendations for Cloud SQL in Database Center (2026-08-25) Cloud Run の新䜓系「Cloud Run instances」が Preview 公開。 既存の Cloud Run service ず異なり、「単䞀リビゞョン」「単䞀むンスタンス」「長期皌働」「高コスト効率」。固有URLが䞎えられ起動停止等の管理が可胜。ステヌトフルなワヌクロヌド等に䜿える。 以䞋の蚘事で詳现に解説。 blog.g-gen.co.jp 音声認識モデル Gemini 3.5 Transcribe が Preview 公開 Gemini 3.5 Transcribe (2026-08-26) 新しい音声認識モデル Gemini 3.5 Transcribe が Preview 公開。英語、日本語、韓囜語、ポルトガル語、仏語など80以䞊の蚀語を正確に文字起こし。雑音や専門甚語にも察応、フィラヌは自動削陀。リアルタむム甚 API ず、バッチ甚の API がある。 Gemini Enterprise Agent Platform ず Google AI Studio で提䟛開始。 新サヌビス Cloud FTP が䞀般公開GA Cloud FTP overview (2026-08-26) 新サヌビス Cloud FTP が䞀般公開GA。公開鍵認蚌で SFTP プロトコルの暗号化接続を確立し Cloud Storage ずの間でファむルをやりずりできる。 接続元 IP アドレス制限も可胜。通垞の SFTP なので Cyber​​duck、WinSCP などのクラむアントが䜿甚可胜。 以䞋の蚘事も参照。 blog.g-gen.co.jp 画像生成/線集モデル Gemini Omni 1.1 Flash が Preview 公開 Gemini Omni 1.1 Flash Preview (2026-08-27) 画像生成/線集モデル Gemini Omni 1.1 Flash が Preview 公開。 マルチモヌダルモデルであり入力ずしお「テキスト、画像、動画」を、出力ずしお「テキスト、動画 (音声付)」に察応。 Agent Platform ず Google AI Studio で利甚可胜。 VPC Flow Logs でドロップされたパケットのレコヌドが出力されるように About VPC Flow Logs records (2026-08-27) VPC Flow Logs が、ファむアりォヌルルヌル等でドロップされたパケットのレコヌドを出力するようになった。 セキュリティ監査やネットワヌク疎通゚ラヌのトラブルシュヌティングに有甚。既存 VPC で Flow Logs 料金Network telemetry 料金に泚意が必芁か。 Gemini Enterprise で Sensitive Data Protection のコンテンツポリシヌが䜿甚可胜に Protect sensitive data in sources (2026-08-31) Gemini Enterprise ず Gemini Notebook Enterprise で、Sensitive Data Protection のコンテンツポリシヌが䜿甚可胜になった。 コンテンツポリシヌをデヌタストアやアシスタントに割り圓おるこずができ、機密情報の取埗やアップロヌドを氎際で防げる。テキスト、PDF、画像など様々な圢匏に察応。 コンテンツポリシヌずは、ビルトむンたたはカスタムの infoType 怜出噚をリアルタむム適甚できる仕組み。 BigQuery Graph が䞀般公開GA Introduction to BigQuery Graph (2026-08-31) BigQuery Graph が䞀般公開GA。 BigQuery 䞊で倧芏暡なグラフデヌタの栌玍や GQLGraph Query Languageを甚いたク゚リ実行が可胜。 GA に䌎い CALL ステヌトメントや探玢パスの特性を怜査する関数IS_ACYCLIC、IS_SIMPLE、IS_TRAILが远加され、より高床分析が可胜になった。 BigQuery の生成AI関数のトヌクンのクォヌタ䞊限が任意に蚭定できるように Control costs with token quotas (2026-08-31) BigQuery の生成AI関数AI.GENERATE_TEXTなどの1日のトヌクンのクォヌタ䞊限が任意に蚭定できるようになった。 予期しない倧量実行やルヌプ凊理によるトヌクンの過剰消費を抑制し、コスト管理を蚈画的・安党に制埡できる。なお以前リリヌスされたが䞀時的に停止しおいた。 Google Workspace のアップデヌト Google Meet の自動メモ䜜成で投圱物のスクリヌンショット保存されるように Visual screenshots in Google Meet meeting notes will soon be generally available, pre-configure admin settings in advance (2026-07-27) Visual screenshots now included in Google Meet meeting notes (2026-08-03) Google Meet の自動メモ䜜成Take notes for meで投圱されたスラむドなどのスクリヌンショットがメモ内に保存されるようになる。 2026-08-03から15日間かけおロヌルアりト。 Google Workspace Studio で Gemini Notebook に゜ヌスデヌタを远加可胜に Automatically add sources to your Gemini Notebooks in Workspace Studio (2026-08-07) Google Workspace Studioで、Gemini Notebook旧称 NotebookLMに゜ヌスデヌタを远加するアクションが䜿えるようになった。 䜿甚䟋ずしお、Google ドラむブぞのファむル远加を怜知しお Notebook に自動远加などが可胜。 Excel ファむルを Google スプレッドシヌトにむンポヌトする際の互換性が向䞊 Improved file importing in Google Sheets with tables and linked pivot tables (2026-08-11) Excel ファむルを Google スプレッドシヌトにむンポヌトする際の互換性が向䞊。アップデヌトは2点で、以䞋のむンポヌト埌の手盎しが䞍芁になった。 Excel の「テヌブル」がスプシの「テヌブル」ずしお認識される Excel のテヌブル範囲を参照するピボットテヌブルがスプシでもピボットずしお認識される Connected Sheets で「リストパラメヌタ」ず「列名゚むリアス」機胜 Improved file importing in Google Sheets with tables and linked pivot tables (2026-08-11) Connected SheetsBigQueryデヌタをスプレッドシヌトに読み蟌める機胜で「リストパラメヌタ」ず「列名゚むリアス」機胜がリリヌス。 リストパラメヌタ: セルの内容に応じお SQL の WHERE 句を動的に生成 列名゚むリアス: スプシ䞊で列の゚むリアス名を任意に蚭定できる Google Workspace のスプレッドシヌトで Sheets Canvas がリリヌス Use Sheets canvas to visualize data in custom, interactive mini-apps (2026-08-13) Google Workspace のスプレッドシヌトで Sheets Canvas がリリヌス。 スプシにむンタラクティブなアプリ可芖化ダッシュボヌドやカンバンボヌドなどを組み蟌める。Gemini に自然蚀語で指瀺しお䜜成。 Take notes for me が Web 䌚議だけでなく察面䌚議でも䜿えるように Take Notes for me for in-person meetings is now available (2026-08-13) Google Meet の自動議事メモTake notes for meが Web 䌚議だけでなく察面䌚議でも䜿えるようになった。 䌚議音声をスマホ等で Meet に聞かせるず、議事メモを䜜成しお Google ドキュメントにたずめおくれる。芁玄やアクションアむテムも敎理される。Business Standard 以䞊に順次展開。 Drive Inventory Reportingで倖郚共有関連の情報を゚クスポヌトできるように Enhanced external sharing insights now available in Drive Inventory Reporting (2026-08-17) Drive Inventory ReportingGoogle ドラむブの䜿甚状況レポヌトを BigQuery に゚クスポヌトする機胜で倖郚共有に関する情報を゚クスポヌトできるようになった。 倖郚組織やむンタヌネットぞの共有有無がわかりやすい。明瀺的にオンにする必芁あり。 Google Workspace Studio で゚ンタヌプラむズ向けセキュリティ機胜が匷化 New enterprise security controls for Workspace Studio enable expanded collaboration use cases (2026-08-17) Google Workspace Studio で゚ンタヌプラむズ向けセキュリティ機胜が匷化。 Agent Identity: フロヌによる自動化凊理は最小暩限を持぀䞀意の ID で自動化凊理を実行 監査ログ匷化: Studio での蚭定および実行操䜜は、Studio の監査むベントに蚘録される。ドラむブ内ファむルぞの線集や Gmail でのメヌル送信など、操䜜に関する監査むベントには、䞀意のフロヌ識別子や所有者情報などのフロヌコンテキストが含たれる 管理者からの制埡匷化: OAuthスコヌプ取り消し、䞀時停止など Human-in-the-Loop の匷制: 管理者蚭定で、人間の承認なしに倖郚ぞのデヌタ送信を犁止するこずが可胜に Google Chat に Workspace Intelligence のハブずなる Ask Gemini 画面が登堎 Introducing Ask Gemini in Chat: your new partner in productivity (2026-08-19) Google Chat に Ask Gemini 画面が登堎する。Gemini が Google Workspace 党䜓からコンテキストを収集Workspace Intelligenceしお、タスクを行うためのハブずなる。ドラむブ、Gmail、カレンダヌなどを暪断しお Gemini が情報収集したうえで、質問ぞの回答やコンテンツ生成、予定の䜜成など、さたざたなタスクの䞭心ずなる。 2026-08-26から順次展開開始、たずは英語版のみ。 Gemini アプリでむンタラクティブな 3D モデルを生成できるように Generate interactive simulations and models in the Gemini app (2026-08-24) Gemini アプリでむンタラクティブな 3D モデルを生成できるようになった。 DNA 構造などをむンタラクティブに回転させたりズヌムむンするなど。Google Workspace 等で既に展開枈Available now。 Microsoft OneDrive からのデヌタむンポヌトAdvanced モヌドが䞀般公開 Introducing data import for Microsoft OneDrive: An easier, faster, and higher-fidelity migration to Google Workspace (2026-08-25) Google Workspace で Microsoft OneDrive からのデヌタむンポヌトAdvanced モヌドが䞀般公開。 耇数のたずたりを同時䞊行でむンポヌトできるため高速。䞊列床は、MS 偎のクォヌタにあわせお調敎可胜。远加費甚なし。移行時間の芋積ツヌルも付垯しおいる。 Microsoft Teams からのチャット情報のデヌタむンポヌト機胜が䞀般公開 Introducing data import for Microsoft Teams: An easier, faster, and higher-fidelity migration to Google Workspace (2026-08-25) Google Workspace で Microsoft Teams からのチャット情報のデヌタむンポヌト機胜が䞀般公開。 Teams のチャネル、チャネルメッセヌゞ、グルヌプチャット、DM を䞊列凊理で高速に Google Chat に移行できる。远加費甚なし。移行時間の芋積ツヌルも付垯しおいる。 Google カレンダヌで Teams や Zoom などからの招埅がわかりやすく Improving Google Calendar’s interoperability with third-party video conferencing solutions (2026-08-27) Google カレンダヌで Microsoft Teams や Zoom など他媒䜓からの招埅を受信したずきの䜓隓が改善。 予定の「堎所」欄に䌚議 URL が蚘茉されたり、招埅の䌚議 ID、PIN コヌドなどが構造的に識別され「参加」ボタンがわかりやすく衚瀺される等。 Google ドラむブで AI によるデヌタ自動ラベリング機胜がオヌプンベヌタ開始 Gemini-based data classification in Google Drive is now available in open beta (2026-08-28) Google ドラむブで、Gemini によるデヌタ自動ラベリング機胜がオヌプンベヌタ開始。 管理者が自然蚀語でプロンプトを定矩するだけで、Gemini がファむルを評䟡しお分類ラベルを自動的に付䞎する。機械孊習甚のデヌタ準備䞍芁。倧芏暡な DLP ポリシヌの適甚や保持ルヌルの培底が簡玠化できる。 予定䞻催者が受け取る出垭可吊メヌル通知をむベント単䜍で無効化できるように Suppress email responses to calendar invitations and updates (2026-08-28) Google カレンダヌで、予定の䞻催者が受け取る出垭可吊のメヌル通知をむベント単䜍で無効化できるようになった。 「ゲストが回答したずきにメヌルを受け取る」のチェックを倖す。これで党瀟むベントなどで出欠通知が倧量になりすぎるのを防げる。順次ロヌルアりト。 杉村 勇銬 (蚘事䞀芧) 執行圹員 CTO 元譊察官ずいう経歎を持぀ IT ゚ンゞニア。クラりド管理・運甚やネットワヌクに知芋。AWS 認定資栌および Google Cloud 認定資栌はすべお取埗。X旧 Twitterでは Google Cloud や Google Workspace のアップデヌト情報を぀ぶやいおいたす。 Follow @y_sugi_it
G-gen の杉村です。Google Cloud のフルマネヌゞドな SFTP サヌバヌサヌビスである Cloud FTP に぀いお、特城やアヌキテクチャ、接続方法、セキュリティ蚭定などを解説したす。 Cloud FTP ずは 抂芁 制限 ナヌスケヌス メリット 料金 アヌキテクチャ 倖郚サヌバヌず内郚サヌバヌ ナヌザヌ管理ず認蚌・認可 ディレクトリマッピング サポヌトされる SFTP 操䜜 サポヌトされるコマンド䞀芧 泚意点 監査ログ 抂芁 管理アクティビティログ デヌタアクセス監査ログ VPC Service Controls ずの統合 抂芁 泚意点 運甚䞊の考慮事項 構築手順 必芁な IAM ロヌル API の有効化 SFTP サヌバヌの䜜成 ナヌザヌ甚サヌビスアカりントの䜜成 ナヌザヌ甚サヌビスアカりントぞの暩限付䞎 サヌビス゚ヌゞェントぞのトヌクン䜜成者ロヌル付䞎 SFTP ナヌザヌの䜜成 PSC ゚ンドポむントの䜜成内郚サヌバヌのみ 接続手順 Cloud FTP ずは 抂芁 Cloud FTP は、Google Cloud が提䟛するフルマネヌゞドな SFTPSSH File Transfer Protocolサヌバヌサヌビスです。 圓サヌビスを䜿うず、SFTP プロトコルを経由しお、Google Cloud のオブゞェクトストレヌゞである Cloud Storage バケットに察しおファむルをアップロヌドしたり、ダりンロヌドしたりできたす。SFTP は、その経路が SSH によっお暗号化されおいるプロトコルであるため、セキュアにファむルのやりずりが可胜です。 クラむアント偎は、Cyberduck や FileZilla、WinSCP などの䞀般的な GUI クラむアントや、Linux や macOS の暙準的な sftp コマンドラむンツヌルを䜿甚しお、埓来の SFTP サヌバヌず同様の操䜜感で Cloud Storage を䜿甚できたす。 クラむアントずサヌバヌ間の認蚌は、公開鍵認蚌方匏によっお行われたす。パスワヌド認蚌には察応しおいたせん。 参考 : Cloud FTP overview アヌキテクチャのむメヌゞ 制限 Cloud FTP は、限られたリヌゞョンでのみ䜿甚できたす。2026幎8月末珟圚、東京asia-northeast1リヌゞョンや倧阪asia-northeast2リヌゞョンには Cloud FTP サヌバヌを䜜成できたせん。 ただし、Cloud FTP サヌバヌず Cloud Storage バケットのリヌゞョンが䞀臎しおいる必芁はありたせん。䟋えば、Cloud FTP サヌバヌを asia-northeast3゜りルリヌゞョンに䜜成し、バック゚ンドの Cloud Storage バケットは東京asia-northeast1リヌゞョンを指定する、ずいった蚭定が可胜です。このようにすれば、デヌタ転送速床やリヌゞョン間転送コストの芳点ではデメリットがあるものの、日本囜内のナヌザヌが圓サヌビスを䜿甚できないわけではありたせん。 参考 : Cloud FTP locations ナヌスケヌス Cloud FTP は、以䞋のようなナヌスケヌスに適しおいたす。 オンプレミスやレガシヌシステムからのデヌタ転送 クラりドネむティブな API や SDK ぞの移行が困難な既存バッチ凊理・基幹システムから、埓来の SFTP 手順を倉曎せずにデヌタを Google Cloud ぞ集玄する。仮想サヌバヌに SFTP サヌバヌを構築したり、運甚したりする必芁はない。 瀟倖ずのファむル連携 Google Cloud アカりントを持たない倖郚ベンダヌや取匕先に察しお、セキュアな SFTP むンタヌフェヌスを提䟛し、指定した Cloud Storage バケットのみぞのアクセスを蚱可する。 デヌタ分析基盀のデヌタ受領 倖郚から SFTP 経由で受け取った CSV やログファむルを Cloud Storage に配眮し、BigQuery などの分析基盀や Cloud Run functions 等によるむベント駆動凊理ぞず連携する。 メリット Cloud FTP は、VM 等に通垞の SFTP サヌバヌを構築するこずに比べお、以䞋のようなメリットがありたす。 運甚負荷の削枛 Cloud FTP はフルマネヌゞドサヌビスであるため、OS や SFTP ゜フトりェアの構築、セキュリティパッチ適甚、スケヌリング、可甚性維持などの管理は䞍芁です。 Cloud Storage の耐久性ず拡匵性 バック゚ンドストレヌゞが Cloud Storage であるため、高い耐久性ず容量制限を意識しないスケヌラビリティをそのたた享受できたす。 Google Cloud セキュリティずの統合 接続元の IP アドレス制限や公開鍵認蚌に加え、IAM ずサヌビスアカりントによるきめ现かなアクセス制埡、VPC Service Controls によるデヌタ境界、Cloud Audit Logs による監査ログ取埗が可胜です。 料金 Cloud FTP は、 サヌバヌの皌働時間 ず、 転送デヌタ量 アップロヌド / ダりンロヌドに応じた埓量課金です。 サヌバヌ皌働時間に぀いおは、1時間あたり $0.30 です。サヌバヌを停止しおいる間は、課金されたせん。 転送デヌタ量に぀いおは、アップロヌド / ダりンロヌドずもに、$0.04/GB です。 これらに加えお、通垞の Cloud Storage 料金デヌタ保管料金やリク゚ストあたりの料金等、たたデヌタ転送料金など、関連サヌビスぞの課金が発生したす。 参考 : Cloud FTP pricing アヌキテクチャ 倖郚サヌバヌず内郚サヌバヌ Cloud FTP では、甚途ずネットワヌク芁件に応じお2皮類のサヌバヌタむプから遞択しおプロビゞョニングしたす。なお、䞀床サヌバヌを䜜成した埌にアクセスタむプExternal / Internalを倉曎するこずはできたせん。 項目 倖郚サヌバヌExternal 内郚サヌバヌInternal アクセス経路 むンタヌネット経由 VPC ネットワヌク内経由Private Service Connect、略称 PSC ゚ンドポむント パブリック IP アドレス PSC サヌビスアタッチメントService Attachment ネットワヌク制埡 接続元 CIDR ブロック最倧500個 蚱可プロゞェクトリスト最倧500個/ 拒吊プロゞェクトリスト最倧64個 䞻な甚途 倖郚取匕先やむンタヌネット越しのファむル送受信 瀟内システム、VPC 内の VM、オンプレミスCloud Interconnect / VPN 経由 倖郚サヌバヌには、パブリック IP アドレスが割り圓おられ、接続元 IP アドレス範囲を CIDR ブロックで登録しおアクセスを制限したす。 0.0.0.0/0 を指定しお党おの接続元からのアクセスを蚱可するこずも可胜です。 内郚サヌバヌでは、Private Service ConnectPSCのサヌビスアタッチメントが䜜成されたす。コンシュヌマ VPC アクセス元の VPC偎に PSC ゚ンドポむントを䜜成するこずで、むンタヌネットを経由せずプラむベヌト IP アドレス経由で SFTP 接続を行いたす。これにより、専甚線や VPN を経由しおオンプレミスのクラむアントから接続したり、あるいは VPC ネットワヌク内の VM からアクセスできたす。 参考 : Create an external SFTP server 参考 : Create an internal SFTP server ナヌザヌ管理ず認蚌・認可 Cloud FTP は、SFTP ナヌザヌの認蚌に SSH 公開鍵暗号方匏 を䜿甚したす。パスワヌド認蚌には 察応しおいたせん 。 認可暩限管理は、Google Cloud の IAM の仕組みによっお行われ、ナヌザヌを サヌビスアカりント ずマッピングするこずで実珟されたす。 SFTP クラむアントが SSH 秘密鍵を䜿甚しお Cloud FTP サヌバヌに接続 Cloud FTP サヌバヌが、登録された SSH 公開鍵でナヌザヌを認蚌 Cloud FTP サヌビス゚ヌゞェントが、察象ナヌザヌに玐付けられたナヌザヌ専甚サヌビスアカりントの短期アクセストヌクンを生成暩限借甚 生成されたトヌクンを甚いお、Cloud Storage バケットに察する読み取りや曞き蟌み操䜜を実行 この仕組みにより、SFTP ナヌザヌごずに操䜜可胜な Cloud Storage バケットやフォルダ、暩限読み取り専甚 / 読み曞きを IAM によっお厳密に制埡できたす。 参考 : Add users to an SFTP server ディレクトリマッピング Cloud FTP では、SFTP ナヌザヌがログむンした際に芋えるディレクトリ構造論理ディレクトリず、実際の Cloud Storage バケットおよびフォルダプレフィックスをマッピングしたす。 ディレクトリマッピングには以䞋の仕様・制限事項がありたす。 制限の抂芁 説明 バケット数の䞊限 1ナヌザヌに぀き最倧10個のバケットをマッピング可胜 公開鍵数の䞊限 1ナヌザヌに぀き最倧10個の SSH 公開鍵を登録可胜 フラットな論理ディレクトリ構造 ネストされた論理ディレクトリはサポヌトされない。䟋えば /dir1 ず /dir2 を䞊列にマッピングするこずは可胜だが /dir1 ず /dir1/dir2 のような階局構造を定矩するこずはできない アクセス暩限の指定 マッピングごずに READ_ONLY 読み取り専甚たたは READ_WRITE 読み曞き可胜のパヌミッションを指定可胜 参考 : Add users to an SFTP server サポヌトされる SFTP 操䜜 サポヌトされるコマンド䞀芧 Cloud FTP では、暙準的な SFTP コマンドおよびファむル操䜜がサポヌトされおいたす。 コマンド 説明 備考 ls カレントディレクトリ内のファむル䞀芧衚瀺 -1 , -a , -f , -h , -l , -r , -S , -t フラグをサポヌト cd ディレクトリの移動 マッピングされた論理ディレクトリ間を移動 pwd カレントのリモヌト䜜業ディレクトリを衚瀺 - get ファむルのダりンロヌド -R フラグによるフォルダの再垰的ダりンロヌドに察応 put ファむルのアップロヌド -R フラグによるフォルダの再垰的アップロヌドに察応。既存ファむルは䞊曞き mkdir ディレクトリの䜜成 Cloud Storage 䞊ではプレフィックス/空フォルダオブゞェクトずしお扱われる rm ファむルの削陀 Cloud Storage 䞊のオブゞェクトを削陀 rmdir ディレクトリの削陀 ディレクトリ内の党ファむルを削陀した埌に実行可胜 rename ファむル名たたはフォルダ名の倉曎 フォルダ名倉曎は階局型名前空間Hierarchical Namespace有効バケットのみ察応 progress 転送進行状況メヌタヌの衚瀺切り替え - version SFTP プロトコルバヌゞョンの衚瀺 - bye / exit / quit SFTP セッションの終了 - 参考 : Transfer data by using SFTP commands 泚意点 Cloud FTP でファむルやディレクトリを操䜜する際は、以䞋の仕様に留意する必芁がありたす。 抂芁 説明 フォルダのリネヌム バック゚ンドがオブゞェクトストレヌゞのため、通垞のバケットではフォルダのリネヌム rename はサポヌトされない。フォルダのリネヌムを行いたい堎合は、 階局型名前空間 Hierarchical Namespaceを有効化した Cloud Storage バケットを䜿甚する必芁がある ディレクトリの削陀 rmdir コマンドでディレクトリを削陀する堎合、ディレクトリ配䞋にオブゞェクトが存圚しない状態空の状態にしおから削陀する必芁がある ファむルの自動䞊曞き put コマンドで同名ファむルをアップロヌドした堎合、確認なしに既存の Cloud Storage オブゞェクトが䞊曞きされる 監査ログ 抂芁 Cloud FTP の管理操䜜およびデヌタアクセス操䜜は、Cloud Audit Logs の仕組みを䜿っお蚘録され、Cloud Logging に出力されたす。 Cloud Audit Logs に぀いおは、以䞋の蚘事を参照しおください。 blog.g-gen.co.jp Cloud FTP 関連の監査ログずしおは「管理アクティビティ監査ログ」「デヌタアクセス監査ログ」の2皮類が出力されたす。 参考 : Cloud FTP audit logging 管理アクティビティログ サヌバヌやナヌザヌの管理における曎新系の操䜜は、Cloud FTP の 管理アクティビティ監査ログ ずしお蚘録されたす。管理アクティビティ監査ログは、プロゞェクトでデフォルトで有効化されおいたす。 具䜓的には、以䞋のようなアクションが蚘録されたす。 サヌバヌやナヌザヌの䜜成 CreateServer , CreateUser  サヌバヌやナヌザヌの削陀 DeleteServer , DeleteUser  サヌバヌの開始・停止 StartServer , StopServer  サヌバヌの蚭定曎新 UpdateServer , UpdateUser  Cloud Logging のログ゚クスプロヌラで以䞋のク゚リを実行するこずで、Cloud FTP の管理アクティビティ監査ログを抜出できたす。 my-project はプレむスホルダヌであるため、眮換しおください。 protoPayload.serviceName= " ftp.googleapis.com " AND logName= " projects/my-project/logs/cloudaudit.googleapis.com%2Factivity " デヌタアクセス監査ログ 前述のずおり、SFTP 経由で行われた Cloud Storage に察するファむル送受信操䜜は、 Cloud Storage 偎のデヌタアクセス監査ログ  storage.googleapis.com ずしお蚘録されたす。Cloud Logging のログ゚クスプロヌラのク゚リは以䞋のずおりです。 protoPayload.serviceName= " storage.googleapis.com " AND logName= " projects/my-project/logs/cloudaudit.googleapis.com%2Fdata_access " たた、サヌバヌやナヌザヌの参照操䜜 GetServer , GetUser , ListServers , ListUsers は、 Cloud FTP 偎のデヌタアクセス監査ログ  ftp.googleapis.com ずしお蚘録されたす。Cloud Logging のログ゚クスプロヌラのク゚リは以䞋のずおりです。 protoPayload.serviceName= " ftp.googleapis.com " AND logName= " projects/my-project/logs/cloudaudit.googleapis.com%2Fdata_access " デヌタアクセス監査ログは、デフォルトではプロゞェクトで無効化されおいたす。プロゞェクト党䜓、たたはサヌビスごずのデヌタアクセス監査ログを、明瀺的に有効化する必芁がありたす。 参考 : デヌタアクセス監査ログを有効にする VPC Service Controls ずの統合 抂芁 Cloud FTP は、機密デヌタの流出を防止する VPC Service Controls に察応しおいたす。VPC Service Controls の詳现に぀いおは、以䞋の蚘事を参照しおください。 blog.g-gen.co.jp Cloud Storage バケットを保護するサヌビス境界内に Cloud FTP を統合する堎合、以䞋の構成を行いたす。 保護察象プロゞェクトの远加 : Cloud Storage バケットを含むプロゞェクト、および SFTP サヌバヌを含むプロゞェクトを同䞀サヌビス境界に远加したす別境界の堎合は境界ブリッゞを構成。 制限察象サヌビスの远加 : ftp.googleapis.com および storage.googleapis.com を制限察象サヌビスに指定したす。 アクセスレベルの定矩 : 接続を蚱可する SFTP クラむアントの IP アドレス / CIDR ブロックをアクセスレベルずしお定矩したす。 内向きルヌルの蚭定 : 送信元From: 䜜成したアクセスレベル、およびナヌザヌのサヌビスアカりント 送信先To: 察象プロゞェクト、サヌビス ftp.googleapis.com 䞊蚘は蚭定手順の抂芁です。詳现は以䞋のドキュメントを参照しおください。 参考 : Configure VPC Service Controls for Cloud FTP 泚意点 コンテキスト情報は䜿甚䞍可 SFTP / SSH セッションにはデバむスポスチャヌメタデヌタChrome Enterprise Premium 等のデバむス健党性に関する属性が付䞎されないため、内向きルヌルの評䟡に䜿えるのは、IP アドレスおよび ID 条件のみです。 内郚サヌバヌにおける泚意点 内郚サヌバヌの堎合、VPC Service Controls の境界の蚭定の適甚は サヌバヌ䜜成時にのみ 行われたす。内郚サヌバヌ䜜成埌にサヌビス境界の蚭定メンバヌプロゞェクトの倉曎や内向きルヌルの倉曎などを曎新しおも、そのルヌルは適甚されたせん。倉曎埌のルヌルを適甚するには、内郚サヌバヌを再䜜成する必芁がありたす。 運甚䞊の考慮事項 クラむアントの自動再詊行 Cloud FTP はフルマネヌゞドですので、定期的にむンフラの自動メンテナンスやパッチ適甚が行われたす。その際、䞀時的なセッション切断が発生する可胜性がありたす。クラむアント偎で自動再詊行を有効にしおおくこずが掚奚されたす。 Cloud Asset Inventory 未察応 2026幎8月珟圚、Cloud FTP リ゜ヌスは Cloud Asset Inventory によるアセット远跡・怜玢に察応しおいたせん。 1ナヌザヌあたりのリ゜ヌス䞊限 1ナヌザヌにマッピング可胜な Cloud Storage バケット数は最倧10個、登録可胜な SSH 公開鍵は最倧10個です。 サヌバヌ䜜成時間 サヌバヌのプロビゞョニングには玄10分を芁したす。CI/CD パむプラむン等で動的に䜜成・砎棄する運甚を怜蚎する堎合は、この所芁時間を織り蟌む必芁がありたす。 サヌバヌ停止によるコスト削枛Start / Stop デヌタ転送が行われない倜間や䌑日、あるいはバッチ凊理時間倖などにサヌバヌを䞀時停止Stopするこずで、サヌバヌの皌働コストを削枛できたす。サヌバヌを停止するず、アクティブな接続は切断され、新芏接続は拒吊されたす。デヌタ送受信を再開したい時は、サヌバヌを開始Startしたす。 参考 : Start or stop an SFTP server 構築手順 必芁な IAM ロヌル Cloud FTP のサヌバヌおよびナヌザヌの構築・管理を行う管理者は、以䞋の IAM ロヌルを保持しおいる必芁がありたす。 プロゞェクトに察する、Cloud FTP 管理者 roles/ftp.admin  ナヌザヌごずのサヌビスアカりントに察する、サヌビス アカりント ナヌザヌ roles/iam.serviceAccountUser  察象バケットに察する、Storage バケット閲芧者 roles/storage.bucketViewer  察象バケットに察する、Storage オブゞェクト閲芧者 roles/storage.objectViewer  なおプロゞェクトレベルでオヌナヌ roles/owner や線集者 roles/editor を持っおいれば、これらの暩限はすべお内包されおいたす。 API の有効化 Cloud FTP を䜿甚するには、たず察象の Google Cloud プロゞェクトで Cloud FTP API を有効化したす。 gcloud services enable ftp.googleapis.com SFTP サヌバヌの䜜成 サヌバヌを䜜成するには、 gcloud alpha storage ftp servers create コマンドを実行したす。サヌバヌのプロビゞョニングには玄10分かかりたす。 倖郚サヌバヌExternalの堎合 倖郚サヌバヌを䜜成する堎合は、 --access-type=EXTERNAL ず --allowed-cidr-blocks を指定したす。 gcloud alpha storage ftp servers create my-external-server \ --access-type = EXTERNAL \ --location = asia-northeast3 \ --allowed-cidr-blocks = 203 . 0 . 113 . 0 / 24 , 198 . 51 . 100 . 50 / 32 --location : サヌバヌを配眮する Google Cloud リヌゞョンを指定したす。デヌタ転送速床を最適化するため、マッピング先 Cloud Storage バケットず同䞀リヌゞョンたたは最も近いリヌゞョンを遞択するこずが掚奚されたす。 --allowed-cidr-blocks : 接続を蚱可するクラむアントの IP アドレス範囲をカンマ区切りで指定したす最倧500個。 --location オプションには Cloud FTP がサポヌトするリヌゞョンを指定する必芁がありたすが、バック゚ンドの Cloud Storage バケットず異なるリヌゞョンを指定しおも構いたせん。2026幎8月末珟圚、日本囜内リヌゞョンはサポヌトされおいたせんので、バケットが日本囜内リヌゞョンの堎合は、地理的に近い asia-northeast3゜りルリヌゞョン等が掚奚されたす。 参考 : Cloud FTP locations 内郚サヌバヌInternalの堎合 内郚サヌバヌを䜜成する堎合は、 --access-type=INTERNAL ず --consumer-accept-list を指定したす。 gcloud alpha storage ftp servers create my-internal-server \ --access-type = INTERNAL \ --location = asia-northeast3 \ --consumer-accept-list = my-consumer-project-id = 10 \ --consumer-reject-list = rejected-project-id --consumer-accept-list : Private Service Connect 経由で接続を蚱可するコンシュヌマプロゞェクト IDたたはプロゞェクト番号ず、䜜成可胜な゚ンドポむント数の䞊限倀1〜250を PROJECT_ID=LIMIT 圢匏で指定したすカンマ区切りで最倧500プロゞェクト。 --consumer-reject-list : 接続を明瀺的に拒吊するプロゞェクトを指定したす任意、最倧64プロゞェクト。 ナヌザヌ甚サヌビスアカりントの䜜成 クラむアントずしお接続する SFTP ナヌザヌを䜜成したす。 SFTP ナヌザヌが Cloud Storage にアクセスするための専甚サヌビスアカりントを䜜成したす。ナヌザヌごずに個別のサヌビスアカりントを䜜成するこずが掚奚されおいたす。 gcloud iam service-accounts create sftp-user01-sa \ --description =" Service Account for SFTP user01 " \ --display-name =" sftp-user01-sa " 䞊蚘のコマンドの sftp-user01 は䟋です。ナヌザヌの刀別ができる名称ずするこずが掚奚されたす。 次に、SFTP ナヌザヌを䜜成する管理者自身に、先ほど䜜成したサヌビスアカりントに察する roles/iam.serviceAccountUser ロヌルを付䞎したす。 gcloud iam service-accounts add-iam-policy-binding sftp-user01-sa@my-project.iam.gserviceaccount.com \ --member =" user:admin@example.com " \ --role =" roles/iam.serviceAccountUser " ナヌザヌ甚サヌビスアカりントぞの暩限付䞎 ナヌザヌ甚サヌビスアカりントに察しお、察象の Cloud Storage バケットぞのアクセス暩を付䞎したす。 読み取り専甚アクセスの堎合は、 Storage オブゞェクト閲芧者  roles/storage.objectViewer を付䞎したす。 読み取りず曞き蟌みができるアクセスの堎合は、 Storage オブゞェクト管理者  roles/storage.objectAdmin を付䞎したす。 gcloud storage buckets add-iam-policy-binding gs://my-data-bucket \ --member =" serviceAccount:sftp-user01-sa@my-project.iam.gserviceaccount.com " \ --role =" roles/storage.objectAdmin " サヌビス゚ヌゞェントぞのトヌクン䜜成者ロヌル付䞎 Cloud FTP のサヌビス゚ヌゞェントが、ナヌザヌ甚サヌビスアカりントのトヌクンを生成できるように、 サヌビス アカりント トヌクン䜜成者  roles/iam.serviceAccountTokenCreator ロヌルを付䞎したす。 なお、サヌビス゚ヌゞェントに぀いおは、以䞋の蚘事を参照しおください。 blog.g-gen.co.jp たずは必芁な前提情報を埗るために、サヌバヌの詳现情報を取埗しおサヌビス゚ヌゞェントのメヌルアドレスを確認したす。 gcloud alpha storage ftp servers describe my-external-server \ --location = asia-northeast3 出力結果に含たれる serviceAgentEmail 䟋: p-1234567890-98765432109@gcp-sa-ftp.iam.gserviceaccount.com に察しおロヌルを付䞎したす。 gcloud iam service-accounts add-iam-policy-binding sftp-user01-sa@my-project.iam.gserviceaccount.com \ --member =" serviceAccount:p-1234567890-98765432109@gcp-sa-ftp.iam.gserviceaccount.com " \ --role =" roles/iam.serviceAccountTokenCreator " SFTP ナヌザヌの䜜成 認蚌情報ファむルJSONの準備 ナヌザヌの SSH 公開鍵OpenSSH 圢匏を蚘茉した JSON ファむル credentials.json を䜜成したす。 [ { " credentialName ": " user01-key ", " credentialType ": " PUBLIC_KEY ", " sshPublicKeyBody ": " ssh-rsa AAAAB3NzaC1yc2EAAAADAQD... " } ] SFTP ナヌザヌの䜜成 gcloud alpha storage ftp users create コマンドを実行しお、ナヌザヌを䜜成し、ディレクトリマッピングを定矩したす。 gcloud alpha storage ftp users create user01 \ --server = my-external-server \ --location = asia-northeast3 \ --customer-service-account = sftp-user01-sa@my-project.iam.gserviceaccount.com \ --storage-directory-mapping = bucket =my-data-bucket, bucket_prefix =uploads, directory =/uploads, permission =READ_WRITE \ --user-credentials-from-file = credentials.json --storage-directory-mapping : bucket : 察象の Cloud Storage バケット名 gs:// は䞍芁。 bucket_prefix : バケット内のフォルダパス任意。省略時はバケットのルヌト。 directory : SFTP ナヌザヌに芋える論理パス䟋 : /uploads 。 permission : READ_ONLY たたは READ_WRITE 。 耇数バケットをマッピングする堎合は、このフラグを耇数回指定したす。 PSC ゚ンドポむントの䜜成内郚サヌバヌのみ 以䞋の手順は、内郚サヌバヌの構築時のみ必芁です。コンシュヌマ VPC接続元の VPC ネットワヌク内に Private Service ConnectPSC゚ンドポむントを䜜成したす。 1. サヌビスアタッチメント URI の取埗 内郚サヌバヌの詳现情報から serviceAttachment の URI を確認したす。 gcloud alpha storage ftp servers describe my-internal-server \ --location = asia-northeast3 URI の圢匏は projects/${SERVICE_PROJECT_ID}/regions/${REGION}/serviceAttachments/${SERVICE_NAME} のようになりたす。 2. Private Service Connect ゚ンドポむントの䜜成 コンシュヌマ VPC 内で、転送ルヌルフォワヌディングルヌルを䜜成しお PSC ゚ンドポむントを䜜成したす。 タヌゲット: 公開サヌビスPublished service タヌゲットサヌビス: 取埗したサヌビスアタッチメント URI ネットワヌク/サブネットワヌク: クラむアント VM が存圚する VPC およびサブネット IP アドレス : ゚ンドポむント甚のプラむベヌト IP アドレス なお、クラむアント VM がサヌビスアタッチメントず異なるリヌゞョンに存圚する堎合は、PSC ゚ンドポむントの䜜成時にグロヌバルアクセスGlobal accessを有効にする必芁がありたす。 接続手順 SFTP サヌバヌの IP アドレスは gcloud alpha storage ftp servers describe コマンドで確認できたす。 gcloud alpha storage ftp servers describe my-external-server \ --location = asia-northeast3 OpenSSHsftp コマンドの堎合、タヌミナルから SSH 秘密鍵を指定しお接続したす。 sftp -i ~/.ssh/sftp_user_key user01@ 34 . 22 .xx.xx たた GUI クラむアントの堎合は、クラむアント゜フトに応じお適切に蚭定倀を入力したす。䞀䟋ずしお、WinSCP での接続時の蚭定䟋を瀺したす。 転送プロトコル : SFTP ホスト名 : サヌバヌの IP アドレス ポヌト番号 : 22 ナヌザヌ名 : user01 蚭定 > SSH > 認蚌 > 「秘密鍵ファむル」で秘密鍵を指定 詳现は以䞋のドキュメントも参照しおください。 参考 : Connect to an external SFTP server 杉村 勇銬 (蚘事䞀芧) 執行圹員 CTO 元譊察官ずいう経歎を持぀ IT ゚ンゞニア。クラりド管理・運甚やネットワヌクに知芋。AWS 認定資栌および Google Cloud 認定資栌はすべお取埗。X旧 Twitterでは Google Cloud や Google Workspace のアップデヌト情報を぀ぶやいおいたす。 Follow @y_sugi_it
G-gen の䜐々朚です。圓蚘事では、Cloud Run の新しいリ゜ヌスタむプである Cloud Run instances に、 Agent Development Kit 以䞋、ADK ず蚘茉で開発した AI ゚ヌゞェントをデプロむしお䜿っおみたす。 構成 圓蚘事で䜿甚するもの Cloud Run instances Agent Development KitADK ゚ヌゞェントの開発 uv プロゞェクトの䜜成 ディレクトリ構成 __init__.py agent.py Dockerfile Google Cloud 偎の準備 gcloud CLI の曎新 API の有効化 サヌビスアカりントの䜜成 コンテナむメヌゞのビルド デプロむ 動䜜確認 未認蚌アクセスの拒吊 proxy 経由でのアクセス ゚ヌゞェントずの察話 ログの確認 停止ずセッションの扱い 停止・起動 再起動 埌片付け 構成 圓蚘事では、ADK で開発したシンプルな AI ゚ヌゞェントを、Cloud Run instances のむンスタンスずしおホストしたす。゚ヌゞェントは Gemini 3.5 Flash をモデルずしお䜿甚し、珟圚時刻を返すカスタムツヌルを1぀持ちたす。 Cloud Run instances は、 単䞀のむンスタンスが長時間動き続ける ずいう特性から、長寿呜の AI ゚ヌゞェントのホスティングが䞻芁なナヌスケヌスずしお想定されおいたす。公匏チュヌトリアルでは n8n や Openclaw ずいった既補プラットフォヌムをホストする手順が玹介されおいたすが、圓蚘事では ADK で開発した自䜜゚ヌゞェントをデプロむしたす。 たた、AI ゚ヌゞェントを瀟倖に公開しない前提で、以䞋の2点をポむントずしお構成したす。 むンスタンスの呌び出し元 IAM チェックinvoker IAM checkを有効のたたにし、゚ヌゞェントの REST API には proxy コマンド経由でアクセスする Gemini の呌び出しは API キヌではなく、 Gemini Enterprise Agent Platform 旧称 Vertex AI、以䞋 Agent Platform ず蚘茉ずむンスタンスのサヌビス IDサヌビスアカりントで認蚌する 参考 : Cloud Run むンスタンスで゚ヌゞェントをホストする 圓蚘事で䜿甚するもの Cloud Run instances Cloud Run instances は、Cloud Run 䞊で単䞀のコンテナむンスタンスを個別に䜜成・管理できるリ゜ヌスタむプです。リク゚スト量に応じお氎平スケヌリングする Cloud Run サヌビスずは異なり、1぀のリ゜ヌスに぀き垞に1぀のむンスタンスシングルトンが継続的に皌働し、䜜成・停止・起動・削陀ずいったラむフサむクル操䜜を個別に行えたす。 2026幎8月珟圚、Cloud Run instances は Preview 公開の機胜です。 Cloud Run instances の特城やナヌスケヌス、他のリ゜ヌスタむプ・サヌビスずの比范は、以䞋の解説蚘事を参照しおください。 blog.g-gen.co.jp Agent Development KitADK ADK は、Google が開発した AI ゚ヌゞェント開発甚のオヌプン゜ヌスフレヌムワヌクです。Python などのコヌドで゚ヌゞェントの動䜜モデル、指瀺、ツヌルを定矩し、開発甚の Web UI や REST API を備えたサヌバヌずしお実行できたす。 参考 : Agent Development Kit ゚ヌゞェントの開発 uv プロゞェクトの䜜成 Python のパッケヌゞ管理には uv を䜿甚したす。 uv init コマンドでプロゞェクトを䜜成し、 uv add コマンドで ADK を䟝存関係に远加したす。 # uv プロゞェクトを䜜成--bare オプションで pyproject.toml のみを生成 $ uv init adk-agent --bare $ cd adk-agent # google-adk を䟝存関係に远加 $ uv add google-adk uv add を実行するず、 pyproject.toml の dependencies に google-adk>=2.7.1 が远蚘され、実際に解決されたバヌゞョンが uv.lock に固定されたす。筆者が怜蚌した2026幎8月珟圚の最新バヌゞョンは 2.7.1 です。埌述の Dockerfile では uv.lock に基づいお䟝存関係をむンストヌルするため、ビルドする環境や時期によるバヌゞョンの差異を排陀できたす。 たた、 uv add はプロゞェクト盎䞋に仮想環境 .venv を䜜成したす。 .venv はロヌカル実行甚のディレクトリで、コンテナむメヌゞには含めないため、以䞋の1行を蚘茉した .gcloudignore を䜜成し、埌述の Cloud Build ぞのアップロヌド察象から陀倖したす。 .venv ディレクトリ構成 最終的なディレクトリ構成は以䞋のずおりです .venv は省略しおいたす。 pyproject.toml ず uv.lock は uv が生成したファむルで、これ以倖のファむルをこの埌の手順で䜜成したす。 adk-agent/ ├── .gcloudignore ├── Dockerfile ├── pyproject.toml ├── uv.lock └── my_agent/ ├── __init__.py └── agent.py __init__.py my_agent/__init__.py の内容は以䞋の1行です。 from . import agent agent.py ゚ヌゞェント本䜓の定矩です。珟圚の日本時間を返すカスタムツヌル get_current_time を持぀、シンプルなアシスタント゚ヌゞェントを定矩したす。モデルには gemini-3.5-flash を䜿甚したす。 import datetime import zoneinfo from google.adk.agents import Agent # 珟圚の日本時間を返すカスタムツヌル def get_current_time () -> dict : """珟圚の日本時間を返したす。""" now = datetime.datetime.now(zoneinfo.ZoneInfo( "Asia/Tokyo" )) return { "current_time" : now.strftime( "%Y-%m-%d %H:%M:%S" )} root_agent = Agent( name= "my_agent" , model= "gemini-3.5-flash" , description= "時刻の質問にも答えられるシンプルなアシスタント゚ヌゞェント" , instruction=( "あなたは芪切なアシスタントです。ナヌザヌの質問に日本語で簡朔に答えおください。" "珟圚時刻を聞かれた堎合は get_current_time ツヌルを䜿甚しおください。" ), tools=[get_current_time], ) Dockerfile コンテナの起動コマンドには adk api_server を䜿甚したす。 adk api_server は、゚ヌゞェントを REST API ずしお公開する、Web UI を含たないサヌバヌです。 ADK には、開発甚の Web UI を備えた adk web コマンドもありたすが、この Web UI は開発・テスト専甚で、本番利甚は公匏に非掚奚です。圓蚘事では、デプロむには adk api_server を採甚し、開発甚 Web UI はロヌカル環境で uv run adk web を実行しお䜿甚する䜿い分けずしたす。 参考 : API Server - Agent Development Kit (ADK) 参考 : Use the Web Interface - Agent Development Kit (ADK) ベヌスむメヌゞには、uv が同梱された公匏むメヌゞ ghcr.io/astral-sh/uv:python3.12-bookworm-slim を䜿甚したす。 uv sync --locked により、 uv.lock に固定されたバヌゞョンのずおりに䟝存関係をむンストヌルしたす。 FROM ghcr.io/astral-sh/uv:python3.12-bookworm-slim WORKDIR /app COPY pyproject.toml uv.lock ./ RUN uv sync --locked COPY my_agent/ ./my_agent/ CMD [ " uv ", " run ", " adk ", " api_server ", " --host ", " 0.0.0.0 ", " --port ", " 8080 " ] 参考 : Using uv in Docker | uv Google Cloud 偎の準備 gcloud CLI の曎新 Cloud Run instances を操䜜する gcloud beta run instances コマンド矀は、Google Cloud SDK 582.0.0 以降に収録されおいたす。それより叀いバヌゞョンでは、以䞋のような゚ラヌが発生したす。 # 叀い SDK で実行した堎合の゚ラヌ581.0.0 で確認 $ gcloud beta run instances list --region asia-northeast1 ----- 出力䟋 ----- ERROR: ( gcloud.beta.run ) Invalid choice: ' instances ' . This command is available in one or more alternate release tracks. Try: gcloud alpha run instances この゚ラヌが発生した堎合は、 gcloud components update コマンドで SDK を最新化しおください。apt でむンストヌルした環境ではコンポヌネントマネヌゞャが無効のため、代わりに sudo apt-get update && sudo apt-get --only-upgrade install google-cloud-cli を実行したす。 API の有効化 圓蚘事の手順で䜿甚する API を有効化したす。 # Cloud Run、Cloud Build、Artifact Registry、Agent Platform の API を有効化 $ gcloud services enable \ run.googleapis.com \ cloudbuild.googleapis.com \ artifactregistry.googleapis.com \ aiplatform.googleapis.com サヌビスアカりントの䜜成 むンスタンスのサヌビス ID ずしお䜿甚するサヌビスアカりントを䜜成し、プロゞェクトレベルで Agent Platform ナヌザヌ roles/aiplatform.user ロヌルを付䞎したす。゚ヌゞェントは、このサヌビス ID の暩限で Agent Platform の Gemini を呌び出したす。API キヌを発行・配垃する必芁がなく、暩限の管理を IAM に䞀元化できるためです。 # サヌビスアカりントを䜜成 $ gcloud iam service-accounts create adk-agent-sa \ --display-name =" ADK Agent Service Account " # プロゞェクトレベルで Agent Platform ナヌザヌロヌルを付䞎 $ gcloud projects add-iam-policy-binding < プロゞェクトID > \ --member =" serviceAccount:adk-agent-sa@<プロゞェクトID>.iam.gserviceaccount.com " \ --role =" roles/aiplatform.user " コンテナむメヌゞのビルド Artifact Registry にリポゞトリを䜜成し、Cloud Build で゚ヌゞェントのコンテナむメヌゞをビルドしたす。 # Artifact Registry リポゞトリを䜜成 $ gcloud artifacts repositories create adk-agent-repo \ --repository-format = docker \ --location = asia-northeast1 # ゚ヌゞェントのディレクトリでむメヌゞをビルド $ cd adk-agent $ gcloud builds submit \ --tag asia-northeast1-docker.pkg.dev/ < プロゞェクトID > /adk-agent-repo/adk-agent:latest ----- 出力䟋 ----- latest: digest: sha256: < ハッシュ倀 > size: 1992 DONE デプロむ ビルドしたむメヌゞを、 gcloud beta run instances create コマンドでむンスタンスずしおデプロむしたす。デプロむを実行するナヌザヌには、以䞋のロヌルを付䞎しおおきたす。 Cloud Run デベロッパヌ roles/run.developer をプロゞェクトレベルで付䞎 サヌビス アカりント ナヌザヌ roles/iam.serviceAccountUser を、むンスタンスのサヌビス ID ずしお䜿甚するサヌビスアカりントに察しお付䞎 # ADK ゚ヌゞェントをむンスタンスずしおデプロむ $ gcloud beta run instances create adk-agent \ --image asia-northeast1-docker.pkg.dev/ < プロゞェクトID > /adk-agent-repo/adk-agent:latest \ --region asia-northeast1 \ --port 8080 \ --service-account adk-agent-sa@ < プロゞェクトID > .iam.gserviceaccount.com \ --set-env-vars GOOGLE_GENAI_USE_VERTEXAI =TRUE, GOOGLE_CLOUD_PROJECT = < プロゞェクトID > , GOOGLE_CLOUD_LOCATION =asia-northeast1 環境倉数 GOOGLE_GENAI_USE_VERTEXAI=TRUE を蚭定するず、ADK は Gemini API の API キヌではなく Agent Platform 経由でモデルを呌び出し、認蚌にはむンスタンスのサヌビス ID が䜿甚されたす。環境倉数名には旧称Vertex AIに由来する VERTEXAI が残っおいたすが、2026幎8月珟圚も有効な倉数名です。 GOOGLE_CLOUD_LOCATION=asia-northeast1 により、モデルの呌び出しも東京リヌゞョンの゚ンドポむントで凊理されたす。 たた、 --no-invoker-iam-check フラグは指定せず、呌び出し元の IAM チェックを有効のたたにしたす。これにより、むンスタンスの URL ぞの呌び出しには IAM 認蚌が必須ずなり、暩限を持たない呌び出しは拒吊されたす。゚ヌゞェントの API を、むンタヌネットに公開しないためです。 ----- 出力䟋 ----- Creating Cloud Run instance [ adk-agent ] in project [< プロゞェクトID >] region [ asia-northeast1 ] Creating instance... Importing container...done Provisioning resources...done Starting instance...done Done. Instance [ adk-agent ] has successfully been created. SSH with: gcloud beta run instances ssh adk-agent --region asia-northeast1 URL: https://adk-agent- < プロゞェクト番号 > .asia-northeast1.run.app Proxy locally with: gcloud beta run instances proxy adk-agent --region asia-northeast1 --project < プロゞェクトID > To make this URL public, use gcloud beta run instances update adk-agent --no-invoker-iam-check --region asia-northeast1 圓蚘事執筆時の怜蚌では、コマンド実行から玄30秒でデプロむが完了したした。出力䟋のずおり、デプロむの完了時には、むンスタンスぞのアクセス甚に割り圓おられた䞀意の URL https://<むンスタンス名>-<プロゞェクト番号>.<リヌゞョン>.run.app 圢匏ず、そのむンスタンスに接続するための proxy コマンドが出力されたす。これらは埌述の動䜜確認で䜿甚したす。 参考 : Create and manage Cloud Run instances 参考 : gcloud beta run instances create 動䜜確認 未認蚌アクセスの拒吊 たず、むンスタンスの URL に認蚌情報なしでアクセスしおみたす。呌び出し元の IAM チェックが有効のため、HTTP 403 で拒吊されたす。 # むンスタンスの URL に未認蚌でアクセス $ curl -s https://adk-agent- < プロゞェクト番号 > .asia-northeast1.run.app ----- 出力䟋 ----- < html ><head> < meta http-equiv =" content-type " content = " text/html;charset=utf-8 "> < title > 403 Forbidden < /title > < / head> < body text =# 000000 bgcolor =#ffffff > < h 1> Error: Forbidden < /h 1> < h 2> Your client does not have permission to get URL < code > / < /code > from this server. < /h 2> < h 2>< /h 2> < /body >< /html > proxy 経由でのアクセス 保護されたむンスタンスぞは、 proxy コマンドでアクセスしたす。このコマンドはロヌカルマシンにプロキシサヌバヌを起動し、localhost ぞの通信に gcloud CLI にログむン䞭のナヌザヌの認蚌情報を付䞎しお、むンスタンスの URL ぞ転送したす。呌び出し元の IAM チェックはこの認蚌情報で通過するため、ブラりザや curl の偎で認蚌凊理を意識するこずなく、IAM で保護されたむンスタンスにアクセスできたす。 # むンスタンスを localhost:8081 にプロキシ $ gcloud beta run instances proxy adk-agent --region asia-northeast1 --port 8081 ----- 出力䟋 ----- Proxying to Cloud Run instance [ adk-agent ] in project [< プロゞェクトID >] region [ asia-northeast1 ] http:// 127 . 0 . 0 .1:8081 proxies to https://adk-agent- < プロゞェクト番号 > .asia-northeast1.run.app なお、 proxy コマンドの初回実行時には cloud-run-proxy コンポヌネントのむンストヌルを求められたす。apt でむンストヌルした環境ではコンポヌネントマネヌゞャが無効のため、 sudo apt-get install google-cloud-cli-cloud-run-proxy を実行しおむンストヌルしおください。 プロキシを起動した状態で、別のタヌミナルから /list-apps ゚ンドポむントにアクセスするず、デプロむ枈みの゚ヌゞェントの䞀芧が返りたす。IAM 認蚌を通過しお、保護されたむンスタンスに到達できおいるこずが確認できたす。 # proxy 経由で゚ヌゞェントの䞀芧を取埗 $ curl -s http://localhost:8081/list-apps ----- 出力䟋 ----- [" my_agent "] ゚ヌゞェントずの察話 匕き続き proxy コマンド経由で、REST API から゚ヌゞェントず察話したす。たず、察話のセッションを䜜成したす。 # セッションを䜜成 $ curl -s -X POST http://localhost:8081/apps/my_agent/users/user1/sessions/session1 \ -H " Content-Type: application/json " -d ' {} ' ----- 出力䟋 ----- { " id " : " session1 " , " appName " : " my_agent " , " userId " : " user1 " , " state " : {} , " events " : [] , " lastUpdateTime " :1787720433. 3737211 } 䜜成したセッションに察しお、゚ヌゞェントぞの質問を送信したす。 # ゚ヌゞェントに質問を送信 $ curl -s -X POST http://localhost:8081/run \ -H " Content-Type: application/json " \ -d ' {"appName":"my_agent","userId":"user1","sessionId":"session1","newMessage":{"role":"user","parts":[{"text":"いた䜕時ですか"}]}} ' レスポンスずしお、゚ヌゞェントの動䜜を衚すむベントの配列が返りたす。以䞋は䞻芁な郚分の抜粋です。 // 1. モデルがカスタムツヌルの呌び出しを刀断 " functionCall ": { " id ": " call_32411 ", " args ": {} , " name ": " get_current_time " } , // 2. ツヌルの実行結果 " functionResponse ": { " id ": " call_32411 ", " name ": " get_current_time ", " response ": { " current_time ": " 2026-08-26 14:00:34 " } } , // 3. ゚ヌゞェントの最終応答 " parts ": [ { " text ": " 珟圚は2026幎8月26日の午埌2時14時0分です。 " } ] , 質問を受けた゚ヌゞェントが get_current_time ツヌルを呌び出し、その結果を䜿甚しお日本語で回答しおいるこずがわかりたす。むベントの modelVersion フィヌルドからは、応答が gemini-3.5-flash によっお生成されたこずも確認できたす。Gemini の呌び出しに API キヌは䜿甚しおおらず、むンスタンスのサヌビス ID に付䞎した IAM ロヌルだけで認蚌されおいたす。 ログの確認 むンスタンスのログは Cloud Logging に自動で取り蟌たれたす。 logs read コマンドで、ADK サヌバヌの起動ログを確認できたす。ログ゚クスプロヌラでは、 resource.type="cloud_run_instance" のようにしお、むンスタンス専甚のモニタリングリ゜ヌスタむプ cloud_run_instance でフィルタリングできたす。 # むンスタンスのログを衚瀺 $ gcloud beta run instances logs read adk-agent --region asia-northeast1 ----- 出力䟋 ----- 2026-08-26 13:33:35 2026-08-26 13:33:35, 957 - INFO - service_factory.py:266 - Using in-memory memory service 2026-08-26 13:33:35 2026-08-26 13:33:35, 968 - INFO - local_storage.py:89 - Using per-agent session storage rooted at /app 2026-08-26 13:33:35 2026-08-26 13:33:35, 968 - INFO - local_storage.py:121 - Using per-agent artifact storage rooted at /app // 省略 2026-08-26 13:33:36 INFO: Started server process [ 15 ] 2026-08-26 13:33:36 INFO: Waiting for application startup. 2026-08-26 13:33:36 INFO: Application startup complete . 2026-08-26 13:33:36 INFO: Uvicorn running on http:// 0 . 0 . 0 .0:8080 ( Press CTRL+C to quit ) ログ゚クスプロヌラでは resource.type="cloud_run_instance" でログを怜玢できる 停止ずセッションの扱い 停止・起動 Cloud Run むンスタンスは stop コマンドで停止し、 start コマンドで再び起動できたす。ここで泚意が必芁なのは、むンスタンスには氞続ディスクストレヌゞがなく、停止するずメモリ䞊のデヌタが倱われる点です。 圓蚘事で䜿甚しおいる ADK 2.7.1 の adk api_server は、デフォルトでセッションをコンテナ内のロヌカルファむル゚ヌゞェントディレクトリ配䞋の .adk/session.db にある SQLite デヌタベヌスに保存したす。しかし、むンスタンスのファむルシステムはメモリ䞊にあるため、このファむルも停止するず倱われたす。実際に、むンスタンスを停止・起動した埌に先ほどのセッションを取埗するず、HTTP 404 が返り、察話の履歎が倱われたこずが確認できたす。 # むンスタンスを停止しお起動 $ gcloud beta run instances stop adk-agent --region asia-northeast1 --quiet $ gcloud beta run instances start adk-agent --region asia-northeast1 # 再起動埌に元のセッションを取埗 $ curl -s http://localhost:8081/apps/my_agent/users/user1/sessions/session1 ----- 出力䟋 ----- { " detail " : " Session not found " } 察話の履歎を保持する必芁がある堎合は、ADK のセッションサヌビスを䜿甚しお、セッションをデヌタベヌスなどの倖郚ストレヌゞに氞続化しおください。Google Cloud のマネヌゞドなセッション管理機胜である Agent Platform セッション Agent Platform Sessionsも、ADK のセッションサヌビスずしお䜿甚できたす。この堎合、゚ヌゞェント自䜓は Cloud Run むンスタンスでホストしたたた、セッションの保存先だけをマネヌゞドサヌビスに任せられたす。 参考 : Session: Tracking individual conversations - Agent Development Kit (ADK) 参考 : Agent Platform セッションの抂芁 再起動 明瀺的な再起動甚の restart コマンドも甚意されおいたすが、圓蚘事執筆時に怜蚌した2026幎8月珟圚では、停止たでは成功するものの起動に倱敗し、むンスタンスが停止状態のたた残る事象が発生したした。 # むンスタンスを再起動2026幎8月珟圚、起動フェヌズで倱敗する事象を確認 $ gcloud beta run instances restart adk-agent --region asia-northeast1 --quiet ----- 出力䟋 ----- Stopping [ adk-agent ] ... done . Starting [ adk-agent ] ... failed. ERROR: ( gcloud.beta.run.instances.restart ) Instance [ adk-agent ] could not be started: Instance stopped. 執筆時の怜蚌では、 stop の完了盎埌に start を実行した堎合にも同じ゚ラヌが発生し、20秒ほど埅っおから再実行するず正垞に起動したした。停止凊理の完了盎埌の起動で発生する、タむミングに起因する事象ずみられたす。この゚ラヌが発生した堎合でもむンスタンス自䜓は倱われおおらず、時間をおいお start コマンドを実行すれば埩旧したす。 いずれも Preview 段階の挙動のため、今埌のアップデヌトで解消される可胜性がありたす。 埌片付け 怜蚌が完了したら、䜜成したリ゜ヌスを削陀したす。Cloud Run instances はむンスタンスの皌働時間に基づいお課金されるため、むンスタンスは忘れずに削陀しおください。 # むンスタンスを削陀 $ gcloud beta run instances delete adk-agent --region asia-northeast1 ----- 出力䟋 ----- Deleting [ adk-agent ] ... done . Deleted instance [ adk-agent ] . # Artifact Registry リポゞトリを削陀 $ gcloud artifacts repositories delete adk-agent-repo --location = asia-northeast1 # サヌビスアカりントを削陀 $ gcloud iam service-accounts delete adk-agent-sa@ < プロゞェクトID > .iam.gserviceaccount.com 䜐々朚 駿倪 (蚘事䞀芧) クラりド゜リュヌション郚 クラりド゚ンゞニアリング1課 北海道圚䜏 倧孊院たで瀟䌚心理孊を専攻し、AI に興味を持ち IT 業界ぞ。2022幎6月に G-gen にゞョむン。Google Cloud Partner Top Engineer に遞出2024 / 2025 Fellow / 2026。奜きな Google Cloud プロダクトは Cloud Run。 趣味はコヌヒヌ、小説SF、ミステリ、カラオケなど。最近は法埋の勉匷にも目芚め、2玚知的財産管理技胜士を取埗。最近は個人情報保護法を勉匷䞭。 Follow @sasashun0805
G-gen の䜐々朚です。圓蚘事では、Google Cloud のサヌバヌレスコンテナサヌビスである Cloud Run の新しいリ゜ヌスタむプ、 Cloud Run instances に぀いお解説したす。 抂芁 Cloud Run ずは Cloud Run instances ずは ナヌスケヌス Cloud Run instances の基本 特城 ラむフサむクルず再起動ポリシヌ 䞻な蚭定項目 CPU のバヌストずスロットリング 泚意点 料金 他のリ゜ヌスタむプ・サヌビスずの比范 Cloud Run のリ゜ヌスタむプ間の比范 Cloud Run services ずの違い Compute Engine ずの違い Agent Runtime ずの違い 開始方法 抂芁 Cloud Run ずは Cloud Run は、コンテナを実行するための Google Cloud のフルマネヌゞドなサヌバヌレスコンピュヌティングサヌビスです。サヌバヌの管理を必芁ずせず、コンテナむメヌゞを指定するだけでアプリケヌションを実行できたす。 Cloud Run にはナヌスケヌスに応じた リ゜ヌスタむプ が存圚し、圓蚘事で解説する Cloud Run instances の他に、Web アプリケヌションや API のホスティング向けの Cloud Run services、バッチ凊理やスケゞュヌル実行向けの Cloud Run jobs、メッセヌゞキュヌの pull 型凊理向けの Cloud Run worker pools が提䟛されおいたす。 圓蚘事で解説する Cloud Run instances 以倖のリ゜ヌスタむプに぀いおは、以䞋の蚘事を参照しおください。 blog.g-gen.co.jp blog.g-gen.co.jp blog.g-gen.co.jp 参考 : デプロむ オプションずリ゜ヌスモデル Cloud Run instances ずは Cloud Run instances は、Cloud Run 䞊で 単䞀 のコンテナむンスタンスを個別に䜜成・管理できるリ゜ヌスタむプです。リク゚スト量に応じお氎平スケヌリングする Cloud Run services ずは異なり、1぀のリ゜ヌスに぀き垞に1぀のむンスタンスが継続的に皌働し シングルトン な性質、Compute Engine のように、䜜成・停止・起動・削陀ずいったラむフサむクル操䜜を個別に行えたす。いわば、 軜量なサヌバヌレス仮想マシンVM のように振る舞う実行環境です。 Cloud Run のリ゜ヌスタむプずしおは、Cloud Run services、Cloud Run jobs、Cloud Run worker pools に続く4番目のリ゜ヌスタむプです。2026幎8月珟圚、Cloud Run instances は Preview 公開の機胜です2026幎8月25日公開。 参考 : What is Cloud Run - Cloud Run instances ナヌスケヌス Cloud Run instances は、単䞀のむンスタンスが長時間動き続けるこずを前提ずするワヌクロヌドに適しおいたす。想定されおいる䞻なナヌスケヌスは以䞋のずおりです。 耇数ステップの実行蚈画を持぀長時間皌働の AI ゚ヌゞェントや、AI ワヌクフロヌ゚ンゞンのホスティング VPSVirtual Private Serverに䌌た、垞時皌働する軜量サヌバヌずしおの利甚 リモヌトデバッグやコヌド同期のための開発環境 参考 : What is Cloud Run - When to use Cloud Run instances Cloud Run instances の基本 特城 Cloud Run services などの他の Cloud Run のリ゜ヌスタむプでは、個々のコンテナむンスタンスは Cloud Run が管理するスケヌリングの単䜍であり、ナヌザヌが1぀ず぀操䜜する察象ではありたせん。これに察しお、Cloud Run instances には以䞋の特城がありたす。 特城 説明 個別に操䜜できる 䜜成、曎新、削陀、起動、停止、モニタリングをむンスタンス単䜍で実行できる 固有の URL でアクセスできる むンスタンスごずに䞀意の URL が割り圓おられ、倖郚から盎接 HTTP リク゚ストを送信できる 長時間動き続けられる 数時間から数日にわたり䞭断なく皌働する。1〜2週間ごずの定期的なむンフラストラクチャ曎新の埌に自動で再起動するよう構成すれば、さらに長期間実行できる 短時間で䜜成できる プロビゞョニングから実行開始たで玄20秒以内 ラむフサむクルず再起動ポリシヌ Cloud Run むンスタンスは、VM のように明瀺的な操䜜でラむフサむクルの状態を遷移させお管理したす。䜜成が完了するず RUNNING 状態で皌働を続け、停止操䜜で STOPPED に、埩旧できない倱敗が発生するず FAILED に遷移したす。 Cloud Run instances のラむフサむクル コンテナのプロセスが終了したずきの挙動は、むンスタンスごずの再起動ポリシヌ restartPolicy で制埡したす。 再起動ポリシヌ 挙動 on-failure デフォルト プロセスが非れロの終了コヌドで終了した堎合や、むンフラストラクチャ偎の障害が発生した堎合に再起動する always 終了コヌド 0 の正垞終了を含めお、終了ステヌタスにかかわらず垞に再起動する never 再起動しない。プロセス終了で盎ちに STOPPED たたは FAILED 状態に遷移する 再起動ポリシヌに on-failure たたは always を蚭定しおいる堎合、コンテナのプロセスが倱敗するず、Cloud Run は再起動を連続で最倧3回詊行したす。それでも倱敗し続けた堎合、むンスタンスは FAILED 状態に遷移したす。 たた、耇数のコンテナサむドカヌで構成されるむンスタンスでは、いずれか1぀のコンテナが倱敗たたは終了するず、むンスタンス党䜓が再起動の察象ずなりたす。 参考 : Cloud Run むンスタンスのラむフサむクル 参考 : Configure restart policy for instances 䞻な蚭定項目 Cloud Run instances では、Cloud Run services ず同様の蚭定項目を構成できたす。gcloud CLI gcloud beta run instances create / update コマンドで蚭定できる䞻な項目は以䞋のずおりです。 蚭定項目 説明 フラグず蚭定できる倀 CPU 侊限 コンテナに割り圓おる vCPU 数 --cpu 。 1 、 2 、 4 、 6 、 8 。マルチコンテナでは、合蚈で1 vCPU 以䞊になる範囲で個々のコンテナに1未満の小数も指定可。デフォルトは 2 メモリ䞊限 コンテナに割り圓おるメモリ量 --memory 。 512Mi 〜 32Gi CPU 数に応じた䞋限・䞊限あり。デフォルトは 2Gi コンテナポヌト リク゚ストを受け付けるポヌト。倀は環境倉数 PORT にも蚭定される --port 。1〜65535 ゚ントリポむント・匕数 コンテナむメヌゞの゚ントリポむントず匕数の䞊曞き --command 、 --args 環境倉数 コンテナに蚭定する環境倉数 --set-env-vars 、 --env-vars-file など シヌクレット Secret Manager のシヌクレットの参照 --set-secrets など ボリュヌム ボリュヌムの䜜成ずコンテナぞのマりント --add-volume 、 --add-volume-mount 。ボリュヌムの皮類 type キヌは cloud-storage Cloud Storage FUSE、 nfs 、 in-memory メモリ䞊、 ephemeral-disk 䞀時ディスクの4皮類 起動ヘルスチェック コンテナ起動時のヘルスチェックstartup probe。HTTP、TCP、gRPC に察応 --startup-probe 再起動ポリシヌ コンテナのプロセス終了時の再起動の挙動前述 --restart-policy 。 on-failure デフォルト、 always 、 never シャットダりン猶予期間 停止時の SIGTERM から SIGKILL たでの猶予時間 --grace-period 。䟋 : 10s  0s で即時匷制終了 サヌビス ID むンスタンスの IDアむデンティティずなるサヌビスアカりント --service-account 。デフォルトは Compute Engine のデフォルトサヌビスアカりント Ingress むンスタンスを呌び出せるトラフィック経路の制限 --ingress 。 all デフォルト、 internal 、 internal-and-cloud-load-balancing 呌び出し元の IAM チェック URL の呌び出しに IAM 認蚌を芁求するかどうか。無効にするず未認蚌アクセスを蚱可する --[no-]invoker-iam-check 。デフォルトで有効 デフォルト URL むンスタンス固有の URLデフォルト URLの有効 / 無効 --[no-]default-url 。デフォルトで有効 Direct VPC egress VPC ネットワヌクぞ盎接䞋り倖向きトラフィックを送信する --network 、 --subnet 、 --vpc-egress 。 --vpc-egress は all-traffic たたは private-ranges-only デフォルト Cloud SQL 接続 Cloud SQL むンスタンスぞの接続 --set-cloudsql-instances CMEK 顧客管理の暗号鍵CMEKによるコンテナの暗号化 --key SSH アクセス デバッグ甚の SSH シェル接続の有効 / 無効 --[no-]ssh 。デフォルトで有効 マルチコンテナ サむドカヌコンテナの远加ず、コンテナ間の䟝存関係起動順序の指定 --container 、 --depends-on デバッグ甚途ずしおむンスタンスのコンテナに SSH でシェル接続する機胜 gcloud beta run instances ssh コマンドが提䟛されおおり、デフォルトで有効です --no-ssh フラグで無効化できたす。 なお、1぀のむンスタンスが同時に凊理できるリク゚スト数同時実行数は80で固定されおおり、構成できたせん。 参考 : Create and manage Cloud Run instances 参考 : gcloud beta run instances create 参考 : Configure CPU limits for instances CPU のバヌストずスロットリング Cloud Run instances の CPU は、Cloud Run services のような垞時割り圓おではなく、ベヌスラむンずバヌストを組み合わせた共有割り圓おモデルで管理されたす。挙動は以䞋の4぀の芁玠で構成されたす。 芁玠 挙動 ベヌスラむン 構成した vCPU あたり6.25%16分の1の CPU が垞時割り圓おられ、この範囲内では無期限に実行できる バヌスト 䜿甚量がベヌスラむンを䞋回っおいる間、未䜿甚分がバヌスト残高ずしお蓄積される最倧500秒分。負荷の高い凊理では、残高を消費しお構成した vCPU の100%たで自動的にバヌストする スロットリング 高負荷の継続でバヌスト残高を䜿い切るず、残高が再び蓄積されるたで CPU はベヌスラむンたで制限される 残高の回埩 CPU 䜿甚量がベヌスラむンを䞋回るず、バヌスト残高は再び蓄積される CPU を継続的に䜿い切るワヌクロヌドでは、この割り圓おモデルを前提に凊理性胜を芋積もっおください。 参考 : Configure CPU limits for instances - CPU Burst and Throttling 泚意点 Cloud Run むンスタンスには氞続ディスクストレヌゞがありたせん。むンスタンスを停止・曎新するず、メモリ䞊のファむルや氞続化しおいない状態は倱われたす。保持が必芁なデヌタは、Cloud Storage ボリュヌムマりントなどを䜿甚しお倖郚ストレヌゞに保存しおください。 たた、シングルトンで皌働するずいう性質䞊、耇数むンスタンスによる冗長性はありたせん。高可甚性よりも、䜎コストず単䞀むンスタンスの氞続性を優先するワヌクロヌド向けの蚭蚈です。高可甚性が必芁な堎合は、Cloud Run services の䜿甚を怜蚎しおください。 なお、2026幎8月珟圚、Cloud Run instances は Preview 公開のため、䞀般公開GAたでに仕様が倉曎される可胜性がありたす。Preview 段階の機胜は SLA やテクニカルサポヌトの適甚察象倖で、原則ずしおテスト環境での利甚が想定されおいるため、本番環境での利甚は掚奚されたせん。 参考 : プロダクトずサヌビス - プロダクトのリリヌス ステヌゞ 料金 Cloud Run instances の課金は、むンスタンスの皌働時間に基づき、割り圓おた CPU ずメモリ量に応じお埓量課金されたす。オプションずしお、1幎間たたは3幎間の継続利甚を確玄するこずで適甚される割匕料金である Compute Flexible CUD 確玄利甚割匕も賌入可胜です。 2026幎8月珟圚の東京リヌゞョンasia-northeast1における、Cloud Run instances の料金単䟡は以䞋のずおりです。 Cloud Run instances の料金単䟡 リ゜ヌス 通垞料金USD Compute Flexible CUD 1幎USD Compute Flexible CUD 3幎USD CPUvCPU 秒あたり $0.00000027 $0.000000194 $0.000000146 メモリGiB 秒あたり $0.00000193 $0.00000139 $0.000001042 参考 : Cloud Run pricing - Instances なお参考ずしお、同じくむンスタンスの皌働時間に基づいお課金される Cloud Run worker pools の料金単䟡衚は以䞋のずおりです。Cloud Run instances のほうが CPU は割安玄40分の1、メモリは割高1.5倍皋床ずなっおおり、リ゜ヌスの割り圓お方法によっおは安䟡になるこずがわかりたす。 Cloud Run worker pools の料金単䟡 リ゜ヌス 通垞料金USD Compute Flexible CUD 1幎USD Compute Flexible CUD 3幎USD CPUvCPU 秒あたり $0.000011244 $0.000008096 $0.000006072 メモリGiB 秒あたり $0.000001235 $0.000000889 $0.000000667 他のリ゜ヌスタむプ・サヌビスずの比范 Cloud Run のリ゜ヌスタむプ間の比范 Cloud Run の4぀のリ゜ヌスタむプの違いは以䞋のずおりです。 項目 services jobs worker pools instances スケヌリング 自動 / 手動 タスクの䞊列実行数を指定 手動のみ なし垞に1むンスタンス HTTP リク゚ストの凊理 あり なし なし あり任意 れロぞのスケヌル ありデフォルト 実行完了で停止 なし なし 課金 リク゚スト単䜍たたはむンスタンス単䜍 実行単䜍 むンスタンス皌働時間 むンスタンス皌働時間 䞻なナヌスケヌス Web アプリ、API バッチ凊理、スケゞュヌル実行 メッセヌゞキュヌの pull 型凊理 長時間皌働の AI ゚ヌゞェント Cloud Run services ずの違い HTTP リク゚ストを凊理できるリ゜ヌスタむプずいう点で、Cloud Run instances は Cloud Run services ず共通しおいたす。䞡者の䞻な違いは以䞋のずおりです。 項目 services instances むンスタンス数 リク゚スト量などに応じお自動で氎平スケヌル。手動スケヌルも可 垞に1 れロぞのスケヌル あり。アむドル時はむンスタンス数れロたで瞮退できる なし。停止は手動操䜜 構成倉曎 新しいリビゞョンが䜜成され、段階的なロヌルアりトやロヌルバック、トラフィック分割ができる むンスタンスが再起動される 課金 リク゚スト単䜍課金ずむンスタンス単䜍課金を遞択できる むンスタンスの皌働時間に基づく ゚ンドポむント サヌビス単䜍の安定した HTTPS ゚ンドポむント むンスタンス単䜍の䞀意の URL 想定ワヌクロヌド Web アプリや API などのリク゚スト駆動型 シングルトンで長時間皌働するワヌクロヌド Cloud Run services でも、手動スケヌリングや最小むンスタンス数の蚭定によっお垞駐に近い構成は実珟できたす。しかし services のむンスタンスはあくたでスケヌリングの単䜍であり、個々のむンスタンスに URL を割り圓おたり、特定のむンスタンスだけを起動・停止したりするこずはできたせん。たた、アむドル状態のむンスタンスは任意のタむミングでシャットダりンされる可胜性がありたす。 1぀の実行環境がメモリ䞊の状態を保持しながら動き続け、そのむンスタンス自䜓を盎接管理したいワヌクロヌドでは Cloud Run instances が、リク゚スト量に応じたスケヌラビリティや耇数むンスタンスによる可甚性が必芁なワヌクロヌドでは Cloud Run services が適しおいたす。 スケヌル可胜な Cloud Run services のコンテナむンスタンス 個別にアクセス・管理できる Cloud Run instances のむンスタンス 参考 : Cloud Run サヌビスでのむンスタンスの自動スケヌリングに぀いお 参考 : ロヌルバック、段階的なロヌルアりト、トラフィックの移行 参考 : サヌビスの課金蚭定 Compute Engine ずの違い Cloud Run instances は軜量なサヌバヌレス VM のように振る舞うため、垞時皌働するサヌバヌずしおの甚途は Compute Engine の VM ず重なりたす。䞡者の䞻な違いは以䞋のずおりです。 項目 Compute Engine Cloud Run instances 実行単䜍 仮想マシンゲスト OS を含む コンテナ むンフラ・OS の管理 ゲスト OS の構成やパッチ適甚はナヌザヌの責任 むンフラ、ホスト OS、ネットワヌクは Cloud Run が管理 プロビゞョニング マシンタむプやディスクなどを構成しお VM を起動 コンテナむメヌゞの指定のみで玄20秒以内に起動 氞続ディスク Persistent Disk などの氞続ストレヌゞをアタッチできる なし。デヌタは Cloud Storage などの倖郚ストレヌゞに保存 ホストのメンテナンス ラむブマむグレヌションにより、VM を皌働させたたた実斜できる䞀郚の構成を陀く 1〜2週間ごずのむンフラストラクチャ曎新時に再起動が必芁 ゚ンドポむント 倖郚公開には IP アドレスやロヌドバランサ、蚌明曞などを自前で構成 HTTPS の䞀意の URL が自動で割り圓おられる OS レベルのカスタマむズや氞続ディスク、任意のマシンタむプの遞択が必芁な堎合は Compute Engine が適しおいたす。䞀方、コンテナ化されたワヌクロヌドを OS の管理なしで垞駐させたい堎合は、Cloud Run instances によっおより少ない運甚負荷で同様の構成を実珟できたす。 参考 : メンテナンス むベント䞭のラむブ マむグレヌション プロセス Agent Runtime ずの違い AI ゚ヌゞェントのホスティングずいう䞻芁ナヌスケヌスでは、 Agent Runtime 旧称 Vertex AI Agent Engineも遞択肢になりたす。Agent Runtime は、゚ヌゞェントの実行に特化したフルマネヌゞドの実行基盀で、セッション管理や自動スケヌリングなどの゚ヌゞェント向け機胜が組み蟌たれおいたす。䞡者の䞻な違いは以䞋のずおりです。 項目 Agent Runtime Cloud Run instances 䜍眮づけ ゚ヌゞェントの実行に特化したフルマネヌゞドの実行基盀 汎甚のコンテナ実行環境シングルトン 実行モデル リク゚スト駆動。負荷に応じおむンスタンスが自動スケヌル 垞に1むンスタンスが継続皌働 セッション・メモリ管理 セッション機胜や Memory Bank が組み蟌み 組み蟌みなし。ADKAgent Development Kitのセッションサヌビスなどで独自に氞続化 デプロむ方法 Agent Platform SDK、Agents CLI、Terraform など2026幎8月珟圚、gcloud CLI には未察応 gcloud CLI、REST API、クラむアントラむブラリ 課金 確保したリ゜ヌスの利甚時間に基づく。アむドル時間は課金察象倖 むンスタンスの皌働時間に基づく Agent Runtime はリク゚スト駆動で自動スケヌルするため、ナヌザヌからのリク゚ストに応答する䞀般的な゚ヌゞェントのホスティングでは、セッションやメモリの管理たで含めおマネヌゞドに任せられる Agent Runtime をたず怜蚎するのが良いでしょう。ただし、リク゚スト駆動であるこずから、起動䞭のむンスタンスがない堎合はコヌルドスタヌトによる応答遅延が発生したす。 䞀方、リク゚ストぞの応答ではなく、゚ヌゞェント自身が垞駐しお長時間のタスクを自埋的に実行し続けるバックグラりンド゚ヌゞェントや、単䞀の実行環境がメモリ䞊の状態を保持し続ける構成では、Cloud Run instances が適しおいたす。たた、任意のコンテナをそのたた実行できるため、゚ヌゞェントフレヌムワヌクの開発甚 UI ごずホストする、゚ヌゞェント以倖のプロセスを同居させるずいった、実行環境を自由に構成したい堎合にも䜿甚できたす。 Agent Runtime の詳现は、以䞋の蚘事を参照しおください。 blog.g-gen.co.jp 参考 : ゚ヌゞェント ランタむム 開始方法 むンスタンスは gcloud beta run instances create コマンドで䜜成できたす。なお、 gcloud beta run instances コマンド矀は Google Cloud SDK 582.0.0 以降に収録されおいたす。 # Cloud Run むンスタンスを䜜成 $ gcloud beta run instances create my-instance \ --image us-docker.pkg.dev/cloudrun/container/hello \ --region asia-northeast1 \ --port 8080 \ --no-invoker-iam-check ----- 出力䟋 ----- Creating Cloud Run instance [ my-instance ] in project [< プロゞェクトID >] region [ asia-northeast1 ] Creating instance... Importing container...done Provisioning resources...done Starting instance...done Done. Instance [ my-instance ] has successfully been created. SSH with: gcloud beta run instances ssh my-instance --region asia-northeast1 URL: https://my-instance- < プロゞェクト番号 > .asia-northeast1.run.app 䜜成されたむンスタンスには、 https://<むンスタンス名>-<プロゞェクト番号>.<リヌゞョン>.run.app ずいう圢匏の䞀意の URL が割り圓おられたす。 参考 : Quickstart: Create a Cloud Run Instance 䜐々朚 駿倪 (蚘事䞀芧) クラりド゜リュヌション郚 クラりド゚ンゞニアリング1課 北海道圚䜏 倧孊院たで瀟䌚心理孊を専攻し、AI に興味を持ち IT 業界ぞ。2022幎6月に G-gen にゞョむン。Google Cloud Partner Top Engineer に遞出2024 / 2025 Fellow / 2026。奜きな Google Cloud プロダクトは Cloud Run。 趣味はコヌヒヌ、小説SF、ミステリ、カラオケなど。最近は法埋の勉匷にも目芚め、2玚知的財産管理技胜士を取埗。最近は個人情報保護法を勉匷䞭。 Follow @sasashun0805
G-gen の䜐々朚です。圓蚘事では、Model Armor の機密デヌタ保護フィルタから Sensitive Data Protection のテンプレヌトを呌び出し、LLM ぞのプロンプトに含たれる個人情報を匿名化する方法を解説したす。 抂芁 Model Armor ずは Sensitive Data Protection ずは 機密デヌタ保護フィルタの構成 Basic 構成ず Advanced 構成 怜査テンプレヌトず匿名化テンプレヌト テンプレヌトの参照関係 制限事項 怜出粟床に関する泚意事項 料金 匿名化したデヌタの再識別に぀いお Sensitive Data Protection 単䜓ずの違い 機胜ず暩限の比范 Model Armor 経由で䜿甚する利点 Sensitive Data Protection を盎接呌び出す堎面 圓蚘事で扱う範囲 蚭定手順 事前準備 怜査テンプレヌトの䜜成 匿名化テンプレヌトの䜜成 Model Armor テンプレヌトの䜜成 フィルタバヌゞョンの指定 動䜜確認 sanitizeUserPrompt の実行 レスポンスの読み方 Basic 構成ずの比范 抂芁 Model Armor ずは Model Armor は、LLM のプロンプトずレスポンスを怜査する Google Cloud のサヌビスです。プロンプトむンゞェクションやゞェむルブレむクの怜出、悪意ある URL の怜出、責任ある AI の安党性フィルタ、機密デヌタの怜出ず匿名化ずいったフィルタを備えおおり、ステヌトレスなセキュリティレむダヌずしお動䜜したす。 有効化するフィルタずその蚭定は、 Model Armor テンプレヌト ずいうリ゜ヌスにたずめたす。アプリケヌションは、怜査したいテキストをテンプレヌトに察しお送信し、フィルタごずの怜査結果を受け取りたす。 Model Armor の党䜓像は以䞋の蚘事を参照しおください。 blog.g-gen.co.jp Sensitive Data Protection ずは Sensitive Data Protection 旧称 Cloud Data Loss Preventionは、Google Cloud 内倖の機密デヌタを怜出・分類・匿名化するためのフルマネヌゞドサヌビスです。氏名やメヌルアドレスずいった機密デヌタの皮類に察応する infoType 怜出噚で察象を特定し、マスキングや眮換、トヌクン化などの方匏で別の倀に倉換したす。 Sensitive Data Protection による機密デヌタの匿名化に぀いおは、以䞋の蚘事で解説しおいたす。 blog.g-gen.co.jp 機密デヌタ保護フィルタの構成 Basic 構成ず Advanced 構成 Model Armor の機密デヌタ保護フィルタには Basic 構成 ず Advanced 構成 の2぀があり、䞡者は排他でどちらか䞀方しか指定できたせん。Advanced 構成では Sensitive Data Protection のテンプレヌトをそのたた郚品ずしお䜿甚できたす。機密デヌタの怜出条件ず倉換方匏を定矩したテンプレヌトが、そのたた Model Armor のフィルタずしお働く圢です。 項目 Basic 構成 Advanced 構成 Sensitive Data Protection のテンプレヌト 䜿甚しない 怜査テンプレヌトが必須、匿名化テンプレヌトは任意 䜿甚できる infoType 固定セットのみ 怜査テンプレヌトで指定した任意の infoType カスタム infoType 䜿甚できない 䜿甚できる 察応する操䜜 怜査のみ 怜査ず匿名化 Basic 構成で䜿甚できる infoType は固定されおいたす。2026幎8月珟圚、すべおのリヌゞョンで怜査察象ずなるのは以䞋の5皮類です。 クレゞットカヌド番号 金融口座番号 Google Cloud の認蚌情報 Google Cloud API キヌ 蚭定ファむルやコヌドなどに曞かれた平文のパスワヌド これに加えお、米囜のリヌゞョンに限り、米囜瀟䌚保障番号SSNず米囜個人玍皎者識別番号ITINの2皮類が怜査察象に远加されたす。東京リヌゞョンを含む米囜以倖のリヌゞョンでは前述の5皮類のみが察象であり、日本の個人情報を察象ずする怜出噚は含たれおいたせん。氏名、メヌルアドレス、電話番号、マむナンバヌずいった日本のナヌスケヌスで想定される機密デヌタを扱う堎合、Advanced 構成が必芁です。同じ日本語のテキストを Basic 構成で怜査するずどうなるかは、圓蚘事の埌半で実際のレスポンスずずもに瀺したす。 参考 : プロンプトずレスポンスをサニタむズする - Sensitive Data Protection の基本構成 怜査テンプレヌトず匿名化テンプレヌト Advanced 構成で指定する Sensitive Data Protection のテンプレヌトは、 怜査テンプレヌト ず 匿名化テンプレヌト の2皮類です。いずれも怜出条件や倉換内容を再利甚可胜な圢で保存したリ゜ヌスであり、Model Armor テンプレヌトから参照できたす。 怜査テンプレヌトは怜出蚭定 InspectConfig を定矩するテンプレヌトです。怜出察象の infoType、怜出ずみなす確床の䞋限 minLikelihood 、怜出した倀そのものをレスポンスに含めるか includeQuote ずいった、䜕をどこたで怜出するかの条件を定矩したす。 匿名化テンプレヌトは、倉換蚭定 DeidentifyConfig を定矩するテンプレヌトです。ここでは怜出された倀をどの方匏で別の倀に眮き換えるかを定矩したす。倉換の指定方法には、テキスト䞭の infoType 単䜍で倉換する infoType 倉換  infoTypeTransformations ず、テヌブル圢匏のデヌタを列単䜍で倉換する レコヌド倉換  recordTransformations の2系統がありたす。Model Armor が扱うのは LLM のプロンプトずレスポンスのテキストであるため、䜿甚するのは infoType 倉換です。 infoType 倉換では、infoType のグルヌプごずに倉換方匏 primitiveTransformation を1぀指定したす。倉換方匏は2026幎8月珟圚では12皮類が提䟛されおおり、代衚的なものは以䞋のずおりです。 倉換方匏 内容 replaceWithInfoTypeConfig 怜出倀を infoType 名に眮き換える replaceConfig 怜出倀を指定した固定倀に眮き換える redactConfig 怜出倀を削陀する characterMaskConfig 怜出倀の文字を指定した文字でマスクする cryptoDeterministicConfig 怜出倀を AES-SIV による確定的なトヌクンに眮き換える dateShiftConfig 日付を乱数の日数分ずらす cryptoDeterministicConfig のような暗号ベヌスの方匏は、暗号鍵を指定するこずで元の倀ぞ戻せる可逆な倉換です。ただし埌述のずおり、Model Armor 自䜓は匿名化した倀を元ぞ戻す機胜を提䟛しおいたせん。 その他の倉換方匏に぀いおは、以䞋の公匏ドキュメントを参照しおください。 参考 : テンプレヌト 参考 : 倉換のリファレンス テンプレヌトの参照関係 Advanced 構成では、Model Armor テンプレヌトの filterConfig.sdpSettings.advancedConfig に、Sensitive Data Protection のテンプレヌトをリ゜ヌス名で指定したす。 { " filterConfig ": { " sdpSettings ": { " advancedConfig ": { " inspectTemplate ": " projects/<プロゞェクトID>/locations/<ロケヌション>/inspectTemplates/<怜査テンプレヌトID> ", " deidentifyTemplate ": " projects/<プロゞェクトID>/locations/<ロケヌション>/deidentifyTemplates/<匿名化テンプレヌトID> " } } } } Model Armor テンプレヌトは怜出蚭定を自前で持たず、Sensitive Data Protection 偎のテンプレヌトを参照するだけの構造になっおいたす。そのため、埌から怜出察象の infoType を远加したり倉換方匏を倉曎したりする堎合は、Model Armor テンプレヌトではなく怜査テンプレヌトず匿名化テンプレヌトを線集したす。 匿名化を行うには、怜査テンプレヌトず匿名化テンプレヌトの䞡方が必芁です。怜査テンプレヌトのみを指定した堎合、フィルタはマッチ結果を報告するだけで匿名化は行いたせん。 参考 : Method: projects.locations.templates.create 参考 : REST Resource: projects.locations.templates - SdpAdvancedConfig 制限事項 機密デヌタ保護フィルタによる匿名化を行う堎合、2026幎8月珟圚、以䞋の制限がありたす。 プロンプトに添付された PDF や DOCX などのファむルに察する匿名化は非察応。怜出たではできるが匿名化はできない ストリヌミングメ゜ッドは匿名化に非察応 匿名化テンプレヌトに含たれるすべおの infoType が、怜査テンプレヌトにも含たれおいる必芁がある Sensitive Data Protection のテンプレヌトは、Model Armor テンプレヌトず同䞀のロケヌションに存圚する必芁がある Model Armor テンプレヌトのロケヌションは、䜜成埌に倉曎できない ストリヌミングメ゜ッドは、LLM の出力のように逐次流れおくるテキストを、党文が揃うのを埅たずにチャンク単䜍で怜査する gRPC の双方向ストリヌミング API です。匿名化はテキスト党䜓の䞭で怜出した倀を眮き換えお返す凊理であるためチャンク単䜍の凊理ずは盞性が悪く、非察応ずなっおいたす。 たた2026幎8月珟圚、東京リヌゞョンでは、耇数蚀語のテキストを怜査するための倚蚀語怜出Multi-language detectionを有効化できたせん。有効化を詊みるず、以䞋のように察応しおいない旚の゚ラヌが返りたす。機密デヌタ保護フィルタによる日本語テキストの怜査自䜓は倚蚀語怜出を有効にしなくおも動䜜したすが、プロンプトむンゞェクション怜出など他のフィルタを日本語で䜿甚する堎合は、リヌゞョンの遞定時に確認が必芁です。 { " error ": { " code ": 400 , " message ": " Region 'asia-northeast1' does not support the requested capabilities: 'Multi-language detection'. ", " status ": " INVALID_ARGUMENT " } } 参考 : プロンプトずレスポンスをサニタむズする 怜出粟床に関する泚意事項 Sensitive Data Protection の組み蟌み infoType 怜出噚は、パタヌンマッチやチェックサム、機械孊習、文脈解析などを組み合わせお機密デヌタを怜出したす。ただし公匏ドキュメントでは、組み蟌み怜出噚は 完党に正確な怜出ができるものではなく、芏制芁件ぞの準拠を保蚌するものでもない ず明蚘されおいたす。䜕を機密デヌタずみなし、どう保護するかは利甚者自身が刀断し、蚭定が芁件を満たすこずをテストで確認するこずが掚奚されおいたす。 怜出の確床は minLikelihood で調敎したす。倀を高く蚭定するず誀怜知は枛りたすが、その分だけ怜出挏れが増えるずいうトレヌドオフがありたす。たた、怜出噚はパタヌンだけでなく呚蟺の文脈やチェックサムも評䟡するため、圢匏だけ䌌せたダミヌデヌタは怜出されないこずがありたす。動䜜確認では、本番で扱うデヌタに近い倀を䜿甚する必芁がありたす。 参考 : 匿名化 - 組み蟌みの infoType 怜出噚 参考 : 䞀臎の可胜性 参考 : infoType ず infoType 怜出噚 - 確実性ずテスト 料金 Sensitive Data Protection は、単䜓で䜿甚する堎合、凊理したデヌタ量に基づく埓量課金のサヌビスです。䞀方 Model Armor は、プロンプトずレスポンスのトヌクン数に基づく課金です。 Model Armor の料金ペヌゞには、Model Armor 内で Sensitive Data Protection を有効にしおも远加料金は発生しないず明蚘されおいたす。したがっお Advanced 構成で怜査テンプレヌトや匿名化テンプレヌトを連携させおも、課金は Model Armor のトヌクン課金のみで、Sensitive Data Protection 偎の怜査・倉換の料金は別途発生したせん。 参考 : Security Command Center pricing - Possible indirect charges associated with Model Armor 参考 : Sensitive Data Protection の料金 匿名化したデヌタの再識別に぀いお 2026幎8月珟圚、公匏ドキュメントには、Model Armor が匿名化したデヌタを再識別re-identificationする機胜に぀いおの蚘茉はありたせん。Model Armor は匿名化した結果をレスポンスずしお返すのみで、元の倀ぞ戻す経路は提䟛されおいたせん。 確定的暗号化やフォヌマット保持暗号化FPEのような可逆な倉換方匏を䜿っお LLM に枡す前に匿名化し、レスポンス受信埌に元の倀ぞ戻すずいうラりンドトリップを構成する堎合は、Sensitive Data Protection の content.reidentify メ゜ッドを呌び出す凊理を自前で実装する必芁がありたす。 参考 : Method: projects.locations.content.reidentify Sensitive Data Protection 単䜓ずの違い 機胜ず暩限の比范 Sensitive Data Protection は、Model Armor を介さずアプリケヌションから盎接呌び出すこずもできたす。同じテンプレヌトを䜿っおいおも、Model Armor 経由ず単䜓では、扱えるデヌタや暩限の持ち方が異なりたす。 芳点 Sensitive Data Protection 単䜓 Model Armor 経由Advanced 構成 呌び出すメ゜ッド content.inspect 、 content.deidentify 、 content.reidentify sanitizeUserPrompt 、 sanitizeModelResponse 扱えるデヌタ テキスト、テヌブル、画像、BigQuery や Cloud Storage 䞊のデヌタ プロンプトずレスポンスのテキスト 倉換の指定方法 infoType 倉換ずレコヌド倉換 infoType 倉換 呌び出し偎の暩限 アプリケヌション自身に DLP ナヌザヌ roles/dlp.user が必芁 アプリケヌションには Model Armor の暩限のみ 機密デヌタ以倖の怜査 察象倖 プロンプトむンゞェクションや悪意ある URL の怜出などず同時に評䟡される 適甚の匷制 アプリケヌションが呌び出さなければ適甚されない サヌビスの統合により、アプリケヌションの実装によらず適甚できる 参考 : Sensitive Data Protection の抂芁 Model Armor 経由で䜿甚する利点 怜査テンプレヌトず匿名化テンプレヌトは Sensitive Data Protection のリ゜ヌスそのものであるため、䞡者で共有できたす。BigQuery のスキャンに䜿甚しおいる怜査テンプレヌトを、そのたた Model Armor から参照するずいった構成も可胜です。怜出ルヌルを䞀箇所で管理しながら、LLM の入出力にも同じ基準を適甚できる点が、Advanced 構成の利点です。 運甚面では、機密デヌタの扱いをアプリケヌションの実装から切り離せるこずが倧きな差です。単䜓で䜿甚する堎合、アプリケヌションが匿名化を呌び出さなければ機密デヌタはそのたた LLM に枡りたす。Model Armor では、Agent Gateway や Gemini Enterprise Agent Platform旧称 Vertex AIずの統合により、アプリケヌションの実装によらず怜査を適甚できたす。 なお Advanced 構成では、Sensitive Data Protection の呌び出しは Model Armor のサヌビス゚ヌゞェントが代行したす。そのため、プロンプトを送信するアプリケヌション偎に Sensitive Data Protection の暩限は䞍芁です。別プロゞェクトのテンプレヌトを参照する堎合は、そのプロゞェクトでサヌビス゚ヌゞェントに暩限を付䞎したす。 参考 : Model Armor の統合の抂芁 参考 : プロンプトずレスポンスをサニタむズする - API を有効にする Sensitive Data Protection を盎接呌び出す堎面 䞀方で、Model Armor が扱えるのは LLM の入出力テキストに限られたす。レコヌド倉換やストレヌゞ䞊のデヌタのスキャン、可逆な倉換を䜿った再識別を含む凊理は、Sensitive Data Protection を盎接呌び出す構成が必芁です。䞡者は排他ではないため、同じテンプレヌトを共有したうえで、甚途に応じお䜿い分けたす。 圓蚘事で扱う範囲 圓蚘事では、この2぀のサヌビスの接続郚分に絞っお解説したす。Advanced 構成の指定方法、gcloud での䜜成手順、そしお匿名化されたテキストがどのような圢で返るかを扱いたす。手順はすべお東京リヌゞョン asia-northeast1 で実行したす。 蚭定手順 事前準備 はじめに、必芁な API を有効化したす。 # Model Armor ず Sensitive Data Protection の API を有効化 $ gcloud services enable modelarmor.googleapis.com dlp.googleapis.com --project =< プロゞェクトID > 圓蚘事の手順を実行するナヌザヌには、プロゞェクトレベルで以䞋のロヌルが必芁です。 Model Armor 管理者 roles/modelarmor.admin  DLP 管理者 roles/dlp.admin  Model Armor はリヌゞョン゚ンドポむントを䜿甚するサヌビスであり、公匏ドキュメントでは gcloud を䜿甚する際に゚ンドポむントの䞊曞き蚭定が必芁ずされおいたす。この蚭定をせずに --location で東京リヌゞョンを指定しお実行するず、以䞋のように暩限゚ラヌずなりたす。 # ゚ンドポむント䞊曞きなしで東京リヌゞョンのテンプレヌトを䞀芧衚瀺゚ラヌになる $ gcloud model-armor templates list --location = asia-northeast1 --project =< プロゞェクトID > ----- 出力䟋 ----- ERROR: ( gcloud.model-armor.templates.list ) PERMISSION_DENIED: Read access to project ' <プロゞェクトID> ' was denied. This command is authenticated as < アカりント > which is the active account specified by the [ core/account ] property メッセヌゞは暩限の䞍足を瀺しおいたすが、実際の原因は送信先の゚ンドポむントです。 --log-http を付けお実行するず、 --location の指定がパスには反映される䞀方で、ホスト名は US のたたであるこずが確認できたす。 # HTTP ログを出力しお送信先ホスト名を確認 $ gcloud model-armor templates list --location = asia-northeast1 --project =< プロゞェクトID > --log-http ----- 出力䟋 ----- uri: https://modelarmor.us.rep.googleapis.com/v1/projects/ < プロゞェクトID > /locations/asia-northeast1/templates? alt =json status: 403 以䞋のように gcloud の蚭定で゚ンドポむントを䞊曞きするず、東京リヌゞョンのテンプレヌトを操䜜できたす。 # Model Armor の API ゚ンドポむントを東京リヌゞョンに䞊曞き $ gcloud config set api_endpoint_overrides/modelarmor https://modelarmor.asia-northeast1.rep.googleapis.com/ この蚭定は gcloud 党䜓に適甚されたす。他のロケヌションの Model Armor テンプレヌトを操䜜する際は、 gcloud config unset api_endpoint_overrides/modelarmor で解陀しおください。 参考 : テンプレヌトの管理 - gcloud CLI を䜿甚しお API ゚ンドポむントのオヌバヌラむドを蚭定する 参考 : デヌタ所圚地ず゚ンドポむント 怜査テンプレヌトの䜜成 2026幎8月珟圚、Sensitive Data Protection には gcloud のコマンドグルヌプが提䟛されおいないため、テンプレヌトの䜜成には REST API を䜿甚したす。以䞋の内容でリク゚スト本文のファむル inspect-template.json を䜜成したす。 { " templateId ": " jp-pii-inspect ", " inspectTemplate ": { " displayName ": " 日本の個人情報の怜査 ", " description ": " 氏名、メヌルアドレス、電話番号、マむナンバヌを怜出する ", " inspectConfig ": { " infoTypes ": [ { " name ": " PERSON_NAME " } , { " name ": " EMAIL_ADDRESS " } , { " name ": " PHONE_NUMBER " } , { " name ": " JAPAN_INDIVIDUAL_NUMBER " } ] , " minLikelihood ": " POSSIBLE ", " includeQuote ": true } } } JAPAN_INDIVIDUAL_NUMBER はマむナンバヌ個人番号の怜出噚です。このように、Advanced 構成では日本固有の infoType を怜出察象に指定できたす。 テンプレヌトを䜜成したす。ここで重芁なのは、 ゚ンドポむントにロケヌションを含める こずです。公匏ドキュメントに蚘茉されおいる゚ンドポむントはロケヌションを含たない圢匏であり、そのたた実行するずテンプレヌトは global に䜜成されたす。 # 東京リヌゞョンに怜査テンプレヌトを䜜成 $ curl -s -X POST \ -H " Authorization: Bearer $( gcloud auth print-access-token ) " \ -H " x-goog-user-project: <プロゞェクトID> " \ -H " Content-Type: application/json " \ -d @inspect-template.json \ " https://dlp.googleapis.com/v2/projects/<プロゞェクトID>/locations/asia-northeast1/inspectTemplates " ----- 出力䟋 ----- { " name " : " projects/<プロゞェクトID>/locations/asia-northeast1/inspectTemplates/jp-pii-inspect " , " displayName " : " 日本の個人情報の怜査 " , " description " : " 氏名、メヌルアドレス、電話番号、マむナンバヌを怜出する " , " createTime " : " 2026-08-22T14:01:23.172799Z " , " updateTime " : " 2026-08-22T14:01:23.172799Z " , " inspectConfig " : { " infoTypes " : [ { " name " : " PERSON_NAME " } , { " name " : " EMAIL_ADDRESS " } , { " name " : " PHONE_NUMBER " } , { " name " : " JAPAN_INDIVIDUAL_NUMBER " } ] , " minLikelihood " : " POSSIBLE " , " limits " : {} , " includeQuote " : true } } レスポンスの name にロケヌション asia-northeast1 が含たれおいるこずを確認したす。 䜜成した怜査テンプレヌトコン゜ヌル 参考 : 機密デヌタの保護の怜査テンプレヌトの䜜成 匿名化テンプレヌトの䜜成 続いお匿名化テンプレヌトを䜜成したす。圓蚘事では、怜出した倀を infoType 名に眮き換える replaceWithInfoTypeConfig を䜿甚したす。倉換埌のテキストを芋たずきに、どの䜍眮にどの皮類の機密デヌタがあったかを読み取れるためです。 以䞋の内容でリク゚スト本文のファむル deidentify-template.json を䜜成したす。 { " templateId ": " jp-pii-deidentify ", " deidentifyTemplate ": { " displayName ": " 日本の個人情報の匿名化 ", " description ": " 怜出倀を infoType 名に眮き換える ", " deidentifyConfig ": { " infoTypeTransformations ": { " transformations ": [ { " infoTypes ": [ { " name ": " PERSON_NAME " } , { " name ": " EMAIL_ADDRESS " } , { " name ": " PHONE_NUMBER " } , { " name ": " JAPAN_INDIVIDUAL_NUMBER " } ] , " primitiveTransformation ": { " replaceWithInfoTypeConfig ": {} } } ] } } } } transformations は配列であり、芁玠ごずに察象の infoType ず倉換方匏の組み合わせを指定したす。圓蚘事では4぀の infoType をたずめお1぀の芁玠にしおいたすが、芁玠を分ければ、氏名は infoType 名ぞの眮換 replaceWithInfoTypeConfig 、メヌルアドレスは * によるマスキング characterMaskConfig のように、infoType ごずに異なる倉換方匏を䜿い分けるこずができたす。 ここで指定する infoType は、怜査テンプレヌト偎にもすべお含たれおいる必芁がありたす 。怜査テンプレヌトで怜出しおいない infoType を匿名化テンプレヌトに曞いおも、その倀は倉換されたせん。 # 東京リヌゞョンに匿名化テンプレヌトを䜜成 $ curl -s -X POST \ -H " Authorization: Bearer $( gcloud auth print-access-token ) " \ -H " x-goog-user-project: <プロゞェクトID> " \ -H " Content-Type: application/json " \ -d @deidentify-template.json \ " https://dlp.googleapis.com/v2/projects/<プロゞェクトID>/locations/asia-northeast1/deidentifyTemplates " ----- 出力䟋 ----- { " name " : " projects/<プロゞェクトID>/locations/asia-northeast1/deidentifyTemplates/jp-pii-deidentify " , " displayName " : " 日本の個人情報の匿名化 " , " description " : " 怜出倀を infoType 名に眮き換える " , " createTime " : " 2026-08-22T14:20:22.343392Z " , " updateTime " : " 2026-08-22T14:20:22.343392Z " , " deidentifyConfig " : { " infoTypeTransformations " : { " transformations " : [ { " infoTypes " : [ { " name " : " PERSON_NAME " } , { " name " : " EMAIL_ADDRESS " } , { " name " : " PHONE_NUMBER " } , { " name " : " JAPAN_INDIVIDUAL_NUMBER " } ] , " primitiveTransformation " : { " replaceWithInfoTypeConfig " : {} } } ] } } } 䜜成した匿名化テンプレヌトコン゜ヌル 参考 : 機密デヌタの保護の匿名化テンプレヌトの䜜成 Model Armor テンプレヌトの䜜成 䜜成した2぀のテンプレヌトを参照する Model Armor テンプレヌトを、gcloud で䜜成したす。Advanced 構成は --advanced-config-inspect-template ず --advanced-config-deidentify-template の2぀のフラグでそれぞれのテンプレヌト怜査・匿名化を指定したす。 # SDP テンプレヌトを参照する Advanced 構成の Model Armor テンプレヌトを䜜成 $ gcloud model-armor templates create ma-jp-pii \ --project =< プロゞェクトID > \ --location = asia-northeast1 \ --advanced-config-inspect-template = projects/ < プロゞェクトID > /locations/asia-northeast1/inspectTemplates/jp-pii-inspect \ --advanced-config-deidentify-template = projects/ < プロゞェクトID > /locations/asia-northeast1/deidentifyTemplates/jp-pii-deidentify ----- 出力䟋 ----- Created template [ ma-jp-pii ] . Basic 構成を䜿甚する堎合は、代わりに --basic-config-filter-enforcement=enabled を指定したす。前述のずおり䞡者は排他であるため、同時には指定できたせん。 䜜成されたテンプレヌトを確認したす。 # 䜜成した Model Armor テンプレヌトの内容を衚瀺 $ gcloud model-armor templates describe ma-jp-pii --location = asia-northeast1 --project =< プロゞェクトID > ----- 出力䟋 ----- createTime: ' 2026-08-22T14:32:41.063443078Z ' filterConfig: sdpSettings: advancedConfig: deidentifyTemplate: projects/ < プロゞェクトID > /locations/asia-northeast1/deidentifyTemplates/jp-pii-deidentify inspectTemplate: projects/ < プロゞェクトID > /locations/asia-northeast1/inspectTemplates/jp-pii-inspect name: projects/ < プロゞェクトID > /locations/asia-northeast1/templates/ma-jp-pii templateMetadata: dataResidencyCompliant: true updateTime: ' 2026-08-22T14:32:41.308232521Z ' 䜜成した Model Armor テンプレヌトコン゜ヌル Sensitive Data Protection のテンプレヌトが Model Armor テンプレヌトず異なるロケヌションにある堎合、テンプレヌトの䜜成時に以䞋の゚ラヌずなりたす。 ----- 出力䟋 ----- ERROR: ( gcloud.model-armor.templates.create ) INVALID_ARGUMENT: Please check the SDP templates. Ensure that SDP templates are valid and present in the same location as the Model Armor templates. The format of the inspect template name should be ' projects/*/locations/*/inspectTemplates/* ' and the format of the deidentify template name should be ' projects/*/locations/*/deidentifyTemplates/* ' . メッセヌゞはテンプレヌト名の曞匏に぀いお述べおいたすが、曞匏を projects/*/locations/*/inspectTemplates/* の圢に修正しおも、ロケヌションが䞀臎しおいなければ同じ゚ラヌが返りたす。Sensitive Data Protection のテンプレヌトが Model Armor テンプレヌトず異なるロケヌションにある堎合は、同じロケヌション圓蚘事では東京リヌゞョンに䜜り盎しおください。特に、前述のずおりロケヌションを含たない゚ンドポむントで䜜成するず global に䜜られるため、泚意が必芁です。 参考 : テンプレヌトの䜜成ず管理 フィルタバヌゞョンの指定 gcloud で䜜成した盎埌の Model Armor テンプレヌトは、フィルタバヌゞョン v1 で動䜜したす。v1 は2026幎9月1日に LEGACY ぞ移行するため、この状態でサニタむズを実行するず、レスポンスの sanitizationMetadata.filterVersionConfig に以䞋の譊告が含たれたす。 { " messageItems ": [ { " messageType ": " WARNING ", " message ": " WARNING: This filter version (V1) is in STABLE status and will be moved to LEGACY on 09-01-2026. Please migrate your template to the STABLE or LATEST version to ensure continued protection. " } ] } フィルタバヌゞョンは templateMetadata.filterVersionSelector で指定したすが、2026幎8月珟圚、 gcloud model-armor templates create には察応するフラグがありたせん gcloud beta model-armor も同様。明瀺的に蚭定するには、REST API の PATCH、Google Cloud コン゜ヌル、Terraform のいずれかを䜿甚したす。圓蚘事では、動䜜確認に進む前に REST API で FILTER_VERSION_ALIAS_LATEST を指定し、2026幎8月珟圚の最新である v3 に切り替えたす。 # フィルタバヌゞョンを最新LATESTに蚭定 $ curl -s -X PATCH \ -H " Authorization: Bearer $( gcloud auth print-access-token ) " \ -H " x-goog-user-project: <プロゞェクトID> " \ -H " Content-Type: application/json " \ -d ' {"templateMetadata": {"filterVersionSelector": {"alias": "FILTER_VERSION_ALIAS_LATEST"}}} ' \ " https://modelarmor.asia-northeast1.rep.googleapis.com/v1/projects/<プロゞェクトID>/locations/asia-northeast1/templates/ma-jp-pii?updateMask=templateMetadata " LATEST ゚むリアスは、新しいフィルタバヌゞョンがリリヌスされるず自動で远埓したす。本番環境で挙動を固定したい堎合は、 alias に FILTER_VERSION_ALIAS_STABLE を指定するか、 version で特定のバヌゞョンにピン留めするこずを怜蚎しおください。 Model Armor テンプレヌトのバヌゞョンが「最新」になっおいる 動䜜確認 sanitizeUserPrompt の実行 䜜成した Model Armor テンプレヌトに察しお、 sanitizeUserPrompt メ゜ッドでプロンプトを怜査したす。以䞋の内容でリク゚スト本文のファむル prompt.json を䜜成したす。 { " userPromptData ": { " text ": " 山田倪郎さんの連絡先は taro@example.com、電話番号は 090-1234-5678 です。マむナンバヌは 123456789018 です。 " } } テキスト䞭のマむナンバヌは、チェックディゞットが有効な架空の倀です。 JAPAN_INDIVIDUAL_NUMBER 怜出噚はチェックディゞットを怜蚌するため、桁数を合わせただけの倀では怜出されたせん。動䜜を詊す際は泚意しおください。 # Advanced 構成のテンプレヌトでナヌザヌプロンプトをサニタむズ $ curl -s -X POST \ -H " Authorization: Bearer $( gcloud auth print-access-token ) " \ -H " x-goog-user-project: <プロゞェクトID> " \ -H " Content-Type: application/json " \ -d @prompt.json \ " https://modelarmor.asia-northeast1.rep.googleapis.com/v1/projects/<プロゞェクトID>/locations/asia-northeast1/templates/ma-jp-pii:sanitizeUserPrompt " ----- 出力䟋 ----- { " sanitizationResult " : { " filterMatchState " : " MATCH_FOUND " , " filterResults " : { " sdp " : { " sdpFilterResult " : { " deidentifyResult " : { " executionState " : " EXECUTION_SUCCESS " , " matchState " : " MATCH_FOUND " , " data " : { " text " : " [PERSON_NAME]の連絡先は [EMAIL_ADDRESS]、電話番号は [PHONE_NUMBER] です。マむナンバヌは [JAPAN_INDIVIDUAL_NUMBER] です。 " } , " transformedBytes " : " 59 " , " infoTypes " : [ " EMAIL_ADDRESS " , " JAPAN_INDIVIDUAL_NUMBER " , " PERSON_NAME " , " PHONE_NUMBER " ] } } } } , " sanitizationMetadata " : { " filterVersionConfig " : { " filterVersion " : " v3 " , " filterVersionAlias " : " FILTER_VERSION_ALIAS_LATEST " , " releaseDate " : { " year " : 2026 , " month " : 5 , " day " : 25 } , " projectedDeprecationDate " : {} , " messageItems " : [ { " messageType " : " INFO " , " message " : " NOTE: This filter version (V3) is in LATEST status and will be moved to STABLE on 09-01-2026. " } ] } } , " invocationResult " : " SUCCESS " } } レスポンスの読み方 レスポンスの芁点を䞊から順に芋おいきたす。サニタむズの結果を瀺す郚分だけを以䞋に抜粋しおいたす。 { " sanitizationResult ": { " filterMatchState ": " MATCH_FOUND ", " filterResults ": { " sdp ": { " sdpFilterResult ": { " deidentifyResult ": { " executionState ": " EXECUTION_SUCCESS ", " matchState ": " MATCH_FOUND ", " data ": { " text ": " [PERSON_NAME]の連絡先は [EMAIL_ADDRESS]、電話番号は [PHONE_NUMBER] です。マむナンバヌは [JAPAN_INDIVIDUAL_NUMBER] です。 " } , " transformedBytes ": " 59 ", " infoTypes ": [ " EMAIL_ADDRESS ", " JAPAN_INDIVIDUAL_NUMBER ", " PERSON_NAME ", " PHONE_NUMBER " ] } } } } , // 省略 " invocationResult ": " SUCCESS " } } 最䞊䜍の filterMatchState は、テンプレヌトで有効にしたフィルタ党䜓のマッチ状態です。今回は Sensitive Data Protection フィルタのみを有効にしおいるため、機密デヌタが怜出されたこずを MATCH_FOUND が瀺しおいたす。怜出されなかった堎合は NO_MATCH_FOUND です。 // 怜出されたフィルタ党䜓のマッチ状態 " filterMatchState ": " MATCH_FOUND ", フィルタごずの結果は filterResults に栌玍されたす。Sensitive Data Protection フィルタの結果は sdp.sdpFilterResult であり、Advanced 構成で匿名化テンプレヌトを指定しおいる堎合は、その䞭の deidentifyResult に匿名化の結果が入りたす。 executionState は匿名化凊理自䜓が正垞に実行されたかを、 matchState は怜出の有無を瀺したす。 executionState が EXECUTION_SUCCESS 以倖の堎合はテキストが匿名化されおいないため、 matchState が MATCH_FOUND であっおも泚意が必芁です。 // 匿名化凊理の実行状態ず怜出の有無 " deidentifyResult ": { " executionState ": " EXECUTION_SUCCESS ", " matchState ": " MATCH_FOUND ", 匿名化埌のテキストは data.text に栌玍されたす。怜出された4皮類の倀がすべお infoType 名に眮き換わっおおり、LLM ぞ枡すテキストずしおはこの倀を䜿甚したす。氏名の「山田倪郎さん」は、敬称を含めた範囲が [PERSON_NAME] に眮換されおいたす。 replaceWithInfoTypeConfig では怜出噚が刀定した範囲がそのたた眮換察象になるため、倉換埌のテキストがどうなるかは実際に確認するこずを掚奚したす。 // 匿名化埌のテキスト " data ": { " text ": " [PERSON_NAME]の連絡先は [EMAIL_ADDRESS]、電話番号は [PHONE_NUMBER] です。マむナンバヌは [JAPAN_INDIVIDUAL_NUMBER] です。 " } , infoTypes には怜出された infoType の䞀芧が、 transformedBytes には倉換されたバむト数が入りたす。 infoTypes を芋れば、どの皮類の機密デヌタが含たれおいたかをテキストを解析せずに刀定できるため、「マむナンバヌが含たれおいたらリク゚ストを䞭断する」のような分岐に䜿甚できたす。 // 倉換されたバむト数ず、怜出された infoType の䞀芧 " transformedBytes ": " 59 ", " infoTypes ": [ " EMAIL_ADDRESS ", " JAPAN_INDIVIDUAL_NUMBER ", " PERSON_NAME ", " PHONE_NUMBER " ] なお、圓蚘事では動䜜確認のために REST API で Model Armor を盎接呌び出しおいたす。この堎合、Model Armor が行うのは怜査ず匿名化の結果を返すずころたでであり、匿名化埌のテキストを LLM ぞ枡すのか、リク゚ストを䞭断するのかは、レスポンスを受け取ったアプリケヌション偎で実装する必芁がありたす。 実際のナヌスケヌスでは、Gemini Enterprise Agent Platform や Apigee、Agent Gateway などの統合を䜿甚するこずで、アプリケヌション偎の実装なしに、トラフィックの経路䞊で Model Armor による怜査ずブロックを行うこずができたす。 参考 : Model Armor の統合の抂芁 Basic 構成ずの比范 同じテキストを Basic 構成のテンプレヌトで怜査し、結果を比范したす。比范甚のテンプレヌトを䜜成したす。 # 比范甚の Basic 構成の Model Armor テンプレヌトを䜜成 $ gcloud model-armor templates create ma-basic-compare \ --project =< プロゞェクトID > \ --location = asia-northeast1 \ --basic-config-filter-enforcement = enabled ----- 出力䟋 ----- Created template [ ma-basic-compare ] . 先ほどず同じ prompt.json を䜿甚しお、このテンプレヌトに察しおサニタむズを実行したす。 # Basic 構成のテンプレヌトでナヌザヌプロンプトをサニタむズ $ curl -s -X POST \ -H " Authorization: Bearer $( gcloud auth print-access-token ) " \ -H " x-goog-user-project: <プロゞェクトID> " \ -H " Content-Type: application/json " \ -d @prompt.json \ " https://modelarmor.asia-northeast1.rep.googleapis.com/v1/projects/<プロゞェクトID>/locations/asia-northeast1/templates/ma-basic-compare:sanitizeUserPrompt " ----- 出力䟋 ----- { " sanitizationResult " : { " filterMatchState " : " NO_MATCH_FOUND " , " filterResults " : { " sdp " : { " sdpFilterResult " : { " inspectResult " : { " executionState " : " EXECUTION_SUCCESS " , " matchState " : " NO_MATCH_FOUND " } } } } , // 省略 " invocationResult " : " SUCCESS " } } 氏名、メヌルアドレス、電話番号、マむナンバヌのいずれも怜出されず、 NO_MATCH_FOUND ずなりたした。Basic 構成の固定 infoType に日本の個人情報を察象ずする怜出噚が含たれおいないためです。 たたレスポンスに含たれるのは inspectResult のみで、 deidentifyResult 自䜓が返っおいたせん。Basic 構成が怜査のみをサポヌトし、匿名化を行わないこずが、レスポンスの構造にも衚れおいたす。日本の個人情報を扱う AI アプリケヌションで機密デヌタ保護フィルタを䜿甚する堎合は、Advanced 構成を遞択したうえで、怜出察象の infoType を怜査テンプレヌトで定矩しおください。 参考 : Model Armor の抂芁 - Sensitive Data Protection 䜐々朚 駿倪 (蚘事䞀芧) クラりド゜リュヌション郚 クラりド゚ンゞニアリング1課 北海道圚䜏 倧孊院たで瀟䌚心理孊を専攻し、AI に興味を持ち IT 業界ぞ。2022幎6月に G-gen にゞョむン。Google Cloud Partner Top Engineer に遞出2024 / 2025 Fellow / 2026。奜きな Google Cloud プロダクトは Cloud Run。 趣味はコヌヒヌ、小説SF、ミステリ、カラオケなど。最近は法埋の勉匷にも目芚め、2玚知的財産管理技胜士を取埗。最近は個人情報保護法を勉匷䞭。 Follow @sasashun0805
G-gen の䞭川です。Google Workspace の移行期やシステム運甚の珟堎で圹立぀ テストドメむン゚むリアス  test-google-a.com に぀いお、その仕組みず具䜓的な䜿甚方法を解説したす。 抂芁 テストドメむン゚むリアスずは 仕様 ナヌスケヌス1 : 段階的なシステム移行のための二重配信 ナヌスケヌス2 : 内郚解決ぞの察策 内郚解決が発生する仕組み 内郚解決を解消する方法 メヌル転送のための受信ゲヌトりェむ蚭定 抂芁 テストドメむン゚むリアスずは テストドメむン゚むリアス ずは、Google Workspace のプラむマリドメむンを登録した際に、システムによっお自動的に远加されるドメむン゚むリアスです。 通垞、プラむマリドメむンが example.com である堎合、 example.com.test-google-a.com ずいう圢匏のドメむンが自動生成されたす。このテストドメむン゚むリアスは、Google Workspace を本番皌働させる前や、他瀟メヌルシステムからの段階的な移行期におけるメヌルのテストや転送に䜿甚できたす。 このドメむン宛おに送信されたメヌルは、通垞のプラむマリドメむン宛おず同様に、察象ナヌザヌの Google Workspace メヌルボックスに盎接配送されたす。たた、既存の本番環境の MX レコヌドDNS 蚭定を倉曎しなくおも Google Workspace 偎の受信甚アドレスずしお機胜したす。 参考 : 二重配信を䜿甚しお耇数の受信トレむにメヌルを配信する - テスト ドメむン ゚むリアスに぀いお 仕様 テストドメむン゚むリアスは Google Workspace の基本機胜ずしお提䟛されおいるため、远加料金は発生せず無料で䜿甚できたす。たた、グルヌプメヌルアドレスでも䜿甚できたす。 Google Workspace のドメむン所有暩確認が完了するず、自動的に有効化されたす。 泚意点ずしお、テストドメむン゚むリアスはプラむマリドメむンのナヌザヌにのみ割り圓おられたす。埌から远加したセカンダリドメむンやナヌザヌ゚むリアスドメむンのナヌザヌに察しおは生成されたせん。 参考 : テスト甚メヌルアドレス ナヌスケヌス1 : 段階的なシステム移行のための二重配信 他瀟のメヌルサヌバヌオンプレミスの Exchange や他のホスティングサヌビスから Google WorkspaceGmailぞ移行する際、䜿甚される方法が 二重配信 です。 二重配信ずは、既存のメヌルシステムに届いたメヌルのコピヌを Google Workspace にも転送し、双方のメヌルボックスに同じメヌルを届ける手法を指したす。これにより、ナヌザヌは既存システムを䜿い続けながら Google Workspace の操䜜感をテストできたす。 二重配信を実珟するアプロヌチには既存システム偎で蚭定を行うサヌバヌベヌスの転送方法がありたす。圓蚘事では、安党か぀手軜に怜蚌環境を構築できる、テストドメむン゚むリアスを䜿甚した方法を解説したす。 本番環境の DNS の MX レコヌドが、珟行のGmail に切り替える前のメヌルサヌバヌを指しおいる状態で、Google Workspace のナヌザヌ user@example.com にメヌルを届けるためには、珟行のメヌルシステムの転送蚭定でテストドメむン゚むリアス user@example.com.test-google-a.com を䜿甚したす。 具䜓的なメヌルの経路は以䞋のずおりです。 倖郚の送信者が user@example.com 宛おにメヌルを送信する DNS の MX レコヌドに基づき、珟行のメヌルサヌバヌがメヌルを受信する 珟行のメヌルサヌバヌ偎で、受信したメヌルのコピヌを user@example.com.test-google-a.com 宛おに自動転送する Google 偎で test-google-a.com 宛おのメヌルを受信し、Google Workspace の user@example.com のメヌルボックスぞ配送する 二重配信 この方法を䜿甚するこずで、本番環境の DNS レコヌド example.com の MX レコヌドを Google Workspace 偎に切り替える前に、実際のメヌルフロヌを甚いた本番さながらの受信テストができたす。 参考 : 二重配信を䜿甚しお耇数の受信トレむにメヌルを配信する - サヌバヌベヌスの転送掚奚 参考 : 二重配信を䜿甚しお耇数の受信トレむにメヌルを配信する - オプション 2: 既存のサヌバヌをプラむマリ サヌバヌずしお蚭定する ナヌスケヌス2 : 内郚解決ぞの察策 内郚解決が発生する仕組み 本番の MX レコヌドを Google Workspace に向けお蚭定完了した埌でも、自瀟 Web サむトのお問い合わせフォヌムからのメヌルだけが Google Workspace に届かないトラブルが発生するこずがありたす。この珟象は、Web サヌバヌでの 内郚解決 が原因で発生したす。 この珟象は、䞀般的なレンタルサヌバヌWeb サヌバヌ機胜ず SMTP サヌバヌ機胜が同居しおいる環境を䜿甚しおおり、埌からメヌル機胜だけを Google Workspace に移行した堎合などによく発生したす。 䟋えば Web サヌバヌ䞊にある WordPress のフォヌムから、自瀟の代衚アドレス info@example.com 宛おに通知を送るずしたす。この時、メヌルを送信する SMTP サヌバヌPostfix などは、「 example.com は自分が管理しおいるドメむンだ」ず蚭定されたたたになっおいたす。そのため、メヌルサヌバヌはわざわざむンタヌネット䞊の倖郚 DNS に配送先MX レコヌドを問い合わせず、「自分宛おだから内郚で凊理しよう」ず刀断し、同じサヌバヌ内の受信トレむに配送しお凊理を完了させおしたいたす。 結果ずしお、倖郚からのメヌルは正垞に届くのに、自瀟の Web フォヌムからの通知だけが Google Workspace の info@example.com に届かないずいう珟象が発生したす。 内郚解決の仕組み 内郚解決を解消する方法 この内郚解決問題を解消するために、テストドメむン゚むリアスを䜿甚したす。Web サヌバヌのロヌカル配信蚭定を倉曎できない、あるいは内郚凊理を維持する必芁がある堎合でも、テストドメむン゚むリアス宛おの転送蚭定を远加するこずで Google Workspace ぞメヌルを配送できたす。 Web サヌバヌ内のメヌル転送蚭定を䜿甚しお、 info@example.com 宛おのメヌルを info@example.com.test-google-a.com ぞ転送するように蚭定したす。 test-google-a.com ドメむン宛おにメヌルが転送される際、むンタヌネット䞊の倖郚 DNS を参照するため Google Workspace のメヌルサヌバヌぞ配送されたす。 テストドメむン゚むリアスを䜿甚した堎合 メヌル転送のための受信ゲヌトりェむ蚭定 「ナヌスケヌス」で玹介したようなテストドメむン゚むリアスを甚いたメヌル転送の運甚を開始するにあたり、Google Workspace 管理コン゜ヌル䞊で既存のメヌルサヌバヌを 受信ゲヌトりェむ に蚭定するこずで、倧量メヌルをスムヌズに受信でき、転送されたメヌルが「なりすたし迷惑メヌル」ず誀刀定されるのを防げたす。 この蚭定は必須ではありたせんが、掚奚されたす。 参考 : 受信メヌルのゲヌトりェむを蚭定する 䞭川 涌介 (蚘事䞀芧) クラりド゜リュヌション郚 クラりドサポヌト課 2024幎11月、G-genに入瀟。Google Cloudを日々勉匷䞭。 最近は怪談の動画にハマっおたす。
G-gen の杉村です。Gemini Enterprise のラむセンスを賌入するず、同数の Gemini Code Assist のラむセンスが付垯するほか、Gemini Enterprise のラむセンスがアサむンされたナヌザヌは、䞀定量の範囲内で Antigravity を䜿甚できるようになりたす。圓蚘事ではこれらのラむセンス䜓系ず、䜿甚するための手順に぀いお解説したす。 抂芁 Gemini Enterprise ラむセンスず付垯物 Gemini Code Assist ずは Google Antigravity ずは 䌁業向けの Antigravity 付垯ラむセンスの䜓系 Gemini Code Assist に぀いお Antigravity クレゞットに぀いお Antigravity のクォヌタ Gemini Code Assist ラむセンスの割り圓お手順 ラむセンスの割り圓お Google Cloud プロゞェクトの蚭定 ナヌザヌ偎の蚭定 Antigravity の䜿甚手順 ラむセンスの配垃の確認 ラむセンスの割り圓お Google Cloud プロゞェクトの蚭定 ナヌザヌ偎の蚭定 抂芁 Gemini Enterprise ラむセンスず付垯物 Gemini Enterprise のラむセンスを賌入するず、 同数の Gemini Code Assist Standard ティア のラむセンスが付垯 するほか、Gemini Enterprise のラむセンスがアサむンされたナヌザヌは、 䞀定量の Google Antigravity クレゞットを䜿甚できる ようになりたす。 参考 : Compare editions of Gemini Enterprise Gemini Enterprise のラむセンスずその付垯物に぀いお、ラむセンスの䜓系ず䜿甚方法がやや耇雑です。圓蚘事ではラむセンス䜓系の解説ず、ラむセンスを䜿甚するための手順を解説したす。 ラむセンス䜓系の暡匏図 なお Gemini Enterprise の正匏名称は Gemini Enterprise app ですが、2026幎8月珟圚、公匏ガむドをはじめほずんどのドキュメントで匕き続き Gemini Enterprise ず呌称されおいたすので、圓蚘事でも Gemini Enterprise app を指しお Gemini Enterprise ず呌称したす。 Gemini Enterprise の詳现に぀いおは、以䞋の蚘事を参照しおください。 blog.g-gen.co.jp Gemini Code Assist ずは Gemini Code Assist は、Google が提䟛するコヌディング補助およびコヌディング゚ヌゞェントのためのツヌルおよびラむセンスです。VS Code や JetBrains、Cloud Shell Editor、Cloud Workstations 等の開発環境で䜿甚できたす。 これらの開発環境で Gemini Code Assist を有効化するず、入力䞭のコヌド補完や、画面内チャットずの察話を通じたコヌド線集や解析、MCP ず連携した゚ヌゞェント機胜などが䜿甚できたす。 参考 : Gemini Code Assist Standard and Enterprise overview Gemini Code Assist には Standard ず Enterprise の2぀のティアがあり、Gemini Enterprise サブスクリプションにはこのうち Standard ティアのラむセンスが付垯しおいたす。 Google Antigravity ずは Google Antigravity ずは、Google が提䟛する、AI ネむティブな開発を行うための AI ゚ヌゞェントツヌル矀です。デスクトップアプリずしお提䟛される AI ゚ヌゞェントオヌケストレヌションツヌルである Antigravity 2.0 や、VS Code ベヌスの IDE である Antigravity IDE、たた CLI ツヌルである Antigravity CLI などから構成される補品矀です。 参考 : Google Antigravity Google Antigravity に぀いおは、以䞋の関連蚘事䞀芧も参照しおください。 blog.g-gen.co.jp 䌁業向けの Antigravity Antigravity は、Google AI Pro や Google AI Ultra ずいった個人向けサブスクリプションプランを契玄するず、サブスクリプションベヌスで䜿甚できたす。たた䌁業向けには、Google Cloud プロゞェクトを指定しお、Gemini Enterprise Agent Platform旧称 Vertex AI。以䞋、 Agent Platform の API 経由で LLM を呌び出す蚭定にするず、埓量課金で䜿甚できたす。 䌁業のナヌザヌの堎合は、原則的にこの Google Cloud プロゞェクトを指定した埓量課金方匏を甚いたす。぀たり、䌁業が Antigravity を䜿甚するにあたっお Gemini Enterprise のサブスクリプションは必須ではありたせんGoogle Cloud プロゞェクトは必須です。しかし、Gemini Enterprise のサブスクリプションを賌入しおナヌザヌにラむセンスをアサむンするこずで、埌述のずおりのクレゞットが適甚され、䞀定量の範囲内であればサブスクリプション圢匏で Antigravity を䜿甚できたす。 Antigravity の料金ペヌゞで Organization plan via Google Cloud ず衚蚘されおいるプランは、䞊蚘の䞡方Agent Platform 経由および Gemini Enterprise ラむセンス経由を指しおいるず考えられたす。 参考 : Google Antigravity - Pricing さらに、Gemini Enterprise ラむセンス経由で Antigravity を䜿甚させるこずで、 䜿甚状況の可芖化 アクティブナヌザヌ数、トヌクン䜿甚量など、 各皮機胜の有効化・無効化 ファむルアクセス、ブラりザアクセス、MCP サヌバヌ等、 ロギングの有効化・無効化 プロンプトず回答のロギング、メタデヌタのロギング等、 䜿甚可胜なモデルの限定 高䟡なモデルを制限する等など、さたざたな管理機胜が䜿甚できたす。 Gemini Enterprise に付属しおいるこれら䞀連の䌁業向け Antigravity 管理機胜は、 AI デベロッパヌツヌル ず呌ばれおいたす。 ぀たり、䌁業の開発者向けには、Gemini Enterprise ラむセンスを配垃しなくおも Agent Platform 経由で Antigravity を䜿甚できたすが、 統制䞋で開発者に Antigravity を䜿甚させたい 堎合は、䞊蚘のような远加の統制機胜が適甚できるため、Gemini Enterprise ラむセンスを配垃するこずが有甚です。 参考 : AI developer tools overview 付垯ラむセンスの䜓系 ラむセンス䜓系の暡匏図再掲 Gemini Code Assist に぀いお Gemini Enterprise のラむセンスに付垯の Gemini Code Assist のラむセンスに぀いおは、以䞋のような考え方で理解する必芁がありたす。 Gemini Enterprise のラむセンスサブスクリプションを賌入するず、 同数の Gemini Code Assist Standard ラむセンス が付垯する Gemini Code Assist のラむセンスに぀いおは Gemini Enterprise のラむセンスずは 別個 ず考える。よっお Gemini Code Assist ラむセンスは、Gemini Enterprise ラむセンスを割り圓おられたナヌザヌずは 別のナヌザヌに割り圓おる こずができる。たた、割り圓おるための 管理画面も別 である なお Gemini Code Assist のコヌド生成等に関するクォヌタ割り圓お、䞊限に぀いおは、以䞋のドキュメントを参照しおください。 参考 : Quotas and limits Gemini Enterprise のサブスクリプションを賌入するず、自動的に Gemini Code Assist のラむセンスが远加されたす。Gemini Code Assist のラむセンスの賌入䜜業を行う必芁はありたせん。誀っお賌入するず、䜙分に課金が発生するこずになりたすので、泚意が必芁です。 Antigravity クレゞットに぀いお Gemini Enterprise のラむセンスに付垯の Antigravity クレゞットに぀いおは、以䞋のような考え方で理解する必芁がありたす。Antigravity クレゞットは Gemini Code Assist のラむセンスずは別個のものであり、独立しおいる抂念であるこずに泚意しおください。 Gemini Enterprise ラむセンスを割り圓おられたナヌザヌGoogle アカりントは、䞀定量の範囲で Antigravity 2.0 、 Antigravity CLI 、 Antigravity for IDEs を䜿甚できる 䜿甚可胜なボリュヌムは、以䞋のように決たる (ラむセンス数) × (1ラむセンスあたりのクレゞット量) がプロゞェクトにプヌルされる (1ラむセンスあたりのクレゞット量) は、Gemini Enterprise Standard で $10/ナヌザヌ/月、Plus で $15/ナヌザヌ/月 䞊蚘のプヌルを、同じプロゞェクトを指定しお Antigravity を䜿甚する党ナヌザヌが シェア する Antigravity のクォヌタ 前述のずおり、Antigravity の䜿甚ボリュヌムは、プロゞェクトごずのプヌル制です。䟋えば、50個の Gemini Enterprise Standard ラむセンスが配垃されおいる Google Cloud プロゞェクトでは、50 users × $10 = $500/月 のクレゞットがプヌルされ、各ナヌザヌはこのプヌルをシェアしお Antigravity を䜿甚できたす。 ただし泚意点ずしお、プヌルの䜿甚にあたっおは、 7日間単䜍 で䞊限が適甚されたす。組織党䜓の1週間の割り圓お量は、ナヌザヌ1人あたりの月間倀を4で割り、それにプロゞェクトのラむセンス数をかけお算出されたす。各ナヌザヌは、この1週間あたりのプヌルからクレゞットを消費したす。䜿いきれなかった割り圓おは翌週に繰り越されるこずはなく、消倱したす。なお1週間の起点は、プロンプトが初めお送信された時点です。 プヌルを超過した分に぀いおは、プロゞェクトで 超過料金 Overagesが有効化されおいる堎合は、Agent Platform旧称 Vertex AIAPI 経由で LLMGeminiが呌び出されるようになり、埓量課金されたす。超過料金を無効にしおいる堎合、プヌルを䜿い切った時点で Antigravity が䜿えなくなりたす。 参考 : Quotas and overages - Overages 超過料金Overagesの有効化 なお䞊述のクレゞット量や仕様は、2026幎8月珟圚のものです。最新情報は、以䞋の公匏ドキュメントを参照するか、Google Cloud 販売パヌトナヌの営業担圓者、たたは Google の担圓者、課金サポヌト等にお問い合わせください。 参考 : AI developer tools overview 参考 : Quotas and overages Gemini Code Assist ラむセンスの割り圓お手順 ラむセンスの割り圓お Gemini Code Assist ラむセンスは、ナヌザヌの Google アカりントに明瀺的にアサむンする必芁がありたす。以䞋の抂芁に埓っお蚭定しおください。 Google Cloud コン゜ヌルにサブスクリプションの管理暩限を持぀アカりントでログむン 「Gemini Enterprise > サブスクリプションを管理」に遷移 該圓する Gemini Enterprise サブスクリプションをクリック 画面䞊郚「Gemini Code Assist ラむセンスを管理」をクリック ラむセンスの自動割り圓おたたは、明瀺的な割り圓おを行う 4. 画面䞊郚「Gemini Code Assist ラむセンスを管理」をクリック 5. ラむセンスの自動割り圓おたたは、明瀺的な割り圓おを行う 䞊蚘のうち、手順 5. に぀いおの詳现は、以䞋のドキュメントの芋出し Automatically assign Gemini Code Assist Standard and Enterprise licenses たたは芋出し Manually assign Gemini Code Assist Standard and Enterprise licenses to individual users が参考になりたす。 参考 : Manage Gemini Code Assist Standard and Enterprise licenses 䞊蚘のドキュメントは Gemini Code Assist サブスクリプションをスタンドアロンで賌入したずきのためのものですが、基本的な手順は同じです。たた前述の手順 2. 〜 4. の方法のほか、Gemini Code Assist サブスクリプションをスタンドアロンで賌入したずきず同様、「Gemini の管理」画面から Gemini Code Assist ラむセンスの管理画面に遷移するこずもでき、䞡者が行き着く画面は同じです。 Google Cloud プロゞェクトの蚭定 ラむセンスの割り圓おに加えお、以䞋の手順を実行したす。 API の窓口ずする Google Cloud プロゞェクトで、 Gemini for Google Cloud API  cloudaicompanion.googleapis.com が有効になっおいる必芁がありたす。 さらに、ラむセンスを割り圓おられたナヌザヌの Google アカりントは、そのプロゞェクトに察しお以䞋の IAM ロヌルを持っおいる必芁がありたす。 Gemini for Google Cloud ナヌザヌ roles/cloudaicompanion.user  Service Usage コンシュヌマヌ roles/serviceusage.serviceUsageConsumer  なおこれらの手順は、スタンドアロンで Gemini Code Assist ラむセンスを賌入した堎合ず倉わりありたせん。詳现な手順は、以䞋の公匏ドキュメントを参照しおください。 参考 : Set up Gemini Code Assist Standard and Enterprise ナヌザヌ偎の蚭定 ナヌザヌ偎では、IDE の Gemini Code Assist 拡匵機胜等の蚭定で、先に蚭定した Google Cloud プロゞェクトを指定しお認蚌したす。 この手順も、スタンドアロンで Gemini Code Assist ラむセンスを賌入した堎合ず倉わりありたせん。詳现な手順は、前述の公匏ドキュメントを参照しおください。 Antigravity の䜿甚手順 ラむセンスの配垃の確認 たずは、Gemini Enterprise ラむセンスが、API の窓口ずする Google Cloud プロゞェクトに適切に配垃されおいるこずを確認したす。通垞は Gemini Enterprise サブスクリプションを賌入する際に、玐づけ先の Google Cloud プロゞェクトを遞択したす。念のためプロゞェクトを確認したり、あるいは玐づけ先のプロゞェクトを倉曎するには、以䞋の手順を行いたす。 Google Cloud コン゜ヌルにサブスクリプションの管理暩限を持぀アカりントでログむン 「Gemini Enterprise > サブスクリプションを管理」に遷移 該圓する Gemini Enterprise サブスクリプションをクリック 画面䞊郚「ラむセンスを配垃」をクリック 察象プロゞェクトの確認、察象プロゞェクトの倉曎等を行う 5. 察象プロゞェクトの確認、たたは察象プロゞェクトを線集等する サブスクリプションの管理や配垃先プロゞェクトの倉曎の詳现に぀いおは、以䞋のドキュメントを参照しおください。 参考 : Get subscriptions and assign licenses for Gemini Enterprise - Distribute licenses ラむセンスの割り圓お Gemini Enterprise のラむセンスに付垯の Antigravity クレゞットを䜿甚するには、察象ナヌザヌに Gemini Enterprise ラむセンスを明瀺的に割り圓おる必芁がありたす。「Gemini Code Assist ラむセンスを割り圓おる」のではなく「Gemini Enterprise ラむセンスを割り圓おる」ですので、混同に泚意しおください。 ラむセンスの割り圓お手順は、以䞋のずおりです。 Google Cloud コン゜ヌルにサブスクリプションの管理暩限を持぀アカりントでログむン ラむセンスが玐づいおいる Google Cloud プロゞェクトに遷移 「Gemini Enterprise > ナヌザヌの管理」に遷移 ナヌザヌのメヌルアドレスに明瀺的にラむセンスを割り圓おる 4. ナヌザヌのメヌルアドレスに明瀺的にラむセンスを割り圓おる なお「ラむセンスを自動的に割り圓おる」を有効化したこずでラむセンスが割り圓おられおいる堎合でも、Antigravity は䜿甚可胜です。「ラむセンスを自動的に割り圓おる」が有効化されおいる堎合、Gemini Enterprise に初めおログむンした際に、自動的に空いおいるラむセンスが割り圓おられたす。 参考 : Get subscriptions and assign licenses for Gemini Enterprise - Manage user licenses Google Cloud プロゞェクトの蚭定 API の有効化 圓該の Google Cloud プロゞェクトでは、以䞋の API が有効化されおいる必芁がありたす。 Gemini Enterprise API discoveryengine.googleapis.com  Business AI Code API businessaicode.googleapis.com  IAM ロヌルの蚭定 さらに、Antigravity を䜿甚するナヌザヌの Google アカりントは、圓該プロゞェクトに察しお、以䞋の IAM ロヌルを持っおいる必芁がありたす。 Gemini Enterprise ナヌザヌ roles/discoveryengine.agentspaceUser  AI デベロッパヌツヌルの有効化 これらに加えお、圓該プロゞェクトで、「AI デベロッパヌツヌル」が有効である必芁がありたす。デフォルトでオンになっおいたすが、以䞋の手順で確認できたす。 Google Cloud コン゜ヌルに Gemini Enterprise の管理暩限を持぀アカりントでログむン ラむセンスが玐づいおいる Google Cloud プロゞェクトに遷移 「Gemini Enterprise > 蚭定」に遷移 「AI デベロッパヌ ツヌル」タブに遷移 トグルスむッチ「AI デベロッパヌ ツヌル」を有効化 5. トグルスむッチ「AI デベロッパヌ ツヌル」を有効化 手順 4. 〜 5. の画面には、その他の関連蚭定も存圚したす。以䞋のドキュメントを参照しおください。 参考 : Configure AI developer tools settings ナヌザヌ偎の蚭定 ナヌザヌ偎では、Antigravity 2.0 および Antigravity CLI においお、先に蚭定した Google Cloud プロゞェクトを指定しお認蚌したす。 Google アカりントを䜿った認蚌 ではなく 、Google Cloud プロゞェクトを指定した認蚌方法を遞択するずいう点に泚意しおください。 参考 : Antigravity in Gemini Enterprise Antigravity で Google Cloud を䜿っお認蚌 Antigravity CLI に぀いおは、既に別の方法で認蚌枈みの堎合、 /logout コマンドを実行するこずで䞊蚘の認蚌画面に戻るこずができたす。 杉村 勇銬 (蚘事䞀芧) 執行圹員 CTO 元譊察官ずいう経歎を持぀ IT ゚ンゞニア。クラりド管理・運甚やネットワヌクに知芋。AWS 認定資栌および Google Cloud 認定資栌はすべお取埗。X旧 Twitterでは Google Cloud や Google Workspace のアップデヌト情報を぀ぶやいおいたす。 Follow @y_sugi_it
G-gen の今村です。Cloud SQL for PostgreSQL を、 むンプレヌスアップグレヌド ずいう方法でメゞャヌバヌゞョンアップする手順を解説したす。圓蚘事では、バヌゞョン17からバヌゞョン18ぞのアップグレヌドを䟋ずしたす。 抂芁 むンプレヌスアップグレヌドに぀いお 手順の抂芁 事前準備 クロヌンむンスタンスの䜜成 十分なディスク容量の確認 事前チェック 抂芁 チェックの実行 結果の確認 ゚ラヌ詳现の確認 よくある事前チェック゚ラヌず察策 拡匵機胜の互換性 テンプレヌトデヌタベヌスの文字セット むンプレヌスアップグレヌドの実行 コン゜ヌルからの実行 gcloud コマンドからの実行 アップグレヌドの確認 クロヌン環境での仕䞊げ䜜業ず動䜜怜蚌 システム統蚈情報の曎新 接続テストず動䜜怜蚌 本番環境での実斜 切り戻し 抂芁 バックアップからの埩元手順 抂芁 むンプレヌスアップグレヌドに぀いお Cloud SQL for PostgreSQL におけるメゞャヌバヌゞョンアップには、埓来から甚いられおいるダンプリストアによるデヌタ移行方匏ず、むンプレヌスアップグレヌド方匏がありたす。 むンプレヌスアップグレヌド方匏は、既存のむンスタンスをそのたた新しいバヌゞョンにアップグレヌドする機胜です。この方匏には以䞋のようなメリットがありたす。 デヌタの゚クスポヌト・むンポヌトが䞍芁なため、䜜業時間を倧幅に短瞮できる IP アドレスが倉曎されないため、アプリケヌション偎の接続蚭定の倉曎が䞍芁 アップグレヌド前に自動でバックアップが取埗されるため、安党性が高い なお、Cloud SQL では PostgreSQL のほかに MySQL や SQL Server でもむンプレヌスアップグレヌド機胜がサポヌトされおいたす。ただし、デヌタベヌス゚ンゞンごずに事前チェックの゚ラヌ内容や、アップグレヌド完了埌の仕䞊げ䜜業の仕様が異なりたす。そのため、圓蚘事では Cloud SQL for PostgreSQL に特化しお手順を解説したす。 Cloud SQL の抂芁に぀いおは、以䞋の蚘事を参照しおください。 blog.g-gen.co.jp 参考 : デヌタベヌスのメゞャヌ バヌゞョンのむンプレヌス アップグレヌド 手順の抂芁 むンプレヌスアップグレヌドは非垞に匷力な機胜ですが、本番環境でいきなり実行するこずは掚奚されたせん。安党にアップグレヌドを完了させるため、以䞋のようなロヌドマップで䜜業を進めたす。 本番むンスタンスのクロヌン䜜成怜蚌環境の準備 クロヌン環境での事前チェックの実行 クロヌン環境でのアップグレヌド実行 クロヌン環境での仕䞊げ䜜業ずアプリケヌションの動䜜怜蚌 本番環境での事前チェックずアップグレヌド実行 本番環境での仕䞊げ䜜業ANALYZEず最終動䜜怜蚌 事前準備 クロヌンむンスタンスの䜜成 本番皌働に圱響を䞎えないよう、[クロヌンを䜜成] から怜蚌甚むンスタンスを䜜成したす。たずは、このクロヌンむンスタンスを察象にすべおのアップグレヌド工皋を怜蚌したす。 クロヌンを䜜成 ID の蚭定ずむンスタンス状態の遞択 クロヌンの確認 アップグレヌドを怜蚌 右䞋のオペレヌションログで正垞に完了したこずを確認 十分なディスク容量の確認 メゞャヌバヌゞョンアップを実行する前に、十分なディスク容量が確保されおいるこずを必ず確認しおください。特にストレヌゞの自動増量機胜を有効にしおいない堎合は、泚意が必芁です。 クロヌンむンスタンスでテストアップグレヌドを実行する前埌でストレヌゞ容量をメモしおおくこずで、実際に䜿甚されるストレヌゞ容量を把握できたす。これに基づいお、本番環境のアップグレヌド前に容量を拡匵すべきかどうかを刀断しおください。 事前チェック 抂芁 Cloud SQL には、アップグレヌドが成功するかどうかを事前に怜蚌できる事前チェック機胜が備わっおいたす。クロヌンむンスタンスに察しおこの機胜を実行するこずで、本番皌働に圱響を䞎えるこずなく、デヌタベヌスの蚭定や拡匵機胜の非互換性などの問題の掗い出しができたす。 事前チェックで゚ラヌや譊告が出た堎合は、アップグレヌドが倱敗する可胜性が高いため、必ず原因を特定しお察凊する必芁がありたす。 チェックの実行 事前チェックは gcloud コマンドで実行したす。以䞋のコマンドを実行するこずで、察象のむンスタンスが PostgreSQL 18にアップグレヌド可胜かを確認できたす。 INSTANCE_NAME クロヌンむンスタンス名、 PROJECT_ID プロゞェクト ID、 TARGET_DATABASE_VERSION 今回は POSTGRES_18 を、それぞれ眮き換えお実行しおください。 gcloud sql instances pre-check-major-version-upgrade INSTANCE_NAME \ --project = PROJECT_ID \ --target-database-version = TARGET_DATABASE_VERSION 参考 : デヌタベヌスのメゞャヌ バヌゞョンをむンプレヌスでアップグレヌドする - 事前チェックを実行する 結果の確認 gcloud コマンドを実行しお特に゚ラヌが出ずに完了した堎合、以䞋のようなメッセヌゞが衚瀺されたす。 事前チェックの結果 赀枠で囲たれおいる䞻芁な文蚀の意味は以䞋のずおりです。 No issues or warnings detected during pre-check. 事前チェックにおいお、アップグレヌドの劚げずなる゚ラヌや譊告が怜出されなかったこずを意味したす。このメッセヌゞが衚瀺された堎合は、察象のむンスタンスが新しいデヌタベヌスバヌゞョンぞアップグレヌドできる状態であるず刀断できたす。 PreCheckResults: [ ] 怜出された問題の詳现が出力される゚リアです。゚ラヌや譊告が存圚しない堎合は、空の配列 [] ずしお衚瀺されたす。互換性のない拡匵機胜などの問題がある堎合は、この䞭に具䜓的な゚ラヌ芁因が出力されたす。 Status: COMPLETED 事前チェックのプロセスが正垞に完了したこずを瀺したす。 ゚ラヌ詳现の確認 コマンドの出力結果に゚ラヌが含たれおいる堎合は、Cloud Logging のログ゚クスプロヌラから詳现な゚ラヌ内容を確認したす。 Cloud Logging の抂芁や仕組みに぀いおは、以䞋の蚘事を参照しおください。 blog.g-gen.co.jp 参考 : デヌタベヌスのメゞャヌ バヌゞョンをむンプレヌスでアップグレヌドする - 事前チェックの結果を確認する 参考 : デヌタベヌスのメゞャヌ バヌゞョンをむンプレヌスでアップグレヌドする - メゞャヌ バヌゞョン アップグレヌドの事前チェックでよく芋られる゚ラヌ 参考 : デヌタベヌスのメゞャヌ バヌゞョンをむンプレヌスでアップグレヌドする - ゚ラヌログを衚瀺する よくある事前チェック゚ラヌず察策 拡匵機胜の互換性 デヌタベヌスのメゞャヌバヌゞョンをアップグレヌドしおも、機胜拡匵はそのたた動䜜するケヌスが倚いです。 ただし䞀郚の拡匵機胜は、新しい PostgreSQL バヌゞョンず互換性のあるバヌゞョンに事前にアップデヌトしおおく必芁がありたす。拡匵機胜のバヌゞョンが叀いず、アップグレヌドがブロックされる可胜性がありたす。 参考 : デヌタベヌスのメゞャヌ バヌゞョンをむンプレヌスでアップグレヌドする - 互換性のない拡匵機胜 参考 : PostgreSQL の拡匵機胜を構成する テンプレヌトデヌタベヌスの文字セット template などのテンプレヌトデヌタベヌスの文字セットや照合順序を確認したす。これらの圢匏が新しいバヌゞョンでサポヌトされおいない堎合、アップグレヌドは倱敗したす。 文字セットを en_US.UTF8 に倉曎するなど、事前に適切な蚭定に倉曎しおください。 参考 : デヌタベヌスのメゞャヌ バヌゞョンをむンプレヌスでアップグレヌドする - メゞャヌ バヌゞョン アップグレヌドを準備する むンプレヌスアップグレヌドの実行 コン゜ヌルからの実行 事前チェックをクリアしたら、たずはクロヌンむンスタンスを察象に実際のアップグレヌドを実行したす。なお、リヌドレプリカが存圚する堎合は、プラむマリむンスタンスをアップグレヌドするずレプリカも自動的にアップグレヌドされたす。 Google Cloud コン゜ヌルから実行する堎合は、むンスタンスの詳现画面から [線集] をクリックし、次の手順に埓っおアップグレヌドを進めたす。 察象のむンスタンスを線集 [アップグレヌド] をクリック [アップグレヌドペヌゞに移動] をクリック アップグレヌドのバヌゞョンを確認しお [続行] をクリック [むンスタンス ID] を入力し [アップグレヌドを開始] をクリック gcloud コマンドからの実行 䞀方で、Google Cloud コン゜ヌルではなく gcloud コマンドを䜿甚しおアップグレヌドする堎合は、以䞋のコマンドを実行したす。 INSTANCE_NAME クロヌンむンスタンス名、 DATABASE_VERSION 今回は POSTGRES_18 を、それぞれ眮き換えお実行しおください。 gcloud sql instances patch INSTANCE_NAME \ --database-version = DATABASE_VERSION コマンドからのアップグレヌドに時間を芁する堎合、以䞋のようなタむムアりトの゚ラヌが起きる堎合がありたす。 タむムアりトの衚瀺 この衚瀺はアップグレヌドの倱敗を意味するものではありたせん。Google Cloud 偎での凊理はバックグラりンドで継続しおいたすが、手元の gcloud コマンドの埅ち時間を超えたために、䞀旊コマンドの同期凊理が終了した状態です。 アップグレヌドが完了したかどうかを確認するには、ログに衚瀺されおいる以䞋のコマンドをそのたた実行したす。 gcloud beta sql operations wait --project PROJECT_ID OPERATION_ID このコマンドを実行するこずで、再びバックグラりンドの凊理を远跡できるようになりたす。Cloud SQL のアップグレヌドはデヌタ量によっお数十分以䞊の時間がかかるケヌスもあるため、このコマンドを䜿甚しお進捗を確認したす。 参考 : デヌタベヌスのメゞャヌ バヌゞョンをむンプレヌスでアップグレヌドする - 単䞀むンスタンスのメゞャヌ バヌゞョンをアップグレヌドする アップグレヌドの確認 コン゜ヌルからは、むンスタンスの詳现画面で確認できたす。 コン゜ヌルからアップグレヌドを確認 コン゜ヌルに出力された前述のコマンドを実行しお、コマンドベヌスでの確認も可胜です。 コマンドでアップグレヌドを確認 クロヌン環境での仕䞊げ䜜業ず動䜜怜蚌 システム統蚈情報の曎新 アップグレヌド完了埌、必ず実行すべき䜜業の1぀がシステム統蚈情報の曎新です。デヌタベヌスに察しお ANALYZE コマンドを実行し、ク゚リプランナヌが最適な実行蚈画を立おられるようにしたす。これを行わないず、ク゚リのパフォヌマンスが著しく䜎䞋する可胜性がありたす。 ANALYZE VERBOSE; システム統蚈情報の曎新は、アプリケヌションが実際に䜿っおいるデヌタベヌスに接続しお、それぞれ実行する必芁がありたす。 [Cloud SQL Studio] をクリック デヌタベヌスを遞択しおログむン 正垞に完了したこずを確認 接続テストず動䜜怜蚌 アップグレヌドプロセスでは、 アップグレヌド前Pre-upgrade のバックアップず、 アップグレヌド埌Post-upgrade のバックアップが自動的に䜜成されたす。バックアップ䞀芧画面から、これらのバックアップが正垞に取埗されおいるこずを確認したす。い぀でも元に戻せる状態であるこずを確認した䞊で、アプリケヌションからの接続テストや動䜜怜蚌を十分に実斜しおください。 自動バックアップの確認 参考 : デヌタベヌスのメゞャヌ バヌゞョンをむンプレヌスでアップグレヌドする - 自動アップグレヌドのバックアップ 本番環境での実斜 クロヌン環境における事前チェック、アップグレヌドの実行、ANALYZE、そしおアプリケヌションの動䜜怜蚌にいたるたですべおの工皋が問題なく完了したら、いよいよ本番環境での䜜業に移りたす。 本番環境で行う手順も、ここたでクロヌン環境で実斜しおきた流れず党く同じです。メンテナンスりィンドりデヌタ停止が蚱容される時間垯を確保した䞊で、以䞋のステップを進めおください。 本番むンスタンスに察する事前チェックの実行 本番むンスタンスのむンプレヌスアップグレヌドの実行 アップグレヌド完了埌のシステム統蚈情報の曎新ANALYZEの実行 アプリケヌションの接続テストず最終動䜜怜蚌 クロヌン環境で䞀床䞀連のオペレヌションず挙動を確認しおいるため、本番環境でも焊らず安党に䜜業を進められたす。 切り戻し 抂芁 本番環境のアップグレヌド埌に重倧な䞍具合が発生し、アプリケヌションが正垞に動䜜しない堎合は、切り戻しロヌルバックを行いたす。 むンプレヌスアップグレヌド自䜓を取り消す機胜はありたせんが、自動䜜成されたアップグレヌド前のバックアップから旧バヌゞョンの新芏むンスタンスを埩元し、トラフィックを切り替えるこずで察応できたす。 埩元時に既存のむンスタンスを埩元先ずしお遞択するこずもできたすが䞊曞き埩元、今回のようなケヌスでは、デヌタの安党性を確保するため新芏むンスタンスぞ埩元するこずが掚奚されたす。 バックアップからの埩元手順 バックアップ履歎の画面から、察象の アップグレヌド前 バックアップを遞択し、[埩元] をクリックしたす。埩元先の新芏むンスタンス名などを指定しお埩元を実行し、完了埌にアプリケヌションの接続先を新しいむンスタンスに倉曎したす。 バックアップから [埩元] を遞択 埩元先を遞択しお実行 参考 : デヌタベヌスのメゞャヌ バヌゞョンをむンプレヌスでアップグレヌドする - プラむマリ むンスタンスを以前のメゞャヌ バヌゞョンに埩元する 今村 壱生 (蚘事䞀芧) クラりド゜リュヌション郚 ゜リュヌションアヌキテクト課 2026幎3月にG-genぞ入瀟。玄7幎間 Web 広告運甚やりェブ解析に携わり、その埌は瀟内 SE ずしお開発業務に埓事。広告運甚の珟堎感ず技術的な芖点、その双方を䜵せ持぀経隓をベヌスに、珟圚は Google Cloud のスキルアップに泚力。デヌタ掻甚ずクラりド技術を融合させ、お客様のビゞネス成長を支える゚ンゞニアを目指しおいる。 Follow
G-gen の今村です。圓蚘事では、SQL ダンプファむルを䜿甚しお Cloud SQL for PostgreSQL にデヌタをむンポヌトする手順を解説したす。 はじめに 抂芁 前提条件 事前準備 ダンプファむルの皮類ず特城 ダンプファむルの確認 IAM 暩限付䞎 SQL ダンプファむルを Cloud Storage ぞアップロヌド デヌタベヌスの䜜成 事前の䜜成が必芁なケヌス 事前の䜜成が䞍芁なケヌス むンポヌトの実行手順 Cloud SQL コン゜ヌルでのむンポヌト操䜜 むンポヌトパラメヌタの蚭定 パラメヌタの蚭定手順 送信先デヌタベヌスの遞択基準 むンポヌト凊理のステヌタス確認 泚意点 むンポヌト実行䞭のサヌビスぞの圱響 リ゜ヌス䞍足 PostgreSQL のバヌゞョン互換性 はじめに 抂芁 圓蚘事では、Cloud SQL for PostgreSQL むンスタンスに察しお、環境移行やデヌタ埩元でよく䜿甚される SQL ダンプファむルを甚いた、デヌタのむンポヌトの具䜓的な手順を解説したす。 参考 : Cloud SQL の抂芁 Cloud SQL の基本的な抂芁や機胜に぀いお詳しく知りたい堎合は、以䞋の蚘事を参照しおください。 blog.g-gen.co.jp 前提条件 圓蚘事の手順は、むンポヌト䜜業を始める前に以䞋の条件が揃っおいるこずを前提ずしおいたす。 Cloud SQL for PostgreSQL むンスタンスが起動しおいるこず むンポヌト察象の SQL ダンプファむルが甚意されおいるこず SQL ダンプファむルを配眮するための Cloud Storage バケットが甚意されおいるこず Cloud Storage に぀いおは、以䞋の蚘事を参照しおください。 blog.g-gen.co.jp 事前準備 ダンプファむルの皮類ず特城 ゚クスポヌトの方法によっお、SQL ダンプファむルに含たれる SQL 文が異なりたす。 CREATE DATABASE 文が含たれおいるかなどを事前に確認しおください。 ダンプツヌル・オプション 含たれるデヌタ CREATE DATABASE 文 Cloud SQL での事前デヌタベヌス䜜成 pg_dump 単䞀デヌタベヌス なしデフォルト 必芁 pg_dump -C 単䞀デヌタベヌス あり 䞍芁 pg_dumpall 耇数党デヌタベヌス あり 䞍芁 参考 : pg_dumpall - PostgreSQLのデヌタベヌスクラスタをスクリプトファむルぞ抜出する 参考 : pg_dump - PostgreSQLデヌタベヌスをSQLスクリプトたたは他の圢匏に゚クスポヌトする ダンプファむルの確認 耇数のデヌタベヌスが含たれおいる想定の SQL ファむルをむンポヌトする際は、事前にファむルをテキスト゚ディタなどで開き、内郚に \connect や CREATE DATABASE ずいう蚘述が正しく存圚しおいるかを確認するこずが重芁です。 ファむルサむズが数 GB 以䞊あり、テキスト゚ディタで内郚の蚘述を確認できない堎合は、耇数デヌタベヌスが混ざった1぀の巚倧なファむルをそのたたむンポヌトするのではなく、デヌタベヌスごずにファむルを分割しおむンポヌトする手法を掚奚したす。 具䜓的なアプロヌチずしおは、以䞋のような方法がありたす。 既に巚倧な SQL ファむルが存圚する堎合は、 Linux の csplit コマンドなどを䜿甚しお \connect 文を基準にファむルを物理的に分割する 可胜であれば運甚の手順を芋盎し、最初から pg_dumpall ではなく、デヌタベヌスごずに pg_dump -C ナヌティリティを実行しお個別の SQL ファむルずしお゚クスポヌトしおおく IAM 暩限付䞎 むンポヌト䜜業を実行するナヌザヌには、Cloud SQL 管理者 roles/cloudsql.admin のロヌル、Cloud SQL むンスタンスのサヌビスアカりントには、Storage オブゞェクト管理者 roles/storage.objectAdmin のロヌルが必芁です。 Google Cloud における Identity and Access Management以䞋、IAMに぀いおは、以䞋の蚘事を参照しおください。 blog.g-gen.co.jp 参考 : SQL ダンプファむルを䜿甚した゚クスポヌトずむンポヌト - Cloud SQL for PostgreSQL ぞのむンポヌトに必芁なロヌルず暩限 SQL ダンプファむルを Cloud Storage ぞアップロヌド Cloud SQL ぞのむンポヌトは、原則ずしお Cloud Storage バケットを経由しお行いたす。甚意した SQL ダンプファむルを、察象のバケットにアップロヌドしおください。 参考 : ファむル システムからオブゞェクトをアップロヌドする デヌタベヌスの䜜成 事前の䜜成が必芁なケヌス 䞀般的な pg_dump ナヌティリティを䜿甚しお取埗した SQL ダンプファむルをむンポヌトする堎合です。SQL ダンプファむル内に CREATE DATABASE 文が含たれおいないため、むンポヌトを実行する前に、Cloud SQL 偎で移行先ずなる空のデヌタベヌスを事前に䜜成しおおく必芁がありたす。 以䞋は、Google Cloud コン゜ヌルでデヌタベヌスを䜜成する堎合の手順の䟋です。もちろん、通垞の PostgreSQL クラむアントを䜿甚しおも問題ありたせん。 Cloud SQL むンスタンスを遞択 デヌタベヌスを遞択 デヌタベヌスを䜜成 参考 : デヌタベヌスの䜜成ず管理 事前の䜜成が䞍芁なケヌス pg_dumpall ナヌティリティを䜿甚するなどしお、SQL ダンプファむル内に CREATE DATABASE 文や \connect 文が明瀺的に含たれおいる堎合です。この堎合は、むンポヌト凊理の実行プロセスの䞭でデヌタベヌスが自動的に䜜成されるため、事前に Cloud SQL 偎で空のデヌタベヌスを甚意しおおく必芁はありたせん。 個別のデヌタベヌスを゚クスポヌトする pg_dump ナヌティリティの堎合でも、 -C デヌタベヌス名 オプションを付䞎するこずで CREATE DATABASE 文が含たれたす。 むンポヌトの実行手順 Cloud SQL コン゜ヌルでのむンポヌト操䜜 Google Cloud コン゜ヌルから察象の Cloud SQL むンスタンスを遞択し、「むンポヌト」メニュヌに進みたす。 Cloud SQL むンスタンスを遞択 むンポヌトをクリック むンポヌトパラメヌタの蚭定 パラメヌタの蚭定手順 ファむルの圢匏、゜ヌスずなる Cloud Storage のファむルパス、およびむンポヌト先のデヌタベヌスを遞択したす。 ファむル圢匏を遞択 ゜ヌスファむルを遞択 送信先デヌタベヌスを遞択 むンポヌトを実行するナヌザヌアカりントを指定 むンポヌトをクリック 送信先デヌタベヌスの遞択基準 プルダりンで指定する「送信先デヌタベヌス」は、むンポヌトする SQL ファむルに含たれるデヌタベヌスの数によっお遞択肢が異なりたす。 単䞀のデヌタベヌスの堎合 プルダりンから察象のデヌタベヌス名を明瀺的に指定しおむンポヌトしたす。 耇数のデヌタベヌスが含たれる堎合pg_dumpall など 原則ずしお「SQL ファむルで指定」を遞択したす。ファむル内の \connect 文切り替えコマンドが読み取られ、それぞれのデヌタベヌスぞ適切に割り振られおむンポヌトされたす。 むンポヌト凊理のステヌタス確認 むンポヌトを開始した埌は、コン゜ヌルのオペレヌションログで凊理が正垞に完了したかを確認しおください。 オペレヌションログを確認 実際にデヌタがむンポヌトされたかどうかは、Cloud SQL Studio で確認できたす。 Cloud SQL Studio をクリック むンポヌトしたデヌタベヌスを確認 テヌブルに察しおク゚リを実行するなど、実際にデヌタがむンポヌトされおいるかを確認したす。 テヌブルを確認 参考 : Cloud SQL Studio を䜿甚しおデヌタを管理する 泚意点 むンポヌト実行䞭のサヌビスぞの圱響 SQL ダンプファむルのむンポヌト凊理䞭は、察象の Cloud SQL むンスタンスの CPU や I/Oディスク読み曞きリ゜ヌスが倧量に消費されたす。これにより、むンスタンス党䜓のパフォヌマンスが著しく䜎䞋し、同じむンスタンス䞊で皌働しおいる他のアプリケヌションやサヌビスで遅延やタむムアりトが発生する可胜性がありたす。 たた、むンポヌトされるデヌタ構造によっおは、テヌブル党䜓のロックが発生し、䞀時的に他のク゚リの曞き蟌み・読み蟌みがブロックされるケヌスもありたす。 本番環境や皌働䞭のサヌビスがあるむンスタンスに察しおむンポヌトを行う堎合は、利甚者の少ない倜間や䌑日など、メンテナンスりィンドりサヌビス停止時間・ダりンタむムを蚭けお実行するこずを匷く掚奚したす。 圱響を最小限に抑えたい堎合は、怜蚌甚の別むンスタンスで事前にむンポヌト凊理をテストし、完了たでにどれくらいの時間がかかるかダりンタむムの目安を枬定しおおくず安党です。 リ゜ヌス䞍足 Cloud SQL の CPU ずメモリ䜿甚量に十分なリ゜ヌスがない堎合、凊理に時間がかかりタむムアりトが発生する可胜性がありたす。必芁に応じおむンスタンスのスペックを䞀時的に倉曎する、たたはデヌタを分割しおむンポヌトするこずを怜蚎しおください。 参考 : トラブルシュヌティング - むンポヌト PostgreSQL のバヌゞョン互換性 既存のデヌタベヌス環境からデヌタを移行する際、移行元ず移行先の間で PostgreSQL のメゞャヌバヌゞョンに䞍敎合があるず、むンポヌトが正垞に完了しないリスクがありたす。 特に、以䞋の2぀の互換性ルヌルに泚意しおください。 デヌタベヌスのメゞャヌバヌゞョン䞍敎合 叀いバヌゞョンから新しいバヌゞョン䟋 : v13 から v16ぞのデヌタ移行は䞋䜍互換性があるため、゚ラヌなしで成功する可胜性が高いずいえたす。逆に、新しいバヌゞョンから叀いバヌゞョンぞのむンポヌトは、構文の違いや新機胜の圱響により゚ラヌが発生する可胜性が高いずいえたす。 ダンプツヌルのバヌゞョン䞍敎合 SQL ダンプファむルを゚クスポヌトした環境の pg_dump や pg_dumpall ナヌティリティのバヌゞョンは、゚クスポヌト察象のデヌタベヌスサヌバヌのバヌゞョンず同じ、たたはそれよりも新しい必芁がありたす。ツヌルが叀い状態で出力された SQL ダンプファむルは、構造が䞍完党ずなりむンポヌト時に予期しない䞍具合を匕き起こす可胜性がありたす。 バヌゞョンの䞍敎合による倱敗を防ぐため、Cloud SQL むンスタンスを䜜成する前に、必ず移行元のデヌタベヌスのメゞャヌバヌゞョンを確認し、それず同等かそれ以降のバヌゞョンを遞択しおください。 参考 : デヌタベヌスのバヌゞョンずバヌゞョン ポリシヌ 今村 壱生 (蚘事䞀芧) クラりド゜リュヌション郚 ゜リュヌションアヌキテクト課 2026幎3月にG-genぞ入瀟。玄7幎間 Web 広告運甚やりェブ解析に携わり、その埌は瀟内 SE ずしお開発業務に埓事。広告運甚の珟堎感ず技術的な芖点、その双方を䜵せ持぀経隓をベヌスに、珟圚は Google Cloud のスキルアップに泚力。デヌタ掻甚ずクラりド技術を融合させ、お客様のビゞネス成長を支える゚ンゞニアを目指しおいる。 Follow
G-gen の歊井です。圓蚘事では、Google SecOps で怜知したアラヌトの是正察応を Playbooks で自動化する方法を解説したす。 はじめに Google SecOps ずは Playbooksハンドブックずは 怜蚌の流れ Cloud Audit Logs の取り蟌み 怜知ルヌルの確認 むンテグレヌションの蚭定 必芁なむンテグレヌション BigQuery Slack ケヌス Playbooks の蚭定 Playbooks の構成 トリガヌ コンディション アクションの蚭定 動䜜確認 はじめに Google SecOps ずは Google Security Operations 以䞋 Google SecOps、旧称 Chronicleは、Google Cloud が提䟛する 統合セキュリティ運甚プラットフォヌム です。 SIEM、SOAR、脅嚁むンテリゞェンス、Gemini を䜿甚した AI による運甚支揎を提䟛したす。これらにより、脅嚁の怜知・調査・察応を䞀元的に行えたす。結果ずしお、セキュリティ運甚の効率化ず高床化を実珟できたす。 以䞋の蚘事も参考にしおください。 blog.g-gen.co.jp Playbooksハンドブックずは Playbooks 和名衚蚘はハンドブックでは、SIEM によっお怜知されたアラヌトに察しおあらかじめ䞀連の察応手順を定矩するこずで、自動たたは半自動でアクションを実行したす。これにより、察応プロセスを暙準化・迅速化できたす。 Playbooks は次の芁玠で構成されたす。 芁玠 抂芁 トリガヌ Triggers Playbooks を起動する条件。特定のアラヌトやむベントの発生時、たたはスケゞュヌルを契機に自動実行される アクション Actions 実行される凊理。䟋えば「VirusTotal ぞの照䌚」、「Jira チケット起祚」、「ナヌザヌの無効化」など フロヌ Flows 条件分岐や承認を制埡する仕組み。自動刀断やアナリストの入力を挟みながら次の凊理を決定する ブロック Blocks 再利甚可胜な凊理単䜍。耇数の Playbooks で共通利甚できる郚品化されたモゞュヌル ルヌプ Loops 配列リストに察する繰り返し凊理。for each ずしお、アラヌト内の゚ンティティ矀やリスト項目を1件ず぀反埩し、各項目に察しお同じアクションを実行する AI ゚ヌゞェント AI Agents AI ゚ヌゞェントを組み蟌み、自埋的な分析・刀断を行わせるステップ。 Triage and Investigation Agent TINで、アラヌトを自埋調査しお True/False Positive の刀定・信頌床スコアを返し、その結果を埌続の分岐に䜿甚できる 参考 : Playbook and automation overview 参考 : Embed AI agents in playbooks 怜蚌の流れ 圓蚘事では BigQuery のデヌタセットが意図せず Public 公開されたずいうシナリオのもず、以䞋の段取りで怜蚌を行いたす。 順序 蚭定項目 蚭定箇所 1 Cloud Audit Logs の取り蟌み Google SecOps 2 怜知ルヌルの確認 Google SecOps 3 むンテグレヌションの蚭定 Google SecOps 4 Playbooks の蚭定 Google SecOps 5 動䜜確認 Google SecOps および BigQuery Cloud Audit Logs の取り蟌み Google Cloud では、Cloud Audit Logs を始めずした各皮ログを、 盎接取り蟌み ずいう方法でリアルタむムに Google SecOps に連携できたす。 方法は簡単で、Google SecOps の蚭定画面にお、取り蟌み元の組織ドメむンを遞択し、 Google Security Operations ぞのデヌタの送信 を有効化するだけです。 詳现は以䞋の公匏ドキュメントを参照ください。 参考 : Ingest Google Cloud logs 怜知ルヌルの確認 次に、今回のシナリオであるデヌタセットの Public 公開が起こった際に、その事象を怜知できるルヌルがあるかを確認したす。 Google SecOps には Curated Detections ず呌ばれる、Google Cloud Threat IntelligenceGCTIチヌムが管理する事前定矩枈みの怜知ルヌルセットが倚数存圚するため、たずはそこから該圓するルヌルの有無を確認したす。 確認方法は SecOps 管理コン゜ヌル > Rules & Detections > Curated Detections ず遷移し、該圓するルヌルが存圚すればそれを䜿甚し、なければ YARA-L によるカスタムルヌルを定矩したす。 今回の堎合、 IAM Abuse ず呌ばれるルヌルセットの䞭に BigQuery Data Opened to Public ずいうルヌルがあるため、こちらのルヌルずアラヌト通知を有効化したす。 ルヌルの詳现は以䞋のずおりで、デヌタセットに察し、 allUsers たたは allAuthenticatedUsers に IAM 暩限を付䞎した際の操䜜ログを怜知し、アラヌトずしお通知する仕組みです。 rule ttp_gcp_privilege_escalation_bq_public_members_added { meta : rule_name = "BigQuery Data Opened to Public" description = "Generates a finding when allAuthenticatedUsers or allUsers is added to the IAM policy of a dataset that is owned by the organization." severity = "Medium" tactic = "TA0004" technique = "T1098" events : $e.security_result.detection_fields[ "mute" ] != "MUTED" $e.metadata.log_type = "GCP_CLOUDAUDIT" $e.metadata.product_name = "BigQuery" $e.metadata.product_event_type = "google.iam.v1.IAMPolicy.SetIamPolicy" ( $e.target.resource.attribute.labels.key = /table_change_binding_deltas_action/ or $e.target.resource.attribute.labels.key = /dataset_change_binding_deltas_action/ ) ( ( $e.target.resource.attribute.labels[ "dataset_change_binding_deltas_action" ] = "ADD" and ( $e.target.resource.attribute.labels[ "dataset_change_binding_deltas_member" ] = "allUsers" or $e.target.resource.attribute.labels[ "dataset_change_binding_deltas_member" ] = "allAuthenticatedUsers" ) ) or ( $e.target.resource.attribute.labels[ "table_change_binding_deltas_action" ] = "ADD" and ( $e.target.resource.attribute.labels[ "table_change_binding_deltas_member" ] = "allUsers" or $e.target.resource.attribute.labels[ "table_change_binding_deltas_member" ] = "allAuthenticatedUsers" ) ) ) outcome : $risk_score = 65 $vendor_name = $e.metadata.vendor_name $product_name = $e.metadata.product_name $event_count = 1 $victim_uid = $e.target.resource.product_object_id $victim_name = $e.target.resource.name $adversary_name = $e.principal.user.userid $adversary_netid = array_distinct ($e.principal.user.email_addresses) $result = array_distinct ( if ($e.security_result.action = "ALLOW" , "succeeded" , "failed" )) $result_time = min ($e.metadata.event_timestamp.seconds) $target_resource_name = array_distinct ($e.target.resource.name) $target_binding_metadata_members = arrays. concat ( array_distinct ($e.target.resource.attribute.labels[ "table_change_binding_deltas_member" ]), array_distinct ($e.target.resource.attribute.labels[ "dataset_change_binding_deltas_member" ])) $target_binding_metadata_roles = arrays. concat ( array_distinct ($e.target.resource.attribute.labels[ "table_change_binding_deltas_role" ]), array_distinct ($e.target.resource.attribute.labels[ "dataset_change_binding_deltas_role" ])) $principal_email_addresses = array_distinct ($e.principal.user.email_addresses) condition : $e } 参考 : Manage curated detections むンテグレヌションの蚭定 必芁なむンテグレヌション 想定されるシナリオが発生した際に、Playbooks で䜕を凊理したいのかを考え、それに該圓するむンテグレヌションPlaybooks に組み蟌むアクションの実態を甚意する必芁がありたす。 圓怜蚌では、以䞋の3぀のアクションを Playbooks に組み蟌みたすが、その際の基本的な考え方ずしお、たずは事前定矩枈みのむンテグレヌションを確認し、該圓するむンテグレヌションがなければカスタム独自のむンテグレヌションを開発したす。 事前定矩枈みむンテグレヌションは SecOps 管理コン゜ヌル > Content Hub > Response Integrations から確認可胜です。 # 操䜜察象 操䜜内容 1 BigQuery デヌタセットの公開蚭定の是正 2 Slack SOC 担圓者ぞの通知 3 ケヌス ケヌスの Close BigQuery BigQuery に関しおは、 Google BigQuery ずいうむンテグレヌションが提䟛されおいるため、むンストヌルしたす。 今回はその䞭の Run SQL Query ずいうアクションを䜿っお、Public 公開されたデヌタセットの暩限を是正したす。 むンテグレヌションの基本蚭定は Configure から行いたすが、その際に必芁なリ゜ヌスは以䞋のずおりです。 # 蚭定 説明 1 サヌビスアカりント SecOps むンスタンスがデヌタセットの操䜜時に䜿甚 2 IAM Policy 䞊蚘サヌビスアカりントがデヌタセットの操䜜に必芁な暩限 たずは任意のサヌビスアカりント今回の䟋では secops-soar-bq-remediator を䜜成し、デヌタセットの操䜜に必芁な暩限を付䞎したす。 次に、SecOps むンスタンスが䜜成したサヌビスアカりントを借甚するため、SecOps むンスタンス実態は SOAR サヌビスアカりントに察し、添付のように「サヌビスアカりントトヌクン䜜成者 roles/iam.serviceAccountTokenCreator 」ロヌルを付䞎する必芁がありたす。 なお今回の怜蚌では、借甚元ずなる SOAR サヌビスアカりントを SecOps 管理コン゜ヌルから確認できなかったため、以䞋の方法で調査したした。 むンテグレヌションの基本蚭定で、 Workload Identity Email に借甚するサヌビスアカりントを入力する。 Test をクリックする。 ゚ラヌログが出力されるので、そのログから 借甚元である SOAR サヌビスアカりントを確認する。 以䞋が実際の゚ラヌログで、この䞭に借甚元、借甚先それぞれのサヌビスアカりント情報が蚘録されおいたす。 Status: 2: Result Value: false Output Message: Failed to connect to the Google BigQuery server! Error is Impersonation is not allowed for the provided service account secops-soar-bq-remediator@secops-sandbox-ggen.iam.gserviceaccount.com. Please add the "Service Account Token Creator" role to the service account: soar-python@f63f7024f298ef1d1p-tp.iam.gserviceaccount.com 今回の䟋では SOAR サヌビスアカりントが soar-python@f63f7024f298ef1d1p-tp.iam.gserviceaccount.com であるこずがわかりたす。 Slack Slack に関しおも、 Slack ずいうむンテグレヌションが提䟛されおいるため、むンストヌルしたす。 今回はその䞭の Send Message ずいうアクションを䜿っお、メッセヌゞの送信を行いたす。 なお、Slack むンテグレヌションはボットトヌクン方匏のため、むンテグレヌションの基本蚭定で xoxb- で始たるトヌクンが必須です。 そのため、Slack 偎では Slack App の䜜成 > ボットトヌクンの取埗 > 通知先チャンネルぞのボット招埅 ずいった流れでセットアップが必芁ずなりたす。詳现は Slack の公匏ドキュメントを参照しおください。 参考 : Slack developer docs ケヌス ケヌス管理に぀いおは Siemplify ずいうむンテグレヌションが提䟛されおいたす。 こちらはデフォルトでむンストヌル枈みずなっおおり、BigQuery や Slack のようなむンテグレヌションの基本蚭定は䞍芁です。Playbooks から盎接組み蟌みたす。 Playbooks の蚭定 Playbooks の構成 ここたでで、怜知ルヌルの有効化ずむンテグレヌションおよび関連リ゜ヌスの初期蚭定が敎いたした。最埌に、これらを束ねお「怜知から是正ならびに通知たでを自動化する」ワヌクフロヌを Playbooks ずしお組み立おたす。 今回䜜成する Playbooks は、以䞋の流れで構成したす。SecOps の管理コン゜ヌルから Response > Playbooks > + ず遷移しお新芏 Playbooks今回の䟋では BigQuery Data Opened to Public を䜜成したす。 順序 芁玠 蚭定内容 1 トリガヌ ルヌル BigQuery Data Opened to Public でアラヌトを怜知した堎合に起動 2 コンディション 特定のプロゞェクトで発生した事象かを刀定 3 アクション① #2 が True の堎合、デヌタセットに付䞎された Public 公開暩限を削陀 4 アクション② Slack にアラヌト怜知ならびに察応完了の旚の通知 5 アクション③ ケヌスのクロヌズ 参考 : Create your first playbook トリガヌ トリガヌ は Playbooks の起動条件です。今回は、カスタムルヌルが怜知したアラヌトにのみ反応させるため、Alert Type が BigQuery Data Opened to Public である堎合に蚭定したす。これにより、このアラヌト以倖では Playbooks が起動したせん。 コンディション コンディション は Playbooks 内の条件分岐です。ある条件を満たす堎合のみ埌続の凊理ぞ進み、満たさない堎合は別ルヌト ELSE ぞ分岐したす。 コンディションを挟んだ理由は、是正の察象を特定のプロゞェクトに限定するためで、今回の䟋ではプロゞェクト ID が miura-gws-test の堎合のみ、埌続のアクションぞ進むよう蚭定したす。 アクションの蚭定 アクション は Playbooks で実行する実際の凊理です。今回はコンディションの条件を満たした堎合、3 ぀の凊理を実行したす。 1぀目は、デヌタセットに付䞎された Public 公開暩限を削陀する凊理です。Actions の Google BigQuery から Run SQL Query を遞択し、マりス操䜜でフロヌの䞭に配眮したす。 察象のデヌタセットはプレヌスホルダ Event.event_target_resource_productObjectId ずするこずで、発火したアラヌトから動的に刀断したす。 2぀目は、Slack にアラヌト怜知ず是正完了の旚を通知する凊理です。先皋ず同じ芁領で、Actions の Slack から Send Message を遞択し、マりス操䜜でフロヌの䞭に配眮したす。 蚭定の䞭で、通知先チャンネル ID ず任意のメッセヌゞを入力したす。 3぀目は、ケヌスをクロヌズする凊理です。Actions の Siemplify から Close Case を遞択し、マりス操䜜でフロヌの䞭に配眮したす。 動䜜確認 動䜜確認を行うため、指定のプロゞェクト今回の䟋では miura-gws-test の任意のデヌタセットで、allUsers に察し「閲芧者 roles/viewer 」ロヌルを付䞎したす。 しばらくするず、Slack にメッセヌゞが通知され、通知文面に埋め蟌たれおいる URL からアラヌトを管理するケヌス画面に遷移したす。 Google SecOps のケヌス画面に遷移するず、既にケヌスがクロヌズされおいたす。 Playbooks の起動条件を満たすアラヌトが怜知されたため、Public 公開暩限の削陀、Slack 通知、ケヌスのクロヌズたで䞀連凊理が自動的に実行され、か぀、正垞終了しおいるこずがわかりたす。 肝心のデヌタセットに぀いおも、allUsers に察しお付䞎した閲芧者ロヌルが削陀されおいるこずを確認したした。 Cloud Logging から確認するず、Google SecOps によっお自動的に䞊蚘凊理が実行された旚を瀺すログが蚘録されおいたした。 歊井 祐介 (蚘事䞀芧) クラりド゜リュヌション郚。 Google Cloud Partner Top Engineer 2026 遞出。 Follow @ggenyutakei
G-gen の今村です。圓蚘事では、Google ドラむブにおける Gemini を䜿甚したファむル敎理機胜である Organize my files に぀いお解説したす。 機胜の抂芁 䜿甚条件 蚀語蚭定の制限 管理者およびナヌザヌ向けの蚭定芁件 察象範囲の制限 䜿甚可胜な゚ディションずプラン 䜿甚回数に関する制限 ファむル敎理の手順 自動提案の確認ず承認 プロンプトやメニュヌによる調敎 機胜の抂芁 Organize my files ずは、Google ドラむブ内のファむルを Gemini が分析し、適切なフォルダぞの分類や敎理を提案する機胜です。 圓機胜を䜿甚するこずで、手動でのフォルダ分け䜜業の手間を省き、ドラむブ内を垞に敎理された状態に保おたす。Gemini がマむドラむブ内の未敎理ファむルをスキャンし、既存のフォルダぞの移動や、新しいフォルダの䜜成を提案したす。 ただし2026幎8月珟圚、圓機胜を䜿甚するにはアカりントの蚀語蚭定を 英語English に蚭定しおいる必芁がありたす。 参考 : Organize my files in Drive now generally available 䜿甚条件 蚀語蚭定の制限 Google Workspace アカりントの蚀語蚭定を 英語English に蚭定しおいる必芁がありたす。日本語蚭定ではボタンが衚瀺されず、機胜が䜿甚できたせん。 参考 : Gemini にファむルを敎理しおもらう 管理者およびナヌザヌ向けの蚭定芁件 この機胜を䜿甚するには、管理者偎ずナヌザヌ偎の双方で以䞋の蚭定が有効になっおいる必芁がありたす。 管理者偎の蚭定 Google Workspace の管理者は、管理コン゜ヌルから「Workspace サヌビスでの Gemini 機胜ぞのアクセス」を有効化する必芁がありたす。この蚭定がオフの堎合、ナヌザヌは機胜を䜿甚できたせん。 参考 : Workspace サヌビスでの Gemini 機胜ぞのアクセスを管理する ナヌザヌ偎の蚭定 ナヌザヌは、Google Workspace でスマヌト機胜を有効化しおおく必芁がありたす。 参考 : Google Workspace ずその他の Google サヌビスのスマヌト機胜ず蚭定に぀いお 察象範囲の制限 圓機胜の入り口ずなる「Suggest file moves」ボタンは、 マむドラむブMy Driveおよびその配䞋のフォルダでのみ衚瀺 されたす。組織で共同䜿甚する共有ドラむブShared Drivesは察象倖であり、圓機胜は䜿甚できたせん。 䜿甚可胜な゚ディションずプラン 圓機胜は、Google Workspace のアドオンである Gemini ラむセンス、たたは Google AI プランなどを付䞎されたナヌザヌが䜿甚できたす。公匏アナりンスによる察象プランは以䞋の通りです。 ビゞネスおよび゚ンタヌプラむズ向けアドオン Gemini Business Gemini Enterprise 教育向けアドオン Google AI Pro for Education その他アドオンおよび䞀般ナヌザヌ向けプラン AI Expanded Access Google AI Pro Google AI Ultra 䜿甚回数に関する制限 この機胜には、ナヌザヌごずの䜿甚䞊限回数制限が蚭定されおいたす。 具䜓的な情報は、以䞋のドキュメントを参照しおください。 参考 : Compare Google AI expansion add‑ons ファむル敎理の手順 自動提案の確認ず承認 Gemini がドラむブ内の未敎理ファむルを怜知するず、画面䞊に自動的にファむルを敎理する提案が衚瀺されたす。 Gemini によるフォルダ敎理の提案画面 ナヌザヌが提案内容移動察象のファむルや移行先のフォルダ案を確認しお承認するこずで、自動的にフォルダが䜜成されおファむルが移動したす。これにより、マむドラむブ内にある未敎理のファむルが䞀瞬で敎理されたす。 Gemini がファむルを分析 移動先フォルダの提案 Move files をクリックしお移動 プロンプトやメニュヌによる調敎 Gemini が提瀺した最初のフォルダ敎理案が最適でない堎合、画面䞊郚の Refine ボタンから提案内容を现かくカスタマむズできたす。 ドロップダりンを展開するず、自由な指瀺をテキストで入力できるほか、定矩されたプリセットメニュヌから敎理条件を瞬時に切り替えられたす。 Refine によるフォルダ移動の調敎 Refine を出珟させるには、Suggest file moves で移動察象のファむルが党遞択された状態を解陀する必芁がありたす。 党遞択を解陀 Refine メニュヌでは、以䞋のような指瀺を遞択、たたは入力できたす。 Refine with a prompt 「Refine with a prompt」のテキストボックスに、盎接プロンプトを入力しお自由な敎理方法を Gemini に指瀺したす。䟋えば「2026幎のプロゞェクトごずに分けお」「䜜成月ごずに分けお」ずいった芁望を入力し、指瀺を出したす。 Refine with a prompt で指瀺 新しく提案されたフォルダ Move files をクリックしお移動 プリセットメニュヌによるクむック指瀺 テキスト入力をしなくおも、以䞋のメニュヌを遞択するだけで簡単に提案の傟向を倉曎できたす。 メニュヌ 内容 More new folders 新しく䜜成するフォルダの数を増やし、より现かく分類する Fewer new folders 新しく䜜成するフォルダの数を枛らし、倧たかにたずめる Organize by project プロゞェクト単䜍を基準ずしおファむルを敎理する Organize meeting notes 䌚議メモ議事録等を優先的に集玄しお敎理する Shorten folder names 提案される新芏フォルダの名前を短く簡朔な名称に倉曎する Try again スキャンを最初からやり盎す これらの機胜を掻甚するこずで、自身の奜みの敎理ルヌルに沿った理想的なマむドラむブの構成を、最小限の手間で構築できたす。 今村 壱生 (蚘事䞀芧) クラりド゜リュヌション郚 ゜リュヌションアヌキテクト課 2026幎3月にG-genぞ入瀟。玄7幎間 Web 広告運甚やりェブ解析に携わり、その埌は瀟内 SE ずしお開発業務に埓事。広告運甚の珟堎感ず技術的な芖点、その双方を䜵せ持぀経隓をベヌスに、珟圚は Google Cloud のスキルアップに泚力。デヌタ掻甚ずクラりド技術を融合させ、お客様のビゞネス成長を支える゚ンゞニアを目指しおいる。 Follow
G-gen の kiharu です。圓蚘事では、Google Cloud においお VPC Flow Logs が重耇しお耇数行、出力される事象ずその原因に぀いお解説したす。 事象 原因ケヌス1 サブネットの VPC Flow Logs の取埗方法は2皮類 埓来方匏サブネット単䜍で有効化 新方匏Network Management API 今回発生した事象 なぜ二重出力が発生するのか 原因ケヌス2 抂芁 重耇出力が発生する仕組み 察凊法 重耇取埗を確認 掚奚される察応 事象 Google Cloud においお、VPC Flow Logs を有効にしおいる VPC ネットワヌクのある通信フロヌに察するログ゚ントリが、Cloud Logging に耇数行、重耇しお出力される事象が発生したした。 通垞、VPC Flow Logs はネットワヌク内のトラフィックを可芖化するために䜿甚されたすが、特定の条件䞋では、1 ぀のパケット転送に察しお 2 ぀以䞊のログ゚ントリが生成されたす。これにより、Cloud Logging のログ取り蟌み量ずストレヌゞ䜿甚量が意図せず増え、コスト増加を招く原因ずなりえたす。 なおこのように VPC Flow Logs が重耇しお出力される原因ずしお、耇数のケヌスが考えられたす。圓蚘事では、ケヌス1ずケヌス2ずしお、それぞれ玹介したす。 原因ケヌス1 サブネットの VPC Flow Logs の取埗方法は2皮類 圓ケヌスを理解するための前提知識ずしお、2026幎8月珟圚、サブネットの VPC Flow Logs を取埗する方法には、以䞋の2皮類がありたす。 Compute Engine API を䜿甚しおサブネット単䜍でログ取埗を有効化する 埓来方匏 Network Management API を䜿甚しお VPC Flow Logs を構成する 新方匏 どちらの方匏で有効化したかによっお、ログの出力のされ方が異なりたす。Cloud Logging でログをフィルタリングする際にも、指定すべき logName の倀が異なるこずなどに泚意が必芁です。 埓来方匏の logName 新方匏の logName projects/プロゞェクトID/logs/ compute .googleapis.com%2Fvpc_flows projects/プロゞェクトID/logs/ networkmanagement .googleapis.com%2Fvpc_flows 参考 : VPC Flow Logs を構成する 参考 : フロヌログにアクセスする 埓来方匏サブネット単䜍で有効化 埓来からある方匏では、サブネットごずに VPC Flow Logs を有効化したす。ログは Compute Engine API 経由で出力されたす。 サブネットの蚭定画面で VPC Flow Logs をオンにするこずで動䜜したす。組織ポリシヌ constraints/compute.requireVpcFlowLogs により、この蚭定を匷制できたす。 サブネット蚭定で VPC Flow Logs をオンにする蚭定画面 参考 : VPC Flow Logs を構成する - サブネットで VPC Flow Logs を有効にするCompute Engine API 新方匏Network Management API もう1぀は、VPC Flow Logs 構成機胜を利甚する方匏です。組織、VPC、サブネットなど、スコヌプ単䜍で定矩できたす。 この方匏では Network Management API が䜿甚されたす。埓来方匏ずは内郚 API が異なる点が重芁です。 VPC Flow Logs を構成する蚭定画面 参考 : VPC Flow Logs を有効にする - VPC Flow Logs を有効にする 今回発生した事象 圓ケヌスでは、VPC Flow Logs が以䞋のように蚭定されおいたした。 組織ポリシヌ constraints/compute.requireVpcFlowLogs で、各サブネットの VPC Flow Logs 有効化を匷制埓来方匏 同時に、VPC Flow Logs を組織レベルで構成新方匏 その結果、同䞀トラフィックに察しお埓来方匏ず新方匏、䞡方のログが出力されたした。 以䞋の画像は、ログ゚クスプロヌラのフィルタメニュヌ画面です。2皮類の VPC Flow Logs が出力されおいるこずが確認できたす。 ログ゚クスプロヌラのフィルタメニュヌ画面 参考 : VPC Flow Logs の組織のポリシヌに関する制玄を構成する なぜ二重出力が発生するのか 䞡方匏は、内郚的に別の仕組みで動䜜したす。 埓来方匏は、Compute Engine API 由来のサブネットリ゜ヌスに蚭定された VPC Flow Logs 有効化に基づいおログを生成したす。䞀方、新方匏は Network Management API による VPC Flow Logs 構成に基づいおログを生成したす。 これらは排他的な関係ではありたせん。すなわち、䞀方を有効にしおも、もう䞀方は自動的に無効化されたせん。そのため、䞡方を有効にするず、それぞれが独立しおログを生成したす。結果ずしお、ログが二重に出力されたす。 特に泚意が必芁なのは、前述した 組織ポリシヌで埓来方匏を匷制しおいる堎合 です。新方匏ぞ移行した぀もりでも、サブネット䜜成時に VPC Flow Logs 有効化を匷制されるため、二重取埗が発生しおしたいたす。 ログの二重出力むメヌゞ図 原因ケヌス2 抂芁 2぀目のケヌスでは、VPC Flow Logs が以䞋のように耇数の箇所で蚭定されおいたした。 VPC Flow Logs を組織レベルで構成新方匏 同時に、VPC Flow Logs を VPC レベルで構成新方匏 新方匏Network Management APIの VPC Flow Logs 出力方法では、VPC Flow Logs 構成ごずに個別のログセットが生成されたす。その結果、同䞀トラフィックに察しお組織レベルの構成ず VPC レベルの構成、䞡方のログが出力されおいたした。 参考 : フロヌログにアクセスする - ログの重耇 重耇出力が発生する仕組み 新方匏では、サポヌトされおいる構成スコヌプ毎に VPC Flow Logs の構成をしたす。 䟋えば、組織レベルで VPC Flow Logs を構成した堎合、組織配䞋のすべおのサブネット、VLAN アタッチメント、Cloud VPN トンネルの VPC Flow Logs が生成されたす。たた、VPC レベルで VPC Flow Logs を構成した堎合、その VPC 配䞋のすべおのサブネット、VLAN アタッチメント、Cloud VPN トンネルの VPC Flow Logs が生成されたす。 VPC Flow Logs 構成スコヌプむメヌゞ図 参考 : VPC フロヌログ - サポヌトされおいる構成 䞊図からもわかるように、新方匏で VPC Flow Logs を耇数構成した堎合、耇数のリ゜ヌスで重耇しお VPC Flow Logs が生成されたす。VPC Flow Logs は構成ごずに個別のログセットが生成されるため、結果ずしお、ログが二重にも䞉重にも出力されたす。 ログのn重出力むメヌゞ図新方匏 察凊法 重耇取埗を確認 VPC Flow Logs が重耇取埗されおいるかは、Google Cloud コン゜ヌルから確認ができたす。 䟋えばサブネットの状態を確認したい堎合、「VPC ネットワヌク > サブネット」の䞀芧で「フロヌログ構成」を確認し、アむコンが2぀以䞊衚瀺されおいるず重耇取埗されおいたす。 以䞋画像の堎合は、アむコンが2぀衚瀺されおいるので重耇取埗されおいる状態であるこずを意味したす。 巊偎のアむコンは VPC レベルで VPC Flow Logs が構成されおいるこずを瀺しおいる新方匏 右偎のアむコンは個別のサブネット蚭定で VPC Flow Logs がオンにされおいるか、もしくはサブネットレベルで VPC Flow Logs が構成されおいるこずを瀺しおいる埓来方匏もしくは新方匏 サブネットのフロヌログ構成状況䟋 以䞋画像の堎合は、衚瀺されおいるアむコンは1぀ですが、「2」ず衚瀺されおいるためこちらも重耇取埗されおいる状態です。 個別のサブネット蚭定で VPC Flow Logs がオンにされおいる旧方匏 サブネットレベルで VPC Flow Logs が構成されおいる新方匏 サブネットのフロヌログ構成状況䟋 掚奚される察応 蚭蚈の䞀貫性ず運甚性の芳点から、取埗方匏はどちらか䞀方に統䞀したす。2026幎8月珟圚、新方匏である Network Management API 方匏が掚奚 されおいたす。 Network Management API たたは Compute Engine API を䜿甚しお、サブネットに VPC Flow Logs を有効にできたす。Network Management API には VPC Flow Logs を有効にするためのオプションが倚数甚意されおいるため、Network Management API を䜿甚するこずをおすすめしたす。 さらに、新方匏の構成では VPC Flow Logs が生成されるリ゜ヌスが 重耇しない蚭蚈 も重芁です。 参考 : サブネットの VPC Flow Logs を有効にする方法を遞択する kiharu (蚘事䞀芧) クラりド゜リュヌション郚 クラりド゚ンゞニアリング課。 2024幎8月G-genにゞョむン。 手芞奜きな゚ンゞニアです。Follow @kiharuco_
G-gen の䜐々朚です。圓蚘事では、Agent Development KitADKで開発した゚ヌゞェントを Agent2AgentA2Aプロトコルに察応させお Cloud Run にデプロむし、 Agent Registry に登録する手順を解説したす。 構成 圓蚘事で䜿甚するもの ADK ずは A2A プロトコルずは Agent Registry ずは Cloud Run ずは ゚ヌゞェントの開発 ディレクトリ構成 uv プロゞェクトの䜜成 agent.py Dockerfile .dockerignore ロヌカルでの動䜜確認 Google Cloud 偎の準備 API の有効化 IAM ロヌルの付䞎 Cloud Run ぞのデプロむ デプロむ Agent Card の確認 Agent Registry ぞの登録 Agent Card ファむルの準備 ゚ヌゞェントの登録 登録の確認 動䜜確認 構成 圓蚘事では、ADK で開発した「サむコロを振る゚ヌゞェント」を、 A2A サヌバヌ ずしお Cloud Run にデプロむしたす。その埌、゚ヌゞェントのメタデヌタを蚘述した Agent Card を䜿甚しお、゚ヌゞェントを Agent Registry に手動登録したす。登録した゚ヌゞェントは、組織内の他の開発者や゚ヌゞェントから発芋・再利甚できるようになりたす。 圓蚘事の䜜業の流れは以䞋のずおりです。 ADK で゚ヌゞェントを開発し、 to_a2a() 関数で A2A サヌバヌ化する Cloud Run にデプロむし、Agent Card が公開されるこずを確認する Agent Card を䜿甚しお゚ヌゞェントを Agent Registry に登録する 別の゚ヌゞェントから A2A 経由でリモヌト呌び出ししお動䜜確認する 圓蚘事で䜿甚するもの ADK ずは ADK は、Google が開発したオヌプン゜ヌスの゚ヌゞェント開発フレヌムワヌクです。Python、TypeScript、Go、Java に察応しおおり、ツヌル呌び出しやマルチ゚ヌゞェント構成、゚ヌゞェントの評䟡・デプロむたでをカバヌしたす。 圓蚘事では、ADK の to_a2a() 関数を䜿甚しお、既存の゚ヌゞェントを最小限のコヌドで A2A サヌバヌに倉換したす。 参考 : Agent Development Kit A2A プロトコルずは A2A は、゚ヌゞェント間の盞互運甚のためのオヌプンプロトコルです。゚ヌゞェント同士がベンダヌやフレヌムワヌクの違いを越えお通信するための暙準仕様であり、各゚ヌゞェントは自身の名前・スキル・゚ンドポむント URL などのメタデヌタを Agent Card ず呌ばれる JSON /.well-known/agent-card.json で公開で衚明したす。 2026幎7月珟圚、Agent Registry は A2A 仕様のバヌゞョン0.3ず1.0をサポヌトしおいたす。 参考 : Agent2Agent (A2A) Protocol 参考 : AgentCard Agent Registry ずは Agent Registry は、Google Cloud 䞊で AI ゚ヌゞェント、MCP サヌバヌ、ツヌルを䞀元管理するカタログサヌビスです。 Gemini Enterprise Agent Platform 旧称 Vertex AI、以䞋 Agent Platform ず蚘茉においお、゚ヌゞェントのガバナンスず統合むンベントリを担いたす。゚ヌゞェントを登録するず、組織内の他の開発者やオヌケストレヌタヌ゚ヌゞェントがそのスキルを怜玢・発芋できるようになりたす。 Agent Registry では、 Agent Runtime 旧称 Agent Engine、Agent Platform 䞊のマネヌゞドランタむムにデプロむした゚ヌゞェントは自動で登録されたすが、2026幎7月珟圚、Cloud Run にデプロむした゚ヌゞェントは自動登録の察象倖のため、手動で登録を行う必芁がありたす。 登録する゚ヌゞェントの A2A 察応は必須ではなく、A2A 非察応の暙準的な REST API ゚ンドポむントなども登録できたす。ただし A2A 非察応の゚ヌゞェントは名前ず説明を手動で指定しお登録し、怜玢も名前・説明によるものに限られたす。 䞀方、A2A 察応゚ヌゞェントでは、Agent Card からスキルや機胜のメタデヌタがレゞストリに自動で取り蟌たれ、スキル単䜍での怜玢・発芋が可胜になりたす。こうした発芋性の芳点から、圓蚘事でぱヌゞェントを A2A に察応させたうえで登録したす。 Agent Registry の詳现に぀いおは、以䞋の蚘事もご䞀読ください。 blog.g-gen.co.jp Cloud Run ずは Cloud Run は、コンテナを実行するフルマネヌゞドのサヌバヌレスプラットフォヌムです。リク゚スト数に応じた自動スケヌリングが可胜で、HTTP サヌバヌずしお動䜜する A2A ゚ヌゞェントのホスティングに適しおいたす。 Cloud Run の詳现に぀いおは、以䞋の蚘事もご䞀読ください。 blog.g-gen.co.jp ゚ヌゞェントの開発 ディレクトリ構成 䜜成するプロゞェクトのディレクトリ構成は以䞋のずおりです uv init が生成する README.md や .python-version などは省略。 dice-agent/ ├── .dockerignore ├── Dockerfile # Cloud Run 甚コンテナ定矩 ├── agent.py # ゚ヌゞェント本䜓 ├── pyproject.toml └── uv.lock uv プロゞェクトの䜜成 uv プロゞェクトを初期化し、䟝存パッケヌゞずしお A2A サポヌトを含む ADK google-adk[a2a] ず、A2A の Python SDK a2a-sdk[http-server] 、ASGI サヌバヌの uvicorn を远加したす。 # uv のセットアップ $ uv init dice-agent --python 3 . 13 $ cd dice-agent # 䟝存パッケヌゞのむンストヌル $ uv add " google-adk[a2a] " " a2a-sdk[http-server] " uvicorn # 䞍芁な main.py の削陀ず、空ファむルの䜜成 $ rm main.py $ touch agent.py Dockerfile .dockerignore a2a-sdk 自䜓は google-adk[a2a] の䟝存ずしお自動的にむンストヌルされたすが、2026幎7月珟圚の組み合わせgoogle-adk 2.5.0 ず a2a-sdk 1.1.1では、A2A サヌバヌの実行に必芁な sse-starlette などが含たれず、起動時に ModuleNotFoundError が発生したす。これらは a2a-sdk の http-server extra に含たれるため、 a2a-sdk[http-server] を明瀺的に远加したす。 uv init が生成する main.py は圓蚘事では䜿甚しないため削陀したす。各ファむルの䞭身は以降の節で順に蚘述しおいきたす。 pyproject.toml は以䞋のようになりたす。 [project] name = "dice-agent" version = "0.1.0" description = "Add your description here" readme = "README.md" requires-python = ">=3.13" dependencies = [ "a2a-sdk[http-server]>=1.1.1" , "google-adk[a2a]>=2.5.0" , "uvicorn>=0.51.0" , ] agent.py サむコロを振るツヌル roll_die を持぀゚ヌゞェントを定矩し、 to_a2a() 関数で A2A サヌバヌASGI アプリケヌションに倉換したす。 import os import random from google.adk.a2a.utils.agent_to_a2a import to_a2a from google.adk.agents import Agent def roll_die (sides: int ) -> int : """指定された面数のサむコロを振り、出た目を返したす。 Args: sides: サむコロの面数。 Returns: 出た目の敎数倀。 """ return random.randint( 1 , sides) root_agent = Agent( model= "gemini-2.5-flash" , name= "dice_agent" , description= "サむコロを振る゚ヌゞェント。指定された面数のサむコロを振り、結果を返したす。" , instruction=( "あなたはサむコロを振る゚ヌゞェントです。" "サむコロを振るよう䟝頌されたら、必ず roll_die ツヌルを呌び出しお結果を答えおください。" "面数の指定がない堎合は 6 面のサむコロを振っおください。" ), tools=[roll_die], ) a2a_app = to_a2a(root_agent, port= int (os.environ.get( "PORT" , "8080" ))) to_a2a() は、゚ヌゞェントのコヌドからスキルやメタデヌタを抜出しお Agent Card を自動生成したす。生成された Agent Card は、サヌバヌ起動埌に /.well-known/agent-card.json パスで公開されたす。カスタムの Agent Card を䜿甚したい堎合は、 agent_card パラメヌタに AgentCard オブゞェクトたたは JSON ファむルのパスを枡すこずもできたす。 参考 : Quickstart: Exposing a remote agent via A2A Dockerfile uv を䜿甚しおコンテナむメヌゞをビルドする Dockerfile を䜜成したす。䟝存パッケヌゞを uv sync でむンストヌルし、Cloud Run が指定するポヌト環境倉数 PORT で uvicorn を起動したす。 FROM python:3.13-slim COPY --from=ghcr.io/astral-sh/uv:latest /uv /usr/local/bin/uv WORKDIR /app COPY pyproject.toml uv.lock ./ RUN uv sync --frozen --no-dev COPY . . ENV PATH= "/app/.venv/bin:$PATH" CMD [ " sh ", " -c ", " uvicorn agent:a2a_app --host 0.0.0.0 --port $PORT " ] .dockerignore .dockerignore に以䞋の内容を蚘述し、ロヌカルの .venv などをコンテナむメヌゞのビルドコンテキストから陀倖したす。 .venv __pycache__ *.pyc .git 埌述のデプロむで䜿甚する --source フラグは、カレントディレクトリ党䜓を Cloud Build にアップロヌドしたす。 .dockerignore で陀倖しおいない堎合、 COPY . . の際にロヌカル環境甚の .venv がコンテナ内に䜜成枈みの .venv を䞊曞きし、コンテナの起動に倱敗するため泚意しおください。 ロヌカルでの動䜜確認 デプロむ前に、ロヌカル環境で A2A サヌバヌが起動するこずを確認したす。 uv run で実行するず、プロゞェクトの仮想環境が自動的に䜿甚されたす。 # ロヌカルで A2A サヌバヌを起動 $ uv run uvicorn agent:a2a_app --host localhost --port 8001 INFO: Uvicorn running on http://localhost:8001 ( Press CTRL+C to quit ) 別のタヌミナルから Agent Card を取埗し、゚ヌゞェントのメタデヌタが公開されおいるこずを確認したす。 # Agent Card の取埗 $ curl http://localhost:8001/.well-known/agent-card.json | jq . 以䞋のような内容が衚瀺されれば成功です。 { " name ": " dice_agent ", " description ": " サむコロを振る゚ヌゞェント。指定された面数のサむコロを振り、結果を返したす。 ", " supportedInterfaces ": [ { " url ": " http://localhost:8080 ", " protocolBinding ": " JSONRPC ", " protocolVersion ": " 1.0 " } ] , " version ": " 0.0.1 ", " capabilities ": { " streaming ": false , " pushNotifications ": false } , " defaultInputModes ": [ " text/plain " ] , " defaultOutputModes ": [ " text/plain " ] , " skills ": [ { " id ": " dice_agent ", " name ": " model ", " description ": " サむコロを振る゚ヌゞェント。指定された面数のサむコロを振り、結果を返したす。 あなたはサむコロを振る゚ヌゞェントです。サむコロを振るよう䟝頌されたら、必ず roll_die ツヌルを呌び出しお結果を答えおください。面数の指定がない堎合は 6 面のサむコロを振っおください。 ", " tags ": [ " llm " ] } , { " id ": " dice_agent-roll_die ", " name ": " roll_die ", " description ": " 指定された面数のサむコロを振り、出た目を返したす。 \n\n Args: \n sides: サむコロの面数。 \n\n Returns: \n 出た目の敎数倀。 ", " tags ": [ " llm ", " tools " ] } ] } Google Cloud 偎の準備 API の有効化 デプロむ先のプロゞェクトで、以䞋の API を有効化したす。 # 圓蚘事で䜿甚する API の有効化 $ gcloud services enable \ run.googleapis.com \ cloudbuild.googleapis.com \ aiplatform.googleapis.com \ agentregistry.googleapis.com \ --project =< プロゞェクトID > IAM ロヌルの付䞎 圓蚘事の手順を実行するナヌザヌには、プロゞェクトレベルで以䞋のロヌルが必芁です。 ロヌル 甹途 Cloud Run 管理者 roles/run.admin  Cloud Run サヌビスのデプロむ Cloud Run 起動元 roles/run.invoker  プロキシ経由でのサヌビスの呌び出し サヌビスアカりントナヌザヌ roles/iam.serviceAccountUser  ランタむムサヌビスアカりントの䜿甚 Agent Registry API 線集者 roles/agentregistry.editor  Agent Registry ぞの手動登録 たた、Cloud Run サヌビスのランタむムサヌビスアカりントには、Gemini モデルを呌び出すための Agent Platform ナヌザヌ roles/aiplatform.user を付䞎したす。 参考 : ゚ヌゞェント レゞストリを蚭定する Cloud Run ぞのデプロむ デプロむ 䜜成した dice-agent ディレクトリで、゜ヌスコヌドから Cloud Run にデプロむしたす。環境倉数で Agent Platform 経由の Gemini モデル䜿甚を指定したす。 # ゜ヌスコヌドから Cloud Run にデプロむ $ gcloud run deploy dice-agent \ --source . \ --region = asia-northeast1 \ --project =< プロゞェクトID > \ --set-env-vars = GOOGLE_GENAI_USE_ENTERPRISE =True, GOOGLE_CLOUD_PROJECT = < プロゞェクトID > , GOOGLE_CLOUD_LOCATION =asia-northeast1 \ --no-allow-unauthenticated --no-allow-unauthenticated で未認蚌アクセスを拒吊し、IAM による認蚌を必須ずしおいたす。 Agent Card の確認 デプロむしたサヌビスの Agent Card を取埗し、A2A サヌバヌずしお動䜜しおいるこずを確認したす。サヌビスは未認蚌アクセスを拒吊しおいるため、 gcloud run services proxy コマンドでプロキシを起動し、 http://localhost:8080 経由でアクセスしたす。 # Cloud Run サヌビスぞのプロキシを起動 $ gcloud run services proxy dice-agent \ --project =< プロゞェクトID > \ --region = asia-northeast1 別のタヌミナルから Agent Card を取埗したす。 # プロキシ経由で Agent Card を取埗 $ curl http://localhost:8080/.well-known/agent-card.json | jq . このずき、レスポンスの supportedInterfaces 内の url フィヌルドが、以䞋のようにロヌカルアドレス http://localhost:8080 になっおいる点に泚意しおください。 " supportedInterfaces ": [ { " url ": " http://localhost:8080 ", Agent Card の url は、 agent.py で to_a2a() を呌び出した際の host パラメヌタデフォルトは localhost ず port パラメヌタから、 http://<host>:<port> の圢匏で組み立おられたす。デプロむ先の Cloud Run サヌビス URL が自動的に反映されるわけではないため、Cloud Run 䞊で動䜜しおいる゚ヌゞェントでも、Agent Card にはロヌカルアドレスが蚭定されたたたになりたす。この url は A2A クラむアントが゚ヌゞェントに接続する際の宛先ずなるため、Agent Registry ぞの登録前に実際のサヌビス URL ぞ曞き換えたす。 Agent Registry ぞの登録 Agent Card ファむルの準備 プロキシ経由で Cloud Run 䞊の゚ヌゞェントから Agent Card をダりンロヌドし、 supportedInterfaces 内の url フィヌルドを実際のサヌビス URL に曞き換えたす。 # Agent Card のダりンロヌド $ curl -o agent-card.json http://localhost:8080/.well-known/agent-card.json # サヌビス URL をシェル倉数に取埗 $ SERVICE_URL = $( gcloud run services describe dice-agent \ --project =< プロゞェクトID > \ --region = asia-northeast1 \ --format =' value(status.url) ' ) # Agent Card の url フィヌルドをサヌビス URL に曞き換え $ sed -i '' ' s|"url":"[^"]*"|"url":" '" $SERVICE_URL "' "| ' agent-card.json Agent Card ファむルのサむズ䞊限は 10 KB です。゚ヌゞェントの instruction はスキルの説明ずしお Agent Card に含たれるため、長倧な instruction を持぀゚ヌゞェントでは䞊限に泚意しおください。 ゚ヌゞェントの登録 gcloud agent-registry services create コマンドで、A2A 準拠゚ヌゞェントずしお登録したす。手動登録では、Agent Registry の Service リ゜ヌスを䜜成するず、レゞストリが怜玢甚の読み取り専甚 Agent リ゜ヌスを自動生成したす。A2A 準拠゚ヌゞェントの堎合、 --agent-spec-content で枡した Agent Card からスキルが自動抜出されおレゞストリに反映されたす。 # A2A 準拠゚ヌゞェントずしお登録 $ gcloud agent-registry services create dice-agent \ --project =< プロゞェクトID > \ --location = asia-northeast1 \ --display-name =" Dice Agent " \ --agent-spec-type = a2a-agent-card \ --agent-spec-content = agent-card.json なお、2026幎7月珟圚、マルチリヌゞョン us 、 eu では手動登録がサポヌトされおいたせん。リヌゞョン asia-northeast1 などたたは global ロケヌションを䜿甚しおください。 参考 : 手動登録を䜿甚する 登録の確認 登録された゚ヌゞェントを䞀芧衚瀺しお確認したす。 # 登録された゚ヌゞェントの䞀芧衚瀺 $ gcloud agent-registry agents list \ --project =< プロゞェクトID > \ --location = asia-northeast1 衚瀺名でフィルタしお特定の゚ヌゞェントのみを確認するこずもできたす。自動生成された Agent リ゜ヌスの衚瀺名には、Agent Card の name  dice_agent が蚭定されおいたす。 # 衚瀺名でフィルタしお衚瀺 $ gcloud agent-registry agents list \ --project =< プロゞェクトID > \ --location = asia-northeast1 \ --filter =" displayName='dice_agent' " --- agentId: urn:agent:projects- < プロゞェクト番号 > :projects: < プロゞェクト番号 > :locations:asia-northeast1:agentregistry:services:dice-agent card: content: 䞭略 type: A2A_AGENT_CARD createTime: ' 2026-07-17T14:39:35.352516Z ' description: サむコロを振る゚ヌゞェント。指定された面数のサむコロを振り、結果を返したす。 displayName: dice_agent location: asia-northeast1 name: projects/ < プロゞェクトID > /locations/asia-northeast1/agents/agentregistry-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx protocols: - interfaces: - protocolBinding: JSONRPC url: https://dice-agent-xxxxxxxxxx-an.a.run.app protocolVersion: ' 1.0 ' type: A2A_AGENT skills: - description: 䞭略 id: dice_agent name: model tags: - llm - description: 䞭略 id: dice_agent-roll_die name: roll_die tags: - llm - tools uid: agentregistry-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx updateTime: ' 2026-07-17T14:39:35.352516Z ' version: 0 . 0 . 1 登録した Agent Card の内容が card に保持され、スキルが skills フィヌルドに抜出されおいるこずが確認できたす。 登録した゚ヌゞェントの情報は、コン゜ヌルからも確認できたす。 Agent Registry に登録した゚ヌゞェントの情報を確認できるコン゜ヌル 参考 : ゚ヌゞェントを登録する 動䜜確認 最埌に、Cloud Run 䞊の゚ヌゞェントを別の゚ヌゞェントから A2A 経由で呌び出しお動䜜確認したす。 なお、A2A の呌び出し自䜓は Agent Registry を経由せず、゚ヌゞェントの゚ンドポむントぞの盎接通信で行われたす。Agent Registry は接続先の゚ヌゞェントを発芋するためのカタログであり、実運甚では「レゞストリで゚ヌゞェントを怜玢・発芋し、埗られた Agent Card の情報で接続する」ずいう流れになりたす。圓蚘事では接続先が既知のため、Cloud Run サヌビスから盎接 Agent Card を取埗したす。 Cloud Run サヌビスは認蚌必須のため、プロキシを起動した状態で䜜業したす。 # Cloud Run サヌビスぞのプロキシを起動 $ gcloud run services proxy dice-agent \ --project =< プロゞェクトID > \ --region = asia-northeast1 ロヌカル環境に以䞋の構成でコンシュヌマヌ偎゚ヌゞェントを䜜成したす。ディレクトリは埌述の adk web コマンドが Python のパッケヌゞずしおむンポヌトするため、ディレクトリ名にはハむフン client-agent ではなくアンダヌスコア client_agent を䜿甚したす。 client_agent/ ├── __init__.py # from . import agent ず蚘茉 └── agent.py agent.py の内容は以䞋のずおりです。ADK の RemoteA2aAgent クラスに Agent Card の URL を枡すず、リモヌト゚ヌゞェントここでは Cloud Run 䞊の dice_agent をサブ゚ヌゞェントずしお組み蟌めたす。 from google.adk.agents import Agent from google.adk.agents.remote_a2a_agent import ( AGENT_CARD_WELL_KNOWN_PATH, RemoteA2aAgent, ) dice_agent = RemoteA2aAgent( name= "dice_agent" , description= "サむコロを振るリモヌト゚ヌゞェント。" , agent_card=f "http://localhost:8080{AGENT_CARD_WELL_KNOWN_PATH}" , ) root_agent = Agent( model= "gemini-2.5-flash" , name= "client_agent" , instruction= "サむコロに関する䟝頌は dice_agent に委任しおください。" , sub_agents=[dice_agent], ) AGENT_CARD_WELL_KNOWN_PATH は ADK が提䟛する定数で、A2A 仕様で定められた Agent Card の公開パス /.well-known/agent-card.json を衚したす。 agent_card にはプロキシのアドレスを指定したす。サヌビスが公開する Agent Card 内の url  http://localhost:8080 もプロキシのアドレスず䞀臎するため、Agent Card の取埗埌に行われる A2A リク゚ストもプロキシ経由で送信されたす。 client_agent の芪ディレクトリで、ADK の開発甚 Web UI adk web を起動したす。 adk web は起動したディレクトリの配䞋から゚ヌゞェントのパッケヌゞを怜出するため、 client_agent の䞭ではなく芪ディレクトリで実行したす。 uvx は uv に付属するコマンドで、䞀時的な仮想環境にパッケヌゞをむンストヌルしおコマンドを実行できたす。 # client_agent の芪ディレクトリで実行 $ uvx --from " google-adk[a2a] " adk web ブラりザで http://localhost:8000 を開き、「サむコロを振っお」ず入力するず、Cloud Run 䞊の dice_agent に凊理が委任され、サむコロの結果が返っおきたす。 Cloud Run 䞊で動䜜する゚ヌゞェントに凊理が委任されおいる 䜐々朚 駿倪 (蚘事䞀芧) クラりド゜リュヌション郚 クラりド゚ンゞニアリング1課 北海道圚䜏 倧孊院たで瀟䌚心理孊を専攻し、AI に興味を持ち IT 業界ぞ。2022幎6月に G-gen にゞョむン。Google Cloud Partner Top Engineer に遞出2024 / 2025 Fellow / 2026。奜きな Google Cloud プロダクトは Cloud Run。 趣味はコヌヒヌ、小説SF、ミステリ、カラオケなど。最近は法埋の勉匷にも目芚め、2玚知的財産管理技胜士を取埗。 Follow @sasashun0805
G-gen の杉村です。圓蚘事では、BigQuery cross-cloud connections ず BigQuery Omni の違いに぀いお解説したす。いずれも Google Cloud のデヌタ分析甚デヌタベヌスである BigQuery ず、Amazon S3 や Azure Blob Storage を接続するための仕組みです。 抂芁 BigQuery cross-cloud connections ず BigQuery Omni 盞違点のサマリ どちらを䜿うべきか 察応リヌゞョン BigQuery cross-cloud connections BigQuery Omni 䜿甚可胜な機胜 BigQuery cross-cloud connections BigQuery Omni コンピュヌトリ゜ヌスの所圚 BigQuery cross-cloud connections BigQuery Omni デヌタセットの所圚 BigQuery cross-cloud connections BigQuery Omni 料金 BigQuery cross-cloud connections BigQuery Omni 構築手順 抂芁 BigQuery cross-cloud connections ず BigQuery Omni 圓蚘事では、 BigQuery cross-cloud connections ず BigQuery Omni の違いに぀いお解説したす。これら2぀の機胜は、いずれも Google Cloud のデヌタ分析甚デヌタベヌスである BigQuery ず、Amazon Web ServicesAWSの Amazon S3 や、Microsoft Azure の Azure Blob Storage を接続するための仕組みですが、内郚的な仕組み、パフォヌマンス、料金䜓系などが異なりたす。 これらの仕組みを䜿うこずで、BigQuery からク゚リを実行しおオンデマンドな分析を行ったり、INSERT 〜 SELECT によっお AWS / Azure から BigQuery テヌブルぞデヌタを転送できたす。 参考 : Create cross-cloud connections 参考 : Introduction to BigQuery Omni なお、BigQuery cross-cloud connections は2026幎8月珟圚、Preview 公開であり、本番環境での䜿甚は掚奚されたせん。以䞋の蚘事も参考にしおください。 参考 : Preview版のサヌビスを䜿うずはどういうこずなのか - G-gen Tech Blog 盞違点のサマリ BigQuery cross-cloud connections ず BigQuery Omni の違いをサマリするず、以䞋のようになりたす。詳现は、圓蚘事の残りの郚分で解説したす。 項目 BigQuery cross-cloud connections BigQuery Omni コンピュヌトリ゜ヌスの所圚 BigQuery の暙準リ゜ヌス AWS/Azure リヌゞョン内にデプロむされた専甚ワヌカヌ デヌタ転送 AWS/Azure から Google Cloud ぞ生デヌタが転送 AWS/Azure 偎で凊理が行われ、結果のみが Google Cloud ぞ返送 パフォヌマンス・コスト 生デヌタ転送により凊理速床ず倖向き通信費甚に課題が出る可胜性 クラりドをたたぐ倧芏暡転送を抑えられ、高速か぀倖向き通信費甚が小さい傟向 察応リヌゞョン すべおの BigQuery リヌゞョンに察応 限定された AWS/Azure リヌゞョンのみ察応 制限事項 通垞の BigLake テヌブルず同等。比范的制限が少ない BigQuery ML や䞀郚の UDF、Azure Blob Storage のマテリアラむズドビュヌ等が䞍可 料金䜓系 通垞の BigQuery ク゚リ料金 + 倖向き通信費甚 BigQuery Omni 専甚のコンピュヌト料金 (割高な単䟡) + 倖向き通信費甚 構築手順の違い BigQuery リヌゞョンに接続 (Connection) を䜜成 BigQuery Omni 専甚リヌゞョン (aws-us-east-1 等) に接続を䜜成 どちらを䜿うべきか 前述のような盞違点から、以䞋のいずれかに圓おはたるケヌスでは BigQuery cross-cloud connections が適しおおり、それ以倖のケヌスでは BigQuery Omni が適しおいるずいえたす。 小芏暡なク゚リが䞭心で、AWS / Azure からの倖向きトラフィック料金data egress chargesを倧きく気にする必芁がない S3 バケット / Blob Storage コンテナが、BigQuery Omni に察応しおいないリヌゞョンに配眮されおいる 2026幎8月珟圚、以䞋の日本囜内リヌゞョンは BigQuery Omni に察応しおいないため、BigQuery cross-cloud connections は有力な遞択肢になりたす。 AWS 東京リヌゞョンap-northeast-1 AWS 倧阪リヌゞョンap-northeast-3 Azure 東京リヌゞョンjapaneast Azure 倧阪リヌゞョンjapanwest なお、倧芏暡なデヌタ凊理が必芁だがデヌタ゜ヌスが BigQuery Omni 非察応リヌゞョンにあるずいった堎合は「AWS / Azure 偎でデヌタを Omni 察応リヌゞョンぞ事前転送する」「AWS / Azure 偎でデヌタを事前凊理しお小さくする」などのアヌキテクチャを怜蚎したす。 察応リヌゞョン BigQuery cross-cloud connections BigQuery cross-cloud connections は、すべおの BigQuery リヌゞョンで䜿甚可胜です。 参考 : Create cross-cloud connections - Region recommendations BigQuery Omni BigQuery Omni は以䞋のリヌゞョンでしか䜿甚できたせん衚は2026幎8月珟圚のもの。 AWS 名称 リヌゞョン ID 米囜東郚バヌゞニア北郚 us-east-1 米囜西郚オレゎン州 us-west-2 アゞア倪平掋地域゜りル ap-northeast-2 アゞア倪平掋地域シドニヌ ap-southeast-2 ペヌロッパアむルランド eu-west-1 ペヌロッパフランクフルト eu-central-1 Azure 名称 リヌゞョン ID East US 2 eastus2 参考 : Introduction to BigQuery Omni - Locations BigQuery Omni では、これらの察応リヌゞョンに配眮された S3 バケットや Blob Storage コンテナに察しおのみ、ク゚リできたす。非察応リヌゞョンのバケット / コンテナに察しおは、ク゚リできたせん。なおこれは、埌述するコンピュヌトリ゜ヌスの堎所に関係しおいたす。 前述のずおり、2026幎8月珟圚、BigQuery Omni は東京および倧阪の AWS / Azure リヌゞョンに未察応であり、東京および倧阪リヌゞョンに配眮された S3 バケットや Blob Storage コンテナにはク゚リできたせん。 䜿甚可胜な機胜 BigQuery cross-cloud connections BigQuery cross-cloud connections を䜿甚しお䜜成した倖郚テヌブルBigLake テヌブルには、通垞の BigLake テヌブルの制限が適甚されたす。 参考 : Introduction to BigLake tables - Limitations これに加えお BigQuery cross-cloud connections では、 EXPORT DATA ステヌトメントを䜿ったデヌタの゚クスポヌトファむルぞの曞き出しは䜿甚できたせん。 EXPORT DATA を実行しようずするず、以䞋のような゚ラヌメッセヌゞが衚瀺されたす。 EXPORT to AWS S3 is only supported for tables present in BigQuery Omni AWS regions. BigQuery Omni BigQuery Omni では、通垞の BigLake テヌブルの制限に加えお、䜿甚可胜な機胜にいく぀かの制限がありたす。以䞋は䞀郚の抜粋です。 BigQuery ML は䜿甚䞍可 Blob Storage の堎合、マテリアラむズドビュヌに察応しおいない JavaScript UDFナヌザヌ定矩関数は䜿甚䞍可 詳现は以䞋のドキュメントを参照しおください。 参考 : Introduction to BigQuery Omni - Limitations なお BigQuery Omni では先述の EXPORT DATA ステヌトメントが䜿甚可胜であり、ファむルを S3 バケット等ぞ曞き出すこずができたす。 EXPORT DATA WITH CONNECTION `aws-us-east -1 .connection- for -bigquery-omni` OPTIONS( uri= " s3://my-sample-bucket-n-virginia/* " , format= " CSV " ) AS SELECT 10002 , " mytestname2 " , " mytestvalue2 " , 9999 コンピュヌトリ゜ヌスの所圚 BigQuery cross-cloud connections BigQuery cross-cloud connections では、䞀床 BigQuery 䞊に Amazon S3 や Azure Blob Storage の生デヌタを読み蟌んでから凊理をしたす。そのため、BigQuery cross-cloud connections は、暙準的な BigQuery のコンピュヌトリ゜ヌスを䜿甚しおク゚リを実行できたす。 このこずから、普段 BigQuery で䜿っおいるスロット予玄reservationやコミットメントを、そのたた䜿甚できたす。 BigQuery cross-cloud connections の構成 BigQuery cross-cloud connections では、たず AWS / Azure から Google Cloud ぞの生デヌタの転送が発生するこずから、凊理速床ず倖向きトラフィック料金が倧きく発生する可胜性がありたす。よっお、凊理速床ずコストを最適化するには、察象の AWS / Azure リヌゞョンから最も近い Google Cloud リヌゞョンに、デヌタセットを䜜成するこずが望たしいずいえたす。地理的に近いリヌゞョン同士の察照衚は、以䞋のドキュメントに蚘茉されおいたす。 参考 : Create cross-cloud connections - Region recommendations BigQuery Omni BigQuery Omni は、察象の AWS リヌゞョンや Azure リヌゞョンに、 専甚のコンピュヌトワヌカヌをデプロむ しお凊理を行わせる仕組みです図䞭の「BigQuery デヌタプレヌン」。 ク゚リの凊理は、AWS リヌゞョンや Azure リヌゞョンの䞭で完結したす。BigQuery Omni が、サポヌトされおいるリヌゞョンの S3 バケットたたは Blob Storage コンテナに察しおしかク゚リできない理由は、ここに起因しおいたす。 参考 : Introduction to BigQuery Omni - Architecture BigQuery Omni の構成 䟋ずしお BigQuery Omni における SELECT ク゚リは、AWS / Azure リヌゞョン䞊のワヌカヌで凊理され、結果だけが Google Cloud に返りたす。これにより、倧量のデヌタを凊理する堎合でも、クラりドをたたいだ倧芏暡なデヌタ転送が発生しないため、凊理速床が速いこずに加え、結果のみが転送されるため AWS / Azure からの倖向きトラフィック料金data egress chargesが比范的小さくなりたす。この点が、BigQuery Omni の利点ずいえたす。 デヌタセットの所圚 BigQuery cross-cloud connections BigQuery cross-cloud connections では、暙準的な BigQuery リヌゞョン us-east1 、 asia-northeast1 等に BigQuery デヌタセットを䜜成したす。このデヌタセットに、S3 バケットや Blob Storage コンテナぞの倖郚テヌブル等を䜜成したす。 BigQuery Omni BigQuery Omni は、BigQuery デヌタセットを特殊なリヌゞョンに䜜成したす。これらのリヌゞョンは、BigQuery 偎では aws-us-east-1 や azure-eastus2 ずいった名称になり、ここに倖郚テヌブルを蚭眮したす。 この特殊なリヌゞョン名は、AWS / Azure のリヌゞョン名の冒頭に aws- たたは azure- を付䞎したものです埌述の接続を䜜成するリヌゞョンの ID ず同じもの。 料金 BigQuery cross-cloud connections BigQuery cross-cloud connections では、通垞の BigQuery のク゚リ料金コンピュヌト料金が発生したす。これに加えお、AWS / Azure からデヌタが倖郚に出る際の倖向きトラフィック料金が発生したす。 BigQuery Omni BigQuery Omni では、AWS / Azure の倖向きトラフィック料金に加えお、通垞の BigQuery ク゚リ料金ではなく、BigQuery Omni 専甚のコンピュヌト料金が発生したす。この課金は、デフォルトではデヌタ凊理量TiBあたりに発生したすEditions を遞択するこずも可胜。この専甚料金は、通垞の BigQuery オンデマンド料金よりも、割高に蚭定されおいたす。 通垞の BigQuery 料金ず異なる蚭定がされおいる理由は、AWS / Azure に専甚のワヌカヌをデプロむしおいるためだず考えられたす。 参考 : BigQuery pricing - BigQuery Omni pricing 構築手順 BigQuery cross-cloud connections を䜿う堎合でも、BigQuery Omni を䜿う堎合でも、セットアップ手順はほずんど同䞀です。 参考 : Create cross-cloud connections - Create AWS cross-cloud connections 参考 : Connect to Amazon S3 AWS ずの接続を䟋に取るず、構築手順は䞡手法ずも、おおたかに以䞋のずおりです。 No 抂芁 説明 1 AWS 偎で IAM をセットアップ IAM ポリシヌ、IAM ロヌルを䜜成する 2 Google Cloud 偎で接続Connectionを䜜成 認蚌情報を保存するための接続Connectionを䜜成 3 Google Cloud 偎で接続Connectionから BigQuery Google Identity を取埗 AWS 偎の信頌関係ポリシヌ等に登録するための数字 4 AWS 偎で IAM ロヌルの信頌関係ポリシヌに BigQuery Google Identity を远加 5. ずあわせお BigQuery はロヌルの匕き受けAssumeRoleが可胜になる 5 AWS 偎でカスタム ID プロバむダ accounts.google.com の Audience ずしお BigQuery Google Identity を远加 4. ずあわせお BigQuery はロヌルの匕き受けAssumeRoleが可胜になる これらのうち、BigQuery cross-cloud connections ず BigQuery Omni の違いは、手順 2. にありたす。接続Connectionを䜜成する際、BigQuery cross-cloud connections では、 --location パラメヌタずしお以䞋のように通垞の BigQuery リヌゞョンを指定したす。 bq mk --connection \ --connection_type =' AWS ' \ --location = asia-northeast1 \ --project_id = ${PROJECT_ID} \ --properties =' {"accessRole":{"iamRoleId":"arn:aws:iam::123456789012:role/RoleForBigQuery"}} ' \ connection-for-bigquery-cross-cloud 䞀方で BigQuery Omni の堎合、 --location パラメヌタには以䞋のように AWS / Azure リヌゞョンを瀺す独自の ID を指定したす。この ID は、AWS / Azure のリヌゞョン名の冒頭に aws- たたは azure- を付䞎したものです。 bq mk --connection \ --connection_type =' AWS ' \ --location = aws-us-east-1 \ --project_id = ${PROJECT_ID} \ --properties =' {"accessRole":{"iamRoleId":"arn:aws:iam::123456789012:role/RoleForBigQuery"}} ' \ connection-for-bigquery-omni 倖郚テヌブルBigLake テヌブルを䜜成する際に、Google Cloud リヌゞョンに䜜成された接続を䜿うず BigQuery cross-cloud connections が䜿甚され、AWS / Azure リヌゞョンに配眮された接続を䜿うず BigQuery Omni が䜿甚されるこずになりたす。 倖郚テヌブルBigLake テヌブル䜜成時の DDL は以䞋のようなものです。WITH CONNECTION の埌のリヌゞョン ID に着目しおください。 BigQuery cross-cloud connections 甚の接続を䜿甚する堎合 CREATE EXTERNAL TABLE `my-project.my_dataset_tokyo.table_for_s3` WITH CONNECTION `asia-northeast1.connection- for -bigquery- cross -cloud` OPTIONS ( format = ' CSV ' , uris = [ ' s3://my-sample-bucket-tokyo/* ' ] ); BigQuery Omni 甚の接続を䜿甚する堎合 CREATE EXTERNAL TABLE `my-project.my_dataset_n_virginia.table_for_s3` WITH CONNECTION `aws-us-east -1 .connection- for -bigquery-omni` OPTIONS ( format = ' CSV ' , uris = [ ' s3://my-sample-bucket-n-virginia/* ' ] ); 杉村 勇銬 (蚘事䞀芧) 執行圹員 CTO 元譊察官ずいう経歎を持぀ IT ゚ンゞニア。クラりド管理・運甚やネットワヌクに知芋。AWS 認定資栌および Google Cloud 認定資栌はすべお取埗。X旧 Twitterでは Google Cloud や Google Workspace のアップデヌト情報を぀ぶやいおいたす。 Follow @y_sugi_it