Redshiftで本番データ参照をよりセキュアに運用してみた

>100 Views

November 27, 25

スライド概要

2025年11月27日に開催した「聞いてくれよ、うちのAWSセキュリティ事情〜五反田JPビルの集い〜」で使用した資料です
イベント詳細:https://codmon.connpass.com/event/371471/

profile-image

ウェルスナビ株式会社 技術広報チームの公式アカウントです。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

Redshiftで本番データ参照をより セキュアに運用してみた 2025.11.27 聞いてくれよ、うちのAWSセキュリティ事情〜五反⽥JPビルの集い〜 森 祐太朗 1

2.

⾃⼰紹介 氏名 森 祐太朗 ウェルスナビ株式会社 システム基盤 ウェルスナビでは ● 2024年3月 入社 ● CI/CD構築、インフラ環境構築、セルフサービス提供など ひとこと ● 先日父の誕生日だったのでワイヤレスイヤホンをプレゼントしました 👨 © WealthNavi Inc. All Rights Reserved. 2

3.

1. 背景‧課題 2. 概要 a. Redshiftを使った動的データマスキング基盤 3. 気をつけたこと a. Redshiftのユーザー管理 b. Redshiftのコスト最適化 c. 注意点 4. まとめ 3

4.

1 背景‧課題 © WealthNavi Inc. All Rights Reserved. 44

5.

背景‧課題 顧客からのお問い合わせ対応イメージ 1. 状況確認 CS (カスタマーサポート) 顧客管理システム 2. 調査依頼 顧客管理システムで 対応が完結できない場合 3. 調査 日次でデータマスキング処理行い、 調査用の DBを作成 クエリを投げて調査 開発者 マスク済 DB 本番DB アクセス不可 © WealthNavi Inc. All Rights Reserved. 5

6.

背景‧課題 調査がマスク済DBで解決しない場合 マスク済DBには含まれていない、 本番DBにある最新データが必要 4. 調査依頼 開発者 5. 調査 SRE 本番DB 課題 本番DBにのみ存在する最新データが必要になるケースにおいて、 依頼を受けたSREがクエリを投げる運⽤が、調査の遅延やDB負荷リスクを⽣んでいた © WealthNavi Inc. All Rights Reserved. 6

7.

2 1 概要 © WealthNavi Inc. All Rights Reserved. 77

8.

Redshiftを使った動的データマスキング基盤 ゼロETL統合 について ● ● ETLパイプラインなしで、数秒以内にAurora → Redshift にデータ連携 Auroraへの負荷影響は最小限(拡張バイナリログを有効化時) 動的データマスキング されたものを参照 開発者 ゼロETL (レプリケーション) Redshift 新マスク済DB Aurora 連携設定の管理 本番DB SRE © WealthNavi Inc. All Rights Reserved. 8

9.

Redshiftを使った動的データマスキング基盤 動的データマスキングについて ● ● マスキングポリシーを適⽤することでカラムを動的にマスキング マスキングポリシーはRedshift Data API経由での管理も可能 © WealthNavi Inc. All Rights Reserved. 9

10.

3 1 気をつけたこと © WealthNavi Inc. All Rights Reserved. 1 10

11.

Redshiftのユーザー管理 IAM Identity Centerを利⽤することでユーザー管理が不要に 監査テーブルを突き合わせれば、誰が何のクエリを実行したかの確認も可能 sys_connection_log 開発者 Redshift Query Editor v2 監査テーブルを 突き合わせ Redshift sys_query_history ユーザー連携 IAM Identity Center © WealthNavi Inc. All Rights Reserved. Entra ID 11

12.

Redshiftのコスト最適化(1/2) Redshift ServerlessのRPUについて ● Redshiftノードは「インスタンス」もしくは「Serverless」を選択可能 ○ 当社は運⽤コストを減らすため、Serverlessを選択した ● Redshift SeverlessはRPUの値によって利⽤料⾦が変わる ○ ○ RPUは開発者が投げるクエリに加え、レプリケーションでも消費される ⼤量データ書き込みによるコストスパイクを避けるためRPUを固定化した RPU消費パターン1 開発者のクエリ 開発者 © WealthNavi Inc. All Rights Reserved. RPU消費パターン2 レプリケーション Redshift Aurora 12

13.

Redshiftのコスト最適化(2/2) レプリケーション失敗時の⾃動復旧を実装 ● ● Auroraで大量データ更新が発生した際にレプリケーションが停止してしまう RPU不足が原因の場合、再同期するだけで復旧可能なため、処理を自動化した 大量のデータ更新 ECS エラーメトリクス 1. replication停止 Aurora Redshift CloudWatch Alarm Step Functions EventBridge バッチジョブ 2. replicationエラーが発生 したテーブルの同期再開 © WealthNavi Inc. All Rights Reserved. 13

14.

注意点1 連携テーブルのフィルタ条件の上限件数が99件 起こったこと ○ 当初は参照データ範囲やRPU消費を最⼩にするため、テーブル単位で指定 ○ Redshiftを利⽤する開発者が増え、連携テーブルが増えたことで、 フィルタ条件の上限件数(99件)の存在に気付く 対応⽅針 ○ テーブル単位の指定をやめ、prefix指定(+*)に変更 ■ スキーマレベルの指定も可能 https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/zero-etl.filtering.html#zero-etl.filtering-format © WealthNavi Inc. All Rights Reserved. 14

15.

注意点2 ゼロETL 利⽤中は Aurora のブルー/グリーンデプロイ機能が使えない 起こったこと ○ Auroraクラスタのアップグレード検証時、スイッチオーバーボタンを 押したタイミングでエラーメッセージが出⼒された 対応⽅針 ○ アップグレード作業前に連携を解除 → 作業完了後に再連携させる ■ Redshiftのデータベース再作成が必要 ■ マスキングポリシーの再作成‧割当が必要 ● ⼀連の流れをスクリプトで⾃動化 ■ 再連携は初回連携と同程度の時間がかかる https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/zero-etl.html#zero-etl.reqs-lims-general © WealthNavi Inc. All Rights Reserved. 15

16.

4 1 まとめ © WealthNavi Inc. All Rights Reserved. 1 16

17.

まとめ 課題 本番DBにのみ存在する最新データが必要になるケースにおいて、 依頼を受けたSREがクエリを投げる運⽤が、調査の遅延 や DB負荷リスク を⽣んでいた 動的データマスキング機能により 開発者自身で素早く安全に調査可能に binlogレプリケーションなので 負荷は最小限 Redshiftを活⽤することで解決できた 先日公開したテックブログもご覧ください https://zenn.dev/wn_engineering/articles/dynamic-data-masking-database © WealthNavi Inc. All Rights Reserved. 17

18.

重要な注意事項 ● 本資料は、断定的判断を提供するものではなく、情報を提供することのみを⽬的としており、いかなる種類の商 品も勧誘するものではありません。最終的な決定は、お客様⾃⾝で判断するものとし、当社はこれに⼀切関与せ ず、また、⼀切の責任を負いません。 ● 本資料には将来の出来事に関する予想が含まれている場合がありますが、それらは予想であり、また、本資料の 内容の正確性、信頼性、完全性、適時性等を⼀切保証するものではありません。本資料に基づいて被ったいかな る損害についても、当社は⼀切の責任を負いません。また、当社は、新しい情報や将来の出来事その他の情報に ついて、更新⼜は訂正する義務を負いません。 ● 本資料を利⽤することによりお客様に⽣じた直接的損害、間接的損害、派⽣的損害その他いかなる損害について も、当社は⼀切の責任を負いません。 商号等:ウェルスナビ株式会社 金融商品取引業者 関東財務局長(金商) 第2884号 加入協会:日本証券業協会 一般社団法人日本投資顧問業協会 © WealthNavi Inc. All Rights Reserved.

19.

会社概要 社名 ウェルスナビ株式会社 設⽴ 2015年4⽉28⽇ 資本⾦ 121億6,276万7,762円 ※2024年12⽉31⽇現在 従業員 252名 ※2025年9⽉30⽇現在∕正社員数 会社所在地 東京都品川区⻄五反⽥8-4-13 五反⽥JPビルディング9F 事業内容 ⾦融商品取引業 © WealthNavi Inc. All Rights Reserved. 19

20.

We are hiring 採⽤強化中 安⼼して使える⾦融インフラを共につくる仲間募集 https://recruit.wealthnavi.com/ © WealthNavi Inc. All Rights Reserved. 20

21.

ご清聴ありがとうございました © WealthNavi Inc. All Rights Reserved. 21