OSVauco/docs/CostManagementRules.md

68 lines
2.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Cost Management Rules — propane-will-491900-m5
## Hard rules
1. **Billing budget alert** must be created BEFORE any resource deployment.
Alert thresholds: 50% / 75% / 90% / 100% of monthly budget.
Start with 5 USD (~55 NOK) for dev/test phases.
2. **Agent Runtimes** cost money when deployed — always undeploy via `03-teardown.sh` at end of workday.
3. **Vertex AI Endpoints** — same rule as above.
4. **Staging bucket lifecycle**: auto-delete objects older than 7 days.
5. **Colab Enterprise runtimes** — terminate when not actively developing.
6. GCP does NOT enforce a hard spend cap. Budget alerts are email-only by default.
## Agent Runtime pricing (May 2026)
| Resource | Free Tier/month | Paid rate |
|---|---|---|
| vCPU | 180,000 vCPU-seconds | ~$0.0864/vCPU-hour |
| RAM | 360,000 GiB-seconds | ~$0.0090/GiB-hour |
Agent Runtime does NOT bill for idle/non-running agents (pay-per-use). Always delete at end of session.
## NEW billing lines (effective Jan 28, 2026)
These were previously free/in preview and are now METERED:
- **Sessions** — agent interaction contexts
- **Memory Bank** — long-term memory storage
- **Code Execution** — sandboxed code runs
→ Trim session histories. Only persist high-value facts to Memory Bank. Disable Code Execution on agents that don't need it.
## Cloud Run cost profile
- `--min-instances=0` → scales to zero — no idle cost (use for dev/test)
- `--min-instances=1` → keeps one warm instance — eliminates cold-start (~$48/month)
- Cleanup: `gcloud run services delete SERVICE_NAME --region=us-central1 --quiet`
## Lifecycle JSON for staging bucket
```json
{
"rule": [
{
"action": { "type": "Delete" },
"condition": { "age": 7 }
}
]
}
```
```bash
gcloud storage buckets update gs://propane-will-491900-m5-agent-staging \
--lifecycle-file=lifecycle.json
```
## RAG Engine cost warning
- If RAG Engine uses a managed Spanner instance as vector DB → billed 24/7.
- For dev/test: prefer `us-east1` or `us-east4` until us-central1 allowlist is granted.
- Contact: `vertex-ai-rag-engine-support@google.com` for us-central1 allowlist access.
## Artifact Registry cleanup
```bash
gcloud artifacts docker images list \
us-central1-docker.pkg.dev/propane-will-491900-m5/oavauco-docker \
--format="value(IMAGE,DIGEST)" | tail -n +2 | \
while read -r image digest; do
gcloud artifacts docker images delete "${image}@${digest}" --quiet
done
```
## Pub/Sub hard-stop billing automation (optional)
Consider: Pub/Sub → Cloud Run Function to auto-disable billing if budget alert fires.
Template: https://cloud.google.com/billing/docs/how-to/notify#cap_disable_billing_to_stop_usage