live status can be read on html document, which has a very small cache time set in a CDN.
change of live status triggers codePipeline and this deploy the site with the correct status - the pipeline gets triggered by the last status file creation
Do not use dynamodb (yet) as it is overly much to manage for little features. Keeping all simple (aka built on s3) is no crime and surely ends up less complex in terms of management.
Managing a Site without cloudfront comes with some extra exposure and the extra cost pays for itself in terms of features (e.g. metrics).