DB クラスターのスナップショットの共有 - Amazon Neptune

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

DB クラスターのスナップショットの共有

Neptune を使用すると、次の方法で手動 DB クラスタースナップショットを共有できます。

  • 手動 DB クラスタースナップショットを共有すると、暗号化されているかいないかに関係なく、権限のある AWS アカウントがスナップショットをコピーできるようになります。

  • 手動 DB クラスタースナップショットを共有すると、暗号化されているかいないかに関係なく、権限を持つ AWS アカウントが DB クラスターをコピーしてそこから復元するのではなく、スナップショットから DB クラスターを直接復元できるようになります。

注記

自動 DB クラスタースナップショットを共有するには、自動化されたスナップショットをコピーしてそのコピーを共有することで、手動 DB クラスタースナップショットを作成します。

DB クラスタースナップショットから DB クラスターを復元する方法の詳細については、「スナップショットからの復元方法」を参照してください。

手動スナップショットを最大 20 のその他の AWS アカウントと共有することができます。暗号化されていない手動スナップショットをパブリックとして共有することもできます。これにより、このスナップショットをすべての AWS アカウントが使用できるようになります。スナップショットをパブリックとして共有する場合には、パブリック スナップショットにプライベート情報が含まれないように注意してください。

注記

AWS Command Line Interface (AWS CLI) または Neptune API を使用して共有スナップショットから DB クラスターを復元する際、スナップショット識別子として共有 DB スナップショットの Amazon リソースネーム (ARN) を指定する必要があります。

暗号化された DB クラスタースナップショットの共有

AES-256 暗号化アルゴリズムを使用して暗号化された「保存中」である DB クラスタースナップショットを共有できます。詳細については、「保管時の Neptune リソースの暗号化」を参照してください。これを行うには、次のステップを実行する必要があります。

  1. スナップショットの暗号化に使用された AWS Key Management Service (AWS KMS) 暗号化キーを、スナップショットにアクセスできるようにするすべてのアカウントと共有します。

    AWS KMS 暗号化キーは、KMS キーポリシーに他の AWS アカウントを追加することで、別のアカウントと共有できます。キーポリシーの更新の詳細については、AWS KMS デベロッパーガイドキーポリシーを参照してください。キーポリシーの作成例については、このトピックで後述する暗号化されているスナップショットのコピーを可能にする IAM ポリシーの作成を参照してください。

  2. AWS Management Console、AWS CLI 、または Neptune API を使用して、暗号化されているスナップショットを他のアカウントと共有します。

以下の制限は、暗号化されたスナップショットの共有に適用されます。

  • 暗号化されたスナップショットをパブリックとして共有することはできません。

  • スナップショットを共有する AWS アカウントのデフォルト AWS KMS 暗号化キーを使って暗号化されたスナップショットを共有することはできません。

AWS KMS 暗号化キーへのアクセス許可

お客様のアカウントから共有された暗号化された DB クラスタースナップショットを、別の AWS アカウントでコピーするには、お客様のスナップショットを共有したアカウントに、スナップショットを暗号化した KMS キーへのアクセス権限を付与する必要があります。別の AWS アカウントに AWS KMS キーへのアクセスを許可するには、KMS キーのキーポリシーを更新して、共有先の AWS アカウントの ARN を KMS キーポリシーの Principal に設定します。次に、kms:CreateGrant アクションを許可します。全般的な説明については、AWS Key Management Service デベロッパーガイド「他のアカウントのユーザーに KMS キーの使用を許可する」を参照してください。

AWS アカウントアクセスを KMS 暗号化キーに付与した後、暗号化されたスナップショットをコピーするには、その AWS アカウントで IAM ユーザーを作成する必要があります (すでに存在していない場合)。KMS のセキュリティ制限により、この目的でのルート AWS アカウント ID の使用は許可されていません。さらに、その AWS アカウントは、IAM ユーザーが KMS キーを使用して暗号化された DB クラスタースナップショットをコピーできるようにする IAM ポリシーをその IAM ユーザーにアタッチする必要があります。

次のキーポリシーの例では、ユーザー 111122223333 が KMS 暗号化キーの所有者であり、ユーザー 444455556666 がキーの共有先のアカウントです。この更新されたキーポリシーでは、ユーザー 444455556666 のルート AWS アカウント ID の ARN をポリシーの Principal として含み、kms:CreateGrant アクションを許可することで、AWS アカウントに KMS キーへのアクセス権限を付与しています。

{ "Id=": "key-policy-1", "Version": "2012-10-17", "Statement": [ { "Sid=": "Allow use of the key", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::111122223333:user/KeyUser", "arn:aws:iam::444455556666: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::111122223333:user/KeyUser", "arn:aws:iam::444455556666:root" ]}, "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*", "Condition": {"Bool": {"kms:GrantIsForAWSResource": true}} } ] }

暗号化されているスナップショットのコピーを可能にする IAM ポリシーの作成

外部の AWS アカウントに KMS キーへのアクセス権限がある場合、その AWS アカウントの所有者は、そのアカウントで作成された IAM ユーザーに対してその KMS キーで暗号化された スナップショットのコピーを許可するポリシーを作成できます。

次の例では、AWS アカウント 444455556666 の IAM ユーザーにアタッチできるポリシーを示します。これにより、IAM ユーザーは、us-west-2 リージョンの KMS キー c989c1dd-a3f2-4a5d-8d96-e793d082ab26 で暗号化されている AWS アカウント 111122223333 から共有スナップショットをコピーできます。

{ "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:111122223333:key/c989c1dd-a3f2-4a5d-8d96-e793d082ab26"] }, { "Sid=": "AllowAttachmentOfPersistentResources", "Effect": "Allow", "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": ["arn:aws:kms:us-west-2:111122223333:key/c989c1dd-a3f2-4a5d-8d96-e793d082ab26"], "Condition": { "Bool": { "kms:GrantIsForAWSResource": true } } } ] }

キーポリシーの更新の詳細については、AWS Key Management Service デベロッパーガイドキーポリシーを参照してください。

DB クラスターのスナップショットの共有

DB クラスタースナップショットは、AWS Management Console、AWS CLI 、または Neptune API を使用して共有できます。

コンソールを使用した DB クラスタースナップショットの共有

Neptune コンソールを使用して、手動 DB クラスタースナップショットを最大 20 の AWS アカウントと共有することができます。また、1 つ以上のアカウントでの手動スナップショットの共有を停止できます。

手動の DB クラスタースナップショットを共有するには
  1. AWS マネジメントコンソールにサインインして Amazon Neptune コンソール (https://console.aws.amazon.com/neptune/home) を開きます。

  2. ナビゲーションペインで、[Snapshots] (スナップショット) を選択します。

  3. 共有する手動スナップショットを選択します。

  4. [アクション]、[スナップショットの共有] の順に選択します。

  5. [DB snapshot visibility] で次のいずれかのオプションを選択します。

    • ソースが暗号化されていない場合は、手動の DB クラスタースナップショットからすべての AWS アカウントに DB クラスターの復元を許可するには、[Public] (公開) を選択します。手動 DB クラスタースナップショットからの DB クラスターの復元を、指定した AWS アカウントのみに許可するには、[Private] (プライベート) を選択します。

      警告

      [DB snapshot visibility] (DB スナップショット可視化) を [Public] (公開) に設定すると、すべての AWS アカウントが手動 DB クラスタースナップショットから DB クラスターを復元し、データへアクセスすることができるようになります。プライベート情報を含む手動 DB クラスタースナップショットは、[Public] として共有しないでください。

    • 出典 DB クラスターが暗号化されている場合、暗号化されているスナップショットはパブリックとして共有できないため、[DB snapshot visibility] が [Private] に設定されます。

  6. [AWS Account ID] (AWS アカウント ID) で、手動 DB スナップショットからの DB クラスターの復元を許可するアカウントの AWS アカウント ID を入力します。その後、[Add] (追加) を選択します。この操作を繰り返して、AWS アカウント ID を最大 20 AWS アカウント追加できます。

    アクセス権限が付与されたアカウントのリストに AWS アカウント ID を誤って追加した場合には、その AWS アカウント ID の右側にある [Delete] を選択すれば、削除することができます。

  7. 手動スナップショットの復元を許可する AWS アカウントにアカウント ID をすべて追加したら、[Save] (保存) を選択します。

AWS アカウントとの手動 DB クラスタースナップショットの共有を停止するには
  1. Amazon Neptune コンソール (https://console.aws.amazon.com/neptune/home) を開きます。

  2. ナビゲーションペインで、[Snapshots] (スナップショット) を選択します。

  3. 共有を停止する手動スナップショットを選択します。

  4. [Actions] を選択してから、[Share Snapshot] を選択します。

  5. AWS アカウントのアクセス権限を削除するには、アクセス権限が付与されたアカウントのリストからそのアカウントの AWS アカウント ID を選択し、[Delete] を選択します。

  6. [Save (保存)] を選択します。