AWS Parameter Store vs Secrets Manager vs AppConfig 2026

AWS Parameter Store vs Secrets Manager vs AppConfig 2026

AWS Parameter Store vs Secrets Manager vs AppConfig 2026

AWS Parameter Store vs Secrets Manager vs AppConfig 2026

What happens when a developer stores a database password in a plain Parameter Store string because it was “just a quick fix”? Usually nothing, until an audit, a rotation request, or a breach review turns that shortcut into a very long week. AWS gives teams three different tools for handling configuration and secrets, and they overlap just enough to cause real confusion. This guide breaks down Parameter Store vs Secrets Manager vs AppConfig by cost, security, rotation, and rollout control, so the choice becomes obvious instead of tribal.

Why Three Services Exist in the First Place

AWS did not design these tools to compete. Each one solves a different problem, and the overlap is a side effect of how AWS Systems Manager grew over time.

Parameter Store is a hierarchical key-value store inside AWS Systems Manager. It holds strings, string lists, and encrypted SecureString values. It is cheap, simple, and excellent for things like environment names, feature thresholds, and connection strings that are not secrets.

Secrets Manager is a standalone service built for credentials. It always encrypts with KMS, supports native rotation through Lambda, and can replicate secrets across Regions and share them across accounts through resource policies.

AppConfig, also part of Systems Manager, is a deployment engine for configuration and feature flags. It validates configuration, rolls it out gradually, and rolls back automatically when CloudWatch alarms fire.

The mental model that works: Parameter Store is a filing cabinet, Secrets Manager is a vault with a timed lock, and AppConfig is a release pipeline for configuration changes.

Head-to-Head Comparison

Feature Parameter Store Secrets Manager AppConfig
Primary purpose General config and simple secrets Credentials and secret rotation Runtime config and feature flags
Encryption Optional KMS (SecureString) Always KMS Optional KMS
Native rotation No Yes, via Lambda Not applicable
Cross-account sharing Limited Yes, resource policies Limited
Cross-Region replication No Yes No
Gradual rollout No No Yes, with strategies
Validation No No JSON Schema and Lambda validators
Automatic rollback No No Yes, via CloudWatch alarms
Value size limit 4 KB standard, 8 KB advanced 64 KB Larger config payloads
Typical cost profile Free standard tier, paid advanced Per secret plus API calls Per configuration received and requests

Those numbers matter, but the table hides the part that trips teams up: the free tier of Parameter Store makes it tempting to dump everything there, including credentials that should rotate.

Parameter Store: The Workhorse That Gets Overused

Parameter Store shines for non-secret configuration. Standard-tier parameters are free within quota limits, which makes it the default choice for environment variables, endpoint URLs, and tuning knobs. Advanced tier adds larger values and higher throughput for a fee.

The trap is SecureString. Yes, it encrypts values with KMS. Yes, it satisfies a checkbox on a security questionnaire. But it has no native rotation. If a credential leaks, someone has to build custom rotation logic, and that logic rarely gets built. Teams that start with SecureString for database passwords almost always migrate to Secrets Manager later, usually after an audit finding.

Practical tip: use hierarchical naming like `/app/prod/db/host` so IAM policies can grant access by path prefix. This single habit prevents the “everyone can read everything” problem that shows up in mature accounts.

Secrets Manager: Built for Credentials That Must Rotate

Secrets Manager exists because rotation is hard to do well. It handles automatic rotation for RDS, Redshift, and DocumentDB through Lambda functions, and it supports custom rotation for anything else. Cross-account access through resource policies and multi-Region replication make it the right pick for credentials shared across accounts or needed for disaster recovery.

The cost is real. Secrets Manager bills per secret per month plus per API call, and rotation Lambda usage adds more. Caching secrets in memory at application startup, rather than calling the API on every request, is the standard way to keep bills sane and latency low. Teams running high-volume workloads should treat the API call charge as a design constraint, not an afterthought.

One common mistake: storing non-secret configuration in Secrets Manager “to be safe.” That inflates the bill and clutters rotation dashboards with values that never rotate.

AppConfig: The One Most Teams Discover Too Late

AppConfig solves a problem that neither of the other two touches: changing configuration safely in production. It supports validators (JSON Schema or Lambda), deployment strategies (linear, canary, or all-at-once), and automatic rollback when a CloudWatch alarm triggers. It integrates with Lambda, ECS, and EC2.

Feature flags are the classic use case. Rolling out a flag to 5 percent of traffic, watching error rates, and rolling back automatically is exactly what AppConfig was built for. Doing the same thing with a Parameter Store value means writing your own rollout and rollback logic, which is where incidents come from. (Amazon Web Services)

The pattern that works in practice: keep the flag definition in AppConfig, keep the underlying thresholds and endpoints in Parameter Store, and keep credentials in Secrets Manager. Each service does what it is good at.

Cost Reality Check

Free tiers drive most of the decision-making here, so get the math right before choosing.

Parameter Store standard tier is free within quota limits, which is why it dominates for config. Advanced tier and higher throughput cost money. Secrets Manager charges per secret per month and per API call, with rotation Lambda costs on top. AppConfig pricing is based on configuration received and requests, and it has historically included a free tier.

The practical rule: if a value changes rarely and is not a secret, Parameter Store costs nothing and works fine. If it must rotate or be audited, Secrets Manager earns its fee. If it must roll out gradually with rollback, AppConfig pays for itself the first time it prevents a bad deploy.

A Decision Framework That Actually Holds Up

Answer these questions in order, and the choice usually makes itself.

  • Does the value need automatic rotation or cross-account sharing? Use Secrets Manager.

  • Does the value need gradual rollout, validation, or automatic rollback? Use AppConfig.

  • Is the value non-secret configuration? Use Parameter Store.

  • Is it a secret without rotation needs? Use Secrets Manager anyway, because the audit trail and future rotation matter more than the small monthly cost.

That fourth rule is the one teams resist. It is also the one that saves the most pain later.

Common Mistakes and What Works Instead

The most frequent error is treating Parameter Store as a universal database. It works until the account has thousands of parameters with no naming convention, and then nobody can tell which ones are safe to delete.

The second error is skipping caching. Applications that call Secrets Manager on every request see latency and cost climb together. Loading secrets at startup and refreshing on a schedule is the standard fix.

The third error is using AppConfig without validators. Gradual rollout does not help if the configuration itself is malformed. A JSON Schema validator catches bad config before it reaches any traffic.

The fourth error is ignoring IAM granularity. Granting `ssm:GetParameter` on `*` is common and dangerous. Path-based policies with wildcards scoped to a prefix take ten minutes to set up and prevent a whole class of incidents.

For teams running broader cloud comparisons, the same “right tool for the job” logic applies to infrastructure choices like the aws vs azure vs google cloud 2026 decision, where cost and operational fit matter more than feature checklists.

How These Services Fit Into a Larger Architecture

Configuration management does not exist in isolation. API gateways, WAFs, and app stores all have their own configuration and secrets surfaces, and the same principles carry over.

If a team is comparing gateway options, the kong vs aws api gateway vs apigee 2026 breakdown shows how each platform handles keys and credentials. Security teams weighing edge protection will find the cloudflare waf vs aws waf vs imperva 2026 comparison useful for the same reason: the tool that fits depends on rotation needs, audit requirements, and rollout control. (AWS Management and Governance Products)

Mobile and game teams face a parallel problem. The apple eu app store fees game developers 2026 analysis shows how platform policy changes ripple into backend configuration, and the apple scotus 27 percent app store fee 2026 case demonstrates why teams keep pricing logic in runtime configuration rather than hardcoded values.

Hardware-heavy companies face the same pattern. The tesla website robotaxi semi roadster three hardware bets 2026 story is a reminder that even physical products depend on software configuration that must change safely. And when spectrum or infrastructure policy shifts, as covered in the carriers ctia real consequences spacex aws 3 1695 1700 mhz 2026 report, the operational lesson is the same: separate what changes often from what must stay locked down.

Migration Path for Teams Already in the Wrong Place

Teams that started with everything in Parameter Store do not need a rewrite. They need a phased migration.

  • Inventory all parameters and tag them as secret, config, or flag.

  • Move secrets to Secrets Manager first, because that is where risk lives.

  • Move feature flags to AppConfig second, using validators from day one.

  • Leave static configuration in Parameter Store and add path-based IAM policies.

  • Delete the old SecureString parameters after a verification window.

Most migrations take a few weeks, not months, and the security posture improvement is immediate.

Conclusion

The Parameter Store vs Secrets Manager vs AppConfig question has a clean answer once the use case is clear. Parameter Store handles non-secret configuration cheaply and well. Secrets Manager handles credentials that must rotate, replicate, and be audited. AppConfig handles runtime configuration that needs validation and safe rollout.

The teams that get this right do not pick one service and force everything through it. They use all three, with clear boundaries, path-based IAM policies, and caching where it matters. The teams that struggle usually started with a shortcut, and the shortcut worked just long enough to become technical debt.

Pick the tool that matches the job, document the boundary, and revisit the decision when requirements change. That approach holds up whether the year is 2026 or 2030.

FAQ

What is the main difference between Parameter Store and Secrets Manager?

What is the main difference between Parameter Store and Secrets Manager?

Parameter Store is a general configuration store that can optionally encrypt values with KMS. Secrets Manager is purpose-built for credentials, always encrypts with KMS, and supports native automatic rotation through Lambda. The practical difference is rotation and audit: Secrets Manager handles both natively, while Parameter Store requires custom work.

When should I use AppConfig instead of Parameter Store?

Use AppConfig when a configuration change needs validation, gradual rollout, or automatic rollback. Parameter Store simply stores a value and returns it. AppConfig can validate against a JSON Schema, deploy to a percentage of traffic, and roll back when a CloudWatch alarm fires.

Is Parameter Store free?

The standard tier is free within quota limits, which covers most small and mid-sized workloads. Advanced tier and higher throughput are billed. Pricing changes over time, so check the current AWS pricing page before budgeting.

Can I store secrets in Parameter Store?

Yes, using SecureString parameters, which encrypt values with KMS. The catch is that Parameter Store has no native rotation, so credential rotation must be built and maintained manually. Most teams move secrets to Secrets Manager once rotation or audit requirements appear.

Does Secrets Manager support cross-account access?

Yes. Secrets Manager supports cross-account access through resource policies and can replicate secrets to multiple Regions. That makes it the standard choice for credentials shared across accounts or needed for disaster recovery.

How do I keep Secrets Manager costs down?

Cache secrets in memory at application startup and refresh on a schedule instead of calling the API on every request. Store only genuine credentials in Secrets Manager, and keep non-secret configuration in Parameter Store where the standard tier is free.

on this page