Amazon EBS 暗号化の仕組み - Amazon EBS

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon EBS 暗号化の仕組み

EC2 インスタンスのブートボリュームとデータボリュームの両方を暗号化できます。

暗号化された EBS ボリュームを作成し、サポートされているインスタンスタイプにアタッチすると、次のタイプのデータが暗号化されます。

  • ボリューム内で保管中のデータ

  • ボリュームとインスタンスの間で移動されるすべてのデータ

  • ボリュームから作成されたすべてのスナップショット

  • それらのスナップショットから作成されたすべてのボリューム

Amazon EBS は、業界標準の AES-256 データ暗号化を使用して、データキーでボリュームを暗号化します。データキーは によって生成され AWS KMS 、ボリューム情報 AWS KMS とともに保存される前に AWS KMS キーで暗号化されます。Amazon EBS は、Amazon EBS リソースを作成するリージョン AWS マネージドキー ごとに一意の を自動的に作成します。KMS キーのエイリアスは ですaws/ebs。デフォルトでは、Amazon EBS はこの KMS キーを暗号化に使用します。または、作成した対称カスタマーマネージド暗号化キーを使用することもできます。独自の KMS キーを使用すると、KMS キーを作成、ローテーション、無効化する機能など、柔軟性が高まります。

Amazon EC2 は と連携して AWS KMS 、暗号化されたボリュームの作成元のスナップショットが暗号化されているか暗号化されていないかに応じて、若干異なる方法で EBS ボリュームを暗号化および復号化します。

スナップショットが暗号化されている場合の EBS 暗号化の仕組み

所有している暗号化されたスナップショットから暗号化されたボリュームを作成すると、Amazon EC2 は と連携して AWS KMS 、次のように EBS ボリュームを暗号化および復号化します。

  1. Amazon EC2 は、ボリューム暗号化用に選択した GenerateDataKeyWithoutPlaintext キーを指定して AWS KMS、KMS リクエストを に送信します。

  2. ボリュームがスナップショットと同じ KMS キーを使用して暗号化されている場合、 はスナップショットと同じデータキー AWS KMS を使用し、同じ KMS キーで暗号化します。ボリュームが別の KMS キーを使用して暗号化されている場合、 は新しいデータキー AWS KMS を生成し、指定した KMS キーで暗号化します。暗号化されたデータキーは Amazon EBS に送信され、ボリュームメタデータとともに保存されます。

  3. 暗号化されたボリュームをインスタンスにアタッチすると、Amazon EC2 は CreateGrant リクエストを に送信 AWS KMS して、データキーを復号できるようにします。

  4. AWS KMS は、暗号化されたデータキーを復号し、復号されたデータキーを Amazon EC2 に送信します。

  5. Amazon EC2 は、Nitro ハードウェアのプレーンテキストデータキーを使用して、ボリュームへのディスク I/O を暗号化します。プレーンテキストデータキーは、ボリュームがインスタンスにアタッチされる限り、メモリ内で維持されます。

スナップショットが暗号化されていない場合の EBS 暗号化の仕組み

暗号化されていないスナップショットから暗号化されたボリュームを作成すると、Amazon EC2 は と連携して AWS KMS 、次のように EBS ボリュームを暗号化および復号化します。

  1. Amazon EC2 は CreateGrant リクエストを に送信し AWS KMS、スナップショットから作成されたボリュームを暗号化できるようにします。

  2. Amazon EC2 は、ボリューム暗号化用に選択した GenerateDataKeyWithoutPlaintext キーを指定して AWS KMS、KMS リクエストを に送信します。

  3. AWS KMS は新しいデータキーを生成し、ボリュームの暗号化用に選択した KMS キーで暗号化し、暗号化されたデータキーを Amazon EBS に送信してボリュームメタデータとともに保存します。

  4. Amazon EC2 は Decrypt リクエストを AWS KMS に送信して暗号化されたデータキーを復号し、これを使用してボリュームデータを暗号化します。

  5. 暗号化されたボリュームをインスタンスにアタッチすると、Amazon EC2 は CreateGrant リクエストを に送信し AWS KMS、データキーを復号できるようにします。

  6. 暗号化されたボリュームをインスタンスにアタッチすると、Amazon EC2 は暗号化されたデータキーを指定して AWS KMSDecrypt リクエストを に送信します。

  7. AWS KMS は、暗号化されたデータキーを復号し、復号されたデータキーを Amazon EC2 に送信します。

  8. Amazon EC2 は、Nitro ハードウェアのプレーンテキストデータキーを使用して、ボリュームへのディスク I/O を暗号化します。プレーンテキストデータキーは、ボリュームがインスタンスにアタッチされる限り、メモリ内で維持されます。

詳細については、「 AWS Key Management Service デベロッパーガイド」の「Amazon Elastic Block Store (Amazon EBS) が を使用する方法 AWS KMS」および「Amazon EC2 の例 2」を参照してください。

使用できない KMS キーがデータキーに与える影響

KMS キーが使用できなくなった場合、その効果はほぼ即時に発生します (結果整合性の影響を受けます)。KMS キーのキーステータスは新しい条件を反映するように変更され、暗号化オペレーションで KMS キーを使用するすべてのリクエストは失敗します。

KMS キーを使用できないようにするアクションを実行しても、EC2 インスタンスやアタッチされた EBS ボリュームにすぐに影響はありません。Amazon EC2 は、ボリュームがインスタンスにアタッチされている間、KMS キーではなくデータキーを使用してすべてのディスク I/O を暗号化します。

ただし、暗号化された EBS ボリュームが EC2 インスタンスからデタッチされると、Amazon EBS は Nitro ハードウェアからデータキーを削除します。次回、暗号化された EBS ボリュームが EC2 インスタンスにアタッチされると、Amazon EBS は KMS キーを使用してボリュームの暗号化されたデータキーを復号できないため、アタッチメントは失敗します。EBS ボリュームを再度使用するには、KMS キーを再度使用できるようにする必要があります。

ヒント

使用不可にする予定の EBS キーから生成されたデータキーで暗号化された KMS ボリュームに保存されているデータへのアクセスが不要になった場合は、EBS キーを使用不可にする前に、EC2 インスタンスから KMS ボリュームをデタッチすることをお勧めします。

詳細については、「 AWS Key Management Service デベロッパーガイド」の「使用できない KMS キーがデータキーに与える影響」を参照してください。