Isn't this exactly the 'single point of failure' that we are always warned to guard against, whether in our coding or deployments? Yet here in our daily lives people can't get the lights on or make coffee.
There’s always more you can do to drive up availability but it comes at a cost and at some point the cost exceeds the prevented losses. There’s also no real brand damage from being down when everybody else is also down due to a common and widely accepted dependency (“nobody got fired for buying IBM”). So given the SLAs offered by cloud providers like AWS it really is the most economically feasible solution.