Static website hosting is both resilient and redundant assuming it is configured correctly.
S3 is by default distributed across all availability zones within the region with your code covered by a resilient storage layer.
You are limited to 5500 get requests from S3 per second per prefix.
For this reason you should take advantage of CloudFront to cache any assets that can be cached at the edge. At this point you will benefit from significant performance updates as the website will be cached locally to the user.
CloudFront supports 250,000 requests per second for each distribution with a total of 150 GBPs, as seen in the quotas. To benefit from this, also ensure your cache headers are appropriately set, enabling cached objects (such as CSS and JS) to be stored locally on the users device.
Route 53 is very resilient (and just like CloudFront benefits from AWS Shield to protect against DDOS attacks). For your end user (and cost savings) you should ensure your TTL values are set to appropriate values to avoid over utilising lookups for DNS records.