Как я могу перенести снимок Redshift из S3 в Glacier?

Я хотел бы закрыть свой кластер Redshift, но хотел бы сохранить его резервную копию. Я понял, что могу создать снимок вручную, и он будет сохранен на S3. Чтобы еще больше сократить расходы, я хотел бы переместить моментальный снимок с S3 на Glacier, но не могу найти снимок в своей учетной записи S3.

Где сохраняется снимок? Хранит ли AWS его в другой учетной записи?

Или, может быть, я иду совсем не по тому пути, я должен делать резервную копию своего кластера Redshift по-другому?

Спасибо, Орен.


person OrenHenig    schedule 01.02.2017    source источник


Ответы (2)


Он не хранится ни в одной из корзин S3 вашей учетной записи. Он хранится «за кулисами» в S3. Amazon просто сообщает вам, что он хранится в S3, чтобы вы понимали отказоустойчивость, связанную с хранением ваших снимков. Если вам нужно сохранить резервную копию в одном из ваших корзин S3, вам нужно будет сделать pg_dump базы данных и скопировать файл дампа на S3.

person Mark B    schedule 01.02.2017
comment
Делая мой комментарий ответом. - person systemjack; 01.02.2017
comment
Танкс Марк, стоит ли мне беспокоиться о размере при использовании pg_dump? что делать, если мой кластер больше 300 ГБ? это сработает? - person OrenHenig; 01.02.2017
comment
Пока у вас достаточно свободного места на диске EBS, куда вы сохраняете дамп. - person Mark B; 01.02.2017

Вы можете использовать функцию Redshift UNLOAD для вывода таблиц прямо на S3. ведро. К сожалению, вам нужно сделать это отдельно для каждой таблицы. Вы также захотите заархивировать все запросы к схеме, CREATE и т. д. для своих таблиц (решение pg_dump не имеет этой проблемы, поскольку оно может захватывать определения таблиц, но требует локального хранения файлов и ручной отправки на S3. ..может быть, это того стоит для случая, такого как архивирование и полное отключение).

UNLOAD('select * from your_table') TO 's3://your_bucket/your_table.csv' 
WITH CREDENTIALS 'aws_access_key_id=YOUR_KEY;aws_secret_access_key=YOUR_SECRET' 
DELIMITER ',' NULL 'null' ALLOWOVERWRITE;

После того, как все ваши таблицы будут помещены в корзину S3, вы можете установить жизненный цикл (правила, созданные на панели свойств корзины на панели жизненного цикла) для архивации в класс хранилища glacier.

Это немного сбивает с толку, потому что Glacier — это собственная служба, но когда вы архивируете через жизненный цикл, файлы остаются в корзине S3. Вы можете сказать, что они находятся в glacier, выбрав файл в консоли S3, выбрав панель properties и открыв панель Details. Там должно быть сказано Storage class: Glacier.

Если вам когда-нибудь понадобится восстановить, вы будете использовать COPY. команда:

COPY your_table FROM 's3://your_bucket/your_table.csv'
CREDENTIALS 'aws_access_key_id=[YOURKEY];aws_secret_access_key=[YOURSECRET]'
DELIMITER ',' NULL 'null' IGNOREBLANKLINES EMPTYASNULL
BLANKSASNULL TIMEFORMAT 'auto' FILLRECORD MAXERROR 1
person systemjack    schedule 01.02.2017