S3 point in time restore - восстановление состояния версионизированного бакета (отдельные файлы, префикс или целиком) на нужное время (или от - до).
#s3 #versioning #restore
#s3 #versioning #restore
При использовании #cross_account #s3_replication нужно учитывать, что destination #s3 бакет должен:
- существовать на момент отработки #CloudFormation #templates
- иметь #versioning (обязательно требуется для #replication)
- быть в другом #region
Пример кода - cross-account cross-region s3 bucket replication.
Также стоит обратить внимание, что роль на репликацию создаётся в аккаунте источника (которая указывается в ReplicationConfiguration бакета), а не в аккаунте репликации, как может показаться логичным. Мы даём доступ внешнему аккаунту (с бакетом источника) к себе в аккаунте репликации.
- существовать на момент отработки #CloudFormation #templates
- иметь #versioning (обязательно требуется для #replication)
- быть в другом #region
Пример кода - cross-account cross-region s3 bucket replication.
Также стоит обратить внимание, что роль на репликацию создаётся в аккаунте источника (которая указывается в ReplicationConfiguration бакета), а не в аккаунте репликации, как может показаться логичным. Мы даём доступ внешнему аккаунту (с бакетом источника) к себе в аккаунте репликации.
GitHub
applerom/cloudformation-examples
AWS CloudFormation code examples. Contribute to applerom/cloudformation-examples development by creating an account on GitHub.
Проверочная опция --dryrun при работе с S3
Если вы боитесь или не уверены в том, что произойдёт с вашим #s3 бакетом после запуска команды aws s3 sync или aws s3 cp, то не забывайте про иногда спасительный ключик --dryrun, добавив который, увидите, как бы вы всё поломали, если бы его не добавили:
В строчках добавлено
Опция --dryrun покажет проблемы #IAM доступа (правильно ли прописаны #bucket_policy), т.е. даст такую же ошибку как и с "нормальной" командой.
Особенно --dryrun помогает, когда вы хотите залить большой объём данных в "пересекающиеся" директории важного объёмного бакета, которые после упаритесь вылавливать-исправлять (или не сможете совсем). Тут можно было бы посоветовать скопировать данные в другой бакет, но часто это многие гигабайты или просто невозможно.
В общем, --dryrun сэкономит ваши нервы и время. Даже если у бакета включено #versioning.
Если вы боитесь или не уверены в том, что произойдёт с вашим #s3 бакетом после запуска команды aws s3 sync или aws s3 cp, то не забывайте про иногда спасительный ключик --dryrun, добавив который, увидите, как бы вы всё поломали, если бы его не добавили:
aws s3 sync --dryrun ./my-folder s3://my-bucket/some-path
(dryrun) upload: my-folder/my-cert.crt to s3://my-bucket/some-path/my-cert.crt
(dryrun) upload: my-folder/my-cert.key to s3://my-bucket/some-path/my-cert.key
В строчках добавлено
(dryrun), обозначающее, что команда бы сделала без этого ключика. А так ничего не происходит.Опция --dryrun покажет проблемы #IAM доступа (правильно ли прописаны #bucket_policy), т.е. даст такую же ошибку как и с "нормальной" командой.
Особенно --dryrun помогает, когда вы хотите залить большой объём данных в "пересекающиеся" директории важного объёмного бакета, которые после упаритесь вылавливать-исправлять (или не сможете совсем). Тут можно было бы посоветовать скопировать данные в другой бакет, но часто это многие гигабайты или просто невозможно.
В общем, --dryrun сэкономит ваши нервы и время. Даже если у бакета включено #versioning.
Восстановление = удаление удаления
Вы знали, что для восстановления удалённого объекта из #s3 — нужно удалить удаление?
Речь, конечно же, о бакете с включённой #versioning - нужно в AWS Console нажать отображение Versions - Show, найти нужный (удалённый) файл и удалить признак его удаления - нажать Delete Delete marker.
Вы знали, что для восстановления удалённого объекта из #s3 — нужно удалить удаление?
Речь, конечно же, о бакете с включённой #versioning - нужно в AWS Console нажать отображение Versions - Show, найти нужный (удалённый) файл и удалить признак его удаления - нажать Delete Delete marker.