Skip to content

feat(model-lifecycle): monitor Bedrock model lifecycle status, alert on change - #47

Merged
timmanik merged 2 commits into
mainfrom
feat/bedrock-model-lifecycle-monitor
Aug 19, 2026
Merged

feat(model-lifecycle): monitor Bedrock model lifecycle status, alert on change#47
timmanik merged 2 commits into
mainfrom
feat/bedrock-model-lifecycle-monitor

Conversation

@timmanik

Copy link
Copy Markdown
Collaborator

Summary

  • New weekly monitor (ModelLifecycleMonitor construct + abe-model-lifecycle-monitor Lambda) that checks modelLifecycle.status for every Bedrock model in config.yaml, since AWS Health's deprecation notices require a support plan we don't have.
  • Diffs against a last-seen status map in SSM (/abe/model-lifecycle/last-status); the first run just establishes the baseline (no email), later runs email one alert per model whose status changed, explaining what LEGACY/EOL/ACTIVE mean and AWS's 6-month minimum LEGACY lead time.
  • Inference-profile ARNs are resolved to their underlying foundation-model ARN via GetInferenceProfile before calling GetFoundationModel (which rejects inference-profile ARNs directly), picking the region-qualified ARN rather than the region-less one GetInferenceProfile also returns.
  • Notification recipients come from a new model_lifecycle_notification_email config key, kept separate from notification_email so this doesn't fire SNS confirmation emails at the existing content-sync list.
  • Weekly schedule: Mondays 8am ET (same slot as the conversation export - separate Lambda/schedule, no conflict).

Test plan

  • cdk synth / cdk diff reviewed - only the new topic/subscription/Lambda/IAM/schedule resources added
  • Deployed to the dev account; SNS subscription confirmed
  • First invoke established the SSM baseline silently (no email)
  • Forced a fake prior status in SSM, re-invoked - alert email fired and SSM self-healed to the real current status afterward
  • Verified the region-ARN fix resolves GetFoundationModel correctly for the inference-profile-backed models
  • Reviewed final email wording for both directions (LEGACY and back to ACTIVE)

…rt email

GetInferenceProfile returns both a region-less and a region-qualified
foundation-model ARN; GetFoundationModel rejects the region-less one,
so pick the ARN matching the Lambda's own region instead of models[0].

Also rewrite the alert email to explain what LEGACY/EOL/ACTIVE mean and
the 6-month LEGACY lead time AWS guarantees, instead of just the raw
status transition.
@timmanik
timmanik merged commit 64e295d into main Aug 19, 2026
4 checks passed
@timmanik
timmanik deleted the feat/bedrock-model-lifecycle-monitor branch August 19, 2026 21:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant