web-dev-qa-db-ja.com

暗号化されていないEBSを暗号化する方法

暗号化されていない古いEBSボリュームがいくつかあります。新しい企業のセキュリティ対策を満たすには、すべてのデータを「保存時に暗号化」する必要があるため、暗号化するすべてのボリュームを変換する必要があります。

これを達成するための最良の方法は何ですか?

暗号化されていないEBSスナップショットを暗号化されたEBSスナップショットにコピーすることが可能です。したがって、次のプロセスを使用できます。

  1. EC2インスタンスを停止します。
  2. 暗号化するボリュームのEBSスナップショットを作成します。
  3. EBSスナップショットをコピーし、コピーを暗号化します。
  4. 新しい暗号化されたEBSスナップショットから新しいEBSボリュームを作成します。新しいEBSボリュームは暗号化されます。
  5. 元のEBSボリュームを切り離し、新しい暗号化されたEBSボリュームを接続し、デバイス名(/ dev/xvda1など)と一致していることを確認します
38
Matt Houser

[[これは正しい答えではなく、現在のやり方ではありませんが、「難しい方法」を実行するためのユーティリティが他の誰かに見つかる場合に備えて、ここではそのままにしておきます。 ]]

次のプロセスは、既存のEBSボリュームを暗号化ボリュームに変換するのに役立ちました。

  • 暗号化されていないボリュームと同じアベイラビリティーゾーンに、同じ正確なサイズのボリュームを作成しますが、暗号化を有効にします。古いボリュームの名前が「XYZ」である場合は、新しいボリュームに「新しいXYZ」という名前を付けて、見失わないようにします。デフォルトのAWS暗号化キーを使用していますが、 EBS docs には他のオプションがあります。
  • 一時的なLinuxインスタンスをコンバーターマシンとして、ボリュームと同じアベイラビリティーゾーンで起動します。 EBSで最適化されたインスタンスは移行をより速く完了する可能性がありますが、実際にはサイズの異なるインスタンスで十分です。
  • 現在の暗号化されていないボリュームでインスタンスをシャットダウンします。
  • 暗号化されていないボリュームをインスタンスから切り離します。
  • 暗号化されていないボリュームをコンバータインスタンスに接続します。接続ダイアログがマウントしていると言っているデバイスを見てください。最初の追加ボリュームは/dev/sdf
  • 作成した新しい暗号化ボリュームをコンバーターインスタンスにも接続します。 2番目の追加ボリュームはおそらく/dev/sdg
  • RootまたはSudoアクセスを持つユーザーとしてコンバーターインスタンスにログインします。
  • /proc/diststatsファイルの下部に、追加された追加のパーティションに対応するxvdfxvdgのようなものが表示されます。名前は、使用している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コマンドを実行して、ソースの暗号化されていないボリュームから宛先の暗号化されたボリュームにコピーします。 警告:このコマンドは非常に破壊的です。ゆっくりしてください。 2回チェックし、1回カットします。誰かに肩越しに見てもらいます。これらは、データをゴミ箱に捨てるのに役立ちます。気をつけましょう!

    # 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コマンドが完了するのを待って、コマンドプロンプトに戻ります。私たちのインスタンスでは、16GBのディスクは約5分かかったので、より大きな容量で計算できます。あなたのマイレージは異なる場合があります。
  • 暗号化されていないボリュームと新しい暗号化されたボリュームの両方をコンバータインスタンスから切り離します。
  • 以前に暗号化されていないボリュームを使用していたインスタンスに新しい暗号化されたボリュームを接続し、起動します。
  • 起動したら、システムが正常に見えることを検証するために必要なことを行います。
  • ボリュームの名前を「XYZ」から「古いXYZ」に変更します。 「新しいXYZ」の名前を「XYZ」に変更します。問題があった場合に元に戻す必要がある場合に備えて、「古いXYZ」ボリュームを残しておきます。