Comment convertir un EBS non chiffré pour être chiffré

18

J'ai un certain nombre d'anciens volumes EBS qui ne sont pas chiffrés. Pour satisfaire aux nouvelles mesures de sécurité de l'entreprise, toutes les données doivent être "chiffrées au repos", je dois donc convertir tous les volumes à chiffrer.

Quelle est la meilleure façon d'y parvenir?

gris
la source

Réponses:

37

Il est possible de copier un instantané EBS non chiffré vers un instantané EBS chiffré. Ainsi, le processus suivant peut être utilisé:

  1. Arrêtez votre instance EC2.
  2. Créez un instantané EBS du volume que vous souhaitez crypter.
  3. Copiez l'instantané EBS, en chiffrant la copie dans le processus.
  4. Créez un nouveau volume EBS à partir de votre nouvel instantané EBS chiffré. Le nouveau volume EBS sera crypté.
  5. Détachez le volume EBS d'origine et attachez votre nouveau volume EBS chiffré, en vous assurant de faire correspondre le nom de l'appareil (/ dev / xvda1, etc.)
Matt Houser
la source
1
Sensationnel. Je ne savais pas que mat. Bon.
Gris
2
Juste pour être pédant, vous cliquez sur l'instantané non chiffré, tirez vers le bas pour copier et cliquez sur le bouton chiffrer pour chiffrer la copie.
Gris
4
Un petit piège. Assurez-vous que votre instance prend également en charge EBS chiffré. Il est possible que vous soyez sur une instance qui ne le fait pas. Mais il s'agit simplement d'arrêter l'instance, puis de changer le type.
Dave Beer
Pour une raison quelconque, après avoir fait cela, le volume chiffré sera monté en lecture seule ...
Douglas Gaskell
Vous, l'homme, êtes l'HOMME.
aran
0

[[Ce n'est pas la bonne réponse et pas la façon dont nous faisons les choses maintenant, mais je vais laisser cela ici au cas où quelqu'un d'autre trouverait une utilité à le faire à la «dure». ]]

Le processus suivant a bien fonctionné pour nous afin de convertir nos volumes EBS existants en volumes chiffrés.

  • Créez un volume de la même taille exacte et dans la même zone de disponibilité que le volume non chiffré mais avec le chiffrement activé. Si l'ancien volume est nommé "XYZ", nommez le nouveau volume "New XYZ" afin de ne pas le perdre de vue. Nous utilisons les clés de chiffrement AWS par défaut, mais il existe d'autres options dans les documents EBS .
  • Démarrez une instance Linux temporaire en tant que machine de conversion dans la même zone de disponibilité que le volume. N'importe quelle instance de taille fera l'affaire, bien que les instances optimisées EBS puissent terminer la migration plus rapidement.
  • Arrêtez l'instance avec le volume non chiffré actuel.
  • Détachez le volume non chiffré de l'instance.
  • Attachez le volume non chiffré à l'instance de convertisseur. Regardez le périphérique dans lequel la boîte de dialogue de connexion indique qu'il est en train de monter Le premier volume supplémentaire devrait ressembler à quelque chose /dev/sdf.
  • Attachez également le nouveau volume chiffré que vous venez de créer à l'instance du convertisseur. Le deuxième volume supplémentaire sera probablement /dev/sdg.
  • Connectez-vous à l'instance du convertisseur en tant que root ou en tant qu'utilisateur avec accès sudo.
  • Si vous regardez le /proc/diststatsfichier, en bas, vous devriez voir quelque chose comme xvdfet xvdgqui correspond aux partitions supplémentaires attachées. Les noms peuvent être différents selon la variante / version du noyau Linux que vous utilisez. S'il y a une question, vous pouvez vérifier le /proc/diststatsfichier avant de vous attacher pour voir quelles partitions sont ajoutées.

    ...
    # 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
    
  • Exécutez la ddcommande suivante pour copier du volume non chiffré source vers le volume chiffré de destination. AVERTISSEMENT: cette commande peut être extrêmement destructrice. Prends ton temps. Vérifiez deux fois, coupez une fois. Demandez à quelqu'un de regarder par-dessus votre épaule. Ceux-ci vous aideront à jeter vos données. Faisons attention là-bas!

    # 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
    
  • Attendez que la commande dd se termine et revenez à l'invite de commande. Sur nos instances, un disque de 16 Go a pris environ 5 minutes, vous pouvez donc faire le calcul avec un plus grand. Votre kilométrage peut varier.
  • Détachez les volumes non chiffrés et les nouveaux volumes chiffrés de l'instance de convertisseur.
  • Attachez le nouveau volume chiffré à l'instance qui utilisait le volume non chiffré avant et démarrez-le.
  • Quand il arrive, faites ce que vous devez faire pour valider que le système a l'air bien.
  • Renommez le volume de "XYZ" en "Old XYZ". Renommez "Nouveau XYZ" en "XYZ". Laissez autour du volume "Old XYZ" au cas où vous auriez besoin de revenir en cas de problème.
gris
la source