Slide 1

Slide 1 text

© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. サーバーレス × マルチアカウント構成で、 統合ログ管理ソフトウェアを SaaS 化する 福地 信哉 (he/him) S A - 2 - 2 株式会社網屋 開発部 チームリーダー

Slide 2

Slide 2 text

© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. 自己紹介 福地 信哉 株式会社 網屋 開発部 チームリーダー 好きな AWS サービス: AWS Lambda, AWS Organizations

Slide 3

Slide 3 text

© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. アジェンダ • プロジェクトゴールとアーキテクチャ • 分けるべきものとまとめるべきもの • どう分け、どうまとめるか • ふりかえりと今後の展望

Slide 4

Slide 4 text

© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. プロジェクトゴールと アーキテクチャ

Slide 5

Slide 5 text

© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. SIEM ソフトウェアを SaaS 化する プロジェクトゴール

Slide 6

Slide 6 text

© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. SIEM とは? プ ロ ジ ェ ク ト ゴ ー ル SIEM (Security Information and Event Management): 多種多様なシステムのログデータを収集・分析し、 脅威の検出をサポートする。cf. Gartner

Slide 7

Slide 7 text

© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. SIEM とは? プ ロ ジ ェ ク ト ゴ ー ル

Slide 8

Slide 8 text

© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. SaaS 化する? プ ロ ジ ェ ク ト ゴ ー ル • もとは Windows サービスとして常駐するオンプレミスのソフトウェア • 下記のメリットを見込んで SaaS 化 ユーザー 開発 運用 ログ管理サーバの構築・ バージョンアップの手間を 削減 インフラのトラブルを抑えて ビジネスロジックに集中 密なテクニカルサポート ログ管理のセキュリティを 一任 ユースケースをより直に知り、 新機能開発に生かせる 簡略で自動化された リリース

Slide 9

Slide 9 text

© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Elastic Compute Cloud (Amazon EC2) Windows インスタンス × シングルアカウント アーキテクチャ(第 1 案) AWS Cloud user corp. network forward log collect log collect log Amazon EC2 VPC Public subnet

Slide 10

Slide 10 text

© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. 第 1 案のメリット・デメリット メリット 隔離 デメリット インスタンス管理 スケーラビリティ コスト効率

Slide 11

Slide 11 text

© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. 課題 隔離のメリットを最大限享受しつつ、 どう SaaS らしいアーキテクチャにするか?

Slide 12

Slide 12 text

© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. サーバーレス × マルチアカウント アーキテクチャ(採用案) 管理側 user corp. network Amiya network forward log pull image collect log alert error AWS Cloud get config Amazon ECR monitor usage Amazon ECS Amazon ECS collect log Amazon DynamoDB 企業側 notify kick scan query kick cron Amazon ECS AWS Batch Amazon Athena Amazon S3 Amazon SNS AWS Lambda Amazon EventBridge AWS Lambda AWS Lambda VPC Public subnet VPC Public subnet AWS Step Functions workflow AWS Step Functions workflow

Slide 13

Slide 13 text

© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. 分けるべきものと まとめるべきもの

Slide 14

Slide 14 text

© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Isolation is not optional – isolation is a foundational element of SaaS AWS Whitepaper: SaaS Tenant Isolation Strategies https://d1.awsstatic.com/whitepapers/saas-tenant-isolation-strategies.pdf

Slide 15

Slide 15 text

© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. 検討 隔離すべきものと集約すべきものを 洗い出すところからスタート

Slide 16

Slide 16 text

© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. 分けるべきもの • データ • プロセス • 課金 • 環境

Slide 17

Slide 17 text

© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. まとめるべきもの • アプリケーション設定・テナント情報 • コンテナイメージ • 監視 • CI/CD パイプライン

Slide 18

Slide 18 text

© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. どう分け、どうまとめるか?

Slide 19

Slide 19 text

© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. どのレベルで分けるか • タグ? リソース? アカウント? • → 基本的にアカウントレベルで ▪ セキュリティ製品という業務ドメインを最大限に生かす

Slide 20

Slide 20 text

© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. アカウントレベルでの隔離 管理側 AWS Cloud 企業側

Slide 21

Slide 21 text

© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. どう分けるか

Slide 22

Slide 22 text

© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. データ ど う 分 け る か 管理側 AWS Cloud 企業側 Amazon S3

Slide 23

Slide 23 text

© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. プロセス ど う 分 け る か 管理側 user corp. network forward log collect log AWS Cloud 企業側 notify kick scan query kick cron Amazon ECS AWS Batch Amazon Athena Amazon S3 Amazon EventBridge AWS Lambda AWS Lambda AWS Step Functions workflow AWS Step Functions workflow collect log query

Slide 24

Slide 24 text

© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. 課金 ど う 分 け る か 管理側 user corp. network forward log collect log AWS Cloud 企業側 notify kick scan query kick cron Amazon ECS AWS Batch Amazon Athena Amazon S3 Amazon EventBridge AWS Lambda AWS Lambda AWS Step Functions workflow AWS Step Functions workflow collect log query

Slide 25

Slide 25 text

© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. 環境 ど う 分 け る か AWS Cloud dev OU test OU prod OU 管理側 OU 企業側 OU 企業側 アカウント 管理側 アカウント

Slide 26

Slide 26 text

© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. どうまとめるか

Slide 27

Slide 27 text

© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. アプリケーション設定・テナント情報 ど う ま と め る か 管理側 AWS Cloud 企業側 Amazon DynamoDB

Slide 28

Slide 28 text

© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. コンテナイメージ ど う ま と め る か 管理側 AWS Cloud 企業側 Amazon ECR

Slide 29

Slide 29 text

© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. 監視 ど う ま と め る か 管理側 Amiya network AWS Cloud monitor usage Amazon ECS Amazon DynamoDB 企業側 Amazon SNS AWS Lambda VPC Public subnet alert error

Slide 30

Slide 30 text

© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. CI/CD パイプライン ど う ま と め る か AWS Cloud root account dev pipeline Amiya network dev OU test OU prod OU 管理側 OU 企業側 OU 企業側 アカウント 管理側 アカウント test pipeline prod pipeline deploy git push AWS CodeCommit AWS CodeBuild AWS CloudFormation

Slide 31

Slide 31 text

© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. ふりかえりと今後の展望

Slide 32

Slide 32 text

© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. ふりかえり(1) ▪ プロジェクト – オンプレミスの SIEM ソフトウェアの SaaS 化 ▪ 課題 – 隔離のメリットを最大限享受しつつ、どう SaaS らしいアーキテクチャにする か?

Slide 33

Slide 33 text

© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. ふりかえり(2) ▪ アーキテクティング – 分ける / まとめるべきものは何か? 分けるべきもの データ・プロセス・課金・環境 → アカウント・OU レベルで隔離 まとめるべきもの アプリケーション設定 / テナント 情報・コンテナイメージ・監視・ CI/CD パイプライン → 管理側 / root アカウント、管理用 Web コンソール、Slack チャンネルに 集約

Slide 34

Slide 34 text

© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. 管理側 全体像 ア プ リ ケ ー シ ョ ン user corp. network Amiya network forward log pull image collect log alert error AWS Cloud get config Amazon ECR monitor usage Amazon ECS Amazon ECS collect log Amazon DynamoDB 企業側 notify kick scan query kick cron Amazon ECS AWS Batch Amazon Athena Amazon S3 Amazon SNS AWS Lambda Amazon EventBridge AWS Lambda AWS Lambda VPC Public subnet VPC Public subnet AWS Step Functions workflow AWS Step Functions workflow

Slide 35

Slide 35 text

© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS Cloud root account dev pipeline 全体像 C I / C D パ イ プ ラ イ ン Amiya network dev OU test OU prod OU 管理側 OU 企業側 OU 企業側 アカウント 管理側 アカウント test pipeline prod pipeline deploy git push AWS CodeCommit AWS CodeBuild AWS CloudFormation

Slide 36

Slide 36 text

© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. 今後の展望 • アカウントの事前準備と pre-warming ▪ 現状: – ユーザーがテナント開設リクエストを送ってから企業側アカウント環境構築開始 – → quota 引き上げの時間を考慮すると、フル稼働までにラグが発生する ▪ 将来: – quota 引き上げの完了したプロビジョニング済アカウント群をプールしておく – → テナント開設リクエスト直後からフルに AWS リソースを利用できる • cf. https://aws.amazon.com/jp/blogs/news/managing-the-account-lifecycle-in-account-per-tenant- saas-environments-on-aws/

Slide 37

Slide 37 text

© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Thank you! © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. 福地 信哉 [email protected] 株式会社 網屋 https://www.amiya.co.jp ALog Cloud https://www.amiya.co.jp /solutions/alog_cloud/