Slide 1

Slide 1 text

AWS最新機能を駆使した マルチテナントSaaS アーキテクチャーを考えてみる 岩浅 貴⼤ / いわさ クラスメソッド株式会社 クラウド事業本部コンサルティング部

Slide 2

Slide 2 text

⾃⼰紹介 2 岩浅 貴⼤(いわさ) クラスメソッド株式会社 クラウド事業本部コンサルティング部 ソリューションアーキテクト 2020年12⽉⼊社、4年10ヶ⽉になりました。

Slide 3

Slide 3 text

はじめに

Slide 4

Slide 4 text

はじめに 4 ● SaaS には「テナント」の概念がある ○ テナントごとにAWSリソースを⽤意する:サイロモデル ○ テナントで同じAWSリソースを共有する:プールモデル

Slide 5

Slide 5 text

はじめに 5 ● サイロモデルはシンプルだが、コストや運⽤性の最適化を求める場合プールモデルを追 求したい。 ● プールモデルを使う場合、テナント分離を意識する必要がある ○ セキュリティ ○ ノイジーネイバー ○ コスト把握 ○ etc …

Slide 6

Slide 6 text

はじめに 6 ● マルチテナントの課題に対処するために、様々なAWSサービスの機能が利⽤可能 ● 2024/2025年にもマルチテナント向けのアップデートがたくさんありました

Slide 7

Slide 7 text

アーキテクチャー

Slide 8

Slide 8 text

● 各機能の内容を把握して採⽤すべきか判断が必要です ● すべて採⽤できると仮定した場合にどういうアーキテクチャーになるのか検討してみま した 注意事項 8

Slide 9

Slide 9 text

アーキテクチャー構成 9

Slide 10

Slide 10 text

アーキテクチャー構成 10

Slide 11

Slide 11 text

マルチテナントSaaSワークロード向け 最新機能の解説

Slide 12

Slide 12 text

CloudFront マルチテナントディストリビューション 12 https://dev.classmethod.jp/articles/cloudfront-multitenant-distribution/ ● ドメインでテナントを分ける場合などに採⽤可能

Slide 13

Slide 13 text

Cognito ユーザープールのプランが刷新 13 https://dev.classmethod.jp/articles/new-feature-tiers-cognit/ ● 旧アドバンスドセキュリティがなくても中間のプランでアクセストークンがカスタマイ ズ可能に。テナントコンテキストが設定しやすくなった

Slide 14

Slide 14 text

Aurora Limitless Database が GA 14 https://dev.classmethod.jp/articles/amazon-aurora-postgresql-limitless-database-generally-available/ https://aws.amazon.com/jp/blogs/news/saas-relational-database-scaling-part2/ ● テナントIDがシャードキーに最適

Slide 15

Slide 15 text

Aurora の RDS Data API がアップデート 15 https://dev.classmethod.jp/articles/rds-data-api-aurora-postgresql-row-level-security-rls/ https://pages.awscloud.com/rs/112-TZM-766/images/2025-03-18_SaaS-Builders-SaaSStoragePatterns.pdf ● Serverless V2 やプロビジョンドインスタンスでも利⽤可能に ● 1,000 RPS レート制限がなくなった ● Row Level Security を使う時の RDS Proxy ピン留め問題への解決策になる

Slide 16

Slide 16 text

SNS/SQSのフェアキュー 16 https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fair-queues.html ● キュー周りのノイジーネイバー対策になる ● SNSからSQSにフェアキュー⽤のGroupID伝播可能

Slide 17

Slide 17 text

AppConfig のマルチバリアントフラグ 17 https://docs.aws.amazon.com/ja_jp/appconfig/latest/userguide/appconfig-creating-multi-variant-feature-flags-concepts.html ● テナントコンテキストを使ったフィーチャーフラグが実現できる

Slide 18

Slide 18 text

Amazon SES のテナント機能 18 https://dev.classmethod.jp/articles/ses-tenant-isolation-automated-reputation-policies/ ● ノイジーネイバーによって全テナントの Amazon SES の利⽤が制限されてしまうリスク を抑えることができる

Slide 19

Slide 19 text

SaaS Builder Toolkit for AWS 19 https://aws.amazon.com/jp/builders-flash/202410/multi-tenant-saas-pattern/ ● コントロールプレーンの特にテナントライフサイクル部分を API 実装した CDK テンプ レート

Slide 20

Slide 20 text

まとめ

Slide 21

Slide 21 text

まとめ 21 ● 最近 SaaS やマルチテナントを意識したアップデートがよく出てきた ● プールモデルの課題、完全な解決策が⽤意されていない場合もあるけど、以前よりもマ ネージドに解決できる仕組みが揃ってきています。

Slide 22

Slide 22 text

No content