

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

# Amazon EBS 暗号化の仕組み
<a name="how-ebs-encryption-works"></a>

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

暗号化された EBS ボリュームを作成し、サポートされるインスタンスタイプにアタッチする場合、以下のタイプのデータが暗号化されます。
+ ボリューム内の保存データ
+ ボリュームとインスタンスの間で移動されるすべてのデータ
+ ボリュームから作成されたすべてのスナップショット
+ それらのスナップショットから作成されたすべてのボリューム

Amazon EBS は、業界標準の AES-256 データ暗号化を使用して、ボリュームを[データキー](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#data-keys)で暗号化します。データキーは によって生成され AWS KMS 、 によって AWS KMS キー AWS KMS で暗号化されてから、ボリューム情報とともに保存されます。Amazon EBS は、Amazon EBS リソースを作成する各リージョン AWS マネージドキー に一意の を自動的に作成します。KMS キーの[エイリアス](https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html)は `aws/ebs` です。デフォルトでは、Amazon EBS は暗号化にこの KMS キー を使用します。または、作成した対称カスタマーマネージド暗号化キーを使用することもできます。独自の KMS キー を使用することにより、KMS キー の作成、更新、無効化ができるなど、より高い柔軟性が得られます。

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

## 暗号化されたスナップショットに対する EBS 暗号化の動作
<a name="how-ebs-encryption-works-encrypted-snapshot"></a>

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

1. Amazon EC2 は [GenerateDataKeyWithoutPlaintext](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKeyWithoutPlaintext.html) リクエストを に送信し AWS KMS、ボリューム暗号化用に選択した KMS キーを指定します。

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

1. 暗号化されたボリュームをインスタンスにアタッチすると、Amazon EC2 は [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html) リクエストを AWS KMS に送信し、データキーを復号化できるようにします。

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

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

## 暗号化されていないスナップショットに対する EBS 暗号化の動作
<a name="how-ebs-encryption-works-unencrypted-snapshot"></a>

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

1. Amazon EC2 は [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html) リクエストを に送信し AWS KMS、スナップショットから作成されたボリュームを暗号化できるようにします。

1. Amazon EC2 は [GenerateDataKeyWithoutPlaintext](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKeyWithoutPlaintext.html) リクエストを に送信し AWS KMS、ボリューム暗号化用に選択した KMS キーを指定します。

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

1. Amazon EC2 は、暗号化されたデータキーを復号 AWS KMS するために [Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) リクエストを に送信し、ボリュームデータの暗号化に使用します。

1. 暗号化されたボリュームをインスタンスにアタッチすると、Amazon EC2 は [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html) リクエストを AWS KMSに送信し、データキーを復号化できるようにします。

1. 暗号化されたボリュームをインスタンスにアタッチすると、Amazon EC2 は暗号化されたデータキーを指定して AWS KMS[Decrypt ](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html)リクエストを に送信します。

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

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

詳細については、*AWS Key Management Service デベロッパーガイド*の[Amazon Elastic Block Store (Amazon EBS) で AWS KMSを使用する方法](https://docs.aws.amazon.com/kms/latest/developerguide/services-ebs.html)および[Amazon EC2 の例 2](https://docs.aws.amazon.com/kms/latest/developerguide/ct-ec2two.html)を参照してください。

## 使用できない KMS キーがデータキーに及ぼす影響
<a name="unusable-keys"></a>

KMS キーが使用できなくなると、その影響はほぼ即時に表れます (最終的な一貫性の対象となります)。KMS キーのキーステータスは新しい条件を反映して変化し、暗号化オペレーションで KMS キーを使用するすべてのリクエストは失敗します。

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

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

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

詳細については、「*AWS Key Management Service デベロッパーガイド*」の「[AWS KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#unusable-kms-keys)」を参照してください。