翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon DocumentDB クラスタースナップショットの共有
Amazon DocumentDB で、認可された AWS アカウント によってコピーされた手動クラスタースナップショットを共有できます。暗号化されている手動スナップショットまたは暗号化されていない手動スナップショットを共有できます。暗号化されていないスナップショットを共有すると、権限のある AWS アカウント が、クラスターのコピーを作成してそこから復元するかわりに、スナップショットから直接クラスターを復元できるようになります。ただし、共有され暗号化されたスナップショットから、クラスターを復元することはできません。代わりに、クラスターのコピーを作成し、そのコピーからクラスターを復元できます。スナップショットのコピーの詳細については、「Amazon DocumentDB クラスタースナップショットのコピー」を参照してください。
注記
Amazon DocumentDB 自動クラスタースナップショットを共有することはできません。回避策として、自動スナップショットをコピーして手動スナップショットを作成し、そのコピーを共有できます。スナップショットのコピーの詳細については、「Amazon DocumentDB クラスタースナップショットのコピー」を参照してください。スナップショットからクラスターを復元する方法の詳細については、「クラスタースナップショットからの復元」を参照してください。
手動スナップショットを最大 20 のその他の AWS アカウント と共有することができます。暗号化されていない手動スナップショットをパブリックとして共有することもできます。これにより、このスナップショットをすべての アカウントが使用できるようになります。スナップショットをパブリックとして共有する場合には、パブリックスナップショットにプライベート情報が含まれないように注意してください。
手動スナップショットを他の AWS アカウント と共有している場合、または AWS CLI あるいは Amazon DocumentDB API を使用して共有スナップショットからクラスターを復元する際、スナップショット識別子として共有スナップショットの Amazon リソースネーム (ARN) を指定する必要があります。
暗号化されたスナップショットの共有
以下の制限は、暗号化されたスナップショットの共有に適用されます。
-
暗号化されたスナップショットをパブリックとして共有することはできません。
-
スナップショットを共有するアカウントのデフォルト AWS KMS 暗号化キーを使って暗号化されたスナップショットを共有することはできません。
暗号化されたスナップショットを共有するには、以下のステップに従います。
-
スナップショットの暗号化に使用された AWS Key Management Service (AWS KMS) 暗号化キーを、スナップショットにアクセスできるようにするすべてのアカウントと共有します。
AWS KMS の暗号化キーは、AWS KMS のキーポリシーに他のアカウントを追加することで、別の AWS のアカウントと共有できます。キーポリシーの更新の詳細については、 AWS Key Management Service デベロッパーガイド 中の AWS KMSのキーポリシーを参照してください。キーポリシーの作成例については、このトピックで後述する暗号化されているスナップショットのコピーを許可する IAM ポリシーの作成を参照してください。
-
以下に示す通り、AWS CLI を使用して、暗号化されたスナップショットを他のアカウントと共有します。
AWS KMS 暗号化キーへのアクセス許可
お客様のアカウントから共有された暗号化されたスナップショットをコピーする別の AWS アカウント のために、お客様のスナップショットを共有したアカウントに、スナップショットを暗号化した AWS KMS のキーへのアクセスがある必要があります。別のアカウントに AWS KMS キーへのアクセスを許可するには、AWS KMS キーのキーポリシーを更新して、共有先のアカウントの ARN を AWS KMS キーポリシーのプリンシパルに設定します。次に、kms:CreateGrant
アクションを許可します。
アカウントアクセスを AWS KMS の暗号化キーに付与した後、暗号化されたスナップショットをコピーするには、そのアカウントで AWS Identity and Access Management (IAM)ユーザーを作成する必要があります (すでに存在していない場合)。さらに、そのアカウントは、 ユーザーが AWS KMS のキーを使用して暗号化されたスナップショットをコピーできるようにする IAM ユーザーへの IAM ポリシーもアタッチする必要があります。AWS KMS のセキュリティ制限のため、アカウントは IAM ユーザーである必要があり、ルート AWS アカウント のアイデンティティにすることはできません。
次のキーポリシーの例では、ユーザー 123451234512 が AWS KMS 暗号化キーの所有者です。ユーザー 123456789012 がキーの共有先のアカウントです。この更新されたキーポリシーにより、アカウントは AWS KMS キーにアクセスできます。これを行うため、ユーザー 123456789012 のルート AWS アカウント アイデンティティ の ARN をポリシーのプリンシパルとして含め、kms:CreateGrant
アクションを許可します。
{ "Id": "key-policy-1", "Version": "2012-10-17", "Statement": [ { "Sid": "Allow use of the key", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::123451234512:user/KeyUser", "arn:aws:iam::123456789012:root" ]}, "Action": [ "kms:CreateGrant", "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*"}, { "Sid": "Allow attachment of persistent resources", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::123451234512:user/KeyUser", "arn:aws:iam::123456789012:root" ]}, "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*", "Condition": {"Bool": {"kms:GrantIsForAWSResource": true}} } ] }
暗号化されているスナップショットのコピーを許可する IAM ポリシーの作成
外部の AWS アカウント に AWS KMS のキーへのアクセスがある場合、そのアカウントの所有者は、アカウント用に作成された IAM ユーザーがその AWS KMS のキーで暗号化された暗号化されたスナップショットをコピーできるようにするポリシーを作成できます。
次の例では、AWS アカウント 123456789012 の IAM ユーザーにアタッチできるポリシーを示します。このポリシーにより、IAM ユーザーは us-west-2 リージョンでアカウント 123451234512 から AWS KMS キー c989c1dd-a3f2-4a5d-8d96-e793d082ab26
によって暗号化された共有スナップショットをコピーできます。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowUseOfTheKey", "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey", "kms:CreateGrant", "kms:RetireGrant" ], "Resource": ["arn:aws:kms:us-west-2:123451234512:key/c989c1dd-a3f2-4a5d-8d96-e793d082ab26"] }, { "Sid": "AllowAttachmentOfPersistentResources", "Effect": "Allow", "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": ["arn:aws:kms:us-west-2:123451234512:key/c989c1dd-a3f2-4a5d-8d96-e793d082ab26"], "Condition": { "Bool": { "kms:GrantIsForAWSResource": true } } } ] }
キーポリシーの更新の詳細については、 AWS Key Management Serviceデベロッパーガイド 中の AWS KMSのキーポリシーを使用する を参照してください。
スナップショットの共有
スナップショットを共有するには、Amazon DocumentDB の modify-db-snapshot-attribute
のオペレーションを使用します。--values-to-add
のパラメータを使用して、手動スナップショットの復元が許可されている AWS アカウント のための ID リストを追加します。
次の例では、2 つの AWS アカウント 識別子 123451234512 および 123456789012 が manual-snapshot1
という名前のスナップショットを復元できるようになります。また、all
属性値を削除し、スナップショットをプライベートとしてマークします。
Linux、macOS、Unix の場合:
aws docdb modify-db-cluster-snapshot-attribute \ --db-cluster-snapshot-identifier sample-cluster-snapshot \ --attribute-name restore \ --values-to-add '["123451234512","123456789012"]'
Windows の場合:
aws docdb modify-db-cluster-snapshot-attribute ^ --db-cluster-snapshot-identifier sample-cluster-snapshot ^ --attribute-name restore ^ --values-to-add '["123451234512","123456789012"]'
このオペレーションによる出力は、次のようになります。
{
"DBClusterSnapshotAttributesResult": {
"DBClusterSnapshotIdentifier": "sample-cluster-snapshot",
"DBClusterSnapshotAttributes": [
{
"AttributeName": "restore",
"AttributeValues": [
"123451234512",
"123456789012"
]
}
]
}
}
リストから AWS アカウント の識別子を削除するには、--values-to-remove
のパラメータを使用します。AWS アカウント ID 123456789012 でスナップショットが復元できない例を以下に示します。
Linux、macOS、Unix の場合:
aws docdb modify-db-cluster-snapshot-attribute \ --db-cluster-snapshot-identifier sample-cluster-snapshot \ --attribute-name restore \ --values-to-remove '["123456789012"]'
Windows の場合:
aws docdb modify-db-cluster-snapshot-attribute ^ --db-cluster-snapshot-identifier sample-cluster-snapshot ^ --attribute-name restore ^ --values-to-remove '["123456789012"]'
このオペレーションによる出力は、次のようになります。
{
"DBClusterSnapshotAttributesResult": {
"DBClusterSnapshotIdentifier": "sample-cluster-snapshot",
"DBClusterSnapshotAttributes": [
{
"AttributeName": "restore",
"AttributeValues": [
"123451234512"
]
}
]
}
}