Одна из самых страшных вещей, связанных с тем, чтобы быть маленькой рыбкой в океане AWS, - это то, что кажется неограниченной ответственностью в маловероятном случае потока транзакций на публично предоставляемой услуге.AWS предназначен для больших парней, для которых доступность - это главное.Существует много усилий по поддержанию обслуживания, но, очевидно, нет, когда речь идет о спасении нас от астрономических счетов.Похоже, Amazon неоднократно просили ограничить расходы, но AFAIK, лучшее, что они придумали, это оповещения о выставлении счетов.Я прочитал несколько страшных историй, например, парень, который создал небольшой веб-сайт для семьи и друзей и получил счет на 10 000 долларов.Лучшее, что сделала Amazon, - это предоставила уведомления о выставлении счетов, а что если вы AFK?Довольно большие суммы могут исчезнуть, прежде чем вы сможете отключиться.
Итак, мой хитрый план - написать лямбду, запущенную с порога выставления счета, который поднимает подъемный мост и отключает все общедоступные объекты.
Итак, я начал с CloudFront, и это вполне выполнимо, хотя отключение дистрибутива занимает некоторое время для распространения.
Теперь мы подошли к моему первому техническому затруднению.Я думал, что смогу просто проверить все корзины для публичных разрешений и отозвать их.Но, так как я в последний раз подробно рассматривал S3, есть такая статическая настройка веб-сайта.Итак, как мне программно отключить это?Очевидно, я не хочу удалять ведро.К моему удивлению, включение этого параметра не создает публичного разрешения в ACL.В API есть сервис для обновления свойств на одном из этих статических веб-сайтов, но не для его отзыва.
Кажется, что это немного похоже на шлюз API.Вы можете удалить API, но не приостанавливать его.И если вы удалите его, то перестройка, вероятно, даст вам другое имя хоста, что создает некоторую суету.
Я пытаюсь написать довольно общую лямбду и сделать ее общедоступной.