Blank white background with no objects or features visible.

Ask TFY:AIゲートウェイ内のあらゆる事象をデバッグ、分析、実行 詳細はこちら

TrueFoundryはSeldon AIの買収を発表し、エンタープライズAI向けコントロールプレーンを拡張します。プレスリリース全文はこちら→

Kubernetes上の認証済みgRPCサービス

By Abhishek Choudhary

Published: July 6, 2026

Kubernetesに関するブログシリーズでは、 Kubernetes上でのスケーラブルなMLOpsの構築MLOpsのアーキテクチャ、そして アプリケーション開発の課題解決について話しました。本ブログでは、AWS EKSクラスター上でGRPCサービスをホストする方法について説明します。このプロセスは、どのKubernetesクラスターでもほぼ同じですが、これを機能させるためにはAWSロードバランサーでいくつかの特別な設定を行う必要がありました。

gRPCとは何か、そして私たちのユースケース

gRPCは、あらゆる環境で動作するオープンソースのRPCフレームワークです。データセンター内およびデータセンター間でサービスを効率的に接続でき、ロードバランシング、トレース、ヘルスチェック、認証のサポートをプラグインする機能も備えています。

私たちのユースケース:約100MBのペイロードを受け入れるAPIとしてTensorflowモデルをホストすること。GRPCはより大きなペイロードに対してはるかに優れたパフォーマンスを発揮するため、GRPCポートをポート5000で公開しました。

サービスのホスティング

以下のDeployment YAMLを使用して、サービスをKubernetes上にホストしました。

apiVersion: apps/v1
kind: Deployment
metadata:
 name: ml-api
 namespace: ml-services
spec:
 replicas: 1
 selector:
   matchLabels:
     truefoundry.com/component: ml-api
 template:
   metadata:
     labels:
       truefoundry.com/application: ml-api
   spec:
     containers:
       - name: ml-api
         image: >-
           XXXX.dkr.ecr.us-east-1.amazonaws.com/ml-services-ml-api:latest
         ports:
           - name: port-8500
             containerPort: 8500
             protocol: TCP
         resources:
           limits:
             CPU: '4'
             エフェメラルストレージ: 2G
             メモリ: 4G
           リクエスト:
             CPU: '1'
             エフェメラルストレージ: 1G
             メモリ: 500M
         イメージプルポリシー: IfNotPresent
     再起動ポリシー: Always
     終了猶予期間 (秒): 30
     DNSポリシー: ClusterFirst
     セキュリティコンテキスト: {}
     イメージプルシークレット:
       - 名前: ml-api-image-pull-secret
     スケジューラ名: default-scheduler
 ストラテジー:
   タイプ: RollingUpdate
   ローリングアップデート:
     最大利用不可数: 25%
     最大サージ数: 0

これによりPodが起動します。以下のYAMLを使用してServiceオブジェクトを作成する必要があります。

apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
 labels:
   argocd.argoproj.io/instance: tfy-istio-ingress
 name: tfy-wildcard
 namespace: istio-system
spec:
 selector:
   istio: tfy-istio-ingress
 servers:
   - hosts:
       - 'ml.example.com'
     port:
       name: http-tfy-wildcard
       number: 80
       protocol: HTTP
     tls:
       httpsRedirect: true
   - ホスト:
       - 'ml.example.com'
     ポート:
       name: https-tfy-wildcard
       number: 443
       protocol: HTTP

サービスの公開

KubernetesではIngressレイヤーとしてIstioを使用しています。istio-ingressがインストールされると、Istioはロードバランサーをプロビジョニングします。ロードバランサーの設定は、Istioゲートウェイのアノテーションを使用してカスタマイズできます。Istio Gatewayを作成するための仕様は以下の通りです。

apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
 labels:
   argocd.argoproj.io/instance: tfy-istio-ingress
 name: tfy-wildcard
 namespace: istio-system
spec:
 selector:
   istio: tfy-istio-ingress
 servers:
   - ホスト:
       - 'ml.example.com'
     port:
       name: http-tfy-wildcard
       number: 80
       protocol: HTTP
     tls:
       httpsRedirect: true
   - hosts:
       - 'ml.example.com'
     port:
       name: https-tfy-wildcard
       number: 443
       protocol: HTTP

AWSロードバランサーでSSLターミネーションを行っています。そのためには、証明書をロードバランサーにアタッチする必要があります。これは、Istio Gatewayチャート (https://istio-release.storage.googleapis.com/charts) に以下のAnnotationを使用することで実現できます。

"service.beta.kubernetes.io/aws-load-balancer-type": "nlb"
"service.beta.kubernetes.io/aws-load-balancer-backend-protocol": "tcp"
"service.beta.kubernetes.io/aws-load-balancer-ssl-cert": "<certificate-arn>"
"service.beta.kubernetes.io/aws-load-balancer-ssl-ports": "https"
"service.beta.kubernetes.io/aws-load-balancer-alpn-policy": "HTTP2Preferred"

GRPCトラフィックを許可するためには、alpn-policyの指定が重要です。当社のml-apiサービスは、Kubernetesサービスを指すVirtualServiceを作成することで公開できます。VirtualServiceのYAMLは以下の通りです。

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
 labels:
   argocd.argoproj.io/instance: ml-services_ml-api
 name: ml-apiport-8500-vs
 namespace: ml-services
spec:
 gateways:
   - istio-system/tfy-wildcard
 hosts:
   - ml.example.com
 http:
   - route:
       - destination:
           host: ml-api
           port:
             number: 8500

仮想サービスが公開されると、ml.example.comでサービスにリクエストを送信できるようになります。その後、誰もがAPIを呼び出せないように、APIに認証を追加したいと考えました。認証はコード内に追加することもできましたが、すべてのサービスで統一されたレイヤーとして機能させられるよう、Istioレイヤーで追加することにしました。

Istioイングレステイヤーで認証を追加するため、私たちは〜で進めることにしました。 IstioWasm プラグイン。プラグインのYAMLは以下のようになります。

apiVersion: extensions.istio.io/v1alpha1
kind: WasmPlugin
metadata:
 name: ml-services-ml-api-0
 namespace: istio-system
spec:
 phase: AUTHN
 pluginConfig:
   basic_auth_rules:
     - credentials:
         - username:password
       hosts:
         - ml.example.com
       prefix: /
       request_methods:
         - GET
         - PUT
         - POST
         - PATCH
         - DELETE
 selector: セレクター
   matchLabels: マッチラベル
     istio: tfy-istio-ingress
 url: oci://ghcr.io/istio-ecosystem/wasm-extensions/basic_auth:1.12.0

上記のスペックをクラスターに適用すると、ブラウザでアプリを開いた際にユーザー名とパスワードが求められます。

TrueFoundryでは、これを非常に簡単にしました。

上記のプロセスをさらに簡単にするため、私たちは Truefoundry プラットフォーム上で非常に簡単にすることにしました。

GRPC service on Kubernetes

Try now.

One gateway for all your models, MCP servers, and agents.
No credit card needed.

Start free
Table of Contents

One Gateway for Every LLM, Agent and MCP Server

Book a 30-min with our AI expert

Book a Demo

The fastest way to build, govern and scale your AI

Book Demo
Summarize with
ChatGPT logo by OpenAI
Perplexity AI logo
Blurry red snowflake on white background, symmetrical frosty design with soft edges and abstract shape.

Discover More

November 5, 2025
|
5 min read

エージェンティックAI時代におけるデータレジデンシー:AIゲートウェイはいかに主権的規模とコンプライアンスを実現するか

October 5, 2023
|
5 min read

<Webinar> 企業向け生成AIショーケース

Best Fine Tuning Tools for Model Training
May 3, 2024
|
5 min read

モデルトレーニング向けファインチューニングツール主要6選:2026年版

May 25, 2023
|
5 min read

オープンソースLLM:受け入れるか、滅びるか

August 17, 2026
|
5 min read

Sandboxed Code Agents: Let Models Execute Without Letting Them Roam

No items found.
Portkey AI Gateway Pricing
August 15, 2026
|
5 min read

2026年版 Portkey AI Gateway 料金:完全ガイドと比較

No items found.
MCP registry connecting agents to governed MCP servers
August 15, 2026
|
5 min read

2026年版 最高のMCPレジストリ:開発者と企業向け比較

No items found.
TrueFoundry AI gateway powers enterprise AI platform engineering at scale
August 15, 2026
|
5 min read

AIプラットフォームエンジニアリングとは?エンタープライズチームのための実践ガイド

No items found.
No items found.

Recent Blogs

Black left pointing arrow symbol on white background, directional indicator.
Black left pointing arrow symbol on white background, directional indicator.
Take a quick product tour
Start Product Tour
Product Tour