Amazon EBS スナップショットの共有
スナップショットの許可を変更することで、他の AWS アカウントとスナップショットを共有できます。スナップショットを他のすべての AWS アカウントとパブリックに共有することも、個別の AWS アカウントを指定してプライベートに共有することもできます。許可を受けたユーザーは、共有するスナップショットを使用して自分の EBS ボリュームを作成できますが、元のスナップショットは影響を受けません。
スナップショットを共有すると、スナップショットのすべてのデータに他人がアクセスできるようになります。スナップショットの共有は、自分のスナップショットデータすべてを委託できる人とだけ行ってください。
トピック
スナップショットを共有する前に
スナップショットの共有には、次の考慮事項が適用されます。
-
スナップショットは、スナップショットが作成されたリージョンに制限されます。別のリージョンとスナップショットを共有するには、そのリージョンにスナップショットをコピーして、そのコピーを共有します。詳細については、Amazon EBS スナップショットのコピーを参照してください。
-
デフォルトの AWS マネージドキー で暗号化されたスナップショットを共有することはできません。共有できるのは、カスタマーマネージド型キーを使用して暗号化されたスナップショットだけです。詳細については、AWS Key Management Service デベロッパーガイドのキーの作成を参照してください。
-
暗号化されていないスナップショットのみをパブリックに共有できます。
-
暗号化されたスナップショットを共有する場合は、スナップショットの暗号化に使用するカスタマーマネージド型キーも共有する必要があります。詳細については、KMS キーの共有を参照してください。
スナップショットの共有
スナップショットを共有するには、このセクションで説明されているいずれかの方法を使用します。
KMS キーの共有
暗号化されたスナップショットを共有する場合は、スナップショットの暗号化に使用するカスタマーマネージド型キーも共有する必要があります。カスタマーマネージド型キーを作成したとき、または後でカスタマーマネージド型キーにクロスアカウント権限を適用することができます。
暗号化されたスナップショットにアクセスしている共有のカスタマーマネージド型キーのユーザーには、そのキーに対して、次の操作を実行するためのアクセス許可が与えられている必要があります。
-
kms:DescribeKey
-
kms:CreateGrant
-
kms:GenerateDataKey
-
kms:ReEncrypt
-
kms:Decrypt
カスタマーマネージド型キーへのアクセスの制御方法については、AWS Key Management Service デベロッパーガイドのAWS KMS でのキーポリシーの使用を参照してください。
AWS KMS コンソールを使用してカスタマーマネージド型キーを共有するには
-
AWS KMS コンソール (https://console.aws.amazon.com/kms
) を開きます。 -
AWS リージョン を変更するには、ページの右上隅にあるリージョンセレクターを使用します。
-
ナビゲーションペインで、[カスタマー管理型のキー] を選択します。
-
[エイリアス] 列で、スナップショットの暗号化に使用したカスタマーマネージド型キーのエイリアス (テキストリンク) を選択します。キーの詳細が新しいページで開きます。
-
[キーポリシー] セクションに、ポリシービューまたはデフォルトビューのいずれかが表示されます。ポリシービューは、キーポリシードキュメントを表示します。デフォルトビューには、[Key administrators] (キー管理者)、[Key deletion] (キーの削除)、[Key Use] (キーの使用)、[Other AWS accounts] の各セクションが表示されます。デフォルトビューは、コンソールでポリシーを作成し、それをカスタマイズしていない場合に表示されます。デフォルトビューが使用できない場合は、ポリシービューでポリシーを手動で編集する必要があります。詳細については、AWS Key Management Service デベロッパーガイドのキーポリシーの表示 (コンソール)を参照してください。
アクセスできるビューに応じて、ポリシービューまたはデフォルトビューのいずれかを使用し、次に示すように 1 つ以上の AWS アカウント ID をポリシーに追加します。
(ポリシービュー) [編集] を選択します。1 つ以上の AWS アカウント ID を
"Allow use of the key"
ステートメントと"Allow attachment of persistent resources"
ステートメントに追加します。[Save changes] を選択します。次の例では、AWS アカウント ID444455556666
をポリシーに追加します。{ "Sid": "Allow use of the key", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::
111122223333
:user/KeyUser
", "arn:aws:iam::444455556666
:root" ]}, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }, { "Sid": "Allow attachment of persistent resources", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::111122223333
:user/KeyUser
", "arn:aws:iam::444455556666
:root" ]}, "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*", "Condition": {"Bool": {"kms:GrantIsForAWSResource": true}} }-
(デフォルトビュー) [Other AWS accounts] まで下にスクロールします。[Add other AWS accounts] を選択し、プロンプトに従って AWS アカウント ID を入力します。別のアカウントを追加するには、[Add another AWS account] を選択し、AWS アカウント ID を入力します。すべての AWS アカウントを追加したら、[Save changes] (変更の保存) を選択します。
自分と共有されているスナップショットを表示する
自分と共有されているスナップショットは、次のいずれかの方法で表示できます。
共有されているスナップショットを使用する
暗号化されていない共有スナップショットを使用するには
ID または説明で共有スナップショットを見つけます。詳細については、自分と共有されているスナップショットを表示するを参照してください。このスナップショットは、アカウント内で所有している、他のスナップショットと同じように使用できます。例えば、スナップショットからボリュームを作成したり、別のリージョンにコピーしたりすることができます。
暗号化された共有スナップショットを使用するには
ID または説明で共有スナップショットを見つけます。詳細については、自分と共有されているスナップショットを表示するを参照してください。アカウントに共有スナップショットのコピーを作成し、所有している KMS キーを使用して、そのコピーを暗号化します。その後、コピーを使用してボリュームを作成したり、別のリージョンにコピーしたりできます。
共有するスナップショットの使用方法を決定する
AWS CloudTrail を使用して、他のユーザーと共有しているスナップショットがコピーされているか、ボリュームの作成に使用されているかをモニタリングできます。次のイベントが CloudTrail に記録されます。
-
SharedSnapshotCopyInitiated — 共有スナップショットをコピーしています。
-
SharedSnapshotVolumeCreated — ボリュームを作成するために共有スナップショットを使用しています。
CloudTrail の使用の詳細については、AWS CloudTrail による Amazon EC2 および Amazon EBS の API コールのログ記録を参照してください。