Как преобразовать незашифрованный EBS в зашифрованный

У меня есть несколько старых томов EBS, которые не зашифрованы. Для удовлетворения новых корпоративных мер безопасности все данные должны быть "зашифрованы в покое", поэтому мне нужно преобразовать все тома, которые должны быть зашифрованы.

Каков наилучший способ сделать это?

2 ответа

Решение

Можно скопировать незашифрованный снимок EBS в зашифрованный снимок EBS. Таким образом, можно использовать следующий процесс:

  1. Остановите свой экземпляр EC2.
  2. Создайте снимок EBS тома, который вы хотите зашифровать.
  3. Скопируйте снимок EBS, зашифровав копию в процессе.
  4. Создайте новый том EBS из нового зашифрованного снимка EBS. Новый том EBS будет зашифрован.
  5. Отключите исходный том EBS и подключите новый зашифрованный том EBS, убедившись, что он соответствует имени устройства (/dev/xvda1 и т. Д.)

[[Это не правильный ответ и не то, как мы делаем вещи сейчас, но я оставлю это здесь на случай, если кто-то еще найдет какую-то полезность, чтобы сделать это "трудным путем". ]]

Следующий процесс хорошо работал для нас, чтобы преобразовать наши существующие тома EBS в зашифрованные тома.

  • Создайте том такого же точного размера и в той же зоне доступности, что и незашифрованный том, но с включенным шифрованием. Если старый том называется "XYZ", назовите новый том как "Новый XYZ", чтобы не потерять его. Мы используем стандартные ключи шифрования AWS, но в документации по EBS есть и другие варианты.
  • Загрузите временный экземпляр linux в качестве машины конвертера в ту же зону доступности, что и том. Подойдет экземпляр любого размера, хотя оптимизированные EBS экземпляры могут выполнить миграцию быстрее.
  • Завершите работу экземпляра с текущим незашифрованным томом.
  • Отключите незашифрованный том от экземпляра.
  • Подключите незашифрованный том к экземпляру конвертера. Наблюдайте устройство, которое диалоговое окно присоединения говорит, что оно монтирует как. Первый дополнительный том должен быть что-то вроде /dev/sdf,
  • Присоедините только что созданный зашифрованный том к экземпляру конвертера. Второй дополнительный том, вероятно, будет /dev/sdg,
  • Зарегистрируйтесь в экземпляре конвертера как пользователь root или как пользователь с доступом sudo.
  • Если вы посмотрите на /proc/diststats файл, внизу вы должны увидеть что-то вроде xvdf а также xvdg которые соответствуют прикрепленным дополнительным перегородкам. Имена могут отличаться в зависимости от используемого вами варианта / версии ядра Linux. Если есть какие-либо вопросы, вы можете проверить /proc/diststats файл, прежде чем прикрепить, чтобы увидеть, какие разделы добавляются.

    ...
    # root partition
    202       1 xvda1 187267 4293 12100842 481972 52550 26972 894168 156944 0 150548 ...
    # swap partion
    202      16 xvdb 342 10 2810 8 5 1 48 12 0 20 20
    # first attached drive, corresponds to /dev/xvdf
    202      80 xvdf 86 0 688 28 0 0 0 0 0 28 28
    # second attached drive, corresponds to /dev/xvdg
    202      96 xvdg 86 0 688 32 0 0 0 0 0 32 32
    
  • Запустите следующее dd команда для копирования с исходного незашифрованного тома на целевой зашифрованный том. ВНИМАНИЕ: эта команда может быть чрезвычайно разрушительной. Не торопитесь. Проверьте дважды, отрежьте один раз. Пусть кто-нибудь посмотрит вам через плечо. Это поможет вам уничтожить ваши данные. Будем осторожны там!

    # using a block-size of 16k (a guess), copy from input-file (if) to output-file (of)
    dd bs=16k if=/dev/xvdf of=/dev/xvdg
    
  • Дождитесь окончания команды dd и вернитесь в командную строку. В нашем случае, 16-гигабайтный диск занял ~5 минут, так что вы можете сделать математику с большим. Ваш пробег может варьироваться.
  • Отключите незашифрованные и новые зашифрованные тома от экземпляра конвертера.
  • Присоедините новый зашифрованный том к экземпляру, который ранее использовал незашифрованный том, и загрузите его.
  • Когда это произойдет, сделайте то, что вам нужно сделать, чтобы убедиться, что система выглядит хорошо.
  • Переименуйте том из "XYZ" в "Старый XYZ". Переименуйте "Новый XYZ" в "XYZ". Оставьте объем "Старый XYZ" на случай, если вам понадобится вернуться, если возникли проблемы.
Другие вопросы по тегам