Database password trong code? API key .env commit Git? Token hết hạn phải deploy lại? Secrets Manager và SSM Parameter Store là giải pháp.

Secrets ManagerSSM Parameter Store
Dùng choDB password, API key, OAuth tokenConfig, feature flag, non-sensitive URL
Auto-rotationCó (RDS built-in)Không
Cost$0.40/secret/thángStandard: free. Advanced: $0.05/param/tháng
Lambda ExtensionCache in-memory, auto-refreshCache qua extension
aws secretsmanager create-secret --name /prod/database \
  --secret-string '{"host":"rds-xxx.amazonaws.com","username":"admin","password":"..."}'

aws ssm put-parameter --name /prod/api-key --value "sk-abc123" --type SecureString --key-id alias/aws/ssm
// Lambda extension cache: không gọi API mỗi invocation
const { SecretString } = await sm.send(
  new GetSecretValueCommand({ SecretId: "/prod/database" })
);
const { host, username, password } = JSON.parse(SecretString!);
Dùng Lambda extension cho cả hai service. Extension cache secret trong memory, refresh trước khi hết hạn. Giảm latency từ ~50ms (API call) xuống <1ms (in-memory read), giảm API cost.

Bài sau: Phần 31: Dự án — Serverless REST API