SAP新しいソリューションのための設計複数選択
グローバルSaaS企業が、エンタープライズ顧客向けのマルチテナントデータ分離アーキテクチャを設計しています。以下の要件があります。
【ビジネス要件】
- 顧客数:現在500社、2年後に5,000社に拡張予定
- 各顧客のデータは完全に論理的または物理的に分離されること
- エンタープライズ顧客(全体の5%)はデータ分離の証明として独自のAWSアカウントを要求する場合がある
- スタンダード顧客はコスト効率を優先し、共有インフラを使用可能
- 各顧客は自社のコンプライアンス要件に合わせたデータ保持ポリシーを設定できること
【技術要件】
- 顧客追加は自動化されており、数分以内に新規テナントが利用開始できること
- 顧客ごとの利用コストを正確に追跡・配賦できること
- セキュリティインシデント時に特定テナントのみを即座に隔離できること
- すべての顧客データはリージョン内に留めること(データレジデンシー要件)
【設計上の制約】
- AWSアカウントの上限(Organizations配下のデフォルト上限は約10アカウントのソフトリミットから始まり、上限緩和申請により数千アカウント規模まで拡張可能)を意識した設計であること
- 管理コストを最小化するため、運用チームは少人数で管理できること
この要件を満たす最適なアーキテクチャはどれですか?(2つ選択)
AAWS Organizationsを使用し、エンタープライズ顧客向けには専用のAWSアカウントをService Catalog経由で自動プロビジョニングする。スタンダード顧客向けには共有アカウント内でIAMロールとリソースタグによる論理分離を実施し、Tag-based SCPでデータアクセスを制御する。
✓ 正解
エンタープライズ顧客は専用アカウントで物理分離、スタンダードは共有アカウントで論理分離という階層的戦略です。Tag-based SCPでデータアクセス制御し、Service Catalogで自動プロビジョニングで迅速なオンボーディングを実現します。
Bスタンダード顧客向けに、DynamoDBのテナントIDをパーティションキーとして使用し、IAMポリシーのConditionキー(dynamodb:LeadingKeys)でテナントごとのアクセス制御を実装する。S3はテナントIDをプレフィックスとしたバケットポリシーで分離する。コスト配賦はAWSコストアロケーションタグで実施。
✓ 正解
LeadingKeysはDynamoDBの細粒度アクセス制御を実現し、S3プレフィックスで論理分離を構成します。コストアロケーションタグで顧客別の課金追跡も可能で、スタンダード顧客の効率的な管理ができます。
Cすべての顧客に対してEKSクラスターのNamespaceベースの分離を使用し、NetworkPolicyでテナント間通信を制御する。顧客ごとのコスト追跡はKubernetes Metering APIで実施する。
KubernetesのNetworkPolicyはデータストア(DynamoDB・S3)レベルの分離に対応できず、コスト追跡も困難です。マルチテナント環境の要件を完全には満たしません。
DAWS Control Towerを使用してランディングゾーンを構築し、Account Factoryを通じてエンタープライズ顧客向けアカウントを自動プロビジョニングする。Guard Railsで全アカウントにセキュリティポリシーを強制する。スタンダード顧客は共有アカウントにプロビジョニングし、AWS Resource Access Manager(RAM)でリソース共有を管理する。
Control TowerはAWS管理基盤としては優れていますが、RAMはリソース共有メカニズムで、スタンダード顧客の細粒度データ分離には直接対応しません。
EAmazon Cognitoのユーザープール分離でテナント認証を管理し、API GatewayのカスタムオーソライザーでテナントIDを検証する。バックエンドはLambdaの環境変数でテナントコンテキストを管理し、RDS PostgreSQLのRow-Level Security(RLS:行レベルセキュリティ)でデータ分離を実装する。
Lambda環境変数でのテナント管理はセキュリティリスクが高く、環境変数の漏洩やアクセス制御の迂回可能性があります。Row-Level Securityは有効ですが環境変数管理は不適切です。
解説
AとBの組み合わせが最適です。Aは組織階層とService Catalogによる自動プロビジョニングでエンタープライズ顧客の物理分離要件と迅速なオンボーディングを実現します。Bはスタンダード顧客向けにDynamoDBのLeadingKeysによる細粒度アクセス制御とS3プレフィックス分離でコスト効率の良い論理分離を実現し、コストタグで配賦追跡も可能です。CはKubernetesのNetworkPolicyはデータストア分離には不十分でコスト追跡も困難です。Dは優れた管理基盤ですが、RAMはスタンダード顧客の論理分離には直接対応しません。EはRow-Level Securityは有効ですが、Lambda環境変数でのテナント管理はセキュリティリスクがあります。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでSAPを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →