DNSエンドポイントを使用してGitHub ActionsからGKEクラスタにリソースをデプロイする

G-gen の佐々木です。当記事では、GitHub Actions で GKE クラスタにリソースをデプロイする際に、DNS エンドポイントを使用する方法を解説します。 DNS エンドポイントとは GitHub Actions を使用した GKE へのデプロイ 従来の方法 DNS エンドポイントを使…

DNSベースのエンドポイントを使用してGKEのコントロールプレーンに接続する

G-gen の佐々木です。当記事では、GKE のコントロールプレーンにアクセスするための新しい方法として、DNS ベースのエンドポイント(DNS エンドポイント)を紹介します。 はじめに GKE におけるコントロールプレーンへのアクセス方法 従来の方法 パブリック…

Compute EngineインスタンスにPostgreSQLサーバを構築する

G-gen の佐々木です。当記事では、Google Cloud の仮想マシンサービスである Compute Engine(Google Compute Engine: GCE)に PostgreSQL サーバを構築していきます。 当記事の目的 Compute Engine インスタンスの作成 作業の概要 シェル変数の設定 VPC・サ…

Cloud Runのマルチリージョンサービスを解説

G-gen の佐々木です。当記事では Cloud Run のマルチリージョンサービスについて解説します。 マルチリージョンサービスとは メリット サービスのレイテンシ低下 リージョン障害への耐性 各リージョンへの一括デプロイ 注意点 利用料金 構成は全リージョン一…

Cloud RunやCloud Run functionsでグローバル変数を活用してパフォーマンスを向上する

G-gen の佐々木です。当記事では、Cloud Run や Cloud Run functions(旧称:Cloud Functions)のパフォーマンス向上のコツとして、グローバル変数の活用方法を紹介します。 サーバーレスにおけるコールドスタート グローバル変数によるリクエスト間のオブジ…

Cloud RunのDeterministic URLを解説

G-gen の佐々木です。当記事では 2024年9月より Cloud Run で利用可能となった Deterministic URL について解説します。 Deterministic URLs とは Deterministic URL のユースケース(Terraform の例) 既存の Cloud Run サービスへの影響 新規に作成した Cl…

Cloud RunでGPUを使用する

G-gen の佐々木です。2024年8月に Cloud Run で GPU の使用がサポートされました。当記事では Cloud Run で GPU を使用する方法と、GPU がサポートされている他のコンピューティングサービスとの使い分けを解説します。 Cloud Run における GPU Cloud Run で…

Cloud RunのサーバーレスVPCアクセスをDirect VPC Egressに安全に切り替える

G-gen の佐々木です。当記事では、Cloud Run サービスが VPC に接続する際に使用するサーバーレス VPC アクセスを Direct VPC Egress に置き換える方法を解説します。 Cloud Run から VPC にトラフィックを送信する方法 サーバーレス VPC アクセスと Direct …

Cloud FunctionsがCloud Run functionsとしてリブランディング。影響を解説

G-gen の佐々木です。2024年8月22日(日本時間)、Google Cloud のサーバーレス コンピューティング サービスである Cloud Functions が Cloud Run functions としてリブランディングされました。当記事ではリブランディングによる影響や変更点を解説します…

Cloud Runから内部ネットワーク経由で別のCloud Runサービスを呼び出す

G-gen の佐々木です。当記事では同一プロジェクトにある Cloud Run 間の通信をプライベートな通信経路で行う方法を解説します。 Cloud Run から Cloud Run へのアクセス方法 パブリックアクセス プライベートアクセス 構成図 事前準備 シェル変数の設定 Arti…

Cloud RunサービスのエンドポイントURLを無効化する

G-gen の佐々木です。当記事では、Cloud Run サービスの作成時に自動生成されるエンドポイント URL の無効化について解説します。 前提知識 Cloud Run サービスについて Cloud Run におけるロードバランサーの使用 デフォルト URL の無効化 URL 無効化のメリ…

Cloud Runのドメインマッピング機能で設定したカスタムドメインが削除できない

G-gen の佐々木です。当記事では、Cloud Run のドメインマッピング機能で設定したカスタムドメインが削除できない事象について、解決方法を解説します。 前提知識 事象の詳細 解決方法 削除時に Cloud Storage に関するエラーが発生する場合 余談:特定リー…

Geminiへの長文リクエストでResponseValidationError

G-gen の佐々木です。当記事では、Gemini Pro に長文のリクエストを送信した際に発生することがある ResponseValidationError について解説します。 当記事で使用する環境 事象 原因と解決方法 原因 原因の詳細 解決方法 当記事で使用する環境 当記事では、…

Cloud Runから固定IPでインターネット接続する(Direct VPC Egress編)

G-gen の佐々木です。当記事では、Cloud Run からインターネットアクセスを行う際に使用されるパブリック IP アドレスを固定する方法を解説します。 Cloud Run から Cloud NAT を使用してインターネット接続を行う はじめに サーバーレス VPC アクセスを使用…

Colab EnterpriseとVertex AI Workbenchを徹底解説

G-gen の佐々木です。当記事では、Google Cloud でマネージドな Jupyter ノートブック環境を利用できる、2種類のノートブックソリューション(Colab Enterprise / Vertex AI Workbench)を解説します。また、Colab Enterprise と Vertex AI Workbench の違い…

Cloud Runの最小インスタンス数をスケジュールベースで自動スケーリングする

G-gen の佐々木です。当記事では、Cloud Run の最小インスタンス数を、特定の時間帯で自動的にスケーリングさせる処理を実装していきます。 前提知識 Cloud Run について Cloud Run のコールドスタート サービスレベルの最小インスタンス数の設定 構成 スケ…

GKEでバースト可能なPodを使用する

G-gen の佐々木です。当記事では GKE で新たにサポートされた バースト可能な Pod について解説します。 また、この機能のサポートに伴い、従来よりも小さい容量で Pod のリソースリクエストが可能になったので、こちらもあわせて紹介します。 Pod のバース…

Workload Identity Federation for GKEの新しい設定方法を解説

G-gen の佐々木です。当記事では、GKE における Workload Identity Federation の、新しく追加された設定方法を解説します。 GKE における Workload Identity Federation 従来の方法 新しい方法 新しい方法の制限事項 新しい Workload Identity Federation …

GKEのIngressでIdentity-Aware Proxy(IAP)を有効化する

G-gen の佐々木です。当記事では GKE の Ingress リソースとして作成したロードバランサで Identity-Aware Proxy を有効化する方法を解説します。 当記事の概要 GKE クラスタにサンプルアプリケーションをデプロイ GKE クラスタの作成 Deployment リソースの…

Gemini ProとGradioを使用してシンプルな生成AIチャットボットを作成する

G-gen の佐々木です。当記事では Google が提供する生成 AI モデル Gemini Pro と、Web UI 用の Python フレームワークである Gradio を使用した、シンプルなチャットボットの作り方を紹介します。 前提知識 Gemini Pro Gradio Gradio を使用して Gemini Pro…

Cloud Runから"192.168.1.0/24"のサブネットにアクセスできない

G-gen の佐々木です。当記事では Cloud Run から VPC ネットワークに接続する際の、宛先サブネットの IP アドレス範囲に関する注意点を紹介します。 宛先サブネットの IP アドレス範囲に関する既知の問題 ドキュメントの記載 代表的なケース 例外 対処法 プ…

PaLM 2で同じ文章が何度も繰り返される事象への対処法

G-gen の佐々木です。当記事では、生成 AI モデルである PaLM 2 のチャットボットを構築した際に、モデルからの回答文で同じ文章が何度も繰り返されてしまう事象の解決策を紹介します。 前提知識 事象 解決策 Frequency Penalty パラメータ サンプルコード F…

Cloud RunからAlloyDBにパブリックIPアドレスで接続する

G-gen の佐々木です。当記事では AlloyDB for PostgreSQL でパブリック IP アドレスを有効化して、Cloud Run からの接続を試してみます。 前提知識 AlloyDB と Cloud Run パブリック IP アドレスを使用した AlloyDB への接続 Cloud Run から AlloyDB への接…

Cloud RunでCloud Storageバケットをマウントする

G-gen の佐々木です。当記事では Cloud Run で Cloud Storage バケットをボリュームマウントする方法を解説します。 前提知識 Cloud Run とは Cloud Storage(GCS)とは ネイティブ機能によるマウント Cloud Storage バケットの作成 バケットにテキストファ…

Cloud Runサービスを「認証が必要」に設定したらブラウザからアクセスできなくなった

G-gen の佐々木です。当記事では Cloud Run 利用時のよくあるトラブルとして、「認証が必要」の設定を行ったサービスにブラウザからアクセスできない事象とその原因、対処法について解説します。 事象 原因 解決策 Identity-Aware Proxy(IAP)を使用する Id…

Google App Engine (GAE) を徹底解説

G-gen の佐々木です。当記事では Google Cloud (旧称 GCP) のサーバーレス コンピューティング プロダクトの1つである Google App Engine (GAE) を解説します。 Google App Engine (GAE) とは App Engine アプリのコンポーネント アプリケーション サービス …

サーバーレスVPCアクセスコネクタのスケールインをダウンタイムなしで行う方法

G-gen の佐々木です。当記事では、Cloud Run などのサーバーレス サービスが VPC リソースにプライベート IP で接続するために使用するサーバーレス VPC アクセスのスケールインをダウンタイムなしで行う方法を解説します。 サーバーレス VPC アクセスとは …

Cloud Run jobsでジョブ構成をオーバーライドしてジョブを実行する

G-gen の佐々木です。当記事では Cloud Run jobs のジョブ実行時に利用できる、ジョブ構成のオーバーライド について解説します。 Cloud Run jobs とは ジョブ構成のオーバーライド ジョブ構成のオーバーライドを試してみる 使用するコード(Go) Cloud Run …

Cloud RunからCloud SQLへの通信がCloud NATを経由してしまう事象とその解決策

G-gen の佐々木です。当記事では Cloud Run 上のアプリケーションで Cloud SQL Auth Proxy を使って Cloud SQL へ接続する際に接続が失敗した事象と、その対策について解説します。 はじめに 前提知識 各種サービスについて Cloud Run から Cloud NAT を使用…

サーバーレスVPCアクセスコネクタで発生するメンテナンスとその注意点

G-gen の佐々木です。当記事では Cloud Run や Cloud Functions などで使用する サーバーレス VPC アクセス のコネクタインスタンスで発生するメンテナンスと、それに関する注意点を記載します。 はじめに 前提知識 サーバーレス VPC アクセスとは コネクタ…

Cloud RunからCloud Storageをファイルシステムとしてマウントする

G-gen の佐々木です。当記事では Cloud Run で Cloud Storage FUSE を使用して、オブジェクトストレージである Cloud Storage のバケットをコンテナ内のディレクトリにマウントしてみます。 前提知識 Cloud Run とは Cloud Storage(GCS)とは Cloud Storage…

Dataflowを徹底解説!

G-gen の佐々木です。当記事では、Google Cloud(旧称 GCP)のマネージド ETL サービスである Dataflow を解説します。 概要 Dataflow とは Apache Beam とは ユースケース Dataflow のユースケース 例1 : リアルタイムのデータ取り込み 例2 : データストア…

Professional Machine Learning Engineer試験対策マニュアル

G-gen の佐々木です。当記事では Google Cloud(旧称 GCP)の認定資格の一つである、Professional Machine Learning Engineer 試験の対策や出題傾向について解説します。 基本的な情報 Professional Machine Learning Engineer とは 難易度 試験対策 機械学…

Cloud RunのDirect VPC Egressを解説

G-gen の佐々木です。当記事では、Google Cloud (旧称 GCP) のサーバーレスコンテナサービスである Cloud Run の Direct VPC Egress 機能について解説します。 前提知識 Cloud Run とは サーバーレス VPC アクセスコネクタとは 概要 Direct VPC Egress とは …

ロードバランサのバックエンドにあるCompute Engine上のWebアプリケーションにアクセスすると "no healthy upstream" が表示される

G-gen の佐々木です。当記事ではロードバランサを経由して Compute Engine 上の Web アプリケーションにアクセスしたときに "no healthy upstream" が表示されてしまうときの原因と対処方法を記載します。 事象 原因と対処方法 参考 事象 以下の図に示すよう…

GKEで予備の容量プロビジョニングを使用してワークロードのスケールアウトを高速化する

G-gen の佐々木です。当記事では Google Kubernetes Engine(以下、GKE)で 予備の容量プロビジョニング(spare capacity provisioning) を使用することで、ワークロードを素早くスケールアウトする方法を解説します。 GKE とは ノードの自動プロビジョニン…

Cloud Run services でタグ付きリビジョンを使用して新しいリビジョンをテストする

G-gen の佐々木です。当記事では Google Cloud (旧称 GCP) のサーバーレスなコンテナサービスである Cloud Run の タグ付きリビジョン(tagged revision)機能を解説します。 Cloud Run とは タグ付きリビジョンとは タグ付きリビジョンを使用する Cloud Run…

Pub/SubのStreamingPull APIで順序指定キーを含むメッセージを処理する

G-gen の佐々木です。当記事では、Google Cloud (旧称 GCP) が提供するメッセージングサービスである Cloud Pub/Sub の StreamingPull API と 順序指定キー を使用し、メッセージを Pub/Sub トピックに送信された順にリアルタイム処理する仕組みを実装してい…

Google Maps Platform の基本を解説!

当記事は みずほリサーチ&テクノロジーズ × G-gen エンジニアコラボレーション企画 で執筆されたものです。 Google Maps は Google の提供するサービスの中でもなじみ深いサービスの一つです。 Google Maps Platform では Google Maps の機能やデータを簡単…

Cloud RunのサイドカーコンテナでAlloyDB Auth Proxyを使用する

G-gen の佐々木です。当記事では、Cloud Run services の マルチコンテナ (サイドカー) 機能 のユースケースの 1 つである、AlloyDB Auth Proxy をサイドカーコンテナとして使用した Alloy DB への接続を試してみます。 前提知識 Cloud Run services Cloud R…

Pub/SubでStreamingPull APIを使用してメッセージをリアルタイムで処理する

G-gen の佐々木です。当記事では、Google Cloud (旧称 GCP) が提供するメッセージングサービスである Cloud Pub/Sub と、そのクライアントライブラリを使用することで、継続的に送信されるデータ(メッセージ)をリアルタイムで処理する仕組みを実装していき…

Google Cloudで理解するサーバーレス・アーキテクチャ

当記事は みずほリサーチ&テクノロジーズ × G-gen エンジニアコラボレーション企画 で執筆されたものです。 サーバーレス構成ではクラウドサービスのポテンシャルを最大限引き出すことができます。モダンなアプリケーションの設計にはサーバーレスへの理解が…

Cloud Runのセッションアフィニティを解説

G-gen の佐々木です。当記事では、Google Cloud (旧称 GCP) のサーバーレスコンテナサービスである Cloud Run の セッションアフィニティ 機能について解説します。 セッションアフィニティを使用することで、同じユーザーからのリクエストを特定のコンテナ…

Cloud Run の Startup CPU boost を解説

G-gen の佐々木です。当記事では、Google Cloud (旧称 GCP) のサーバーレスコンテナサービスである Cloud Run の Startup CPU boost 機能について解説します。Startup CPU boost は、Cloud Run の弱点とも言える コールドスタート による影響を軽減すること…

Cloud Run jobs を徹底解説!

G-gen の佐々木です。当記事では Google Cloud (旧称 GCP) のサーバーレスなコンテナサービスである Cloud Run の機能の 1 つ、Cloud Run jobs について解説します。 Cloud Run jobs とは Cloud Run jobs のリソースモデル Job Task Execution Cloud Run job…

GKE クラスタ内のワークロードから Google Cloud APIs にアクセスする(Workload Identity)

G-gen の佐々木です。当記事では、Google Kubernetes Engine (以下、GKE) のクラスタにデプロイした Pod から Google Cloud APIs にアクセスする方法を解説します。 GKE の概要 GKE クラスタ内の Pod から Google Cloud APIs にアクセスする方法 ノードに紐…

Google CloudのComputingプロダクトを解説

当記事は みずほリサーチ&テクノロジーズ × G-gen エンジニアコラボレーション企画 で執筆されたものです。 Web サービスの可用性や運用効率を最大化するには、ユースケースにあったコンピューティングプロダクトの選定が重要です。Google Cloud では複数の…

GKEでBackendConfigを使用してIngressにCloud Armorセキュリティポリシーを構成する

G-gen の佐々木です。当記事では Google Cloud ( 旧称 GCP ) の Google Kubernetes Engine ( GKE ) で作成した Ingress に対して、Cloud Armor セキュリティポリシー を構成することで、ワークロードに対するアクセス元 IP アドレス制限を実装します。 前提…

Cloud Scheduler を徹底解説!

当記事は みずほリサーチ&テクノロジーズ × G-gen エンジニアコラボレーション企画 で執筆されたものです。 当社では業務系システムを開発する機会が多く、定期的に実行する処理が多くあります。慣れ親しんだCron式でジョブの実行定義ができる Cloud Schedul…

GKE で Ingress を使用して Google マネージド SSL 証明書を使用した外部 HTTP(S) ロードバランサを作成する

G-gen の佐々木です。当記事では Google Cloud ( 旧称 GCP ) の Google Kubernetes Engine ( GKE ) で Ingress を使用し、Google マネージド SSL 証明書が構成された HTTPS ロードバランサ を Kubernetes のリソースとして作成していきます。 前提知識 Googl…