Вопрос или проблема
Предисловие:
У меня есть сайт на Google App Engine, и у меня есть проблема, из-за которой я получаю счета без причины. В таблице расходов указано, что затраты связаны с “Стандартным хранилищем США, многорегиональным”, что странно, потому что мои корзины находятся в Южной Америке, которые бесплатны, потому что проект также в Ю. Америке, или что-то в этом роде. Затем я вспомнил, что каждый раз, когда я развертываю приложение, появляется корзина “us.artifacts.luiz-zeroxis.appspot.com”. Обычно я просто удаляю её сразу после сборки, потому что по какой-то причине эта корзина действительно стоит денег. Было бы здорово, если бы я мог просто изменить её регион и решить вопрос, но, похоже, это невозможно.
Это не была проблема, но в последнее время это стало таковой. Я не помню, как я об этом подумал, но я считаю, что проблема связана с новой опцией “мягкого удаления”, которую они добавили, которая применяется к этой корзине артефактов и использует хранилище в фоновом режиме. Я уже отключил все способы настройки мягкого удаления, где только мог найти, но почему-то это всё равно продолжает существовать. Я не могу найти много информации об этом в интерфейсе, кроме этого на вкладке мониторинга: он показывает 2.47 GiB в “мягко-удалённом объекте США”!
Вопрос:
Используя команду gcloud storage ls --buckets --soft-deleted --full
, показывается 3 корзины (или скорее, 3 версии одной и той же корзины) с именем “gs://us.artifacts.luiz-zeroxis.appspot.com/”, с различными сроками жесткого удаления в будущем.
Итак: Как я могу удалить эти корзины навсегда прямо сейчас? И, в идеале, как я могу сделать так, чтобы это больше не происходило?
Ответ или решение
Как удалить софт-удаленные бакеты в Google Cloud Storage?
Если вы столкнулись с проблемой несанкционированных расходов в Google Cloud Storage из-за софт-удаленных бакетов, вам необходимо предпринять несколько шагов для их удаления. В этом руководстве мы рассмотрим детали процесса удаления таких бакетов и предложим решение, чтобы избежать повторения данной проблемы в будущем.
Подготовка к удалению бакетов
Прежде всего, убедитесь, что у вас есть необходимые права доступа для выполнения операций с Google Cloud Storage. Вам потребуется роль, которая включает разрешения на storage.buckets.delete
и storage.objects.delete
. Это может быть роль Storage Admin
или аналогичная.
Пошаговое руководство по удалению софт-удаленных бакетов
-
Проверка наличия софт-удаленных бакетов:
Вы уже сделали это, используя команду:
gcloud storage ls --buckets --soft-deleted --full
Эта команда позволяет вам увидеть все текущие софт-удаленные версии вашего бакета.
-
Удаление софт-удаленных бакетов:
Чтобы навсегда удалить софт-удаленные образы бакетов, вам нужно использовать команду для жесткого удаления:
gcloud storage buckets delete gs://us.artifacts.luiz-zeroxis.appspot.com --force
Обратите внимание на ключ
--force
, который позволяет вам обойти защиту от случайного удаления. Кроме того, убедитесь, что вы выполняете данную операцию для всех версий бакета, если их несколько. -
Подтверждение удаления:
После выполнения команды вам следует повторно запустить команду для проверки оставшихся софт-удаленных бакетов:
gcloud storage ls --buckets --soft-deleted --full
Убедитесь, что указанный бакет больше не отображается.
Предотвращение будущих проблем с софт-удалением
Чтобы избежать повторения данной ситуации, рассмотрите следующие рекомендации:
-
Отключите софт-удаление для новых бакетов:
При создании новых бакетов убедитесь, что опция софт-удаления отключена. Вы можете сделать это во время создания бакета, указав соответствующие параметры.
-
Настройте автоматическое удаление:
Рассмотрите возможность настройки автоматической политики удаления для объектов в вашем бакете, чтобы гарантировать, что старые версии не накапливаются на счету.
-
Регулярный мониторинг:
Регулярно проверяйте свои бакеты с помощью командной строки или графического интерфейса Google Cloud Console, чтобы быть уверенными в отсутствии ненужных ресурсов, которые могут привести к расходам.
Заключение
Удаление софт-удаленных бакетов в Google Cloud Storage — это важный шаг в управлении вашими затратами. Следуя приведенным выше инструкциям, вы можете не только устранить текущую проблему с растущими расходами, но и предотвратить ее повторение в будущем. Будьте внимательны к настройкам своих бакетов и производите регулярный мониторинг их состояния. Это не только поможет вам сэкономить, но и обеспечит эффективное использование ресурсов в Google Cloud.