Proprietary
02
Google Cloud Next Tokyo
杉田寿憲
株式会社LegalOn Technologies
Staff Platform Engineer
Slide 3
Slide 3 text
Proprietary
03
Google Cloud Next Tokyo
加藤良昌
株式会社LegalOn Technologies
Site Reliability Engineer
Slide 4
Slide 4 text
Proprietary
04
Google Cloud Next Tokyo
清水裕亮
株式会社LegalOn Technologies
Site Reliability Engineer
Slide 5
Slide 5 text
Proprietary
05
Google Cloud Next Tokyo
アジェンダ 01 Introduction
02 Architecture
03 Migration
04 Security
Slide 6
Slide 6 text
Proprietary
06
Google Cloud Next Tokyo
01. Introduction
Slide 7
Slide 7 text
Proprietary
07
Google Cloud Next Tokyo
法とテクノロジーの力で、
安心して前進できる社会を創る。
Advancing Legal Practice with Technology
設立 :2017 年 4 月 21 日
事業内容 :法務、コーポレート業務に関する AI サービスの企画・開発
Slide 8
Slide 8 text
Proprietary
08
Google Cloud Next Tokyo
プロダクトラインナップ
法務・契約業務支援
学習支援
コーポレート・経営支援
オンライン法務学習支援サービス 契約学習メディア「契約ウォッチ」
社長向けお悩み相談メディア
「ちょこっと弁護士 Q&A」
法務業務
法務の可能性を広げるメディア
スタートアップ向けお役立ち情報メディア
メディア
World Leading Legal AI - 世界水準の法務 AI -
Slide 9
Slide 9 text
Proprietary
09
Google Cloud Next Tokyo
プロダクトラインナップ
法務・契約業務支援
学習支援
コーポレート・経営支援
オンライン法務学習支援サービス 契約学習メディア「契約ウォッチ」
社長向けお悩み相談メディア
「ちょこっと弁護士 Q&A」
法務業務
法務の可能性を広げるメディア
スタートアップ向けお役立ち情報メディア
メディア
World Leading Legal AI - 世界水準の法務 AI -
Slide 10
Slide 10 text
010
Proprietary & Confidential
Google Cloud Next Tokyo
‘24
Proprietary
012
Google Cloud Next Tokyo
マイクロサービスの
開発・運用の負荷
JP だけで 50 のマイクロサービスが、
US のリリースで倍に
マルチプロダクト・
マルチリージョン サポート
「LegalOn」だけでなく、他のプロダクトや
リージョンを見据えた拡張性を見据える
各種レギュレーションの
準拠
US 先行サービスで取得していた
SOC2 Type 2 を「LegalOn」全体で
維持する必要がある
課題と挑戦
Slide 13
Slide 13 text
Proprietary
013
Google Cloud Next Tokyo
Slide 14
Slide 14 text
Proprietary
014
Google Cloud Next Tokyo
Akupara のビジョン (v1.0)
開発者にゴールデンパスと堅牢なインフラを
提供し、創造的な開発に集中できるようにする
Proprietary
016
Google Cloud Next Tokyo
Akupara の基本方針
Interface Build Test Deploy Operate
Platform Infrastructure
Proto 生成コード管理
言語毎のテンプレート
言語毎のライブラリ
CI テンプレート
Playwright Job
ドキュメント
サポート
Production readiness
check
GitOps デプロイ
DB マイグレーション
単発 Job の実行
「LegalOn」
開発者
モニタリング ダッシュ
ボード
ログベース アラート
Kubernetes 管理
DB管理
サービスメッシュ
Web Application Firewall
Slide 17
Slide 17 text
Proprietary
017
Google Cloud Next Tokyo
Akuparaの基本方針
Interface Build Test Deploy Operate
Platform Infrastructure
Proto 生成コード管理
言語毎のテンプレート
言語毎のライブラリ
CI テンプレート
Playwright Job
デプロイ時自動実行
継続的負荷試験
ドキュメント
サポート
Production
readiness
Check
GitOps デプロイ
DB マイグレーション
単発Jobの実行
Feature flag
依存関係のある Job 実行
モニタリング ダッシュボード
SLO ベースのアラート
エラー発生時のログ、
メトリクス、トレース連携
脆弱性管理
暫定的権限昇格
Kubernetes 管理
DB 管理
FinOps
セキュリティ認証対応
各種法令準拠
サービスメッシュ
Web Application Firewall
CDN
トレーニング
オフィスアワー
サービスカタログ
「LegalOn」
開発者
XXX
開発者
YYY
開発者
Slide 18
Slide 18 text
Proprietary
018
Google Cloud Next Tokyo
02. Architecture
Slide 19
Slide 19 text
Proprietary
019
Google Cloud Next Tokyo
リソース階層 Organization
Projects
Organization
Security
LegalOn
JP
Other PF
Akupara
Live
Lab Sandbox
Platform
US
Platform
Services
Other Prd
Folders
Prjs Prjs
JP US
Prjs Prjs Prjs
JP US
Prjs Prjs
Prjs
Slide 20
Slide 20 text
Proprietary
020
Google Cloud Next Tokyo
区分 規約 例
一般的なService [product]-[service]-[region]-[stage] abc-review-us-qa01
プロダクト用
Platform
コンポーネント
[product]-[service]-[region]-[stage] abc-api-gw-prd
地域ごとの
Platform
コンポーネント
akp-[service]-[region]-[env] akp-gke-jp-live
地域横断の
Platform
コンポーネント
akp-[service]-[env] akp-argocd-sdbx
プロジェクト命名規則
Slide 21
Slide 21 text
Proprietary
021
Google Cloud Next Tokyo
プロダクトインフラ
Cloud DNS
Database
AlloyDB
Container Infra
GKE/Kubernetes
Cloud
Armor
Cloud Service
Mesh
User Contents
Cloud Storage
Gateway
Cloud Load Balancing
Event Processing
Pub/Sub
Internal
Systems
Externa
l SaaS
Sensitive Config
Secret Manager
Slide 22
Slide 22 text
Proprietary
022
Google Cloud Next Tokyo
開発インフラ
App repo
Infra repo
push
image
fetch
manifest
sync
observe
GKE Project
notify
GKE(JP app) GKE(US app)
GKE(DevOps)
Slide 23
Slide 23 text
Proprietary
023
Google Cloud Next Tokyo
03. Migration
Slide 24
Slide 24 text
Proprietary
024
Google Cloud Next Tokyo
車輪の再発明
運用上のボトルネック
セキュリティ レベルの潜在的不均衡
課題
Slide 25
Slide 25 text
Proprietary
025
Google Cloud Next Tokyo
車輪の再発明
課題
全てのサービスで利用されるリソースが、
各サービス内で作成されており共通化されていなかった
Slide 26
Slide 26 text
Proprietary
026
Google Cloud Next Tokyo
課題
インフラの構築・運用は主に SRE & Platform で担当していたため、新規
プロダクトや新しい地域へのサービス提供を実現したい時に
ボトルネックとなっていた
運用上のボトルネック
Slide 27
Slide 27 text
Proprietary
027
Google Cloud Next Tokyo
課題
Terraform や Kubernetes manifest の標準化がされておらず、
セキュリティに関するベストプラクティスや各種セキュリティ
認証の要件に準拠できない可能性があった
セキュリティレベルの潜在的不均衡
Slide 28
Slide 28 text
Proprietary
028
Google Cloud Next Tokyo
ゴールデンパスのための最適化されたツール提供
プラットフォームの再設計
課題に対するアプローチ
Slide 29
Slide 29 text
Proprietary
029
Google Cloud Next Tokyo
課題に対するアプローチ
「LegalOn」の運用を経て各マイクロサービス構築パターンや推奨構成
が見えてきたため、開発者がセルフサービスで自律的に標準化された
設定を実装できるようにする
ゴールデンパスのための最適化されたツール提供
Slide 30
Slide 30 text
Proprietary
030
Google Cloud Next Tokyo
課題に対するアプローチ
「LegalOn」が稼働していたプラットフォームはシングルプロダクト、シン
グルリージョンの範囲で設計されていたものであり、マルチプロダクト、
マルチリージョン向きの環境ではなかった
プラットフォームの再設計
Slide 31
Slide 31 text
Proprietary
031
Google Cloud Next Tokyo
車輪の再発明
運用上のボトルネック
セキュリティ レベルの潜在的不均衡
課題の解消へ
Slide 32
Slide 32 text
Proprietary
032
Google Cloud Next Tokyo
課題に対するアプローチを実現するために
単に JP リージョン相当の環境を別リージョンへ構築するだけでなく、
今後のプロダクト成長や戦略を見据えたアプリケーション
プラットフォームに進化させ、「 LegalOn」を再構築
Slide 33
Slide 33 text
No content
Slide 34
Slide 34 text
Proprietary
034
Google Cloud Next Tokyo
● 開発者が自律的に開発・運用できるようにインフラ要素を
抽象化
○ 直感的に理解しやすいインターフェースを提供し、項目
を入力するだけで各種リソースの構築が完了
● 設定の標準化
○ これまでの運用知見から最適な設定、構成を内包
○ セキュリティ ベスト プラクティスや SOC2 Type2 の要件
を満たすための設定
● 各ツールの使い方に関するドキュメント整備
ゴールデンパスのための最適化されたツール
Slide 35
Slide 35 text
Proprietary
035
Google Cloud Next Tokyo
ゴールデンパスのための最適化されたツール
Interface Build Test Deploy Operate
Platform Infrastructure
Proto 生成コード管理
言語毎のテンプレート
言語毎のライブラリ
CI テンプレート
Playwright Job
デプロイ時自動実行
継続的負荷試験
ドキュメント
サポート
Production
readiness
Check
GitOps デプロイ
DB マイグレーション
単発 Job の実行
Feature flag
依存関係のある Job 実行
「LegalOn」
開発者
モニタリング ダッシュボード
SLO ベースのアラート
エラー発生時のログ、
メトリクス、トレース連携
脆弱性管理
暫定的権限昇格
Kubernetes 管理
DB 管理
FinOps
セキュリティ認証対応
各種法令準拠
サービスメッシュ
Web Application Firewall
CDN
トレーニング
オフィスアワー
サービスカタログ
Slide 36
Slide 36 text
Proprietary
036
Google Cloud Next Tokyo
ゴールデンパスのための最適化されたツール
starter-kit マイクロサービスのインフラを構築するため
の Terraform module
k8s-gen 標準化された Kubernetes Manifest を
生成するスクリプト
Slide 37
Slide 37 text
Proprietary
037
Google Cloud Next Tokyo
starter-kit
● サービスを新規作成する際に 1 歩目として利用される
○ プロジェクト開始当初、全てのサービスの構築 / デプロイを
SRE が担っていたが、開発者と責任を共有するために認知
負荷を軽減したツールが必要となった
● 車輪の再発明の防止
○ 全てのサービスで利用されるリソースが各サービス内で作
成されており共通化されていなかった
● セキュリティ上の制約も含み、 Production Readiness
Review の簡略化にも役立てられる
Slide 38
Slide 38 text
Proprietary
038
Google Cloud Next Tokyo
k8s-gen
● 標準化された kubernetes manifest、ディレクトリ構成を
生成
○ server, worker, job など Pod の役割に応じて適切な
manifest が生成される
● マイクロサービス数の増加に伴うマニフェスト管理の
複雑化の防止
○ マニフェスト作成・更新の属人化を回避
● セキュリティのベスト プラクティスも含まれており、
意識することなく、セキュアな状態にすることができる
Slide 39
Slide 39 text
Proprietary
039
Google Cloud Next Tokyo
Other Terraform Modules
● team-kit
○ 抽象的な “チーム” という概念を具現化する手段を提供する
■ Google Group、GitHub Team、Datadog Team、Slack Usergroup など
● alloydb-kit
○ AlloyDB for PostgreSQL 内でサービス用の schema 作成、
Service Account などへの権限が設定される
● cloudsql-kit
○ サービスで利用する Cloud SQL インスタンスを作成する
○ セキュアで高可用性を実現する設定が標準的に適用される
Slide 40
Slide 40 text
Proprietary
040
Google Cloud Next Tokyo
Overview
Cloud Logging
Cloud Monitoring
Google
Kubernetes Engine
Artifact
Registry
Identity & Access
Management
Cloud Firewall
Rules
Cloud Network
Cloud Routes Cloud Router
Cloud NAT
GKE Cluster Project Repository Project O11y Project
Service Project
GitHub Team
Datadog Team
Slack User group
Data Project
AlloyDB
Cloud SQL
Slide 41
Slide 41 text
Proprietary
041
Google Cloud Next Tokyo
命名規則の刷新
サービスごとの認知負荷低減の
ためにサービスの命名規則を刷新
技術的負債の解消
「LegalOn」の運用を経て得られた
知見や改善したいことが多々出て
いたため、アプリケーション
プラットフォームの再設計、再構築により
解消
Migration
新規に作成した Google Cloud
プロジェクトへ「LegalOn」を
再構築し、データ・トラフィック移行を
実施
プラットフォーム再設計
Slide 42
Slide 42 text
Proprietary
042
Google Cloud Next Tokyo
Migration
● アプリケーション移行
● データストア移行
● 外部サービス連携の移行
● トラフィック移行
旧 Google Cloud Project 群
(Single-Product/Single-Region)
新 Google Cloud Project 群
(Multi-Product/Multi-Region)
Slide 43
Slide 43 text
Proprietary
043
Google Cloud Next Tokyo
Migration
● データ移行
○ 各データストアのデータを移行
○ AlloyDB, Cloud Storage, Cloud SQL, Elasticsearch
● 外部連携サービスの設定変更
○ 環境の切替に伴う設定変更
● QA
○ 「LegalOn」の機能一式の QA
● トラフィック移行
○ DNS 切替によるトラフィック移行
Slide 44
Slide 44 text
Proprietary
044
Google Cloud Next Tokyo
インフラ構築のセルフサービス化
技術的負債・命名規則問題の解消
セキュリティ レベルの平準化
Migration 成果
Slide 45
Slide 45 text
Proprietary
045
Google Cloud Next Tokyo
インフラ構築のセルフサービス化
Migration 成果
ゴールデンパスのためのツールにより、SREs への属人化を排除。
すべてのサービスが標準化された構成となっており、車輪の再発明が
なくなった。また、設定やディレクトリ構成が標準化されていることにより
AI Agent による実装も容易になった。
Slide 46
Slide 46 text
Proprietary
046
Google Cloud Next Tokyo
Migration 成果
「LegalOn」における技術的負債を解消し、マルチリージョン・
マルチプロダクトのために刷新した命名規則による各種プロジェクト、リ
ソースの構築を実施。
認知負荷の低減などにも役立った。
技術的負債・命名規則問題の解消
Slide 47
Slide 47 text
Proprietary
047
Google Cloud Next Tokyo
Migration 成果
ゴールデンパスのためのツールにより、
標準化された設定を意識せずに適用可能に。
サービスごとにセキュリティ関連の設定差異がなくなった。
セキュリティ レベルの平準化
Slide 48
Slide 48 text
Proprietary
048
Google Cloud Next Tokyo
4. Security
Slide 49
Slide 49 text
Proprietary
049
Google Cloud Next Tokyo
課題
開発スピードとセキュリティの両立
事業成長に伴いプロダクトは多様化・複雑化。開発組織も
拡大。プロダクトごとにセキュリティ対策を講じるのは統制
が取れず、また求められる開発スピードを達成するのは難
しい
変化する事業環境・脅威への適応
海外展開における法規制や各種レギュレーションへの準拠
が必須。監視対象の流動性が増している。テクノロジーの
進化により新たな脅威が生まれている
Slide 50
Slide 50 text
Proprietary
050
Google Cloud Next Tokyo
安全なゴールデンパス
セキュリティ対策のシフトレフト / シフトダウン : セキュリティや品質保証の複雑性をプラットフォームが
吸収することで、開発者の認知負荷を減らし生産性を向上する。アプリケーションプラットフォームが開発
者に提供するゴールデンパスは、セキュリティが担保された最も推奨される経路となる
セーフティネットの再構築
変化するセキュリティ要件への柔軟な対応と、セキュリティ運用の効率化・省力化を目指す
・CNAPP の導入 : 開発から運用まで、クラウドネイティブ環境全体を統合的に保護
・SOC Platform の刷新 : 脅威検知・対応を高度に自動化・効率化
課題に対するアプローチ
Slide 51
Slide 51 text
Proprietary
051
Google Cloud Next Tokyo
● 信頼性の高い共通基盤 (Platform Infrastructure)
○ GKE クラスタセキュリティ、ネットワークセキュリティ、
マルチテナントと isolation
● プラットフォーム API によるセキュリティのシフトレフト / シフトダウン
○ 各種レギュレーション・非機能要件への対応を標準化
● サプライチェーンセキュリティ
○ IaC によるビルド環境の統制と、手動介入を排除した Zero touch production
● ガードレールと可視性
○ セキュリティポリシーの適用、脆弱性管理、監視とアラート、監査証跡
安全なゴールデンパスに求められるもの
Slide 52
Slide 52 text
Proprietary
052
Google Cloud Next Tokyo
エンタープライズ グレードのセキュリティと運用要件を実現する GKE Enterprise と、
Secure by default を強制する Autopilot Cluster
クラスタ設計のコンセプト
信頼性の高い共通基盤 (Platform Infrastructure)
Fleet
クラスタの抽象化
Governance
Configuration & policy mgmt
GKE Enterprise
Kubernetes Control Plane / Platform API
インフラストラクチャの統合とクラスタのライフサイクル管理
Security
Zero-trust & service mesh
Operations
Logging & monitoring
● VPC-native
● Shielded GKE Nodes
● NodeLocal DNSCache
● Kubernetes Pod セキュリティ標準の適用
● 自動化されたクラスタライフサイクル管理
● Google-managed Nodes
● Workload Identity Federation
GKE Autopilot Cluster
Slide 53
Slide 53 text
Proprietary
053
Google Cloud Next Tokyo
防御の多層化 : 境界からワークロードまで
Cloud Load
Balancing
Cloud Armor
Google-managed
Certificates
GKE Cluster
Anthos Service Mesh
ASM Ingress Gateway
Certificate Authority
Service
TLS Termination
WAF &
Adaptive Protection
Mutual-TLS
AlloyDB
Cloud Storage
Datastore
VPC Service Controls
IAM
Access Control &
Network perimeter
Encryption at rest &
Encryption in transit &
Regionalization
SSL Policy &
Network-level
Encryption
Shielded GKE Nodes &
Container isolation & Admission Policy &
Authorization Policy & NetworkPolicy
micro services
信頼性の高い共通基盤 (Platform Infrastructure)
Slide 54
Slide 54 text
Proprietary
054
Google Cloud Next Tokyo
Starter-kit に組み込まれたセキュリティ
プラットフォーム API によるセキュリティのシフトレフト/シフトダウン
セキュリティ観点 プラットフォームが自動化・強制する内容
組織全体のガードレールと統
制
● 適切なリソース階層への配置
● 組織ポリシーの適用と監査ログの有効化
● Billing Account の登録
マルチテナントと
アイソレーション
● サービスごとに独立した Google Cloud Project、K8s Namespace を作成する
● マルチテナント ロギング構成
● ネットワークの分離(NetworkPolicy)
最小権限の原則
● サービス オーナー チームへの権限付与
● Workload Identity Account の利用の推奨
サプライチェーン
セキュリティ
● Artifact Registry と Argo CD を用いたデプロイ パイプラインの構築
● コンテナ イメージスキャン
開発者は starter-kit を用いて新規サービス プロジェクトを初期化する。そこで作成・管理される Google Cloud リ
ソースや Kubernetes リソースはあらかじめセキュリティが組み込まれている
Slide 55
Slide 55 text
Proprietary
055
Google Cloud Next Tokyo
K8s-gen が生成する標準化されたテンプレートを通じて、信頼性のベスト
プラクティスを開発者に提供する
K8s-gen が生成する標準テンプレート
プラットフォーム API によるセキュリティのシフトレフト / シフトダウン
非機能要件 テンプレートに組み込みの設定
パフォーマンス
● 負荷に応じた自動スケーリング (HPA)
● DNS 名前解決のパフォーマンスチューニング (DNS Config)
可用性
● 安全なデプロイ ストラテジーとグレースフル シャットダウン
● ノード障害 / ゾーン障害に対する Pod 配置の最適化
● コンテナ ヘルスチェックによる自動修復
セキュリティ
● コンテナ実行権限の厳格化と実行環境の保護 (Security Context)
● Google Cloud サービスへの安全な ID 連携 (Workload Identity)
● Google Cloud サービスとのセキュアな通信 (AlloyDB Auth Proxy)
オブザーバビリティ
● 推奨ラベルの付与
● OpenTelemetry によるテレメトリ収集
コスト ● リソース割り当てと Spot Pod 活用によるコンピューティング コストの最適化
Slide 56
Slide 56 text
Proprietary
056
Google Cloud Next Tokyo
セーフティネットの再構築
特定 防御 検知 対応 復旧
Security Command Center Enterprise Google SecOps
・プロアクティブなリスク管理 (CNAPP)
・脆弱性、設定ミス、潜在的な攻撃経路を可視化
・セキュリティ イベントの統合的な監視
・セキュリティ オペレーションの自動化と効率化
Security Command Center Enerprise と Google SecOps を主軸とした
セーフティネットに刷新
Slide 57
Slide 57 text
Proprietary
057
Google Cloud Next Tokyo
● クラウドネイティブなマネージドサービス
○ ストレージの自動拡張、保存データの暗号化、高速な検索
○ IAM による権限管理
● 柔軟なデータ連携と自動化
○ 組織レベルの一元管理されたログ集約 (Direct Ingestion)
○ 豊富なコネクタで、外部 SaaS やサードパーティ製品と連携可能
● 統合データモデルと AI による分析支援
○ 取り込みデータを自動でエンリッチメント
○ Gemini が搭載され、自然言語でのログ検索や要約が可能
● SIEM + SOAR が一体となった迅速な対応
○ 脅威の検知から対応までが単一プラットフォームで完結する
Google SecOps の利点