コンテンツにスキップ

マルチテナンシ

対象テナント

spin-dd が運用代行する HubSpot 顧客サイト。現在 8 件(運用前提)。SNS 運用を有効化するサイトのみ automedia の対象。

プロジェクトキー サイト MVP (Minimum Viable Product)
bato 馬頭ゴルフ倶楽部
okada おかだ 後続
laterre ラテール 後続
ichino いちの 後続
taihei 太平エンジニアリング 後続
recruit 太平人事 後続
tac TAC 後続
spindd SPIN D&D 後続

分離レベル

Claude Code ランタイムモデル Phase 1b では AWS の IAM ロール / Secrets Manager prefix / S3 prefix がテナント境界 となる。

対象 分離方式
実行コンテキスト AWS Lambda(invoke 時に tenant を引数で受け、IAM 経由でリソース制限)
シークレット AWS Secrets Manager /automedia/<tenant>/ prefix
テンプレ / ルール S3 automedia-tenants/<tenant>/ prefix(GitHub の .automedia/ を Sync Lambda がミラー)
GitHub 設定 SoT (Source of Truth) spin-dd/<key>-hubspot-theme.automedia/ 配下
Backlog TTRTAGSPIN プロジェクト共用 + category でサイト識別(詳細)。顧客協調が必要なサイトは将来別プロジェクトに切り出し可
監査ログ CloudWatch Logs / CloudTrail(テナント識別子をログに含める) + Backlog コメント
ダッシュボード CloudWatch Dashboards でテナント別

新規プロジェクト立ち上げ手順(暫定)

  1. TTRTAGSPIN に category を追加(既にあれば省略)
  2. 対応する spin-dd/<key>-hubspot-theme リポに .automedia/npx @spin-dd/automedia init で生成(PR
  3. AWS Secrets Manager にテナント別 secret を投入(/automedia/<tenant>/... prefix)
  4. LINE Channel Secret / Access Token
  5. Backlog / HubSpot のキー
  6. automedia リポの aws/config/tenants.yml にエントリ追加(channel_id ↔ tenant 名 ↔ Backlog category)→ tofu apply で S3 に反映
  7. テーマリポを Push → Sync Lambda が S3 automedia-tenants/<tenant>/ にミラー
  8. TTRTAGSPIN にテスト課題を起票(category=新規サイト、issueType=コンテンツ運用)→ Scan Lambda が拾って Deliver Lambda invoke
  9. 本番運用開始

Wiki TTRTAGSPIN/Home の管理サイト台帳との整合をチェック項目に含めること。

目標: 1 営業日以内 で立ち上げ完了。手順をスクリプト化して再現性を確保。

クォータ・公平性

  • テナントごとの Lambda reserved concurrency でレート制御
  • 大規模配信は他テナントのレイテンシに影響しないよう Deliver Lambda 側で配信幅を制限

カスタマイズ点

  • タイムゾーン
  • 配信不可時間帯
  • 承認フローの有無(高信頼テンプレのみスキップ可能)
  • 配信頻度ガードのしきい値