opencode-skills-collection 4.0.67 → 4.0.69
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled-skills/.antigravity-install-manifest.json +281 -1
- package/bundled-skills/access-review/SKILL.md +394 -0
- package/bundled-skills/access-review/references/details.md +121 -0
- package/bundled-skills/agent-evals/SKILL.md +420 -0
- package/bundled-skills/agent-observability/SKILL.md +346 -0
- package/bundled-skills/agent-observability/references/details.md +786 -0
- package/bundled-skills/ai-agent-security/SKILL.md +393 -0
- package/bundled-skills/ai-agent-security/references/details.md +912 -0
- package/bundled-skills/ai-coding-agent-guardrails/SKILL.md +442 -0
- package/bundled-skills/ai-coding-agent-guardrails/references/details.md +753 -0
- package/bundled-skills/ai-inference-service-mesh/SKILL.md +449 -0
- package/bundled-skills/ai-pipeline-orchestration/SKILL.md +287 -0
- package/bundled-skills/ai-red-teaming/SKILL.md +409 -0
- package/bundled-skills/ai-security-hardening/SKILL.md +343 -0
- package/bundled-skills/ai-sre-incident-response/SKILL.md +336 -0
- package/bundled-skills/alerting-oncall/SKILL.md +458 -0
- package/bundled-skills/alerting-oncall/references/details.md +84 -0
- package/bundled-skills/anti-slop-design/SKILL.md +393 -0
- package/bundled-skills/antigravity-maintainer-batch-release/SKILL.md +1 -0
- package/bundled-skills/apk-redteam-pipeline/SKILL.md +446 -0
- package/bundled-skills/argocd-gitops/SKILL.md +469 -0
- package/bundled-skills/arm-templates/SKILL.md +438 -0
- package/bundled-skills/arm-templates/references/details.md +64 -0
- package/bundled-skills/artifact-yylo/SKILL.md +122 -0
- package/bundled-skills/asset-inventory/SKILL.md +412 -0
- package/bundled-skills/asset-inventory/references/details.md +127 -0
- package/bundled-skills/audit-logging/SKILL.md +476 -0
- package/bundled-skills/aws-cloudtrail/SKILL.md +486 -0
- package/bundled-skills/aws-cost-optimization/SKILL.md +331 -0
- package/bundled-skills/aws-ec2/SKILL.md +426 -0
- package/bundled-skills/aws-ecs-fargate/SKILL.md +388 -0
- package/bundled-skills/aws-iam/SKILL.md +463 -0
- package/bundled-skills/aws-lambda/SKILL.md +428 -0
- package/bundled-skills/aws-rds/SKILL.md +380 -0
- package/bundled-skills/aws-s3/SKILL.md +434 -0
- package/bundled-skills/aws-secrets-manager/SKILL.md +486 -0
- package/bundled-skills/aws-vpc/SKILL.md +436 -0
- package/bundled-skills/azure-ai-document-intelligence-ts/SKILL.md +1 -1
- package/bundled-skills/azure-aks/SKILL.md +423 -0
- package/bundled-skills/azure-devops/SKILL.md +457 -0
- package/bundled-skills/azure-functions-devsec/SKILL.md +436 -0
- package/bundled-skills/azure-keyvault/SKILL.md +455 -0
- package/bundled-skills/azure-keyvault/references/details.md +83 -0
- package/bundled-skills/azure-monitor-audit/SKILL.md +379 -0
- package/bundled-skills/azure-networking/SKILL.md +448 -0
- package/bundled-skills/azure-networking/references/details.md +135 -0
- package/bundled-skills/azure-sql/SKILL.md +413 -0
- package/bundled-skills/azure-sql/references/details.md +113 -0
- package/bundled-skills/azure-vms/SKILL.md +402 -0
- package/bundled-skills/azure-vms/references/details.md +134 -0
- package/bundled-skills/backup-recovery/SKILL.md +388 -0
- package/bundled-skills/bb-methodology/SKILL.md +451 -0
- package/bundled-skills/bb-methodology/references/details.md +120 -0
- package/bundled-skills/block-storage/SKILL.md +371 -0
- package/bundled-skills/blue-green-deploy/SKILL.md +453 -0
- package/bundled-skills/blue-green-deploy/references/details.md +90 -0
- package/bundled-skills/bug-bounty/SKILL.md +447 -0
- package/bundled-skills/bug-bounty/references/details.md +1316 -0
- package/bundled-skills/bugcrowd-reporting/SKILL.md +351 -0
- package/bundled-skills/business-continuity/SKILL.md +463 -0
- package/bundled-skills/career-ops/SKILL.md +186 -0
- package/bundled-skills/cdn-setup/SKILL.md +374 -0
- package/bundled-skills/change-management/SKILL.md +438 -0
- package/bundled-skills/change-management/references/details.md +105 -0
- package/bundled-skills/circleci/SKILL.md +475 -0
- package/bundled-skills/cis-benchmarks/SKILL.md +150 -0
- package/bundled-skills/cloudflare-pages/SKILL.md +318 -0
- package/bundled-skills/cloudflare-r2/SKILL.md +353 -0
- package/bundled-skills/cloudflare-workers/SKILL.md +415 -0
- package/bundled-skills/cloudflare-zero-trust/SKILL.md +361 -0
- package/bundled-skills/cloudformation/SKILL.md +461 -0
- package/bundled-skills/constraint-driven-development/SKILL.md +335 -0
- package/bundled-skills/constraint-driven-development/references/floor-guard.md +99 -0
- package/bundled-skills/container-hardening/SKILL.md +126 -0
- package/bundled-skills/container-registries/SKILL.md +435 -0
- package/bundled-skills/container-scanning/SKILL.md +416 -0
- package/bundled-skills/convex-backend/SKILL.md +338 -0
- package/bundled-skills/dast-scanning/SKILL.md +437 -0
- package/bundled-skills/database-backups/SKILL.md +425 -0
- package/bundled-skills/datadog/SKILL.md +487 -0
- package/bundled-skills/dependency-scanning/SKILL.md +457 -0
- package/bundled-skills/devcontainers-nix/SKILL.md +416 -0
- package/bundled-skills/disaster-recovery/SKILL.md +374 -0
- package/bundled-skills/disaster-recovery/references/details.md +219 -0
- package/bundled-skills/dns-management/SKILL.md +375 -0
- package/bundled-skills/docker-compose/SKILL.md +482 -0
- package/bundled-skills/docker-management/SKILL.md +426 -0
- package/bundled-skills/ebpf-observability/SKILL.md +436 -0
- package/bundled-skills/ebpf-observability/references/details.md +542 -0
- package/bundled-skills/elk-stack/SKILL.md +487 -0
- package/bundled-skills/enterprise-vpn-attack/SKILL.md +395 -0
- package/bundled-skills/evidence-hygiene/SKILL.md +404 -0
- package/bundled-skills/feature-flags/SKILL.md +426 -0
- package/bundled-skills/feature-flags/references/details.md +86 -0
- package/bundled-skills/fedramp-compliance/SKILL.md +453 -0
- package/bundled-skills/firebase-app-platform/SKILL.md +381 -0
- package/bundled-skills/firewall-config/SKILL.md +479 -0
- package/bundled-skills/gcp-audit-logs/SKILL.md +452 -0
- package/bundled-skills/gcp-audit-logs/references/details.md +56 -0
- package/bundled-skills/gcp-cloud-functions/SKILL.md +284 -0
- package/bundled-skills/gcp-cloud-sql/SKILL.md +277 -0
- package/bundled-skills/gcp-compute/SKILL.md +319 -0
- package/bundled-skills/gcp-gke/SKILL.md +307 -0
- package/bundled-skills/gcp-networking/SKILL.md +293 -0
- package/bundled-skills/gcp-secret-manager/SKILL.md +421 -0
- package/bundled-skills/gcp-secret-manager/references/details.md +131 -0
- package/bundled-skills/gdpr-compliance/SKILL.md +451 -0
- package/bundled-skills/gdpr-compliance/references/details.md +145 -0
- package/bundled-skills/geo-audit/SKILL.md +368 -0
- package/bundled-skills/geo-brand-mentions/SKILL.md +68 -0
- package/bundled-skills/geo-brand-mentions/references/details.md +471 -0
- package/bundled-skills/geo-citability/SKILL.md +350 -0
- package/bundled-skills/geo-compare/SKILL.md +340 -0
- package/bundled-skills/geo-content/SKILL.md +383 -0
- package/bundled-skills/geo-crawlers/SKILL.md +408 -0
- package/bundled-skills/geo-llmstxt/SKILL.md +464 -0
- package/bundled-skills/geo-platform-optimizer/SKILL.md +314 -0
- package/bundled-skills/geo-proposal/SKILL.md +378 -0
- package/bundled-skills/geo-prospect/SKILL.md +225 -0
- package/bundled-skills/geo-report/SKILL.md +436 -0
- package/bundled-skills/geo-report-pdf/SKILL.md +157 -0
- package/bundled-skills/geo-schema/SKILL.md +408 -0
- package/bundled-skills/geo-technical/SKILL.md +78 -0
- package/bundled-skills/geo-technical/references/details.md +543 -0
- package/bundled-skills/git-workflow/SKILL.md +460 -0
- package/bundled-skills/github-actions/SKILL.md +368 -0
- package/bundled-skills/gitlab-ci/SKILL.md +340 -0
- package/bundled-skills/google-no-code/SKILL.md +136 -0
- package/bundled-skills/gpu-kubernetes-operations/SKILL.md +468 -0
- package/bundled-skills/gpu-server-management/SKILL.md +236 -0
- package/bundled-skills/hashicorp-vault/SKILL.md +408 -0
- package/bundled-skills/helm-charts/SKILL.md +469 -0
- package/bundled-skills/hipaa-compliance/SKILL.md +451 -0
- package/bundled-skills/hunt-aspnet/SKILL.md +321 -0
- package/bundled-skills/hunt-ato/SKILL.md +184 -0
- package/bundled-skills/hunt-auth-bypass/SKILL.md +426 -0
- package/bundled-skills/hunt-auth-bypass/references/details.md +80 -0
- package/bundled-skills/hunt-brute-force/SKILL.md +341 -0
- package/bundled-skills/hunt-business-logic/SKILL.md +281 -0
- package/bundled-skills/hunt-cache-poison/SKILL.md +382 -0
- package/bundled-skills/hunt-captcha-bypass/SKILL.md +136 -0
- package/bundled-skills/hunt-cicd/SKILL.md +311 -0
- package/bundled-skills/hunt-clickjacking/SKILL.md +110 -0
- package/bundled-skills/hunt-cors/SKILL.md +335 -0
- package/bundled-skills/hunt-dom/SKILL.md +323 -0
- package/bundled-skills/hunt-exceptional-conditions/SKILL.md +111 -0
- package/bundled-skills/hunt-file-upload/SKILL.md +202 -0
- package/bundled-skills/hunt-fintech-graphql/SKILL.md +289 -0
- package/bundled-skills/hunt-forgot-password/SKILL.md +114 -0
- package/bundled-skills/hunt-grpc/SKILL.md +317 -0
- package/bundled-skills/hunt-host-header/SKILL.md +309 -0
- package/bundled-skills/hunt-html-injection/SKILL.md +106 -0
- package/bundled-skills/hunt-http-smuggling/SKILL.md +129 -0
- package/bundled-skills/hunt-http-smuggling/references/phase2h-smuggling-cachepoison.md +177 -0
- package/bundled-skills/hunt-idor/SKILL.md +434 -0
- package/bundled-skills/hunt-jwt-crypto/SKILL.md +221 -0
- package/bundled-skills/hunt-k8s/SKILL.md +337 -0
- package/bundled-skills/hunt-laravel/SKILL.md +255 -0
- package/bundled-skills/hunt-ldap/SKILL.md +351 -0
- package/bundled-skills/hunt-lfi/SKILL.md +311 -0
- package/bundled-skills/hunt-llm-ai/SKILL.md +289 -0
- package/bundled-skills/hunt-mfa-bypass/SKILL.md +177 -0
- package/bundled-skills/hunt-misc/SKILL.md +378 -0
- package/bundled-skills/hunt-nextjs/SKILL.md +299 -0
- package/bundled-skills/hunt-nodejs/SKILL.md +263 -0
- package/bundled-skills/hunt-nosqli/SKILL.md +210 -0
- package/bundled-skills/hunt-ntlm-info/SKILL.md +314 -0
- package/bundled-skills/hunt-oauth/SKILL.md +459 -0
- package/bundled-skills/hunt-open-redirect/SKILL.md +223 -0
- package/bundled-skills/hunt-race-condition/SKILL.md +381 -0
- package/bundled-skills/hunt-race-condition/references/details.md +159 -0
- package/bundled-skills/hunt-rag-vector/SKILL.md +212 -0
- package/bundled-skills/hunt-rce/SKILL.md +444 -0
- package/bundled-skills/hunt-rce/references/details.md +110 -0
- package/bundled-skills/hunt-saml/SKILL.md +156 -0
- package/bundled-skills/hunt-session/SKILL.md +342 -0
- package/bundled-skills/hunt-shadow-api/SKILL.md +198 -0
- package/bundled-skills/hunt-source-leak/SKILL.md +345 -0
- package/bundled-skills/hunt-spa-api/SKILL.md +163 -0
- package/bundled-skills/hunt-springboot/SKILL.md +285 -0
- package/bundled-skills/hunt-sqli/SKILL.md +466 -0
- package/bundled-skills/hunt-ssrf/SKILL.md +396 -0
- package/bundled-skills/hunt-ssrf/references/details.md +179 -0
- package/bundled-skills/hunt-ssti/SKILL.md +163 -0
- package/bundled-skills/hunt-subdomain/SKILL.md +379 -0
- package/bundled-skills/hunt-tls-network/SKILL.md +399 -0
- package/bundled-skills/hunt-xxe/SKILL.md +466 -0
- package/bundled-skills/i-have-adhd/SKILL.md +170 -0
- package/bundled-skills/idea-evaluator/SKILL.md +75 -0
- package/bundled-skills/idea-evaluator/idea-evaluator-con/SKILL.md +64 -0
- package/bundled-skills/idea-evaluator/idea-evaluator-pro/SKILL.md +64 -0
- package/bundled-skills/identity-access-management/SKILL.md +382 -0
- package/bundled-skills/identity-access-management/references/details.md +524 -0
- package/bundled-skills/incident-management/SKILL.md +484 -0
- package/bundled-skills/incident-response/SKILL.md +448 -0
- package/bundled-skills/incident-response/references/details.md +113 -0
- package/bundled-skills/interview-me/SKILL.md +248 -0
- package/bundled-skills/iso27001-compliance/SKILL.md +460 -0
- package/bundled-skills/jenkins/SKILL.md +462 -0
- package/bundled-skills/jev-use/SKILL.md +158 -0
- package/bundled-skills/kubernetes-hardening/SKILL.md +154 -0
- package/bundled-skills/kubernetes-ops/SKILL.md +449 -0
- package/bundled-skills/kubernetes-ops/references/details.md +108 -0
- package/bundled-skills/kustomize/SKILL.md +478 -0
- package/bundled-skills/ledger-tasks-yylo/SKILL.md +219 -0
- package/bundled-skills/linux-administration/SKILL.md +367 -0
- package/bundled-skills/linux-hardening/SKILL.md +154 -0
- package/bundled-skills/llm-app-security/SKILL.md +389 -0
- package/bundled-skills/llm-app-security/references/details.md +674 -0
- package/bundled-skills/llm-caching/SKILL.md +334 -0
- package/bundled-skills/llm-cost-optimization/SKILL.md +311 -0
- package/bundled-skills/llm-fine-tuning/SKILL.md +329 -0
- package/bundled-skills/llm-gateway/SKILL.md +282 -0
- package/bundled-skills/llm-inference-scaling/SKILL.md +286 -0
- package/bundled-skills/llmops-platform-engineering/SKILL.md +472 -0
- package/bundled-skills/load-balancing/SKILL.md +403 -0
- package/bundled-skills/loki-logging/SKILL.md +479 -0
- package/bundled-skills/loki-mode/examples/todo-app-generated/backend/package-lock.json +4 -4
- package/bundled-skills/loki-mode/examples/todo-app-generated/backend/package.json +1 -1
- package/bundled-skills/m365-entra-attack/SKILL.md +423 -0
- package/bundled-skills/mac-mini-llm-lab/SKILL.md +350 -0
- package/bundled-skills/mcp-server-security/SKILL.md +356 -0
- package/bundled-skills/mcp-server-security/references/details.md +745 -0
- package/bundled-skills/mdm-device-management/SKILL.md +404 -0
- package/bundled-skills/mdm-device-management/references/details.md +410 -0
- package/bundled-skills/meme-coin-audit/SKILL.md +402 -0
- package/bundled-skills/mid-engagement-ir-detection/SKILL.md +377 -0
- package/bundled-skills/model-registry-governance/SKILL.md +452 -0
- package/bundled-skills/model-serving-kubernetes/SKILL.md +339 -0
- package/bundled-skills/model-supply-chain-security/SKILL.md +427 -0
- package/bundled-skills/mongodb/SKILL.md +436 -0
- package/bundled-skills/multi-tenant-llm-hosting/SKILL.md +435 -0
- package/bundled-skills/multi-tenant-llm-hosting/references/details.md +211 -0
- package/bundled-skills/mysql/SKILL.md +390 -0
- package/bundled-skills/new-relic/SKILL.md +472 -0
- package/bundled-skills/nfs-storage/SKILL.md +356 -0
- package/bundled-skills/object-storage/SKILL.md +378 -0
- package/bundled-skills/offensive-osint/SKILL.md +443 -0
- package/bundled-skills/okta-attack/SKILL.md +436 -0
- package/bundled-skills/ollama-stack/SKILL.md +379 -0
- package/bundled-skills/openclaw-deployment-hardening/SKILL.md +135 -0
- package/bundled-skills/openclaw-local-mac-mini/SKILL.md +426 -0
- package/bundled-skills/openclaw-local-mac-mini/references/details.md +221 -0
- package/bundled-skills/openclaw-security-hardening/SKILL.md +135 -0
- package/bundled-skills/openshift/SKILL.md +485 -0
- package/bundled-skills/opentelemetry/SKILL.md +438 -0
- package/bundled-skills/opentelemetry/references/details.md +78 -0
- package/bundled-skills/opentofu-migration/SKILL.md +349 -0
- package/bundled-skills/osint-methodology/SKILL.md +460 -0
- package/bundled-skills/osint-methodology/references/details.md +1350 -0
- package/bundled-skills/pci-dss-compliance/SKILL.md +446 -0
- package/bundled-skills/penetration-testing/SKILL.md +152 -0
- package/bundled-skills/performance-tuning/SKILL.md +381 -0
- package/bundled-skills/plan-ledger-tasks-yylo/SKILL.md +52 -0
- package/bundled-skills/planetscale/SKILL.md +297 -0
- package/bundled-skills/platform-engineering/SKILL.md +348 -0
- package/bundled-skills/platform-engineering/references/details.md +944 -0
- package/bundled-skills/podman/SKILL.md +405 -0
- package/bundled-skills/policy-as-code/SKILL.md +434 -0
- package/bundled-skills/policy-as-code/references/details.md +204 -0
- package/bundled-skills/postgresql-devsec/SKILL.md +378 -0
- package/bundled-skills/prometheus-grafana/SKILL.md +469 -0
- package/bundled-skills/prompt-injection-defense/SKILL.md +483 -0
- package/bundled-skills/rag-infrastructure/SKILL.md +269 -0
- package/bundled-skills/rag-observability-evals/SKILL.md +444 -0
- package/bundled-skills/rag-observability-evals/references/details.md +92 -0
- package/bundled-skills/ralph-loop-yylo/SKILL.md +55 -0
- package/bundled-skills/ralph-loop-yylo/references/first_check.md +18 -0
- package/bundled-skills/ralph-loop-yylo/references/implement.md +60 -0
- package/bundled-skills/recon-scope-triage/SKILL.md +128 -0
- package/bundled-skills/redis/SKILL.md +421 -0
- package/bundled-skills/redteam-report-template/SKILL.md +370 -0
- package/bundled-skills/report-writing/SKILL.md +426 -0
- package/bundled-skills/report-writing/references/details.md +187 -0
- package/bundled-skills/resumable-implementation-contracts/SKILL.md +254 -0
- package/bundled-skills/reverse-proxy/SKILL.md +420 -0
- package/bundled-skills/runbook-creation/SKILL.md +438 -0
- package/bundled-skills/runbook-creation/references/details.md +71 -0
- package/bundled-skills/saas-security-posture/SKILL.md +415 -0
- package/bundled-skills/sast-scanning/SKILL.md +444 -0
- package/bundled-skills/sbom-supply-chain/SKILL.md +433 -0
- package/bundled-skills/security-arsenal/SKILL.md +446 -0
- package/bundled-skills/security-arsenal/references/details.md +540 -0
- package/bundled-skills/security-automation/SKILL.md +146 -0
- package/bundled-skills/semantic-versioning/SKILL.md +434 -0
- package/bundled-skills/semantic-versioning/references/details.md +83 -0
- package/bundled-skills/service-mesh/SKILL.md +422 -0
- package/bundled-skills/soc2-compliance/SKILL.md +409 -0
- package/bundled-skills/sops-encryption/SKILL.md +124 -0
- package/bundled-skills/sre-dashboards/SKILL.md +143 -0
- package/bundled-skills/ssh-configuration/SKILL.md +324 -0
- package/bundled-skills/ssl-tls-management/SKILL.md +428 -0
- package/bundled-skills/ssl-tls-management/references/details.md +99 -0
- package/bundled-skills/startup-it-troubleshooting/SKILL.md +415 -0
- package/bundled-skills/supply-chain-attack-recon/SKILL.md +453 -0
- package/bundled-skills/supply-chain-attack-recon/references/details.md +258 -0
- package/bundled-skills/systemd-services/SKILL.md +379 -0
- package/bundled-skills/terraform-aws/SKILL.md +125 -0
- package/bundled-skills/terraform-azure/SKILL.md +415 -0
- package/bundled-skills/terraform-azure/references/details.md +231 -0
- package/bundled-skills/terraform-gcp/SKILL.md +369 -0
- package/bundled-skills/threat-modeling/SKILL.md +487 -0
- package/bundled-skills/understand-project-yylo/SKILL.md +62 -0
- package/bundled-skills/user-management/SKILL.md +383 -0
- package/bundled-skills/using-agent-skills/SKILL.md +220 -0
- package/bundled-skills/vector-database-ops/SKILL.md +300 -0
- package/bundled-skills/vendor-management/SKILL.md +439 -0
- package/bundled-skills/vendor-management/references/details.md +109 -0
- package/bundled-skills/vercel-deployments/SKILL.md +296 -0
- package/bundled-skills/vllm-server/SKILL.md +236 -0
- package/bundled-skills/vmware-vcenter-attack/SKILL.md +412 -0
- package/bundled-skills/vpn-setup/SKILL.md +452 -0
- package/bundled-skills/vulnerability-scanning/SKILL.md +448 -0
- package/bundled-skills/waf-setup/SKILL.md +354 -0
- package/bundled-skills/waf-setup/references/details.md +211 -0
- package/bundled-skills/weather-model-data-fetching/SKILL.md +277 -0
- package/bundled-skills/weather-observation-fetching/SKILL.md +246 -0
- package/bundled-skills/web2-recon/SKILL.md +440 -0
- package/bundled-skills/web2-recon/references/details.md +319 -0
- package/bundled-skills/web3-audit/SKILL.md +445 -0
- package/bundled-skills/web3-audit/references/details.md +224 -0
- package/bundled-skills/wiki-yylo/SKILL.md +114 -0
- package/bundled-skills/windows-hardening/SKILL.md +454 -0
- package/bundled-skills/windows-hardening/references/details.md +204 -0
- package/bundled-skills/windows-server/SKILL.md +318 -0
- package/bundled-skills/workflow-yylo/SKILL.md +107 -0
- package/bundled-skills/zero-trust/SKILL.md +461 -0
- package/package.json +1 -1
- package/skills_index.json +6924 -0
|
@@ -0,0 +1,380 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: aws-rds
|
|
3
|
+
description: Provision and manage RDS databases. Configure backups, replication, and
|
|
4
|
+
security. Use when deploying managed relational databases on AWS.
|
|
5
|
+
category: devops
|
|
6
|
+
risk: critical
|
|
7
|
+
source: https://github.com/BagelHole/DevOps-Security-Agent-Skills
|
|
8
|
+
source_repo: BagelHole/DevOps-Security-Agent-Skills
|
|
9
|
+
source_type: community
|
|
10
|
+
date_added: '2026-09-20'
|
|
11
|
+
license: MIT
|
|
12
|
+
license_source: https://github.com/BagelHole/DevOps-Security-Agent-Skills/blob/main/LICENSE
|
|
13
|
+
compatibility: Requires the relevant OS/platform tooling and privileged access where
|
|
14
|
+
noted. Docs-only; helper scripts and templates not bundled.
|
|
15
|
+
metadata:
|
|
16
|
+
author: devops-skills
|
|
17
|
+
version: '1.0'
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# AWS RDS
|
|
21
|
+
|
|
22
|
+
Deploy and manage Amazon RDS relational databases with production-grade backups, replication, monitoring, and security.
|
|
23
|
+
|
|
24
|
+
## When to Use This Skill
|
|
25
|
+
|
|
26
|
+
- Provisioning a managed PostgreSQL, MySQL, MariaDB, Oracle, or SQL Server database
|
|
27
|
+
- Setting up Multi-AZ deployments for high availability
|
|
28
|
+
- Creating read replicas for horizontal read scaling
|
|
29
|
+
- Configuring automated backups, snapshots, and point-in-time recovery
|
|
30
|
+
- Tuning database parameters for performance
|
|
31
|
+
- Migrating from self-managed databases to RDS
|
|
32
|
+
- Monitoring database performance and setting up alarms
|
|
33
|
+
|
|
34
|
+
## Prerequisites
|
|
35
|
+
|
|
36
|
+
- AWS CLI v2 installed and configured
|
|
37
|
+
- IAM permissions: `rds:*`, `ec2:DescribeSecurityGroups`, `ec2:DescribeSubnets`, `kms:*`, `cloudwatch:*`
|
|
38
|
+
- A VPC with at least two subnets in different AZs (for subnet group)
|
|
39
|
+
- Security group allowing database port access from application subnets only
|
|
40
|
+
|
|
41
|
+
## Create a DB Subnet Group
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
# Create a subnet group spanning two AZs
|
|
45
|
+
aws rds create-db-subnet-group \
|
|
46
|
+
--db-subnet-group-name production-db-subnets \
|
|
47
|
+
--db-subnet-group-description "Production database subnets" \
|
|
48
|
+
--subnet-ids subnet-private-a subnet-private-b
|
|
49
|
+
|
|
50
|
+
# List subnet groups
|
|
51
|
+
aws rds describe-db-subnet-groups \
|
|
52
|
+
--query "DBSubnetGroups[].{Name:DBSubnetGroupName,VPC:VpcId,Status:SubnetGroupStatus}" \
|
|
53
|
+
--output table
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Create a Production Database
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
# Create a PostgreSQL 16 Multi-AZ instance
|
|
60
|
+
aws rds create-db-instance \
|
|
61
|
+
--db-instance-identifier production-api-db \
|
|
62
|
+
--db-instance-class db.r6g.large \
|
|
63
|
+
--engine postgres \
|
|
64
|
+
--engine-version 16.4 \
|
|
65
|
+
--master-username appadmin \
|
|
66
|
+
--manage-master-user-password \
|
|
67
|
+
--allocated-storage 100 \
|
|
68
|
+
--max-allocated-storage 500 \
|
|
69
|
+
--storage-type gp3 \
|
|
70
|
+
--storage-encrypted \
|
|
71
|
+
--kms-key-id alias/rds-key \
|
|
72
|
+
--vpc-security-group-ids sg-db-access \
|
|
73
|
+
--db-subnet-group-name production-db-subnets \
|
|
74
|
+
--db-name appdb \
|
|
75
|
+
--backup-retention-period 14 \
|
|
76
|
+
--preferred-backup-window "03:00-04:00" \
|
|
77
|
+
--preferred-maintenance-window "sun:05:00-sun:06:00" \
|
|
78
|
+
--multi-az \
|
|
79
|
+
--auto-minor-version-upgrade \
|
|
80
|
+
--deletion-protection \
|
|
81
|
+
--copy-tags-to-snapshot \
|
|
82
|
+
--monitoring-interval 60 \
|
|
83
|
+
--monitoring-role-arn arn:aws:iam::123456789012:role/rds-monitoring-role \
|
|
84
|
+
--enable-performance-insights \
|
|
85
|
+
--performance-insights-retention-period 7 \
|
|
86
|
+
--enable-cloudwatch-logs-exports '["postgresql","upgrade"]' \
|
|
87
|
+
--tags '[
|
|
88
|
+
{"Key":"Environment","Value":"production"},
|
|
89
|
+
{"Key":"Team","Value":"backend"},
|
|
90
|
+
{"Key":"Backup","Value":"daily"}
|
|
91
|
+
]'
|
|
92
|
+
|
|
93
|
+
# Wait for instance to become available
|
|
94
|
+
aws rds wait db-instance-available --db-instance-identifier production-api-db
|
|
95
|
+
|
|
96
|
+
# Get connection endpoint
|
|
97
|
+
aws rds describe-db-instances \
|
|
98
|
+
--db-instance-identifier production-api-db \
|
|
99
|
+
--query "DBInstances[0].Endpoint.{Address:Address,Port:Port}" \
|
|
100
|
+
--output table
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Retrieve Master Password from Secrets Manager
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
# When using --manage-master-user-password, RDS stores the password in Secrets Manager
|
|
107
|
+
aws rds describe-db-instances \
|
|
108
|
+
--db-instance-identifier production-api-db \
|
|
109
|
+
--query "DBInstances[0].MasterUserSecret.SecretArn" \
|
|
110
|
+
--output text
|
|
111
|
+
|
|
112
|
+
# Retrieve the secret value
|
|
113
|
+
aws secretsmanager get-secret-value \
|
|
114
|
+
--secret-id arn:aws:secretsmanager:us-east-1:123456789012:secret:rds-db-secret-abc123 \
|
|
115
|
+
--query SecretString --output text
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## Parameter Groups
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
# Create a custom parameter group
|
|
122
|
+
aws rds create-db-parameter-group \
|
|
123
|
+
--db-parameter-group-name production-pg16 \
|
|
124
|
+
--db-parameter-group-family postgres16 \
|
|
125
|
+
--description "Production PostgreSQL 16 parameters"
|
|
126
|
+
|
|
127
|
+
# Set performance parameters
|
|
128
|
+
aws rds modify-db-parameter-group \
|
|
129
|
+
--db-parameter-group-name production-pg16 \
|
|
130
|
+
--parameters \
|
|
131
|
+
"ParameterName=max_connections,ParameterValue=200,ApplyMethod=pending-reboot" \
|
|
132
|
+
"ParameterName=shared_buffers,ParameterValue={DBInstanceClassMemory/4},ApplyMethod=pending-reboot" \
|
|
133
|
+
"ParameterName=effective_cache_size,ParameterValue={DBInstanceClassMemory*3/4},ApplyMethod=pending-reboot" \
|
|
134
|
+
"ParameterName=work_mem,ParameterValue=65536,ApplyMethod=immediate" \
|
|
135
|
+
"ParameterName=maintenance_work_mem,ParameterValue=524288,ApplyMethod=immediate" \
|
|
136
|
+
"ParameterName=random_page_cost,ParameterValue=1.1,ApplyMethod=immediate" \
|
|
137
|
+
"ParameterName=log_min_duration_statement,ParameterValue=1000,ApplyMethod=immediate" \
|
|
138
|
+
"ParameterName=log_statement,ParameterValue=ddl,ApplyMethod=immediate" \
|
|
139
|
+
"ParameterName=idle_in_transaction_session_timeout,ParameterValue=60000,ApplyMethod=immediate"
|
|
140
|
+
|
|
141
|
+
# Apply parameter group to the instance
|
|
142
|
+
aws rds modify-db-instance \
|
|
143
|
+
--db-instance-identifier production-api-db \
|
|
144
|
+
--db-parameter-group-name production-pg16 \
|
|
145
|
+
--apply-immediately
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
## Read Replicas
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
# Create a read replica in the same region
|
|
152
|
+
aws rds create-db-instance-read-replica \
|
|
153
|
+
--db-instance-identifier production-api-db-read1 \
|
|
154
|
+
--source-db-instance-identifier production-api-db \
|
|
155
|
+
--db-instance-class db.r6g.large \
|
|
156
|
+
--availability-zone us-east-1b \
|
|
157
|
+
--enable-performance-insights \
|
|
158
|
+
--monitoring-interval 60 \
|
|
159
|
+
--monitoring-role-arn arn:aws:iam::123456789012:role/rds-monitoring-role
|
|
160
|
+
|
|
161
|
+
# Create a cross-region read replica for DR
|
|
162
|
+
aws rds create-db-instance-read-replica \
|
|
163
|
+
--db-instance-identifier dr-api-db-read \
|
|
164
|
+
--source-db-instance-identifier arn:aws:rds:us-east-1:123456789012:db:production-api-db \
|
|
165
|
+
--db-instance-class db.r6g.large \
|
|
166
|
+
--region us-west-2 \
|
|
167
|
+
--storage-encrypted \
|
|
168
|
+
--kms-key-id alias/rds-dr-key
|
|
169
|
+
|
|
170
|
+
# Promote a read replica to standalone (for DR failover)
|
|
171
|
+
aws rds promote-read-replica \
|
|
172
|
+
--db-instance-identifier dr-api-db-read
|
|
173
|
+
|
|
174
|
+
# Check replication lag
|
|
175
|
+
aws cloudwatch get-metric-statistics \
|
|
176
|
+
--namespace AWS/RDS \
|
|
177
|
+
--metric-name ReplicaLag \
|
|
178
|
+
--dimensions Name=DBInstanceIdentifier,Value=production-api-db-read1 \
|
|
179
|
+
--start-time "$(date -u -d '1 hour ago' +%Y-%m-%dT%H:%M:%SZ)" \
|
|
180
|
+
--end-time "$(date -u +%Y-%m-%dT%H:%M:%SZ)" \
|
|
181
|
+
--period 300 \
|
|
182
|
+
--statistics Average \
|
|
183
|
+
--output table
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
## Snapshots and Point-in-Time Recovery
|
|
187
|
+
|
|
188
|
+
```bash
|
|
189
|
+
# Create a manual snapshot
|
|
190
|
+
aws rds create-db-snapshot \
|
|
191
|
+
--db-instance-identifier production-api-db \
|
|
192
|
+
--db-snapshot-identifier production-api-db-pre-migration-$(date +%Y%m%d)
|
|
193
|
+
|
|
194
|
+
# Wait for snapshot to complete
|
|
195
|
+
aws rds wait db-snapshot-available \
|
|
196
|
+
--db-snapshot-identifier production-api-db-pre-migration-20260324
|
|
197
|
+
|
|
198
|
+
# Restore from snapshot (creates a new instance)
|
|
199
|
+
aws rds restore-db-instance-from-db-snapshot \
|
|
200
|
+
--db-instance-identifier production-api-db-restored \
|
|
201
|
+
--db-snapshot-identifier production-api-db-pre-migration-20260324 \
|
|
202
|
+
--db-instance-class db.r6g.large \
|
|
203
|
+
--db-subnet-group-name production-db-subnets \
|
|
204
|
+
--vpc-security-group-ids sg-db-access
|
|
205
|
+
|
|
206
|
+
# Point-in-time recovery (restore to a specific second)
|
|
207
|
+
aws rds restore-db-instance-to-point-in-time \
|
|
208
|
+
--source-db-instance-identifier production-api-db \
|
|
209
|
+
--target-db-instance-identifier production-api-db-pitr \
|
|
210
|
+
--restore-time "2026-03-24T10:30:00Z" \
|
|
211
|
+
--db-instance-class db.r6g.large \
|
|
212
|
+
--db-subnet-group-name production-db-subnets
|
|
213
|
+
|
|
214
|
+
# Copy snapshot to another region
|
|
215
|
+
aws rds copy-db-snapshot \
|
|
216
|
+
--source-db-snapshot-identifier arn:aws:rds:us-east-1:123456789012:snapshot:production-api-db-pre-migration-20260324 \
|
|
217
|
+
--target-db-snapshot-identifier production-api-db-dr-copy \
|
|
218
|
+
--region us-west-2 \
|
|
219
|
+
--kms-key-id alias/rds-dr-key
|
|
220
|
+
|
|
221
|
+
# Delete old snapshots
|
|
222
|
+
aws rds delete-db-snapshot --db-snapshot-identifier old-snapshot-name
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
## Monitoring and Alarms
|
|
226
|
+
|
|
227
|
+
```bash
|
|
228
|
+
# Set CPU utilization alarm
|
|
229
|
+
aws cloudwatch put-metric-alarm \
|
|
230
|
+
--alarm-name rds-production-cpu-high \
|
|
231
|
+
--alarm-description "RDS CPU > 80% for 5 minutes" \
|
|
232
|
+
--metric-name CPUUtilization \
|
|
233
|
+
--namespace AWS/RDS \
|
|
234
|
+
--dimensions Name=DBInstanceIdentifier,Value=production-api-db \
|
|
235
|
+
--statistic Average \
|
|
236
|
+
--period 300 \
|
|
237
|
+
--threshold 80 \
|
|
238
|
+
--comparison-operator GreaterThanThreshold \
|
|
239
|
+
--evaluation-periods 1 \
|
|
240
|
+
--alarm-actions arn:aws:sns:us-east-1:123456789012:db-alerts
|
|
241
|
+
|
|
242
|
+
# Set free storage space alarm (alert below 10 GB)
|
|
243
|
+
aws cloudwatch put-metric-alarm \
|
|
244
|
+
--alarm-name rds-production-storage-low \
|
|
245
|
+
--alarm-description "RDS free storage < 10GB" \
|
|
246
|
+
--metric-name FreeStorageSpace \
|
|
247
|
+
--namespace AWS/RDS \
|
|
248
|
+
--dimensions Name=DBInstanceIdentifier,Value=production-api-db \
|
|
249
|
+
--statistic Average \
|
|
250
|
+
--period 300 \
|
|
251
|
+
--threshold 10737418240 \
|
|
252
|
+
--comparison-operator LessThanThreshold \
|
|
253
|
+
--evaluation-periods 1 \
|
|
254
|
+
--alarm-actions arn:aws:sns:us-east-1:123456789012:db-alerts
|
|
255
|
+
|
|
256
|
+
# Check current database connections
|
|
257
|
+
aws cloudwatch get-metric-statistics \
|
|
258
|
+
--namespace AWS/RDS \
|
|
259
|
+
--metric-name DatabaseConnections \
|
|
260
|
+
--dimensions Name=DBInstanceIdentifier,Value=production-api-db \
|
|
261
|
+
--start-time "$(date -u -d '1 hour ago' +%Y-%m-%dT%H:%M:%SZ)" \
|
|
262
|
+
--end-time "$(date -u +%Y-%m-%dT%H:%M:%SZ)" \
|
|
263
|
+
--period 300 \
|
|
264
|
+
--statistics Average Maximum \
|
|
265
|
+
--output table
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
## Terraform RDS Example
|
|
269
|
+
|
|
270
|
+
```hcl
|
|
271
|
+
resource "aws_db_subnet_group" "main" {
|
|
272
|
+
name = "production-db-subnets"
|
|
273
|
+
subnet_ids = [aws_subnet.private_a.id, aws_subnet.private_b.id]
|
|
274
|
+
|
|
275
|
+
tags = {
|
|
276
|
+
Environment = "production"
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
resource "aws_db_parameter_group" "postgres16" {
|
|
281
|
+
name = "production-pg16"
|
|
282
|
+
family = "postgres16"
|
|
283
|
+
|
|
284
|
+
parameter {
|
|
285
|
+
name = "max_connections"
|
|
286
|
+
value = "200"
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
parameter {
|
|
290
|
+
name = "shared_buffers"
|
|
291
|
+
value = "{DBInstanceClassMemory/4}"
|
|
292
|
+
apply_method = "pending-reboot"
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
parameter {
|
|
296
|
+
name = "log_min_duration_statement"
|
|
297
|
+
value = "1000"
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
resource "aws_db_instance" "main" {
|
|
302
|
+
identifier = "production-api-db"
|
|
303
|
+
engine = "postgres"
|
|
304
|
+
engine_version = "16.4"
|
|
305
|
+
instance_class = "db.r6g.large"
|
|
306
|
+
|
|
307
|
+
allocated_storage = 100
|
|
308
|
+
max_allocated_storage = 500
|
|
309
|
+
storage_type = "gp3"
|
|
310
|
+
storage_encrypted = true
|
|
311
|
+
kms_key_id = aws_kms_key.rds.arn
|
|
312
|
+
|
|
313
|
+
db_name = "appdb"
|
|
314
|
+
username = "appadmin"
|
|
315
|
+
manage_master_user_password = true
|
|
316
|
+
|
|
317
|
+
multi_az = true
|
|
318
|
+
db_subnet_group_name = aws_db_subnet_group.main.name
|
|
319
|
+
vpc_security_group_ids = [aws_security_group.db.id]
|
|
320
|
+
parameter_group_name = aws_db_parameter_group.postgres16.name
|
|
321
|
+
|
|
322
|
+
backup_retention_period = 14
|
|
323
|
+
backup_window = "03:00-04:00"
|
|
324
|
+
maintenance_window = "sun:05:00-sun:06:00"
|
|
325
|
+
copy_tags_to_snapshot = true
|
|
326
|
+
deletion_protection = true
|
|
327
|
+
skip_final_snapshot = false
|
|
328
|
+
final_snapshot_identifier = "production-api-db-final"
|
|
329
|
+
|
|
330
|
+
performance_insights_enabled = true
|
|
331
|
+
performance_insights_retention_period = 7
|
|
332
|
+
monitoring_interval = 60
|
|
333
|
+
monitoring_role_arn = aws_iam_role.rds_monitoring.arn
|
|
334
|
+
|
|
335
|
+
enabled_cloudwatch_logs_exports = ["postgresql", "upgrade"]
|
|
336
|
+
|
|
337
|
+
tags = {
|
|
338
|
+
Environment = "production"
|
|
339
|
+
Team = "backend"
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
resource "aws_db_instance" "read_replica" {
|
|
344
|
+
identifier = "production-api-db-read1"
|
|
345
|
+
replicate_source_db = aws_db_instance.main.identifier
|
|
346
|
+
instance_class = "db.r6g.large"
|
|
347
|
+
|
|
348
|
+
performance_insights_enabled = true
|
|
349
|
+
monitoring_interval = 60
|
|
350
|
+
monitoring_role_arn = aws_iam_role.rds_monitoring.arn
|
|
351
|
+
}
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
## Troubleshooting
|
|
355
|
+
|
|
356
|
+
| Problem | Cause | Fix |
|
|
357
|
+
|---|---|---|
|
|
358
|
+
| Cannot connect to RDS | Security group blocks traffic | Verify SG allows app subnet CIDR on DB port |
|
|
359
|
+
| Storage full | Auto-scaling not enabled or limit reached | Set `--max-allocated-storage`; increase manually |
|
|
360
|
+
| High replication lag | Write-heavy workload or replica undersized | Upgrade replica instance class; reduce write volume |
|
|
361
|
+
| Parameter change not applied | Requires reboot for static params | Reboot with `--force-failover` during maintenance window |
|
|
362
|
+
| Snapshot restore slow | Large database size | Use larger instance class for restore; consider PITR |
|
|
363
|
+
| Performance Insights empty | Not enabled or instance type unsupported | Enable PI; check instance class supports it |
|
|
364
|
+
| Multi-AZ failover happened | Hardware or AZ failure | Check RDS events; review failover logs |
|
|
365
|
+
| Connection count maxed out | Application connection leak | Implement connection pooling (PgBouncer/RDS Proxy) |
|
|
366
|
+
| Master password unknown | Using managed secret | Retrieve from Secrets Manager ARN in instance details |
|
|
367
|
+
|
|
368
|
+
## Related Skills
|
|
369
|
+
|
|
370
|
+
- terraform-aws (`terraform-aws`) - IaC deployment for RDS
|
|
371
|
+
- aws-vpc (`aws-vpc`) - Subnet groups and security groups
|
|
372
|
+
- aws-iam (`aws-iam`) - RDS IAM authentication
|
|
373
|
+
- aws-cost-optimization (`aws-cost-optimization`) - Reserved instances for RDS
|
|
374
|
+
- aws-s3 (`aws-s3`) - Export snapshots to S3
|
|
375
|
+
|
|
376
|
+
## Limitations
|
|
377
|
+
|
|
378
|
+
- Infrastructure commands can disrupt services: confirm target host/scope and have backups/snapshots before mutating state.
|
|
379
|
+
- Docs-only import: upstream scripts and templates not bundled.
|
|
380
|
+
|