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
FOLIOにおけるAWS活用事例 - SBI Tech Day 2025
Search
krrrr38
March 07, 2025
Technology
24
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
FOLIOにおけるAWS活用事例 - SBI Tech Day 2025
krrrr38
March 07, 2025
More Decks by krrrr38
See All by krrrr38
証券システムを10年Scalaで作り続けるということ - 関数型まつり2026
krrrr38
0
180
クラウド時代における一時権限取得
krrrr38
1
270
Scramble4 FOLIO栄枯盛衰今昔物語
krrrr38
0
660
Other Decks in Technology
See All in Technology
ご挨拶「10周年を迎える共創ラボのこれまでとこれから」
iotcomjpadmin
0
180
Keeping applications secure by evolving OAuth 2.0 and OpenID Connect
ahus1
PRO
1
140
“全部コピーしない”ファイルデータの活用 : — FSx for ONTAP × S3 Tables × Icebergで作るメタデータカタログ
yoshiki0705
0
400
AIペネトレーションテスト・ セキュリティ検証「AgenticSec」紹介資料
laysakura
2
8k
AIで政治は変わるのか? — 中高生と考えたAI時代の民主主義(東海高校サタデープログラム)
eitarosuda
0
380
SRE歴2ヶ月でも開発6年の知見を活かして、チームで止まっていた環境改善を前に進めた話
a_ono
0
200
AI Agent SaaS を支える自社仮想化基盤への挑戦と実運用 / ai-agent-saas-virtualization
flatt_security
2
920
飲食店もAIで。レジ締めやハンディシステムをつくってる話 / Using AI for restaurant management
vtryo
0
240
NDIAS CTF 2026 問題解説会資料
bata_24
0
170
Hatena Engineer Seminar 37 jj1uzh
jj1uzh
0
420
ゼロをイチにする仕事が終わったあと
smasato
0
280
事業価値を⽣み出すSREへ SREが担うべき意思決定の5層
kenta_hi
0
150
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
28
2.7k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
960
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
230
[SF Ruby Conf 2025] Rails X
palkan
2
1.1k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
How to Talk to Developers About Accessibility
jct
2
280
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
600
Darren the Foodie - Storyboard
khoart
PRO
3
3.4k
Evolving SEO for Evolving Search Engines
ryanjones
0
230
Between Models and Reality
mayunak
4
360
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
210
Transcript
Copyright © 2019 FOLIO Co., Ltd. All Rights Reserved. 株式会社FOLIOにおけるAWS活用事例
2025/03/07 SBI Tech Day 2025
2 本日の流れについて • 自己紹介 • 株式会社FOLIOについて • SBIグループの一員としてのFOLIO • 証券会社としてのFOLIO
• 証券システム提供会社としてのFOLIO • FOLIOにおけるAWSの活用事例 • 全体構成について • 2C領域・2B領域におけるクラウドインフラ利活用について • 主として2B領域における内容を中心に • プラットフォームが提供する価値提供
3 自己紹介 • 海津 研 / Ken Kaizu • 株式会社FOLIO
• 執行役員CTO • フィナンシャルテクノロジー本部 • 共通基盤部(SREユニット含) • 株式会社FOLIO ホールディングス • 情報戦略部 部長 • 2018年1月より株式会社FOLIO • バックエンド・インフラがメイン
4 証券サービス・証券システムについて 投資一任運用を支えるシステム 1日の中でライフサイクルが存在している • 顧客注文受注 • お客様からの注文をQueueing • 注文締め
• 当日注文の確定処理 • 約定処理 • 市場に向けた発注及び約定 • 評価額算出 • 証券残高・現金残高計算 重厚長大なバッチシステム 責務毎に分離されたサービス間連携
5 開発・運用体制について AWSを中心とした基盤の提供 サービスを支える開発・運用 プラットフォーム アプリケーションチーム毎の開発 契約管理システム 口座管理システム … 契約管理システムの
アプリケーションに関するもの • サーバー、デーモン、バッチ • Docker Image • サービス上のデータ管理 • 論理DB・DBユーザー • 監視設定 • CI・CD設定 • 運用上のロール 口座管理システムの アプリケーションに関するもの • サーバー、デーモン、バッチ • Docker Image • サービス上のデータ管理 • 論理DB・DBユーザー • 監視設定 • CI・CD設定 • 運用上のロール ※ 本日のメインの話
6 ケース)AWSアクセス管理システムの構築と運用 要件 • AWSのアクセス権限を一時的に払い出す • 最小権限に近づけたアクセス権限付与 • 必要期間に限りアクセス権限を付与 •
適切な業務遂行者にのみ権限を付与 • 承認フローによる権限取得 提供されている機能の利用としては、以下の通り 1. 事前に権限を分離したIAM Role / Entra Groupの作成 2. Slack Workflowを用いた運用担当者による申請 3. Entra Id PIMによるEntra Groupアクセス申請 4. 承認者による内容確認及び承認 5. 一時的な権限の取得 6. 各種リソースへのアクセス SaaSの組み合わせによる利便性向上 IdPを中心とした権限制御
7 AWS 全体構成について AWS Account について • AWS Control Tower相当の構成
• 検証環境・本番環境等において、 AWS Accountが分離 • 4RAPはSaaSとして提供する中で、 共用テナント・専用テナント等、 AWS Accountをさらに分離 ※ 全体像を表すものであり、こちらに記載されていないOU・Accountも存在しています
8 4RAPにおけるAWS Accountの利用 SaaSによる共通基盤のため、 クライアントが増えると機能も拡張される
9 4RAPにおけるAWS Accountの利用 SaaSによる共通基盤のため、 クライアントが増えると機能も拡張される 環境は分離されており、AWS Accountを多用 コア機能はバージョニングされてアップグレード
10 4RAPの個社向けインターフェース 以下のインタフェースを提供 • Amazon API Gateway • HTTPを利用したリアルタイムAPIの提供 •
OAuthによる認可(Custom Authorizer) • OpenAPI Specificationによる仕様提供 • Transfer Family • SFTPを利用したファイル連携 • OpenAPI Specificationによる仕様提供 • jsonl によるストリーム処理可能なファイル形式 SaaSである4RAP側からの仕様提供 ファイル連携についてもpathでversioning
11 個社希望に応じたいくつかの接続要件にも対応 • IP制限 • API GatewayにIP制限 • VPN接続 •
Site to Site VPN • API Gateway x VPC Endpoint x NLB • Transfer Family x VPC Endpoint • AWS間接続 • PrivateLink 4RAPにおける接続要件 AWSの技術により、ネットワーク要件をアプリケーションまで持ち込まない
12 Feature Flagによる環境差異管理 個社環境毎の環境差異管理 • AWS Resourceは全てTerraformにてIaC • 環境毎にterraform workspaceを設定
• 環境が増えた場合にも並列で適用 • 環境差異はFeature Flagによる管理 • use_vpn • use_ec2_ondemand_instances • … • 設定方法 • 環境毎のworkspaces.tfvarsで設定 • 推奨する本番環境は何も設定をしなく て良い状態としている 全ての環境の構成は一元管理 環境差異は環境毎に用意された設定ファイルでフラグ管理
13 EKS構成・リソース管理について 基盤の提供 サービスを支える開発・運用 プラットフォーム アプリケーションチーム毎の開発 契約管理システム 口座管理システム … 契約管理システムの
アプリケーションに関するものを helm chartでリソース管理 • Service • ConfigMap • Deployment • Job • HorizontalPotAutoscaler • PodDistritruptionBudget • WorkflowTemplate • CronWorkflow 口座管理システムの アプリケーションに関するものを helm chartでリソース管理 • Service • ConfigMap • Deployment • Job • HorizontalPotAutoscaler • PodDistritruptionBudget • WorkflowTemplate • CronWorkflow TerraformによるEKS管理 • EKS • Plugin / IRSA等 helm chartによるリソース管理 • Argo CD • Argo Workflows • HashiCorp Vault • Cluster Autoscaler プラットフォーム側では 任意のリソースを作成可能
14 ケース)Argo CDで実現するリソース権限分離 要件 • 開発チームで作成可能なリソースを制限 • 利用可能なnamespaceも制限したい Argo CD
で GitOps による CD を提供する中で、 プラットフォームが提供する制限下において 許可された namespace / kind しか作成できない • 事前にプラットフォーム側でAppProjectを作成 • 開発側では提供されたAppProjectを用いてk8s resourceを作成可能 • AppProjectでは namespace / kind の制限を付与 • 結果として開発チームではSecretを作れないなど ClusterRole のような k8s クラスタ全体に 影響を及ぼせる仕組みはプラットフォームのみで管理
15 ケース)プラットフォームとしてのk8sリソース制約 要件 • k8sリソースに対する細かな制約 • docker hubを参照させたくない • node-typeを制限したい
• 監視のためにlabelを強制 • … Polaris を利用した、静的検査と動的検査の双方を提供 • 独自ルールをJSON Schemaにて定義 • 静的検査 • CIにおいてPolarisのルール用いてチェック • デプロイ前の開発時において気がつける仕組み • 動的検査 • Polarisをk8sで動かすことで、Admission ControllerのValidating Webhookからチェック • クラスタ上でルールに合致しないプロセスを立ち 上げさせない 静的・動的双方のチェックによる制約 ※ open-policy-gent/gatekeeper, conftest のようなツールも存在しています
16 EKS on EC2 を利用する際の費用効率化 • Cluster Autoscalerで必要なインスタンスのみを利用 • SPOTインスタンスの活用により費用削減
• priority-expanderによるfallback • SPOTインスタンスは枯渇しうる • 立ち上がらなければOnDemandを利用 • Cluster Autoscalerの注意点 • 類似InstanceTypeを利用する必要がある • AZに対してそれぞれNodeGroupを作成 • InstanceTypeの変更はNodeGroup再作成 • ※ Karpenter 検討中 Spotインスタンスを利用した費用削減
17 EKSでサーバを安定稼働させる際に、 いくつかの仕組みを事前に導入する必要がある • Readiness gate / preStop sleep •
LBからのリクエスト制御 • 常時2台以上稼働させるためのpdb • AZ分散のためのTopologySpreadConstraints • リソース不足回避のためのClusterAutoscaler • Podの偏りを解消させるためのDescheduler • NLBリクエスト接続安定化のためのALB GracefulなAPI運用に向けて プラットフォームとして必要な機能を 技術で解決する
18 ©FOLIO Co., Ltd. Mission Keep Innovating The Financial Industry
Vision 技術と創造で“未来の金融”の礎となる
THANK YOU