暗号化された Amazon EBS ボリュームを別の AWS アカウントと共有する方法を教えてください。
最終更新日: 2022 年 2 月 2 日
Amazon Elastic Block Store (Amazon EBS) ボリュームを別のアマゾン ウェブ サービス (AWS) アカウントと共有する方法を教えてください。
簡単な説明
暗号化された Amazon EBS ボリュームを別の AWS アカウントと直接共有することはできません。代わりに、暗号化された Amazon EBS スナップショットを作成し、送信先 AWS アカウントと共有します。次に、共有スナップショットのコピーから新しい EBS ボリュームを作成します。
EBS ボリュームを共有するときは、次の点に注意します。
- AWS マネージドキーで暗号化されたスナップショットを共有することはできません。代わりに、共有するスナップショットは、カスタマー管理のキーで暗号化する必要があります。
- 暗号化されたスナップショットをパブリックに共有することはできません。スナップショットをパブリックに共有するには、スナップショットが暗号化されていないことを確認してください。
詳細については、「スナップショットを共有する前に」を参照してください。
解決方法
注意:これらの手順を完了するには、ボリュームとスナップショットを編集する権限が必要です。暗号化されたスナップショットからボリュームを作成しても、そのボリュームがボリュームリストに表示されない場合は、適切な権限がない可能性があります。詳細については、「KMS キーの共有」を参照します。同様に、スナップショットがエラー状態になる場合には、権限に問題があることを示しています。
重要: EBS ボリュームがインスタンスにアタッチされている場合は、データの整合性を維持するためにインスタンスを停止します。
2. 次の AWS Key Management Service (AWS KMS) キーポリシーの例を使用して、暗号化されたスナップショットを共有します。
{
"Sid": "Allow use of the key with destination account",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::TARGET-ACCOUNT-ID:role/ROLENAME"
},
"Action": [
"kms:Decrypt",
"kms:CreateGrant"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"kms:ViaService": "ec2.REGION.amazonaws.com",
"kms:CallerAccount": "TARGET-ACCOUNT-ID"
}
}
}
このキーポリシーの例では、ターゲットアカウントが、最小限の権限を付与するスナップショットに対して Decrypt および CreateGrant アクションを実行できるようにします。
ソースアカウントの AWS Identity and Access Management (IAM) ユーザーは、まず ModifySnapshotAttribute アクションを呼び出す必要があります。次に、共有スナップショットに関連付けられたキーに対して DescribeKey アクションと ReEncrypt アクションを使用します。
ターゲットアカウントの IAM ユーザーは、CopySnapshotに関連付けられたキーに対して次のアクションを呼び出すことができる必要があります。
注意: AWS アカウント内の AWS KMS キーを選択するようにしてください。これを選択しない場合、EBS 暗号化はデフォルトのキーを使用します。
4. スナップショットから EBS ボリュームを作成します。
注意: スナップショットは、スナップショットを作成した AWS リージョンでのみ復元できます。別のリージョンの EBS ボリュームについては、まずそのリージョンにスナップショットをコピーしてから、スナップショットを復元します。