Slide 1

Slide 1 text

Proprietary リーガルテックの グローバル展開を実現する GKE を活用した アプリケーション プラットフォームへの進化

Slide 2

Slide 2 text

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

Slide 11

Slide 11 text

Proprietary 011 Google Cloud Next Tokyo プロジェクトのタイムライン 正式版リリースまで約 1 年におよぶプロジェクト 2024 年 7 月 ディスカバリー/ 要件定義 基礎設計開始 10 月 新インフラ構築 多言語化対応 2025 年 3 月 プラットフォームのデータ ・トラフィック移行 7 月 正式版リリース 5~6 月 脆弱性診断、β 版提供

Slide 12

Slide 12 text

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) 開発者にゴールデンパスと堅牢なインフラを 提供し、創造的な開発に集中できるようにする

Slide 15

Slide 15 text

Proprietary 015 Google Cloud Next Tokyo Akupara のビジョン ステートメント (v1.0) 現在 LegalOn Technologies の開発者 が 既存・新規のプロダクトやプラット フォーム開発、新しい地域へのサービス提供 を望むとき、 開発に必要なツール 一式やサービス提供に必要なインフラを再構築したり、SRE & Plarform メン バーに都度依頼したりしなければならない。 この状況は、車輪の再発明や開発・運用上のボトルネックを生み、開発者や SRE & Plarform メンバーが本来集中すべき顧客への迅速な価値提供や開発 体験の向上に時間を割けないため、受け入れられない。 我々は、サービスやプラットフォーム開発に必要なインフラを 1 ヶ月で構築し、開 発者が 1 日で開発を開始でき、認知負荷低く自律的に開発・運用できる 世界を 夢見ている。 我々は 開発ライフサイクル全体をカバーするゴールデンパスと信頼性が高くセ キュアでスケーラブルなインフラの提供 を通じて、そのような世界を実現するつ もりである。

Slide 16

Slide 16 text

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 の利点

Slide 58

Slide 58 text

Proprietary 058 Google Cloud Next Tokyo 課題 施策 (サマリー ) 定量的な成果 開発スピード とセキュリティ の両立 安全なゴールデンパスの提供 (信頼性の高い共通基盤の構 築、標準化されたテンプレート、 ガードレール) ・サービス初期構築時点で、 Production Readiness Check (PRC) の遵守率 80% が達成済 ・適合規格への準拠スコアが 平均 16% 改善 変化する事業 環境・脅威へ の適応 セーフティネットの再構築 (SCCE の導入による統合的な脆 弱性管理、SOC Platform を SecOps に刷新) ・新たな監視対象の追加要求の実現 : 結果、 監視対象プロジェクト数は 11 倍に増加し、 ログ量は 4.6倍に 改善結果

Slide 59

Slide 59 text

059 Google Cloud Next Tokyo Conclusion

Slide 60

Slide 60 text

Proprietary 060 Google Cloud Next Tokyo 1 3 2 リーガルテックのグローバル展開を実現した 裏側にはアプリケーションプラットフォーム (Akupara)の進化があった 進化したプラットフォームは、マルチリージョン・マルチ プロダクトをサポートし、プラットフォーム API としての ツール群はさらに精錬・拡充され開発者のゴールデン パスを支援する Akupara は開発者に安全なゴールデン パスと堅牢なインフラを提供し、刷新され たセーフティネットがセキュリティ運用を強 化する まとめ