EBS-backed AMI での暗号化の利用 - Amazon Elastic Compute Cloud

EBS-backed AMI での暗号化の利用

Amazon EBS スナップショットを使用した AMI は Amazon EBS 暗号化の利点を活かすことができます。データおよびルートボリュームの両方のスナップショットを暗号化して AMI にアタッチできます。インスタンスを起動し、完全な EBS 暗号化サポートも含めてイメージをコピーできます。これらのオペレーションの暗号化パラメータは、AWS KMS が利用できるすべてのリージョンでサポートされています。

暗号化された EBS ボリュームを持つ EC2 インスタンスは、他のインスタンスと同様に AMIs から起動します。また、暗号化されていない EBS スナップショットでバックアップされている AMI からインスタンスを起動するとき、起動中に一部またはすべてのボリュームを暗号化できます。

EBS ボリュームと同様に、AMI のスナップショットはデフォルトの AWS KMS key または指定したカスタマーマネージド型キーで暗号化できます。いずれの場合も、選択した KMS キー を使用するためのアクセス権限が必要です。

暗号化されたスナップショットを持つ AMI は、AWS アカウント間で共有できます。詳細については、Amazon EC2 での共有 AMI の使用方法について を参照してください。

インスタンスの起動シナリオ

AMI から Amazon EC2 インスタンスを起動するには、RunInstances または直接 Amazon EC2 API や CLI を使用して、AWS Management Console アクションを実行します。その際、ブロックデバイスマッピングから提供されるパラメータを指定します。詳細については、「Amazon EC2 インスタンスでのボリュームのブロックデバイスマッピング」を参照してください。AWS CLI からブロックデバイスマッピングを制御する例については、「EC2 インスタンスを起動、リスト、および終了する」を参照してください。

デフォルトでは、明示的な暗号化パラメータがない場合、AMI のソーススナップショットから EBS ボリュームを復元しているときに、RunInstances アクションは AMI のソーススナップショットの既存の暗号化状態を維持します。デフォルトでの暗号化が有効になっている場合、AMI から作成したすべてのボリュームが暗号化されます (作成元のスナップショットが暗号化されているかどうかは関係ありません)。デフォルトでの暗号化が有効にされていない場合、インスタンスは AMI の暗号化状態を維持します。

インスタンスを起動し、同時に、暗号化パラメータを指定して、新しい暗号化状態を生成されるボリュームに適用することもできます。そのため、以下の動作が観察されます。

暗号化パラメータなしでの起動

  • デフォルトでの暗号化が有効にされている場合を除き、暗号化されていないスナップショットは、暗号化されていないボリュームに復元されます。デフォルトでの暗号化が有効にされている場合は、新しく作成されるすべてのボリュームが暗号化されます。

  • 所有する暗号化されたスナップショットは、同じ KMS キー に暗号化されるボリュームに復元されます。

  • 所有していない (例えば、AMI が共有されている) 暗号化されたスナップショットは、ユーザーの AWS アカウントのデフォルト KMS キーで暗号化されているボリュームに復元されます。

デフォルトの動作は、暗号化パラメータを指定してオーバーライドできます。利用できるパラメータは、EncryptedKmsKeyId です。Encrypted パラメータのみを設定すると、次のような結果になります。

Encrypted を設定し、KmsKeyId を指定しない場合のインスタンス起動動作

  • 暗号化されていないスナップショットは、ユーザーの AWS アカウントのデフォルト KMS キーで暗号化されている EBS ボリュームに復元されます。

  • 所有する暗号化されたスナップショットは、同じ KMS キー により暗号化された EBS ボリュームに復元されます。(つまり、Encrypted パラメータには効果がありません。)

  • 所有していない (つまり、AMI が共有されている) 暗号化されたスナップショットは、ユーザーの AWS アカウントのデフォルト KMS キーで暗号化されているボリュームに復元されます。(つまり、Encrypted パラメータには効果がありません。)

EncryptedKmsKeyId 両方のパラメータを設定すると、暗号化オペレーションにデフォルトではない KMS キー を指定できます。結果として次のように動作します。

EncryptedKmsKeyId が両方設定されたインスタンス

  • 暗号化されていないスナップショットは、指定された KMS キー により暗号化された EBS ボリュームに復元されます。

  • 暗号化されたスナップショットは、元の KMS キー ではなく、指定された KMS キー に暗号化された EBS ボリュームに復元されます。

Encrypted パラメータも設定せずに KmsKeyIdを送信するとエラーが発生します。

以下のセクションでは、デフォルトではない暗号化パラメータを使用して AMI からインスタンスを起動する例を示します。これらの各シナリオでは、RunInstances アクションに指定するパラメータにより、スナップショットからボリュームを復元中に暗号化の状態が変化します。

コンソールを使用して AMI からインスタンスを起動する方法については、「Amazon EC2 インスタンスの起動」を参照してください。

起動時にボリュームを暗号化する

この例では、暗号化されていないスナップショットでバックアップされた AMI を使用して、暗号化された EBS ボリュームのある EC2 インスタンスを起動します。

インスタンスを起動して、ボリュームをオンザフライで暗号化します。

Encrypted パラメータのみを使用すると、このインスタンスのボリュームが暗号化されます。KmsKeyId パラメータの指定はオプションです。KMS キー ID を指定しない場合、AWS アカウントのデフォルト KMS キーを使用して、ボリュームを暗号化します。所有する別の KMS キー にボリュームを暗号化するには、KmsKeyId パラメータを指定します。

起動時にボリュームを再暗号化する

この例では、暗号化されたスナップショットでバックアップされた AMI を使用して、新しい KMS キー により暗号化された EBS ボリュームのある EC2 インスタンスを起動します。

インスタンスを起動して、ボリュームをオンザフライで再暗号化します。

AMI を所有していて、暗号化パラメータを指定しない場合、作成されるインスタンスではスナップショットと同じ KMS キーでボリュームが暗号化されます。他のアカウントから共有された AMI に対して暗号化パラメータを指定しない場合、ボリュームはデフォルト KMS キー により暗号化されます。図のように暗号化パラメータが指定されている場合、ボリュームは指定された KMS キー により暗号化されます。

起動時に複数のボリュームの暗号化状態を変更する

このより複雑な例では、複数のスナップショット (暗号化状態はそれぞれ異なります) でバックアップされた AMI を使用して、新しく暗号化されたボリュームと再暗号化されたボリュームがある EC2 インスタンスを起動します。

起動時に複数のボリュームを暗号化および再暗号化します。

このシナリオでは、RunInstances アクションにソーススナップショットそれぞれに対する暗号化パラメータが指定されます。可能な暗号化パラメータがすべて指定されると、AMI を所有しているかどうかに関係なく、作成されるインスタンスは同じです。

イメージコピーのシナリオ

Amazon EC2 AMI をコピーするには、CopyImage または直接 Amazon EC2 API や CLI を使用して、AWS Management Console アクションを実行します。

デフォルトでは、明示的な暗号化パラメータがない場合、コピー中 CopyImage アクションは AMI のソーススナップショットの既存の暗号化状態を維持します。AMI をコピーし、同時に、暗号化パラメータを指定して、新しい暗号化状態を関連付けられている EBS スナップショットに適用することもできます。そのため、以下の動作が観察されます。

暗号化パラメータなしでのコピー

  • デフォルトでの暗号化が有効にされている場合を除き、暗号化されていないスナップショットは、別の暗号化されていないスナップショットにコピーされます。デフォルトでの暗号化が有効にされている場合は、新しく作成されるすべてのスナップショットが暗号化されます。

  • 所有する暗号化されたスナップショットは、同じ KMS キー で暗号化されたスナップショットにコピーされます。

  • 所有していない (例えば、AMI が共有されている) 暗号化されたスナップショットは、ユーザーの AWS アカウントのデフォルト KMS キーで暗号化されているスナップショットにコピーされます。

これらすべてのデフォルトの動作は、暗号化パラメータを指定してオーバーライドできます。利用できるパラメータは、EncryptedKmsKeyId です。Encrypted パラメータのみを設定すると、次のような結果になります。

Encrypted を設定し、KmsKeyId を指定しない場合のコピーイメージ動作

  • 暗号化されていないスナップショットは、AWS アカウントのデフォルト KMS キーで暗号化されたスナップショットにコピーされます。

  • 暗号化されたスナップショットは、同じ KMS キー により暗号化されたスナップショットにコピーされます。(つまり、Encrypted パラメータには効果がありません。)

  • 所有していない (例えば、AMI が共有されている) 暗号化されたスナップショットは、ユーザーの AWS アカウントのデフォルト KMS キーで暗号化されているボリュームにコピーされます。(つまり、Encrypted パラメータには効果がありません。)

EncryptedKmsKeyId 両方のパラメータを設定すると、暗号化オペレーションにカスタマー管理 KMS キー を指定できます。結果として次のように動作します。

EncryptedKmsKeyId の両方を設定した場合のコピーイメージ動作

  • 暗号化されていないスナップショットは、指定された KMS キー により暗号化されたスナップショットにコピーされます。

  • 暗号化されたスナップショットは、元の KMS キー ではなく、指定された KMS キー に暗号化されたスナップショットにコピーされます。

Encrypted パラメータも設定せずに KmsKeyIdを送信するとエラーが発生します。

以下のセクションでは、デフォルトではない暗号化パラメータを使用して AMI をコピーし、結果として暗号化状態が変化する例を示します。

コンソールを使用する手順の詳細については、「Amazon EC2 AMI のコピー」を参照してください。

コピー時に暗号化されていないイメージを暗号化する

このシナリオでは、暗号化されていないルートスナップショットでバックアップされた AMI は、暗号化されたルートスナップショットを持つ AMI にコピーされます。CopyImage アクションは、カスタマーマネージド型キーなど、2 つの暗号化パラメータで呼び出されます。その結果、ルートスナップショットの暗号化ステータスが変更され、ターゲット AMI はソーススナップショットと同じデータを含むルートスナップショットにバックアップされますが、指定されたキーを使用して暗号化されます。両方の AMI でスナップショットのストレージコストと、いずれかの AMI から起動するインスタンスの料金が発生します。

注記

デフォルトで暗号化を有効にすると、AMI 内のすべてのスナップショットで Encrypted パラメータを true に設定したのと同じ効果があります。

AMI をコピーし、スナップショットをオンザフライで暗号化

Encrypted パラメータを設定すると、このインスタンスの単一のスナップショットが暗号化されます。KmsKeyId パラメータを指定しない場合は、デフォルトのカスタマーマネージド型キーを使用して、スナップショットのコピーが暗号化されます。

注記

複数のスナップショットがあるイメージをコピーして、それぞれの暗号化状態を個々に設定することもできます。