SlideShare a Scribd company logo
#gc_inside
篠原 一徳
Application Modernization Specialist
GKE に飛んでくるトラフィックを
自由自在に操る力
篠原 一徳
Application Modernization Specialist
専門分野: Anthos 、k8s 、Serverless 、CI/CD
Twitter: @kazshinohara
猫とカメラと旅が好き
● タイトルの「飛んでくるトラフィック」の通り、
GKE へのインバウンドトラフィックの話に絞ります
● 原則 GKE (k8s) のマニフェストで設定可能な機能の話をします
● What is Kubernetes ? What is GKE ? What is GCP ? などは
ご存知の前提で話をします
1. GKE へのインバウンドトラフィック制御で考慮すべきポイント
2. インターネットからGKE へのトラフィック(External)
3. VPC 内部から GKE へのトラフィック(Internal)
4. まとめ
アジェンダ
へのインバウンドトラフィック制御で
 考慮すべきポイント
Kubernetes の可用性やスケーラビリティの恩恵に与るためには、
インバウンド トラフィックを適切に制御しPod まで転送することが重要
のワークロードは分散システムが主流
Pod Pod Pod Pod Pod Pod
Nodes
Pod Pod Pod Pod Pod Pod
Clients
トラフィック制御への要件はアプリケーションにより様々だが、
大きく以下 3 つのポイントを考慮することが重要
1. トラフィックの向き
2. プロトコル
3. トラフィックに加える動き
インバウンド トラフィック制御で考慮すべきポイント
● インターネットからGKE へのトラフィック(External)
○ 外部公開目的
○ ユーザーや 3rd party からのアクセス
○ 求められるセキュリティレベルが高い (SSL/TLS 、FW 、WAF etc.)
● VPC 内部から GKE へのトラフィック(Internal)
○ 内部システム間の連携など
○ VPC 内の GCE からのアクセス
○ Interconnect/Cloud VPN を経由したオンプレや他社クラウド上のホストからのアクセス
ポイント トラフィックの向き
● TCP/UDP
○ HTTP を使わないアプリケーションや独自プロトコル、 RTSP/RTP などを使った動画、音声などのリ
アルタイム通信など
● HTTP/HTTPS
○ HTTP/1.0 & HTTP/1.1
■ 一般的な Web 、Rest 、Websocket など
○ HTTP/2
■ ストリームの多重化、 HTTP/1.0 、HTTP1.1 と比較し高速に通信、 gRPC など
ポイント プロトコル
● 負荷分散
○ 分散配置されたPod に対するトラフィックに対してL4 や L7 レベルで
負荷分散を行う
● 高度なルーティング
○ トラフィック スプリットやリダイレクト、URI リライトなどを行うなど
ポイント トラフィックに加える動き
インターネットから へのトラフィック
トラフィックの負荷分散
External Traffic
トラフィックの負荷分散
GKE (k8s) の Service リソースを使う
Type は LoadBalancer を指定
● 外部 LB として、GCP の External TCP/UDP
Network Load Balancing が利用される
● Proxy はせず、送信元 IP アドレスが
維持される
● 送信元 IP とポートと、宛先 IP とポート、
プロトコルのハッシュに基づいて
バランシングを行う
External Traffic
Pod
kube-proxy(iptables)
Pod Pod Pod Pod Pod
NIC NIC NIC
① : External TCP/UDP Network Load
Balancing がトラフィックを受信
② : 宛先 IP / Port は変えずにNode の
いずれかにバランシングしつつ転送
③ : kube-proxy(iptables) に転送
④ : kube-proxy(iptables) から 青 Pod
のいずれかにバランシングしつつ転送
①
②
③
④
Nodes
:8080 :8080 :8080
トラフィックの負荷分散イメージ
34.69.XX.XX:80External TCP/UDP Network
Load Balancing
External Traffic
LB からの Health Check は
各ノードのkube-proxy の
/healthz に対して
TCP 10256 で行っている
iptables のバランシング
アルゴリズムはRandom
トラフィックの負荷分散
External Traffic
トラフィックの負荷分散
GKE (k8s) の Ingress と Service リソースを使う
Service の Type は NodePort を指定
● 外部 LB として、GCP の External HTTP(S) Load Balancing が利用される
● SSL / TLS の終端をしつつ、複数のService 間で Path based routing が可能
● Client と External HTTP(S) Load Balancing 間は HTTP/1.0 、HTTP/1.1 、HTTP/2 が
利用可能
● External HTTP(S) Load Balancing とバックエンドサービス(Pod) 間は
デフォルトではHTTP/1.1 で通信される(別途 HTTP/2 に変更可能)
External Traffic
External Traffic
トラフィックの負荷分散イメージ
Pod
kube-proxy(iptables)
Pod Pod Pod Pod Pod
NIC NIC NIC
Health check は
各 NodePort 宛に
行われる
:50000 :50000
NodePort: *:30080
① : External HTTP(S) Load Balancing が
トラフィックを受信
② : Path 毎に指定されたService の NodePort
  に転送
③ : NodePort から kube-proxy(iptables) へ
転送
④ : kube-proxy(iptables) から
各 Pod にバランシングして転送
②
③
④
NodePort: *:30180
:8080:8080:8080
kube-proxy(iptables)
Nodes
①
:50000
/* : “my-products” service
/discounted “my-discounted-products” service
External HTTP(S)
Load Balancing
External Traffic
34.69.XX.XX:443
iptables のバランシング
アルゴリズムはRandom
External HTTP(S) Load Balacing に SSL 証明書 を渡す方法は以下3 つある
● Managed SSL certificate (Beta)
○ Google が払い出す SSL 証明書 を利用、CA は Google Trust Services
○ DV のみ、1 SSL 証明書 で 100 non-wildcard ドメインまでサポート
● Secret
○ GKE (k8s) の Secret を使った SSL 証明書 の持ち込み
○ DV, OV, EV 利用可能、wildcard ドメインサポート
● Pre-shared certificate
○ GCP が持つ SSL 証明書管理の仕組みを使った持ち込み
○ DV, OV, EV 利用可能、wildcard ドメインサポート
証明書 の設定 External Traffic
証明書、諸注意
● SSL 証明書のローテーション
○ Managed certificate は自動更新、その他はユーザーが手動で更新する必要がある
● Ingress 毎の設定可能な SSL 証明書数
○ 最大 10 個の SSL 証明書 を設定可能
● SSL 証明書が複数ある場合の選択ルール
○ TLS ハンドシェイクの際の Domain name に基づいて、SNI を使ってどの SSL 証明書 を
クライアントに返すか決める
○ どの SSL 証明書 の CN にもマッチしない場合は、リストの最初の SSL 証明書を使う
External Traffic
External Traffic
負荷分散
Custom Resource の BackendConfig を使って以下の機能を設定可能。
● Cloud Armor security policy
● Cloud CDN
● Identity-Aware-Proxy (IAP)
● Timeout
● HTTP access logging
● Connection draining timeout
● Session Affinity
● User-defined request headers
NEW
External Traffic
External Traffic
設定イメージ
Service
Internet
Deployment
Ingress
External
HTTP(S) LB
GKE
Cloud
Armor
Security policy
ManagedCertificate
BackendConfig $ kubectl で設定
固定外部IP
$ gcloud で設定
External Traffic
コンテナ ネイティブ 負荷分散
External Traffic
デフォルトの Ingress では External HTTP(S) Load Balancing と kube-proxy (iptables)
による 2 重 のロードバランシングをしているため、オーバーヘッドが大きい
ネットワーク エンドポイントグループ (NEG) を使用することで、
External HTTP(S) Load Balancing から直接 Pod にロードバランシングを行うことが出来る
設定方法はService リソースに cloud.google.com/neg: '{"ingress": true}' を annotation として入
れるだけ、VPC Native クラスタでのみ利用可能
コンテナ ネイティブ 負荷分散 External Traffic
と を使った負荷分散イメージ
Pod Pod Pod Pod Pod Pod
NIC NIC NIC
:50000 :50000
① : External HTTP(S) Load Balancing が
トラフィックを受信
② : Path 毎に指定されたService の Pod に
  直接転送
②
:8080:8080:8080
Nodes
①
:50000
35.244.**.**
/* : “my-products” service
/discounted “my-discounted-products” service
External Traffic
Health check は
各 Endpoint ( Pod ) の
target port に
対して行われる
External HTTP(S)
Load Balancing
● 基本は使うべし
○ 新しい機能はNEG をベースに開発されていることが多い
○ 少しでもネットワークレイテンシーのオーバーヘッドを減らしたい、
パフォーマンスセントリックなワークロードは特に
● 設定自体は簡単だが、以下の通りQuota があるので注意
○ プロジェクト毎の最大NEG 数 : 100
○ NEG 毎のエンドポイント数: 10,000
は使うべきか? External Traffic
クラスタ間で トラフィックの負荷分散
External Traffic
Ingress for Anthos (Beta) を使う
Ingress for Anthos は External HTTP(S) Load Balancing をベースにした新しいサービス
● クラスタ間、マルチリージョン間でのHTTP/HTTPS ロードバランシングが可能
● VPC ネイティブクラスタで利用可能(NEG 依存)
● バックエンドの状態(Health) をみつつ、最寄り(Latency) のクラスタに転送される
● kubemci との違い
○ CLI ツールではなく、CRD
○ 宣言型
○ GCP のサポート
クラスタ間で トラフィックの負荷分散 External Traffic
External Traffic
GCP Project
asia-northeast1 asia-northeast2
Google Backbone
Cluster A
Kubernetes Engine
Cluster B
Kubernetes Engine
Internet
東京 大阪
クラスタ間で トラフィックの
負荷分散イメージ
1.1.1.1
External Traffic
1.1.1.1
以下のようなユースケースがある場合、おすすめ
● リージョン間で冗長構成を組みたい
● GKE クラスタのカナリーアップグレードをしたい
● グローバルにサービスを提供しつつ
○ クライアント〜サーバー間を同一地域内に閉じレイテンシーを低くしたい
○ シングル IP で運用したい
2020.04.27 現在、BackendConfig でサポートしているのはTimeout のみ
今後、通常のIngress と同等の機能を提供出来るようになる予定
を使うべきか? External Traffic
デモ
External Traffic
トラフィックに対する
高度なルーティング
External Traffic
Anthos Service Mesh (ASM) を使う
ASM は Istio 互換のマネージドサービスメッシュ
以下のようなトラフィック制御が出来る
● トラフィック スプリット
● URI リライト
● Path Based Routing
● Retry logic
● Circuit Breaker
● Traffic Mirroring..etc.
トラフィックに対する高度なルーティング External Traffic
コントロールプレーンはGoogle 管理
Istio の各コントローラは
Google の Proprietary に置き換え
● Istio Pilot >> Traffic Director
● Istio Citadel >> Mesh CA
● Istio Mixer >> Managed backends
概要 External Traffic
Traffic Director
Config to
Envoys
(xDSv2 APIs)
TLS certs to
Envoys
Telemetry
Mesh CA
HTTP, gRPC, TCP
mTLS
Managed
backends
GA BetaAlpha
Anthos GKE Single Cluster
Data Plane
Control Plane managed by Google
App A
Envoy
App B
Envoy
デフォルトのネットワーク構成 External Traffic
istio-ingressgateway Envoy
App A
container
Envoy
App B
container
Replica: 1
Limits: CPU:2, memory: 1Gi
Requests: CPU: 100m, 128Mi
Sidecar proxy (Envoy)
Limits: CPU: 100m, memory: 50Mi
Requests: CPU: 10m, 10Mi
istio-ingressgateway は Deployment として配置され、Service の Type は LoadBalancer が
指定され、External TCP/UDP Network Load Balancing が使われる
istio-ingressgateway / Envoy は Pilot から 宛先 Service の エンドポイントを入手し、
各 Pod に対して直接パケットを転送する
External TCP/UDP
Network Load
Balancing
Kube-proxy
(iptables)
と の リソース相関図
Gateway VirtualService DestinationRule
k8s Service
External Traffic
istio-ingressgateway
Envoy
App container
Envoy
App container
v2 Pod
参照
設定
設定
Pilot 経由で
Endpoint を取得
転送先ルート
として指定 指定
Pod
Endpoints
v1 Pod
Subset 参照
Selector
Subset 定義
External Traffic
Path Based Routing
External Traffic
トラフィック スプリット
istio-ingressgateway は豊富なトラフィック制御機能が売り
External HTTP(S) Load Balancing (Ingress) とあえて組み合わせて使う場合は
以下のケースが想定される
● シングル IP が必要な場合
● Cloud Armor や Cloud CDN など BackendConfig 系の機能が必要な場合
● Managed Certificate が必要な場合
● Ingress for Anthos と組み合わせて利用したい場合
と
の組み合わせ
External Traffic
External HTTP(S)
Load Balancing
istio-ingressgateway Envoy
App A
Container
NEG
Pod Pod
通常の Ingress ではホップ数が多くなるため、NEG 利用がおすすめ
ポイントは External HTTP(S) Load Balancing の Health Check への対応をどうするか
の設定
NEG を有効にした
Service を新たに作成
Ingress を作成
LB からの Health
Check が通るように
VirtualService を設定
Health Checkに対して
200 を返すように
Health Check
GET “/”
トラフィックの負荷分散
External Traffic
Envoy
App container
gRPC App Pod
トラフィックの負荷分散 External Traffic
ASM の Envoy を使って gRPC の負荷分散を行うことが可能
Health check は Pod の readinessProbe で grpc_health_probe を使い、fail した場合は、
Service から Pod の Endpoint が削除され、結果、Envoy による転送もされない
istio-ingressgateway
Envoy
App container
Envoy
App container
gRPC App PodPod
gRPC App Pod
SSL/TLS を終端 mTLS しつつ
バランシング
SSL/TLSな
gRPC リクエスト
Clients
readiness
Probe
デモ ロードバランシング
External Traffic
以下のようなユースケースがある場合、おすすめ
● Ingress がサポートしていない高度なルーティングが必要
● アプリがマイクロサービスアーキテクチャ
● gRPC の負荷分散、特にクラスタ内で行いたい(Envoy 個別に管理したくない)
● Istio 使いたいけどちょっと不安、Google のサポートがほしい
Istio 運用のツラミはコミュニティでも情報が出てきてますので、
その辺りも参考にしながら、十分に設計、検証の上、導入しましょう!
を使うべきか? External Traffic
内部から へのトラフィック
トラフィックの負荷分散
Internal Traffic
トラフィックの負荷分散 Internal Traffic
Egress と同様、Service リソースを使う
Internal であることを示す、
アノテーションを付ける。(Beta)
● 外部 LB として、GCP の Internal TCP/UDP
Load Balancing が利用される
● Proxy はせず、送信元 IP アドレスが
維持される
● バランシング アルゴリズムも External と
同様
Pod
kube-proxy(iptables)
Pod Pod Pod Pod Pod
NIC NIC NIC
① : Internal TCP/UDP Load Balancing が
VPC内のホストからトラフィックを受信
② : Node のいずれかに宛先IP/Port は
  変えずにバランシングしつつ転送
③ : kube-proxy(iptables) に転送
④ : kube-proxy(iptables) から青 Pod の
いずれかにバランシングしつつ転送
①
②
③
④
Nodes
:8080 :8080 :8080
トラフィックのイメージ
192.168.2.14:80Internal TCP/UDP
Load Balancing
Internal Traffic
LB からの Health Check は
各ノードのkube-proxy の
/healthz に対して
TCP 10256 で行っている
iptables のバランシング
アルゴリズムはRandom
トラフィックの負荷分散
Internal Traffic
External と同様 GKE (k8s) の Ingress と Service リソースを使う
Ingress には Internal であることを示す、アノテーションを付ける。(Beta)
● 外部 LB として、GCP の Internal HTTP(S) Load Balancing が利用される
● Release channnel の Rapid かつ VPC Native クラスタのみサポート、NEG 必須
● L7 LB の実体としてはEnvoy ベースのプロキシが使用される
● 別途プロキシ専用サブネットが必要(64 以上のホスト IP が必要)
● BackendConfig は Timeout 、HTTP access logging 、Session Affinity のみサポート
トラフィックの負荷分散 Internal Traffic
Internal Traffic
Internal HTTP(S) Load Balacing に SSL 証明書 を渡す方法は以下2 つある
● Secret
○ GKE (k8s) の Secret を使った SSL 証明書 の持ち込み
○ DV, OV, EV 利用可能、wildcard ドメインサポート
● Pre-shared certificate
○ GCP が持つ SSL 証明書管理の仕組みを使った持ち込み
○ DV, OV, EV 利用可能、wildcard ドメインサポート
証明書 の設定 Internal Traffic
トラフィックの負荷分散イメージ
Pod Pod Pod Pod Pod Pod
NIC NIC NIC
:50000 :50000
① : Internal HTTP(S) Load Balancing が
トラフィックを受信
② : Path 毎に指定されたService の Pod に
  直接転送
②
:8080:8080:8080 :50000
10.254..**.**
/* : “my-products” service
/discounted “my-discounted-products” service
Health check は
各 Endpoint ( Pod ) の
target port に
対して行われる
Internal HTTP(S)
Load Balancing
Internal Traffic
まとめ
以下 3 点と 各 LB の特徴を踏まえて快適なGKE トラフィック制御ライフを!
1. トラフィックの向き
2. プロトコル
3. トラフィックに加える動き
マルチクラスタIngress や高度なルーティングはAnthos の機能として提供
今後更に機能が追加されていく予定
今後の GKE / Anthos にご期待ください!
まとめ
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
#gc_inside
#gc_inside
今すぐ参加登録 ↑
ビジネスをサポートするGoogle Cloud ソリューションを学ぶ。
年 月 日 火 日 木 ライブ配信
年 月 日 火 日 火 開催
Google Cloud トレーニング無料提供 キャンペーンのご案内
Qwiklabs、Pluralsight(英語のみ)、対象 のCoursera のコースを1 か月間無料でご提供
お申込み期限は、5 月 20 日まで
(Pluralsight のみ 4 月 30 日まで)
goo.gle/TrainingOffer
詳細・お申込みはこちら ↑

More Related Content

What's hot

Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
NTT DATA Technology & Innovation
 
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能BuildKitの概要と最近の機能
BuildKitの概要と最近の機能
Kohei Tokunaga
 
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
NTT DATA Technology & Innovation
 
Ingressの概要とLoadBalancerとの比較
Ingressの概要とLoadBalancerとの比較Ingressの概要とLoadBalancerとの比較
Ingressの概要とLoadBalancerとの比較
Mei Nakamura
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Kohei Tokunaga
 
Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説
貴仁 大和屋
 
Amazon EKS への道 ~ EKS 再入門 ~
Amazon EKS への道 ~ EKS 再入門 ~Amazon EKS への道 ~ EKS 再入門 ~
Amazon EKS への道 ~ EKS 再入門 ~
Hideaki Aoyagi
 
Ingress on Azure Kubernetes Service
Ingress on Azure Kubernetes ServiceIngress on Azure Kubernetes Service
Ingress on Azure Kubernetes Service
Toru Makabe
 
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
NTT DATA Technology & Innovation
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
 
Istioサービスメッシュ入門
Istioサービスメッシュ入門Istioサービスメッシュ入門
Istioサービスメッシュ入門
Yoichi Kawasaki
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
増田 亨
 
[GKE & Spanner 勉強会] Cloud Spanner の技術概要
[GKE & Spanner 勉強会] Cloud Spanner の技術概要[GKE & Spanner 勉強会] Cloud Spanner の技術概要
[GKE & Spanner 勉強会] Cloud Spanner の技術概要
Google Cloud Platform - Japan
 
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
NTT DATA Technology & Innovation
 
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
NTT DATA Technology & Innovation
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
Kumazaki Hiroki
 
オープンソースのAPIゲートウェイ Kong ご紹介
オープンソースのAPIゲートウェイ Kong ご紹介 オープンソースのAPIゲートウェイ Kong ご紹介
オープンソースのAPIゲートウェイ Kong ご紹介
briscola-tokyo
 
Redisの特徴と活用方法について
Redisの特徴と活用方法についてRedisの特徴と活用方法について
Redisの特徴と活用方法について
Yuji Otani
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
Amazon Web Services Japan
 

What's hot (20)

Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
 
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能BuildKitの概要と最近の機能
BuildKitの概要と最近の機能
 
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
 
Ingressの概要とLoadBalancerとの比較
Ingressの概要とLoadBalancerとの比較Ingressの概要とLoadBalancerとの比較
Ingressの概要とLoadBalancerとの比較
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説
 
Amazon EKS への道 ~ EKS 再入門 ~
Amazon EKS への道 ~ EKS 再入門 ~Amazon EKS への道 ~ EKS 再入門 ~
Amazon EKS への道 ~ EKS 再入門 ~
 
Ingress on Azure Kubernetes Service
Ingress on Azure Kubernetes ServiceIngress on Azure Kubernetes Service
Ingress on Azure Kubernetes Service
 
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
 
Istioサービスメッシュ入門
Istioサービスメッシュ入門Istioサービスメッシュ入門
Istioサービスメッシュ入門
 
Google Cloud で実践する SRE
Google Cloud で実践する SRE  Google Cloud で実践する SRE
Google Cloud で実践する SRE
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
 
[GKE & Spanner 勉強会] Cloud Spanner の技術概要
[GKE & Spanner 勉強会] Cloud Spanner の技術概要[GKE & Spanner 勉強会] Cloud Spanner の技術概要
[GKE & Spanner 勉強会] Cloud Spanner の技術概要
 
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
 
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
 
オープンソースのAPIゲートウェイ Kong ご紹介
オープンソースのAPIゲートウェイ Kong ご紹介 オープンソースのAPIゲートウェイ Kong ご紹介
オープンソースのAPIゲートウェイ Kong ご紹介
 
Redisの特徴と活用方法について
Redisの特徴と活用方法についてRedisの特徴と活用方法について
Redisの特徴と活用方法について
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
 

Similar to GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online

On-premise コンテナ基盤と Hardware LB を使った "type LoadBalancer"
On-premise コンテナ基盤と Hardware LB を使った "type LoadBalancer"On-premise コンテナ基盤と Hardware LB を使った "type LoadBalancer"
On-premise コンテナ基盤と Hardware LB を使った "type LoadBalancer"
Masaya Aoyama
 
Brocade SDN Controller -Sample Code for Brocade vRouter-
Brocade SDN Controller -Sample Code for Brocade vRouter-Brocade SDN Controller -Sample Code for Brocade vRouter-
Brocade SDN Controller -Sample Code for Brocade vRouter-
Brocade
 
P2Pって何?
P2Pって何?P2Pって何?
P2Pって何?
Junya Yamaguchi
 
20150715 xflow kikuta_final
20150715 xflow kikuta_final20150715 xflow kikuta_final
20150715 xflow kikuta_final
Kazumasa Ikuta
 
Wasm blazor and wasi 2
Wasm blazor and wasi 2Wasm blazor and wasi 2
Wasm blazor and wasi 2
Takao Tetsuro
 
第11回ACRiウェビナー_東工大/坂本先生ご講演資料
第11回ACRiウェビナー_東工大/坂本先生ご講演資料第11回ACRiウェビナー_東工大/坂本先生ご講演資料
第11回ACRiウェビナー_東工大/坂本先生ご講演資料
直久 住川
 
[Cloud OnAir] エンタープライズでのマイグレーション ツール活用 2019年8月8日 放送
[Cloud OnAir] エンタープライズでのマイグレーション ツール活用 2019年8月8日 放送[Cloud OnAir] エンタープライズでのマイグレーション ツール活用 2019年8月8日 放送
[Cloud OnAir] エンタープライズでのマイグレーション ツール活用 2019年8月8日 放送
Google Cloud Platform - Japan
 
JAWS目黒 EC2チューニングTips #jawsmeguro #jawsug
JAWS目黒 EC2チューニングTips #jawsmeguro #jawsugJAWS目黒 EC2チューニングTips #jawsmeguro #jawsug
JAWS目黒 EC2チューニングTips #jawsmeguro #jawsug
Yasuhiro Matsuo
 
OpenStackネットワーキング管理者入門 - OpenStack最新情報セミナー 2014年8月
OpenStackネットワーキング管理者入門 - OpenStack最新情報セミナー 2014年8月OpenStackネットワーキング管理者入門 - OpenStack最新情報セミナー 2014年8月
OpenStackネットワーキング管理者入門 - OpenStack最新情報セミナー 2014年8月
VirtualTech Japan Inc.
 
近頃のDockerネットワーク
近頃のDockerネットワーク近頃のDockerネットワーク
近頃のDockerネットワーク
Yuji Oshima
 
Mk vpp for-containers-vppug
Mk vpp for-containers-vppugMk vpp for-containers-vppug
Mk vpp for-containers-vppug
Miya Kohno
 
YAPC::Asia2014 - O2O/IoT/Wearable時代におけるWeb以外のネットワーク技術入門
YAPC::Asia2014 - O2O/IoT/Wearable時代におけるWeb以外のネットワーク技術入門YAPC::Asia2014 - O2O/IoT/Wearable時代におけるWeb以外のネットワーク技術入門
YAPC::Asia2014 - O2O/IoT/Wearable時代におけるWeb以外のネットワーク技術入門
Recruit Technologies
 
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコシステムズ合同会社
 
Network as a Service - Data plane evolution and abstraction by NSM
Network as a Service - Data plane evolution and abstraction by NSMNetwork as a Service - Data plane evolution and abstraction by NSM
Network as a Service - Data plane evolution and abstraction by NSM
Miya Kohno
 
[Japan Tech summit 2017] DEP 005
[Japan Tech summit 2017] DEP 005[Japan Tech summit 2017] DEP 005
[Japan Tech summit 2017] DEP 005
Microsoft Tech Summit 2017
 
NGINX製品の最新機能アップデート情報
NGINX製品の最新機能アップデート情報NGINX製品の最新機能アップデート情報
NGINX製品の最新機能アップデート情報
NGINX, Inc.
 
FD.io VPP事始め
FD.io VPP事始めFD.io VPP事始め
FD.io VPP事始め
tetsusat
 
[Cloud OnAir] Anthosで実現するハイブリッドクラウド 〜 GKE On-Prem編 〜 2019年8月29日 放送
[Cloud OnAir] Anthosで実現するハイブリッドクラウド 〜 GKE On-Prem編 〜 2019年8月29日 放送[Cloud OnAir] Anthosで実現するハイブリッドクラウド 〜 GKE On-Prem編 〜 2019年8月29日 放送
[Cloud OnAir] Anthosで実現するハイブリッドクラウド 〜 GKE On-Prem編 〜 2019年8月29日 放送
Google Cloud Platform - Japan
 
Google Cloud のネットワークとロードバランサ
Google Cloud のネットワークとロードバランサGoogle Cloud のネットワークとロードバランサ
Google Cloud のネットワークとロードバランサ
Google Cloud Platform - Japan
 

Similar to GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online (20)

On-premise コンテナ基盤と Hardware LB を使った "type LoadBalancer"
On-premise コンテナ基盤と Hardware LB を使った "type LoadBalancer"On-premise コンテナ基盤と Hardware LB を使った "type LoadBalancer"
On-premise コンテナ基盤と Hardware LB を使った "type LoadBalancer"
 
2015-ShowNet-Tester/IoT
2015-ShowNet-Tester/IoT2015-ShowNet-Tester/IoT
2015-ShowNet-Tester/IoT
 
Brocade SDN Controller -Sample Code for Brocade vRouter-
Brocade SDN Controller -Sample Code for Brocade vRouter-Brocade SDN Controller -Sample Code for Brocade vRouter-
Brocade SDN Controller -Sample Code for Brocade vRouter-
 
P2Pって何?
P2Pって何?P2Pって何?
P2Pって何?
 
20150715 xflow kikuta_final
20150715 xflow kikuta_final20150715 xflow kikuta_final
20150715 xflow kikuta_final
 
Wasm blazor and wasi 2
Wasm blazor and wasi 2Wasm blazor and wasi 2
Wasm blazor and wasi 2
 
第11回ACRiウェビナー_東工大/坂本先生ご講演資料
第11回ACRiウェビナー_東工大/坂本先生ご講演資料第11回ACRiウェビナー_東工大/坂本先生ご講演資料
第11回ACRiウェビナー_東工大/坂本先生ご講演資料
 
[Cloud OnAir] エンタープライズでのマイグレーション ツール活用 2019年8月8日 放送
[Cloud OnAir] エンタープライズでのマイグレーション ツール活用 2019年8月8日 放送[Cloud OnAir] エンタープライズでのマイグレーション ツール活用 2019年8月8日 放送
[Cloud OnAir] エンタープライズでのマイグレーション ツール活用 2019年8月8日 放送
 
JAWS目黒 EC2チューニングTips #jawsmeguro #jawsug
JAWS目黒 EC2チューニングTips #jawsmeguro #jawsugJAWS目黒 EC2チューニングTips #jawsmeguro #jawsug
JAWS目黒 EC2チューニングTips #jawsmeguro #jawsug
 
OpenStackネットワーキング管理者入門 - OpenStack最新情報セミナー 2014年8月
OpenStackネットワーキング管理者入門 - OpenStack最新情報セミナー 2014年8月OpenStackネットワーキング管理者入門 - OpenStack最新情報セミナー 2014年8月
OpenStackネットワーキング管理者入門 - OpenStack最新情報セミナー 2014年8月
 
近頃のDockerネットワーク
近頃のDockerネットワーク近頃のDockerネットワーク
近頃のDockerネットワーク
 
Mk vpp for-containers-vppug
Mk vpp for-containers-vppugMk vpp for-containers-vppug
Mk vpp for-containers-vppug
 
YAPC::Asia2014 - O2O/IoT/Wearable時代におけるWeb以外のネットワーク技術入門
YAPC::Asia2014 - O2O/IoT/Wearable時代におけるWeb以外のネットワーク技術入門YAPC::Asia2014 - O2O/IoT/Wearable時代におけるWeb以外のネットワーク技術入門
YAPC::Asia2014 - O2O/IoT/Wearable時代におけるWeb以外のネットワーク技術入門
 
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
 
Network as a Service - Data plane evolution and abstraction by NSM
Network as a Service - Data plane evolution and abstraction by NSMNetwork as a Service - Data plane evolution and abstraction by NSM
Network as a Service - Data plane evolution and abstraction by NSM
 
[Japan Tech summit 2017] DEP 005
[Japan Tech summit 2017] DEP 005[Japan Tech summit 2017] DEP 005
[Japan Tech summit 2017] DEP 005
 
NGINX製品の最新機能アップデート情報
NGINX製品の最新機能アップデート情報NGINX製品の最新機能アップデート情報
NGINX製品の最新機能アップデート情報
 
FD.io VPP事始め
FD.io VPP事始めFD.io VPP事始め
FD.io VPP事始め
 
[Cloud OnAir] Anthosで実現するハイブリッドクラウド 〜 GKE On-Prem編 〜 2019年8月29日 放送
[Cloud OnAir] Anthosで実現するハイブリッドクラウド 〜 GKE On-Prem編 〜 2019年8月29日 放送[Cloud OnAir] Anthosで実現するハイブリッドクラウド 〜 GKE On-Prem編 〜 2019年8月29日 放送
[Cloud OnAir] Anthosで実現するハイブリッドクラウド 〜 GKE On-Prem編 〜 2019年8月29日 放送
 
Google Cloud のネットワークとロードバランサ
Google Cloud のネットワークとロードバランサGoogle Cloud のネットワークとロードバランサ
Google Cloud のネットワークとロードバランサ
 

More from Google Cloud Platform - Japan

ServerlessDays Tokyo 2022 Virtual.pdf
ServerlessDays Tokyo 2022 Virtual.pdfServerlessDays Tokyo 2022 Virtual.pdf
ServerlessDays Tokyo 2022 Virtual.pdf
Google Cloud Platform - Japan
 
20221105_GCPUG 女子会 Kubernets 編.pdf
20221105_GCPUG 女子会 Kubernets 編.pdf20221105_GCPUG 女子会 Kubernets 編.pdf
20221105_GCPUG 女子会 Kubernets 編.pdf
Google Cloud Platform - Japan
 
Google Cloud でアプリケーションを動かす.pdf
Google Cloud でアプリケーションを動かす.pdfGoogle Cloud でアプリケーションを動かす.pdf
Google Cloud でアプリケーションを動かす.pdf
Google Cloud Platform - Japan
 
[External] 2021.12.15 コンテナ移行の前に知っておきたいこと @ gcpug 湘南
[External] 2021.12.15 コンテナ移行の前に知っておきたいこと  @ gcpug 湘南[External] 2021.12.15 コンテナ移行の前に知っておきたいこと  @ gcpug 湘南
[External] 2021.12.15 コンテナ移行の前に知っておきたいこと @ gcpug 湘南
Google Cloud Platform - Japan
 
What’s new in cloud run 2021 後期
What’s new in cloud run 2021 後期What’s new in cloud run 2021 後期
What’s new in cloud run 2021 後期
Google Cloud Platform - Japan
 
【Dialogflow cx】はじめてみよう google cloud dialogflow cx 編
【Dialogflow cx】はじめてみよう google cloud dialogflow cx 編【Dialogflow cx】はじめてみよう google cloud dialogflow cx 編
【Dialogflow cx】はじめてみよう google cloud dialogflow cx 編
Google Cloud Platform - Japan
 
[Cloud OnAir] 事例紹介 : 株式会社マーケティングアプリケーションズ 〜クラウドへのマイグレーションとその後〜 2020年12月17日 放送
[Cloud OnAir] 事例紹介 : 株式会社マーケティングアプリケーションズ  〜クラウドへのマイグレーションとその後〜 2020年12月17日 放送[Cloud OnAir] 事例紹介 : 株式会社マーケティングアプリケーションズ  〜クラウドへのマイグレーションとその後〜 2020年12月17日 放送
[Cloud OnAir] 事例紹介 : 株式会社マーケティングアプリケーションズ 〜クラウドへのマイグレーションとその後〜 2020年12月17日 放送
Google Cloud Platform - Japan
 
[Cloud OnAir] 【実演】Google Cloud VMware Engine と VMware ソリューションを組み合わせたハイブリッド環境の...
[Cloud OnAir] 【実演】Google Cloud VMware Engine と VMware ソリューションを組み合わせたハイブリッド環境の...[Cloud OnAir] 【実演】Google Cloud VMware Engine と VMware ソリューションを組み合わせたハイブリッド環境の...
[Cloud OnAir] 【実演】Google Cloud VMware Engine と VMware ソリューションを組み合わせたハイブリッド環境の...
Google Cloud Platform - Japan
 
[Cloud OnAir] Google Workspace でできる データ分析と業務自動化のご紹介 2020年12月3日 放送
[Cloud OnAir] Google Workspace でできる データ分析と業務自動化のご紹介 2020年12月3日 放送[Cloud OnAir] Google Workspace でできる データ分析と業務自動化のご紹介 2020年12月3日 放送
[Cloud OnAir] Google Workspace でできる データ分析と業務自動化のご紹介 2020年12月3日 放送
Google Cloud Platform - Japan
 
[Cloud OnAir] Google Cloud へのマイグレーション ツールの紹介 2020年11月26日 放送
[Cloud OnAir] Google Cloud へのマイグレーション ツールの紹介 2020年11月26日 放送[Cloud OnAir] Google Cloud へのマイグレーション ツールの紹介 2020年11月26日 放送
[Cloud OnAir] Google Cloud へのマイグレーション ツールの紹介 2020年11月26日 放送
Google Cloud Platform - Japan
 
[Cloud OnAir] Google Cloud における RDBMS の運用パターン 2020年11月19日 放送
[Cloud OnAir] Google Cloud における RDBMS の運用パターン 2020年11月19日 放送[Cloud OnAir] Google Cloud における RDBMS の運用パターン 2020年11月19日 放送
[Cloud OnAir] Google Cloud における RDBMS の運用パターン 2020年11月19日 放送
Google Cloud Platform - Japan
 
[Cloud OnAir] 事例紹介: 株式会社オープンハウス 〜Google サービスを活用したオープンハウスの AI の取り組み〜 2020年11月1...
[Cloud OnAir] 事例紹介: 株式会社オープンハウス 〜Google サービスを活用したオープンハウスの AI の取り組み〜 2020年11月1...[Cloud OnAir] 事例紹介: 株式会社オープンハウス 〜Google サービスを活用したオープンハウスの AI の取り組み〜 2020年11月1...
[Cloud OnAir] 事例紹介: 株式会社オープンハウス 〜Google サービスを活用したオープンハウスの AI の取り組み〜 2020年11月1...
Google Cloud Platform - Japan
 
[Cloud OnAir] 【Anthos 演習】 解説を聞きながら Anthos を体験しよう 2020年11月5日 放送
[Cloud OnAir] 【Anthos 演習】 解説を聞きながら Anthos を体験しよう 2020年11月5日 放送[Cloud OnAir] 【Anthos 演習】 解説を聞きながら Anthos を体験しよう 2020年11月5日 放送
[Cloud OnAir] 【Anthos 演習】 解説を聞きながら Anthos を体験しよう 2020年11月5日 放送
Google Cloud Platform - Japan
 
[Cloud OnAir] 【Google Kubernetes Engine 演習】解説を聞きながら GKE を体験しよう 2020年10月29日 放送
[Cloud OnAir] 【Google Kubernetes Engine 演習】解説を聞きながら GKE を体験しよう 2020年10月29日 放送[Cloud OnAir] 【Google Kubernetes Engine 演習】解説を聞きながら GKE を体験しよう 2020年10月29日 放送
[Cloud OnAir] 【Google Kubernetes Engine 演習】解説を聞きながら GKE を体験しよう 2020年10月29日 放送
Google Cloud Platform - Japan
 
[Cloud OnAir] Google Cloud の AI / IoT 最新事例紹介 2020年10月22日 放送
[Cloud OnAir] Google Cloud の AI / IoT 最新事例紹介 2020年10月22日 放送[Cloud OnAir] Google Cloud の AI / IoT 最新事例紹介 2020年10月22日 放送
[Cloud OnAir] Google Cloud の AI / IoT 最新事例紹介 2020年10月22日 放送
Google Cloud Platform - Japan
 
[Cloud OnAir] Google Cloud Next '20: OnAir 特別編 〜世界で人気のあったセッション特集〜 2020年9月24日 放送
[Cloud OnAir] Google Cloud Next '20: OnAir 特別編 〜世界で人気のあったセッション特集〜 2020年9月24日 放送[Cloud OnAir] Google Cloud Next '20: OnAir 特別編 〜世界で人気のあったセッション特集〜 2020年9月24日 放送
[Cloud OnAir] Google Cloud Next '20: OnAir 特別編 〜世界で人気のあったセッション特集〜 2020年9月24日 放送
Google Cloud Platform - Japan
 
[Cloud OnAir] Talks by DevRel Vol.5 アプリケーションのモダナイゼーション 2020年9月3日 放送
[Cloud OnAir] Talks by DevRel Vol.5 アプリケーションのモダナイゼーション 2020年9月3日 放送[Cloud OnAir] Talks by DevRel Vol.5 アプリケーションのモダナイゼーション 2020年9月3日 放送
[Cloud OnAir] Talks by DevRel Vol.5 アプリケーションのモダナイゼーション 2020年9月3日 放送
Google Cloud Platform - Japan
 
明日から役立つ BigQuery ML 活用 5 つのヒント | Google Cloud INSIDE Games & Apps: Online
明日から役立つ  BigQuery ML 活用 5 つのヒント | Google Cloud INSIDE Games & Apps: Online明日から役立つ  BigQuery ML 活用 5 つのヒント | Google Cloud INSIDE Games & Apps: Online
明日から役立つ BigQuery ML 活用 5 つのヒント | Google Cloud INSIDE Games & Apps: Online
Google Cloud Platform - Japan
 
今だから知りたい BigQuery 再入門 | Google Cloud INSIDE Games & Apps: Online
今だから知りたい BigQuery 再入門 | Google Cloud INSIDE Games & Apps: Online今だから知りたい BigQuery 再入門 | Google Cloud INSIDE Games & Apps: Online
今だから知りたい BigQuery 再入門 | Google Cloud INSIDE Games & Apps: Online
Google Cloud Platform - Japan
 
『MAGELLAN BLOCKS』を使って BigQuery を使い倒す!| Google Cloud INSIDE Games & Apps: Online
『MAGELLAN BLOCKS』を使って BigQuery を使い倒す!| Google Cloud INSIDE Games & Apps: Online『MAGELLAN BLOCKS』を使って BigQuery を使い倒す!| Google Cloud INSIDE Games & Apps: Online
『MAGELLAN BLOCKS』を使って BigQuery を使い倒す!| Google Cloud INSIDE Games & Apps: Online
Google Cloud Platform - Japan
 

More from Google Cloud Platform - Japan (20)

ServerlessDays Tokyo 2022 Virtual.pdf
ServerlessDays Tokyo 2022 Virtual.pdfServerlessDays Tokyo 2022 Virtual.pdf
ServerlessDays Tokyo 2022 Virtual.pdf
 
20221105_GCPUG 女子会 Kubernets 編.pdf
20221105_GCPUG 女子会 Kubernets 編.pdf20221105_GCPUG 女子会 Kubernets 編.pdf
20221105_GCPUG 女子会 Kubernets 編.pdf
 
Google Cloud でアプリケーションを動かす.pdf
Google Cloud でアプリケーションを動かす.pdfGoogle Cloud でアプリケーションを動かす.pdf
Google Cloud でアプリケーションを動かす.pdf
 
[External] 2021.12.15 コンテナ移行の前に知っておきたいこと @ gcpug 湘南
[External] 2021.12.15 コンテナ移行の前に知っておきたいこと  @ gcpug 湘南[External] 2021.12.15 コンテナ移行の前に知っておきたいこと  @ gcpug 湘南
[External] 2021.12.15 コンテナ移行の前に知っておきたいこと @ gcpug 湘南
 
What’s new in cloud run 2021 後期
What’s new in cloud run 2021 後期What’s new in cloud run 2021 後期
What’s new in cloud run 2021 後期
 
【Dialogflow cx】はじめてみよう google cloud dialogflow cx 編
【Dialogflow cx】はじめてみよう google cloud dialogflow cx 編【Dialogflow cx】はじめてみよう google cloud dialogflow cx 編
【Dialogflow cx】はじめてみよう google cloud dialogflow cx 編
 
[Cloud OnAir] 事例紹介 : 株式会社マーケティングアプリケーションズ 〜クラウドへのマイグレーションとその後〜 2020年12月17日 放送
[Cloud OnAir] 事例紹介 : 株式会社マーケティングアプリケーションズ  〜クラウドへのマイグレーションとその後〜 2020年12月17日 放送[Cloud OnAir] 事例紹介 : 株式会社マーケティングアプリケーションズ  〜クラウドへのマイグレーションとその後〜 2020年12月17日 放送
[Cloud OnAir] 事例紹介 : 株式会社マーケティングアプリケーションズ 〜クラウドへのマイグレーションとその後〜 2020年12月17日 放送
 
[Cloud OnAir] 【実演】Google Cloud VMware Engine と VMware ソリューションを組み合わせたハイブリッド環境の...
[Cloud OnAir] 【実演】Google Cloud VMware Engine と VMware ソリューションを組み合わせたハイブリッド環境の...[Cloud OnAir] 【実演】Google Cloud VMware Engine と VMware ソリューションを組み合わせたハイブリッド環境の...
[Cloud OnAir] 【実演】Google Cloud VMware Engine と VMware ソリューションを組み合わせたハイブリッド環境の...
 
[Cloud OnAir] Google Workspace でできる データ分析と業務自動化のご紹介 2020年12月3日 放送
[Cloud OnAir] Google Workspace でできる データ分析と業務自動化のご紹介 2020年12月3日 放送[Cloud OnAir] Google Workspace でできる データ分析と業務自動化のご紹介 2020年12月3日 放送
[Cloud OnAir] Google Workspace でできる データ分析と業務自動化のご紹介 2020年12月3日 放送
 
[Cloud OnAir] Google Cloud へのマイグレーション ツールの紹介 2020年11月26日 放送
[Cloud OnAir] Google Cloud へのマイグレーション ツールの紹介 2020年11月26日 放送[Cloud OnAir] Google Cloud へのマイグレーション ツールの紹介 2020年11月26日 放送
[Cloud OnAir] Google Cloud へのマイグレーション ツールの紹介 2020年11月26日 放送
 
[Cloud OnAir] Google Cloud における RDBMS の運用パターン 2020年11月19日 放送
[Cloud OnAir] Google Cloud における RDBMS の運用パターン 2020年11月19日 放送[Cloud OnAir] Google Cloud における RDBMS の運用パターン 2020年11月19日 放送
[Cloud OnAir] Google Cloud における RDBMS の運用パターン 2020年11月19日 放送
 
[Cloud OnAir] 事例紹介: 株式会社オープンハウス 〜Google サービスを活用したオープンハウスの AI の取り組み〜 2020年11月1...
[Cloud OnAir] 事例紹介: 株式会社オープンハウス 〜Google サービスを活用したオープンハウスの AI の取り組み〜 2020年11月1...[Cloud OnAir] 事例紹介: 株式会社オープンハウス 〜Google サービスを活用したオープンハウスの AI の取り組み〜 2020年11月1...
[Cloud OnAir] 事例紹介: 株式会社オープンハウス 〜Google サービスを活用したオープンハウスの AI の取り組み〜 2020年11月1...
 
[Cloud OnAir] 【Anthos 演習】 解説を聞きながら Anthos を体験しよう 2020年11月5日 放送
[Cloud OnAir] 【Anthos 演習】 解説を聞きながら Anthos を体験しよう 2020年11月5日 放送[Cloud OnAir] 【Anthos 演習】 解説を聞きながら Anthos を体験しよう 2020年11月5日 放送
[Cloud OnAir] 【Anthos 演習】 解説を聞きながら Anthos を体験しよう 2020年11月5日 放送
 
[Cloud OnAir] 【Google Kubernetes Engine 演習】解説を聞きながら GKE を体験しよう 2020年10月29日 放送
[Cloud OnAir] 【Google Kubernetes Engine 演習】解説を聞きながら GKE を体験しよう 2020年10月29日 放送[Cloud OnAir] 【Google Kubernetes Engine 演習】解説を聞きながら GKE を体験しよう 2020年10月29日 放送
[Cloud OnAir] 【Google Kubernetes Engine 演習】解説を聞きながら GKE を体験しよう 2020年10月29日 放送
 
[Cloud OnAir] Google Cloud の AI / IoT 最新事例紹介 2020年10月22日 放送
[Cloud OnAir] Google Cloud の AI / IoT 最新事例紹介 2020年10月22日 放送[Cloud OnAir] Google Cloud の AI / IoT 最新事例紹介 2020年10月22日 放送
[Cloud OnAir] Google Cloud の AI / IoT 最新事例紹介 2020年10月22日 放送
 
[Cloud OnAir] Google Cloud Next '20: OnAir 特別編 〜世界で人気のあったセッション特集〜 2020年9月24日 放送
[Cloud OnAir] Google Cloud Next '20: OnAir 特別編 〜世界で人気のあったセッション特集〜 2020年9月24日 放送[Cloud OnAir] Google Cloud Next '20: OnAir 特別編 〜世界で人気のあったセッション特集〜 2020年9月24日 放送
[Cloud OnAir] Google Cloud Next '20: OnAir 特別編 〜世界で人気のあったセッション特集〜 2020年9月24日 放送
 
[Cloud OnAir] Talks by DevRel Vol.5 アプリケーションのモダナイゼーション 2020年9月3日 放送
[Cloud OnAir] Talks by DevRel Vol.5 アプリケーションのモダナイゼーション 2020年9月3日 放送[Cloud OnAir] Talks by DevRel Vol.5 アプリケーションのモダナイゼーション 2020年9月3日 放送
[Cloud OnAir] Talks by DevRel Vol.5 アプリケーションのモダナイゼーション 2020年9月3日 放送
 
明日から役立つ BigQuery ML 活用 5 つのヒント | Google Cloud INSIDE Games & Apps: Online
明日から役立つ  BigQuery ML 活用 5 つのヒント | Google Cloud INSIDE Games & Apps: Online明日から役立つ  BigQuery ML 活用 5 つのヒント | Google Cloud INSIDE Games & Apps: Online
明日から役立つ BigQuery ML 活用 5 つのヒント | Google Cloud INSIDE Games & Apps: Online
 
今だから知りたい BigQuery 再入門 | Google Cloud INSIDE Games & Apps: Online
今だから知りたい BigQuery 再入門 | Google Cloud INSIDE Games & Apps: Online今だから知りたい BigQuery 再入門 | Google Cloud INSIDE Games & Apps: Online
今だから知りたい BigQuery 再入門 | Google Cloud INSIDE Games & Apps: Online
 
『MAGELLAN BLOCKS』を使って BigQuery を使い倒す!| Google Cloud INSIDE Games & Apps: Online
『MAGELLAN BLOCKS』を使って BigQuery を使い倒す!| Google Cloud INSIDE Games & Apps: Online『MAGELLAN BLOCKS』を使って BigQuery を使い倒す!| Google Cloud INSIDE Games & Apps: Online
『MAGELLAN BLOCKS』を使って BigQuery を使い倒す!| Google Cloud INSIDE Games & Apps: Online
 

Recently uploaded

【GPT4-o越えのリアルタイム会話AI】kyutai labsのMoshiデモ動画を解説
【GPT4-o越えのリアルタイム会話AI】kyutai labsのMoshiデモ動画を解説【GPT4-o越えのリアルタイム会話AI】kyutai labsのMoshiデモ動画を解説
【GPT4-o越えのリアルタイム会話AI】kyutai labsのMoshiデモ動画を解説
TsuyoshiSaito7
 
Imitation learning for robotics 勉強会資料(20240701)
Imitation learning for robotics 勉強会資料(20240701)Imitation learning for robotics 勉強会資料(20240701)
Imitation learning for robotics 勉強会資料(20240701)
Natsutani Minoru
 
「福利厚生をコストから投資へ」AIで社員1人ひとりに最適な支援を届ける 全く新しいカフェテリアプラン
「福利厚生をコストから投資へ」AIで社員1人ひとりに最適な支援を届ける 全く新しいカフェテリアプラン「福利厚生をコストから投資へ」AIで社員1人ひとりに最適な支援を届ける 全く新しいカフェテリアプラン
「福利厚生をコストから投資へ」AIで社員1人ひとりに最適な支援を届ける 全く新しいカフェテリアプラン
shogotaguchi
 
Kyndryl Developer Services のご紹介 2024年7月
Kyndryl Developer Services のご紹介  2024年7月Kyndryl Developer Services のご紹介  2024年7月
Kyndryl Developer Services のご紹介 2024年7月
Takayuki Nakayama
 
「スマートエスイー」におけるスマートシステム&サービスおよびDX推進人材の産学連携育成ならびに参照モデルに基づく育成プログラム分析
「スマートエスイー」におけるスマートシステム&サービスおよびDX推進人材の産学連携育成ならびに参照モデルに基づく育成プログラム分析「スマートエスイー」におけるスマートシステム&サービスおよびDX推進人材の産学連携育成ならびに参照モデルに基づく育成プログラム分析
「スマートエスイー」におけるスマートシステム&サービスおよびDX推進人材の産学連携育成ならびに参照モデルに基づく育成プログラム分析
Hironori Washizaki
 
第61回CV勉強会「CVPR2024読み会」(前編)発表資料:State Space Models for Event Cameras
第61回CV勉強会「CVPR2024読み会」(前編)発表資料:State Space Models for Event Cameras第61回CV勉強会「CVPR2024読み会」(前編)発表資料:State Space Models for Event Cameras
第61回CV勉強会「CVPR2024読み会」(前編)発表資料:State Space Models for Event Cameras
Takuya Minagawa
 
Matsuo-Iwasawa Lab. Research unit Introduction
Matsuo-Iwasawa Lab. Research unit IntroductionMatsuo-Iwasawa Lab. Research unit Introduction
Matsuo-Iwasawa Lab. Research unit Introduction
Matsuo Lab
 
【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models
【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models
【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models
Sony - Neural Network Libraries
 
"ros2rapper", Hardware implimentation of ROS2 communication Protocol without ...
"ros2rapper", Hardware implimentation of ROS2 communication Protocol without ..."ros2rapper", Hardware implimentation of ROS2 communication Protocol without ...
"ros2rapper", Hardware implimentation of ROS2 communication Protocol without ...
たけおか しょうぞう
 
論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...
論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...
論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...
Toru Tamaki
 
MySQLの文字コードと照合順序について 2024/07/05の勉強会で発表されたものです。
MySQLの文字コードと照合順序について 2024/07/05の勉強会で発表されたものです。MySQLの文字コードと照合順序について 2024/07/05の勉強会で発表されたものです。
MySQLの文字コードと照合順序について 2024/07/05の勉強会で発表されたものです。
iPride Co., Ltd.
 
Matsuo-Iwasawa Lab. | Research unit Introduction
Matsuo-Iwasawa Lab. | Research unit IntroductionMatsuo-Iwasawa Lab. | Research unit Introduction
Matsuo-Iwasawa Lab. | Research unit Introduction
Matsuo Lab
 
MOSHI: 革新的な音声AI QAIが開発した次世代のコミュニケーションツール
MOSHI: 革新的な音声AI QAIが開発した次世代のコミュニケーションツールMOSHI: 革新的な音声AI QAIが開発した次世代のコミュニケーションツール
MOSHI: 革新的な音声AI QAIが開発した次世代のコミュニケーションツール
TsuyoshiSaito7
 
Matsuo-Iwasawa lab. Research Unit Introduction
Matsuo-Iwasawa lab. Research Unit IntroductionMatsuo-Iwasawa lab. Research Unit Introduction
Matsuo-Iwasawa lab. Research Unit Introduction
Matsuo Lab
 

Recently uploaded (14)

【GPT4-o越えのリアルタイム会話AI】kyutai labsのMoshiデモ動画を解説
【GPT4-o越えのリアルタイム会話AI】kyutai labsのMoshiデモ動画を解説【GPT4-o越えのリアルタイム会話AI】kyutai labsのMoshiデモ動画を解説
【GPT4-o越えのリアルタイム会話AI】kyutai labsのMoshiデモ動画を解説
 
Imitation learning for robotics 勉強会資料(20240701)
Imitation learning for robotics 勉強会資料(20240701)Imitation learning for robotics 勉強会資料(20240701)
Imitation learning for robotics 勉強会資料(20240701)
 
「福利厚生をコストから投資へ」AIで社員1人ひとりに最適な支援を届ける 全く新しいカフェテリアプラン
「福利厚生をコストから投資へ」AIで社員1人ひとりに最適な支援を届ける 全く新しいカフェテリアプラン「福利厚生をコストから投資へ」AIで社員1人ひとりに最適な支援を届ける 全く新しいカフェテリアプラン
「福利厚生をコストから投資へ」AIで社員1人ひとりに最適な支援を届ける 全く新しいカフェテリアプラン
 
Kyndryl Developer Services のご紹介 2024年7月
Kyndryl Developer Services のご紹介  2024年7月Kyndryl Developer Services のご紹介  2024年7月
Kyndryl Developer Services のご紹介 2024年7月
 
「スマートエスイー」におけるスマートシステム&サービスおよびDX推進人材の産学連携育成ならびに参照モデルに基づく育成プログラム分析
「スマートエスイー」におけるスマートシステム&サービスおよびDX推進人材の産学連携育成ならびに参照モデルに基づく育成プログラム分析「スマートエスイー」におけるスマートシステム&サービスおよびDX推進人材の産学連携育成ならびに参照モデルに基づく育成プログラム分析
「スマートエスイー」におけるスマートシステム&サービスおよびDX推進人材の産学連携育成ならびに参照モデルに基づく育成プログラム分析
 
第61回CV勉強会「CVPR2024読み会」(前編)発表資料:State Space Models for Event Cameras
第61回CV勉強会「CVPR2024読み会」(前編)発表資料:State Space Models for Event Cameras第61回CV勉強会「CVPR2024読み会」(前編)発表資料:State Space Models for Event Cameras
第61回CV勉強会「CVPR2024読み会」(前編)発表資料:State Space Models for Event Cameras
 
Matsuo-Iwasawa Lab. Research unit Introduction
Matsuo-Iwasawa Lab. Research unit IntroductionMatsuo-Iwasawa Lab. Research unit Introduction
Matsuo-Iwasawa Lab. Research unit Introduction
 
【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models
【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models
【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models
 
"ros2rapper", Hardware implimentation of ROS2 communication Protocol without ...
"ros2rapper", Hardware implimentation of ROS2 communication Protocol without ..."ros2rapper", Hardware implimentation of ROS2 communication Protocol without ...
"ros2rapper", Hardware implimentation of ROS2 communication Protocol without ...
 
論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...
論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...
論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...
 
MySQLの文字コードと照合順序について 2024/07/05の勉強会で発表されたものです。
MySQLの文字コードと照合順序について 2024/07/05の勉強会で発表されたものです。MySQLの文字コードと照合順序について 2024/07/05の勉強会で発表されたものです。
MySQLの文字コードと照合順序について 2024/07/05の勉強会で発表されたものです。
 
Matsuo-Iwasawa Lab. | Research unit Introduction
Matsuo-Iwasawa Lab. | Research unit IntroductionMatsuo-Iwasawa Lab. | Research unit Introduction
Matsuo-Iwasawa Lab. | Research unit Introduction
 
MOSHI: 革新的な音声AI QAIが開発した次世代のコミュニケーションツール
MOSHI: 革新的な音声AI QAIが開発した次世代のコミュニケーションツールMOSHI: 革新的な音声AI QAIが開発した次世代のコミュニケーションツール
MOSHI: 革新的な音声AI QAIが開発した次世代のコミュニケーションツール
 
Matsuo-Iwasawa lab. Research Unit Introduction
Matsuo-Iwasawa lab. Research Unit IntroductionMatsuo-Iwasawa lab. Research Unit Introduction
Matsuo-Iwasawa lab. Research Unit Introduction
 

GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online

  • 1. #gc_inside 篠原 一徳 Application Modernization Specialist GKE に飛んでくるトラフィックを 自由自在に操る力
  • 2. 篠原 一徳 Application Modernization Specialist 専門分野: Anthos 、k8s 、Serverless 、CI/CD Twitter: @kazshinohara 猫とカメラと旅が好き
  • 3. ● タイトルの「飛んでくるトラフィック」の通り、 GKE へのインバウンドトラフィックの話に絞ります ● 原則 GKE (k8s) のマニフェストで設定可能な機能の話をします ● What is Kubernetes ? What is GKE ? What is GCP ? などは ご存知の前提で話をします
  • 4. 1. GKE へのインバウンドトラフィック制御で考慮すべきポイント 2. インターネットからGKE へのトラフィック(External) 3. VPC 内部から GKE へのトラフィック(Internal) 4. まとめ アジェンダ
  • 6. Kubernetes の可用性やスケーラビリティの恩恵に与るためには、 インバウンド トラフィックを適切に制御しPod まで転送することが重要 のワークロードは分散システムが主流 Pod Pod Pod Pod Pod Pod Nodes Pod Pod Pod Pod Pod Pod Clients
  • 7. トラフィック制御への要件はアプリケーションにより様々だが、 大きく以下 3 つのポイントを考慮することが重要 1. トラフィックの向き 2. プロトコル 3. トラフィックに加える動き インバウンド トラフィック制御で考慮すべきポイント
  • 8. ● インターネットからGKE へのトラフィック(External) ○ 外部公開目的 ○ ユーザーや 3rd party からのアクセス ○ 求められるセキュリティレベルが高い (SSL/TLS 、FW 、WAF etc.) ● VPC 内部から GKE へのトラフィック(Internal) ○ 内部システム間の連携など ○ VPC 内の GCE からのアクセス ○ Interconnect/Cloud VPN を経由したオンプレや他社クラウド上のホストからのアクセス ポイント トラフィックの向き
  • 9. ● TCP/UDP ○ HTTP を使わないアプリケーションや独自プロトコル、 RTSP/RTP などを使った動画、音声などのリ アルタイム通信など ● HTTP/HTTPS ○ HTTP/1.0 & HTTP/1.1 ■ 一般的な Web 、Rest 、Websocket など ○ HTTP/2 ■ ストリームの多重化、 HTTP/1.0 、HTTP1.1 と比較し高速に通信、 gRPC など ポイント プロトコル
  • 10. ● 負荷分散 ○ 分散配置されたPod に対するトラフィックに対してL4 や L7 レベルで 負荷分散を行う ● 高度なルーティング ○ トラフィック スプリットやリダイレクト、URI リライトなどを行うなど ポイント トラフィックに加える動き
  • 13. トラフィックの負荷分散 GKE (k8s) の Service リソースを使う Type は LoadBalancer を指定 ● 外部 LB として、GCP の External TCP/UDP Network Load Balancing が利用される ● Proxy はせず、送信元 IP アドレスが 維持される ● 送信元 IP とポートと、宛先 IP とポート、 プロトコルのハッシュに基づいて バランシングを行う External Traffic
  • 14. Pod kube-proxy(iptables) Pod Pod Pod Pod Pod NIC NIC NIC ① : External TCP/UDP Network Load Balancing がトラフィックを受信 ② : 宛先 IP / Port は変えずにNode の いずれかにバランシングしつつ転送 ③ : kube-proxy(iptables) に転送 ④ : kube-proxy(iptables) から 青 Pod のいずれかにバランシングしつつ転送 ① ② ③ ④ Nodes :8080 :8080 :8080 トラフィックの負荷分散イメージ 34.69.XX.XX:80External TCP/UDP Network Load Balancing External Traffic LB からの Health Check は 各ノードのkube-proxy の /healthz に対して TCP 10256 で行っている iptables のバランシング アルゴリズムはRandom
  • 16. トラフィックの負荷分散 GKE (k8s) の Ingress と Service リソースを使う Service の Type は NodePort を指定 ● 外部 LB として、GCP の External HTTP(S) Load Balancing が利用される ● SSL / TLS の終端をしつつ、複数のService 間で Path based routing が可能 ● Client と External HTTP(S) Load Balancing 間は HTTP/1.0 、HTTP/1.1 、HTTP/2 が 利用可能 ● External HTTP(S) Load Balancing とバックエンドサービス(Pod) 間は デフォルトではHTTP/1.1 で通信される(別途 HTTP/2 に変更可能) External Traffic
  • 18. トラフィックの負荷分散イメージ Pod kube-proxy(iptables) Pod Pod Pod Pod Pod NIC NIC NIC Health check は 各 NodePort 宛に 行われる :50000 :50000 NodePort: *:30080 ① : External HTTP(S) Load Balancing が トラフィックを受信 ② : Path 毎に指定されたService の NodePort   に転送 ③ : NodePort から kube-proxy(iptables) へ 転送 ④ : kube-proxy(iptables) から 各 Pod にバランシングして転送 ② ③ ④ NodePort: *:30180 :8080:8080:8080 kube-proxy(iptables) Nodes ① :50000 /* : “my-products” service /discounted “my-discounted-products” service External HTTP(S) Load Balancing External Traffic 34.69.XX.XX:443 iptables のバランシング アルゴリズムはRandom
  • 19. External HTTP(S) Load Balacing に SSL 証明書 を渡す方法は以下3 つある ● Managed SSL certificate (Beta) ○ Google が払い出す SSL 証明書 を利用、CA は Google Trust Services ○ DV のみ、1 SSL 証明書 で 100 non-wildcard ドメインまでサポート ● Secret ○ GKE (k8s) の Secret を使った SSL 証明書 の持ち込み ○ DV, OV, EV 利用可能、wildcard ドメインサポート ● Pre-shared certificate ○ GCP が持つ SSL 証明書管理の仕組みを使った持ち込み ○ DV, OV, EV 利用可能、wildcard ドメインサポート 証明書 の設定 External Traffic
  • 20. 証明書、諸注意 ● SSL 証明書のローテーション ○ Managed certificate は自動更新、その他はユーザーが手動で更新する必要がある ● Ingress 毎の設定可能な SSL 証明書数 ○ 最大 10 個の SSL 証明書 を設定可能 ● SSL 証明書が複数ある場合の選択ルール ○ TLS ハンドシェイクの際の Domain name に基づいて、SNI を使ってどの SSL 証明書 を クライアントに返すか決める ○ どの SSL 証明書 の CN にもマッチしない場合は、リストの最初の SSL 証明書を使う External Traffic
  • 22. 負荷分散 Custom Resource の BackendConfig を使って以下の機能を設定可能。 ● Cloud Armor security policy ● Cloud CDN ● Identity-Aware-Proxy (IAP) ● Timeout ● HTTP access logging ● Connection draining timeout ● Session Affinity ● User-defined request headers NEW External Traffic
  • 26. デフォルトの Ingress では External HTTP(S) Load Balancing と kube-proxy (iptables) による 2 重 のロードバランシングをしているため、オーバーヘッドが大きい ネットワーク エンドポイントグループ (NEG) を使用することで、 External HTTP(S) Load Balancing から直接 Pod にロードバランシングを行うことが出来る 設定方法はService リソースに cloud.google.com/neg: '{"ingress": true}' を annotation として入 れるだけ、VPC Native クラスタでのみ利用可能 コンテナ ネイティブ 負荷分散 External Traffic
  • 27. と を使った負荷分散イメージ Pod Pod Pod Pod Pod Pod NIC NIC NIC :50000 :50000 ① : External HTTP(S) Load Balancing が トラフィックを受信 ② : Path 毎に指定されたService の Pod に   直接転送 ② :8080:8080:8080 Nodes ① :50000 35.244.**.** /* : “my-products” service /discounted “my-discounted-products” service External Traffic Health check は 各 Endpoint ( Pod ) の target port に 対して行われる External HTTP(S) Load Balancing
  • 28. ● 基本は使うべし ○ 新しい機能はNEG をベースに開発されていることが多い ○ 少しでもネットワークレイテンシーのオーバーヘッドを減らしたい、 パフォーマンスセントリックなワークロードは特に ● 設定自体は簡単だが、以下の通りQuota があるので注意 ○ プロジェクト毎の最大NEG 数 : 100 ○ NEG 毎のエンドポイント数: 10,000 は使うべきか? External Traffic
  • 30. Ingress for Anthos (Beta) を使う Ingress for Anthos は External HTTP(S) Load Balancing をベースにした新しいサービス ● クラスタ間、マルチリージョン間でのHTTP/HTTPS ロードバランシングが可能 ● VPC ネイティブクラスタで利用可能(NEG 依存) ● バックエンドの状態(Health) をみつつ、最寄り(Latency) のクラスタに転送される ● kubemci との違い ○ CLI ツールではなく、CRD ○ 宣言型 ○ GCP のサポート クラスタ間で トラフィックの負荷分散 External Traffic
  • 32. GCP Project asia-northeast1 asia-northeast2 Google Backbone Cluster A Kubernetes Engine Cluster B Kubernetes Engine Internet 東京 大阪 クラスタ間で トラフィックの 負荷分散イメージ 1.1.1.1 External Traffic 1.1.1.1
  • 33. 以下のようなユースケースがある場合、おすすめ ● リージョン間で冗長構成を組みたい ● GKE クラスタのカナリーアップグレードをしたい ● グローバルにサービスを提供しつつ ○ クライアント〜サーバー間を同一地域内に閉じレイテンシーを低くしたい ○ シングル IP で運用したい 2020.04.27 現在、BackendConfig でサポートしているのはTimeout のみ 今後、通常のIngress と同等の機能を提供出来るようになる予定 を使うべきか? External Traffic
  • 36. Anthos Service Mesh (ASM) を使う ASM は Istio 互換のマネージドサービスメッシュ 以下のようなトラフィック制御が出来る ● トラフィック スプリット ● URI リライト ● Path Based Routing ● Retry logic ● Circuit Breaker ● Traffic Mirroring..etc. トラフィックに対する高度なルーティング External Traffic
  • 37. コントロールプレーンはGoogle 管理 Istio の各コントローラは Google の Proprietary に置き換え ● Istio Pilot >> Traffic Director ● Istio Citadel >> Mesh CA ● Istio Mixer >> Managed backends 概要 External Traffic Traffic Director Config to Envoys (xDSv2 APIs) TLS certs to Envoys Telemetry Mesh CA HTTP, gRPC, TCP mTLS Managed backends GA BetaAlpha Anthos GKE Single Cluster Data Plane Control Plane managed by Google App A Envoy App B Envoy
  • 38. デフォルトのネットワーク構成 External Traffic istio-ingressgateway Envoy App A container Envoy App B container Replica: 1 Limits: CPU:2, memory: 1Gi Requests: CPU: 100m, 128Mi Sidecar proxy (Envoy) Limits: CPU: 100m, memory: 50Mi Requests: CPU: 10m, 10Mi istio-ingressgateway は Deployment として配置され、Service の Type は LoadBalancer が 指定され、External TCP/UDP Network Load Balancing が使われる istio-ingressgateway / Envoy は Pilot から 宛先 Service の エンドポイントを入手し、 各 Pod に対して直接パケットを転送する External TCP/UDP Network Load Balancing Kube-proxy (iptables)
  • 39. と の リソース相関図 Gateway VirtualService DestinationRule k8s Service External Traffic istio-ingressgateway Envoy App container Envoy App container v2 Pod 参照 設定 設定 Pilot 経由で Endpoint を取得 転送先ルート として指定 指定 Pod Endpoints v1 Pod Subset 参照 Selector Subset 定義
  • 42. istio-ingressgateway は豊富なトラフィック制御機能が売り External HTTP(S) Load Balancing (Ingress) とあえて組み合わせて使う場合は 以下のケースが想定される ● シングル IP が必要な場合 ● Cloud Armor や Cloud CDN など BackendConfig 系の機能が必要な場合 ● Managed Certificate が必要な場合 ● Ingress for Anthos と組み合わせて利用したい場合 と の組み合わせ
  • 43. External Traffic External HTTP(S) Load Balancing istio-ingressgateway Envoy App A Container NEG Pod Pod 通常の Ingress ではホップ数が多くなるため、NEG 利用がおすすめ ポイントは External HTTP(S) Load Balancing の Health Check への対応をどうするか の設定 NEG を有効にした Service を新たに作成 Ingress を作成 LB からの Health Check が通るように VirtualService を設定 Health Checkに対して 200 を返すように Health Check GET “/”
  • 45. Envoy App container gRPC App Pod トラフィックの負荷分散 External Traffic ASM の Envoy を使って gRPC の負荷分散を行うことが可能 Health check は Pod の readinessProbe で grpc_health_probe を使い、fail した場合は、 Service から Pod の Endpoint が削除され、結果、Envoy による転送もされない istio-ingressgateway Envoy App container Envoy App container gRPC App PodPod gRPC App Pod SSL/TLS を終端 mTLS しつつ バランシング SSL/TLSな gRPC リクエスト Clients readiness Probe
  • 47. 以下のようなユースケースがある場合、おすすめ ● Ingress がサポートしていない高度なルーティングが必要 ● アプリがマイクロサービスアーキテクチャ ● gRPC の負荷分散、特にクラスタ内で行いたい(Envoy 個別に管理したくない) ● Istio 使いたいけどちょっと不安、Google のサポートがほしい Istio 運用のツラミはコミュニティでも情報が出てきてますので、 その辺りも参考にしながら、十分に設計、検証の上、導入しましょう! を使うべきか? External Traffic
  • 50. トラフィックの負荷分散 Internal Traffic Egress と同様、Service リソースを使う Internal であることを示す、 アノテーションを付ける。(Beta) ● 外部 LB として、GCP の Internal TCP/UDP Load Balancing が利用される ● Proxy はせず、送信元 IP アドレスが 維持される ● バランシング アルゴリズムも External と 同様
  • 51. Pod kube-proxy(iptables) Pod Pod Pod Pod Pod NIC NIC NIC ① : Internal TCP/UDP Load Balancing が VPC内のホストからトラフィックを受信 ② : Node のいずれかに宛先IP/Port は   変えずにバランシングしつつ転送 ③ : kube-proxy(iptables) に転送 ④ : kube-proxy(iptables) から青 Pod の いずれかにバランシングしつつ転送 ① ② ③ ④ Nodes :8080 :8080 :8080 トラフィックのイメージ 192.168.2.14:80Internal TCP/UDP Load Balancing Internal Traffic LB からの Health Check は 各ノードのkube-proxy の /healthz に対して TCP 10256 で行っている iptables のバランシング アルゴリズムはRandom
  • 53. External と同様 GKE (k8s) の Ingress と Service リソースを使う Ingress には Internal であることを示す、アノテーションを付ける。(Beta) ● 外部 LB として、GCP の Internal HTTP(S) Load Balancing が利用される ● Release channnel の Rapid かつ VPC Native クラスタのみサポート、NEG 必須 ● L7 LB の実体としてはEnvoy ベースのプロキシが使用される ● 別途プロキシ専用サブネットが必要(64 以上のホスト IP が必要) ● BackendConfig は Timeout 、HTTP access logging 、Session Affinity のみサポート トラフィックの負荷分散 Internal Traffic
  • 55. Internal HTTP(S) Load Balacing に SSL 証明書 を渡す方法は以下2 つある ● Secret ○ GKE (k8s) の Secret を使った SSL 証明書 の持ち込み ○ DV, OV, EV 利用可能、wildcard ドメインサポート ● Pre-shared certificate ○ GCP が持つ SSL 証明書管理の仕組みを使った持ち込み ○ DV, OV, EV 利用可能、wildcard ドメインサポート 証明書 の設定 Internal Traffic
  • 56. トラフィックの負荷分散イメージ Pod Pod Pod Pod Pod Pod NIC NIC NIC :50000 :50000 ① : Internal HTTP(S) Load Balancing が トラフィックを受信 ② : Path 毎に指定されたService の Pod に   直接転送 ② :8080:8080:8080 :50000 10.254..**.** /* : “my-products” service /discounted “my-discounted-products” service Health check は 各 Endpoint ( Pod ) の target port に 対して行われる Internal HTTP(S) Load Balancing Internal Traffic
  • 58. 以下 3 点と 各 LB の特徴を踏まえて快適なGKE トラフィック制御ライフを! 1. トラフィックの向き 2. プロトコル 3. トラフィックに加える動き マルチクラスタIngress や高度なルーティングはAnthos の機能として提供 今後更に機能が追加されていく予定 今後の GKE / Anthos にご期待ください! まとめ
  • 61. 今すぐ参加登録 ↑ ビジネスをサポートするGoogle Cloud ソリューションを学ぶ。 年 月 日 火 日 木 ライブ配信 年 月 日 火 日 火 開催
  • 62. Google Cloud トレーニング無料提供 キャンペーンのご案内 Qwiklabs、Pluralsight(英語のみ)、対象 のCoursera のコースを1 か月間無料でご提供 お申込み期限は、5 月 20 日まで (Pluralsight のみ 4 月 30 日まで) goo.gle/TrainingOffer 詳細・お申込みはこちら ↑