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

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

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

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

EBS ボリュームと同じように、AMI のスナップショットは、デフォルトの AWS Key Management Service カスタマーマスターキー(CMK)、または指定したカスタマー管理キーにより暗号化できます。いずれの場合も、選択したキーを使用するアクセス許可が必要です。

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

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

Amazon EC2 インスタンスは、ブロックデバイスマッピングを通じて提供されるパラメータを備えた RunInstances アクションを使用して、AMI から起動されます。このパラメータは、AWS マネジメントコンソール により、または直接 Amazon EC2 API または CLI を使用して提供されます。ブロックデバイスマッピングに関する詳細については、「ブロックデバイスマッピング」を参照してください。AWS CLI からブロックデバイスマッピングを制御する例については、「EC2 インスタンスを起動、リスト、および終了する」を参照してください。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

注記

コンソールで AMI からインスタンスを起動する詳細な手順については、「インスタンスの起動」を参照してください。

RunInstances API のドキュメントについては、「RunInstances」を参照してください。

AWS Command Line Interface の run-instances コマンドのドキュメントについては、「run-instances」を参照してください。

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

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


					インスタンスの起動とオンザフライでの暗号化

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

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

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


					インスタンスの起動とオンザフライでの再暗号化

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

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

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


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

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

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

Amazon EC2 AMI は、AWS マネジメントコンソール を通じてまたは直接 Amazon EC2 API または CLI を使用し、CopyImage アクションを使用してコピーされます。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

注記

AMI をコピーするための詳細な手順については、「AMI のコピー」を参照してください。

CopyImage API のドキュメントについては、「CopyImage」を参照してください。

AWS Command Line Interface のコマンド copy-image のドキュメントについては、「copy-image」を参照してください。

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

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

注記

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


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

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

注記

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