Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Direct VPC egress for Cloud Run【2023/08/24 Clou...
Search
tsubaki kyosuke
August 24, 2023
Programming
170
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Direct VPC egress for Cloud Run【2023/08/24 Cloud Run 新機能祭り】
tsubaki kyosuke
August 24, 2023
More Decks by tsubaki kyosuke
See All by tsubaki kyosuke
AI エージェントの記憶検索における Vertex AI の活用【2023/11/16 Google Cloud Next Tokyo ’23】
tsubakiky
0
650
zk-SNARKの理論【2021/03/04 ETHTerakoya × Blockchain EXE】
tsubakiky
0
2.2k
zk-SNARKの理論
tsubakiky
0
53
Other Decks in Programming
See All in Programming
Haskell/Servantを通してWebミドルウェアを捉え直す
pizzacat83
1
610
使用 Meilisearch 建立新聞搜尋工具
johnroyer
0
180
才能?センス?知らん、 続けたもん勝ちだ。-- 結婚・出産・癌を越えてなお、私がプロダクトを創り続ける理由
16bitidol
2
920
今さら聞けない .NET CLI
htkym
0
140
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
410
琵琶湖の水は止められてもNet--HTTPのリトライは止められない / You might be able to stop the water flow of Lake Biwa but you can't stop Net::HTTP retries
luccafort
PRO
0
450
【やさしく解説 設計編・中級 #6】良いアーキテクチャとは ~ 一本の登り道の、行き先 ~
panda728
PRO
0
180
数百円から始めるRuby電子工作
tarosay
0
110
AWS CDK を「作」ってみた 〜フルスクラッチで見えた CDK の裏側〜 / aws-cdk-from-scratch
gotok365
3
2.6k
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
10
16k
【やさしく解説 設計編 #1】「ドメイン駆動」と「実装駆動」ってなに? 〜設計の考え方を、たとえ話で学ぼう〜
panda728
PRO
1
140
Apache Hive: そしてCloud Native Lakehouseへ
okumin
1
170
Featured
See All Featured
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.2k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
72
40k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
320
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
240
30 Presentation Tips
portentint
PRO
1
350
The SEO Collaboration Effect
kristinabergwall1
1
510
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
220
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
440
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
Scaling GitHub
holman
464
140k
Building Applications with DynamoDB
mza
96
7.1k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
Transcript
Direct VPC egress for Cloud Run Gaudiy Inc. / Kyosuke
Tsubaki / Engineer
01 03 02 04 全体のアーキテクチャ Direct VPC egress とは 利用事例
自己紹介と会社・プロダクト紹介 05 導入の流れ 06 まとめ
自己紹介
自己紹介 2020 年、大学在学中にインターンとして株式会社 Gaudiyに参加。 2021 年 4 月入社。Enabling Team で横断的な技術導入や負荷対策、マルチテナ
ント移行、パフォーマンス改善などを行う。現在は Gaudiy Fanlink の機能開発を行 う Feature Team で、主に Generative Agents の開発に取り組んでいる。 椿京介
会社・プロダクト紹介
Gaudiy は Web 3 × エンタメ領域から グローバルに挑戦する、 日本発の Web 3
スタートアップです。 会社紹介 MISSION ファンと共に、時代を進める。 ブロックチェーンをはじめとした先進的なテクノロジーを駆使し、 誰もが創作や貢献のできるファン国家の創出を探求する。
プロダクト紹介 多種多様なドメインを扱う Gaudiy Fanlink コミュニティを起点に、自律分散的なファンによる経済圏を実現し、ファンの熱量をもとに幸せに暮らせる社会を作ろうとしている
全体のアーキテクチャ
microservices 全体のアーキテクチャ Cloud Load Balancing GraphQL Cloud Run gRPC Server
Cloud Run gRPC Server Cloud Run Database Cloud Spanner
Direct VPC egress とは
VPC VPCにトラフィックを送信するユースケース Cloud Run Memorystore Cloud SQL Compute Engine GKE
Service Internal Load Balancer On Premise Serverless VPC Access Connector instance
Direct VPC egress とは VPC Cloud Run Serverless VPC Access
Connector Resource with an internal IP address instance
Direct VPC egress とは VPC Cloud Run Serverless VPC Access
Connector Direct VPC egress Resource with an internal IP address instance
Direct VPC egress とは 利点(Serverless VPC Accessとの比較) https://cloud.google.com/blog/products/serverless/announcing-direct-vpc-egress-for-clou d-run?hl=en •
Setup ◦ アプリケーションコードの変更なし • Performance ◦ ネットワーク経路数が少ないため、 低レイテン シを実現 ◦ ダイレクトなネットワークパスを使用するた め、スループットが向上する • Cost ◦ コネクタインスタンスを利用しないため、コスト を削減することができる • Security ◦ ネットワークタグを使用することで、きめ細か なネットワークセキュリティを実現
利用事例
Cloud Run to GKE (Autopilot) VPC GKE Microservices Cloud Run
Autopilot Google Kubernetes Engine Internal Cloud DNS Cloud Trace Direct VPC egress Cloud Logging • OpenTelemetry Collector を GKE 上に建たせ、Cloud Run か ら Direct にデータを送信 • Private Cloud DNS を使い Collector の Internal IP を Cloud Run で DNS解決可能にし つつ、外部ネットワークに出ずに Cloud Run と GKE 間の通信を 実現 • 可能な限りネットワークレイテン シを抑えることに成功 SaaS
3rd Party への通信 実際のユースケースにおける満たすべき要件 • 外部サービスで管理しているデータと弊社で管理し ているデータベースで同期する • 一定時間に同期処理を行う必要がある •
大量なデータを一度に処理する必要がある • IP アドレスを固定する必要がある 外部サービス Cloud Run Cloud Spanner Cloud Scheduler 1 2 3 データの同期処理
3rd Party への通信(Serverless VPC Access) VPC Cloud Run Cloud NAT
Serverless VPC Access Connector 外部サービス xx.xx.xx.xx -> OK xx.xx.xx.xx Cloud Run はデフォルトで動的 IP アドレスプールを使用し て外部エンドポイントに接続する。 静的 IP アドレスからの接続を必要とする外部エンドポイン トの場合、サーバーレス VPC アクセスを利用して Cloud Run を VPC に接続し、Cloud NAT 経由ですべての送信ト ラフィックをルーティングするように設定する必要がある。
3rd Party への通信(Direct VPC egress) VPC Cloud Run Cloud NAT
Serverless VPC Access Connector 外部サービス xx.xx.xx.xx -> OK xx.xx.xx.xx Direct VPC egress 補足:プレビュー時点では Cloud NAT に未対応なのでこのような構成は取れないが、 GA のタイミングではわからない ...
導入の流れ
asia-northeast1 Cloud Run で Direct VPC egress 導入の流れ apiVersion: serving.knative.dev/v1
kind: Service metadata: name: SERVICE_NAME annotations: run.googleapis.com/launch-stage: BETA labels: cloud.googleapis.com/location: asia-northeast1 spec: template: metadata: annotations: run.googleapis.com.network-interface: ‘[{“network”: “NETWORK”, “subnetwork”: “SUBNET”}]’ run.googleapis.com/vpc-access-egress: EGRESS_SETTING spec: containers: - image: IMAGE Subnet 10.214.0.0/20 VPC 2 1 • VPC ネットワークとサブネットの 作成 • サブネット上で利用可能な IPアド レスの個数は Cloud Runのス ケール数に合わせる • network と subnetwork を追加 • 現在 Direct VPC egress はサービ スに対して最大 100 インスタンス (--max-instances=100)をサポー トしている .yaml Cloud Run 3 $ gcloud run services replace service.yaml Cloud RunのDeploy
まとめ ❏ Direct VPC egress により、サーバーレスVPC アク セスコネクタを使用せずに、 VPC ネットワークにトラ
フィックを送信できる ❏ ゼロダウンタイムで導入可能 ❏ アプリケーションコードの修正は不要で導入可能 ❏ パフォーマンスの向上
Thank you. Proprietary + Confidential We are Hiring! Our website: