Upgrade to Pro — share decks privately, control downloads, hide ads and more …

サーバーレス × マルチアカウント構成で、統合ログ管理ソフトウェアを SaaS 化する

fukuchi
June 22, 2023

サーバーレス × マルチアカウント構成で、統合ログ管理ソフトウェアを SaaS 化する

AWS Dev Day 2023 Tokyoの登壇資料です。

fukuchi

June 22, 2023
Tweet

More Decks by fukuchi

Other Decks in Technology

Transcript

  1. © 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 株式会社網屋 開発部 チームリーダー
  2. © 2023, Amazon Web Services, Inc. or its affiliates. All

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

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

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

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

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

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

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

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

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

    rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. 分けるべきものと まとめるべきもの
  14. © 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
  15. © 2023, Amazon Web Services, Inc. or its affiliates. All

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

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

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

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

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

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

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

    rights reserved. データ ど う 分 け る か 管理側 AWS Cloud 企業側 Amazon S3
  23. © 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
  24. © 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
  25. © 2023, Amazon Web Services, Inc. or its affiliates. All

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

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

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

    rights reserved. コンテナイメージ ど う ま と め る か 管理側 AWS Cloud 企業側 Amazon ECR
  29. © 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
  30. © 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
  31. © 2023, Amazon Web Services, Inc. or its affiliates. All

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

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

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