-
- Private work.
- Altman / Shear / Ilya / Satya, the whole story crazy.
- IRA reposition. It’s the same investment mgmt fees for MS, retirement or non-retirement accounts (total AUM). Fees drop with more AUM (~1.5 -> 1). Externally-managed positions may have additional fees.
- Adobe’s free svg convertor will turn backgrounds black if transparent. Use source images with white backgrounds.
- Started process for Clear’s NextGen Identity+.
- Supercontest.
- I don’t need a general sbsc KMS key.
- Right now it’s only used to encrypt/decrypt RDS exports to S3.
- That’s a rare requirement, and I can create the key when needed for that.
- Every AWS KMS key (that you custom-manage, not aws-managed) costs $1/mo, or 3c/day. Then there are usage costs, but they’re small – 3c for 10k requests.
- Scheduled deletion. Min holding period of 7 days, can inspect logs for usage, then all data from it is un-decrypt-able.
- I still have the 6 aws-managed keys.
- Elasticache.
- Upgraded elasticache cluster to redis 7.1.
- 1 shard, 0 replicas. Inherits backup+maintenance schedule from RDS.
- Implemented with lazy-loading and write-through. No TTL.
- ElastiCache AUTH has 3 options: IAM, password, none.
- Redis offers RBAC. You can define users and usergroups in elasticache. Perms are defined by “Access Strings” – eg
on ~* +@all
, which gives everything.
- Remember for connectivity: keep resources for (EC2, Lambda, RDS, ElastiCache) in the same VPC.
- Redis CLI syntax and Python Client syntax for connection/interaction here: https://gitlab.com/bmahlstedt/supercontest/-/issues/225#note_1659547726
- My redis cache requires encrypted connections (TLS).
- Remember there’s no connection between cache and db. The app manages access to both.
- Created a security group to allow TCP traffic on 6582 into the cache.
- “The system automatically creates a default user that is associated with all user groups when a default user is not provided. This user does not provide secure access control to clusters and is intended only for compatibility. Please replace with a default user that is disabled or uses a strong password.”
- Added access control to the cache (was none before). Controlled by User Groups and Users. Added the default and supercontest users.
- Created supercontest user. Important to make the NAME
default
(bc you must have a default user, and the default default has no pw, and you want auth) and the User ID custom, like supercontest
.
- Created a user group for access to this cache. Added
supercontest
as the sole user. You must have one user in the group named default
.
- Fully connected from CLI and Python, with auth, with TLS. Played with both a little.
- Thought a bit about the key design. I’ll probably clean up the data API first so the access patterns are clear. Then easier to cache.
- Thought a bit about using redis sorted sets for the leaderboards.