DB クラスターのスナップショットの共有
Amazon RDS を使用すると、次の方法で手動 DB クラスタースナップショットを共有できます。
-
手動 DB クラスタースナップショットを共有すると、暗号化されているかいないかに関係なく、権限のある AWS アカウントがスナップショットをコピーできるようになります。
-
手動 DB クラスタースナップショットを共有すると、暗号化されているかいないかに関係なく、権限を持つ AWS アカウントが DB クラスターをコピーしてそこから復元するのではなく、スナップショットから DB クラスターを直接復元できるようになります。
注記
自動 DB クラスタースナップショットを共有するには、自動化されたスナップショットをコピーしてそのコピーを共有することで、手動 DB クラスタースナップショットを作成します。このプロセスは、AWS Backup で生成されたリソースにも適用されます。
スナップショットのコピーの詳細については、「DB クラスタースナップショットのコピー」を参照してください。DB クラスタースナップショットから DB インスタンスを復元する方法については、「DB クラスターのスナップショットからの復元」を参照してください。
DB クラスタースナップショットから DB クラスターを復元する方法の詳細については、「Aurora DB クラスターのバックアップと復元の概要」を参照してください。
手動スナップショットを最大 20 のその他の AWS アカウント と共有することができます。
手動スナップショットを他の AWS アカウント と共有する場合には、次の制限が適用されます。
-
AWS Command Line Interface (AWS CLI) または Amazon RDS を使用して共有スナップショットから DB クラスターを復元する際、スナップショット識別子として共有 DB スナップショットの Amazon リソースネーム (ARN) を指定する必要があります。
以下のセクションで、スナップショット、パブリックスナップショット、および暗号化されたスナップショットを共有する方法について説明します。また、スナップショットの共有を停止する方法も説明しています。
スナップショットの共有
AWS Management Console、AWS CLI、または RDS API を使用して、DB クラスタースナップショットを共有できます。
Amazon RDS コンソールを使用して、手動 DB クラスタースナップショットを最大 20 の AWS アカウント と共有することができます。また、コンソールを使用して、手動 スナップショットの 1 つ以上のアカウントとの共有を停止することもできます。
Amazon RDS コンソールを使用して、手動 DB クラスタースナップショットを共有するには
-
AWS Management Console にサインインし、Amazon RDS コンソール https://console.aws.amazon.com/rds/
を開きます。 -
ナビゲーションペインで、[Snapshots] を選択します。
-
共有する手動スナップショットを選択します。
-
[Actions] (アクション) で、[Share snapshot] (スナップショットの共有) を選択します。
-
[DB snapshot visibility] で次のいずれかのオプションを選択します。
ソースが暗号化されていない場合、[パブリック] を選択して、すべての AWS アカウント が DB クラスターをマニュアル DB クラスタースナップショットから復元できるようにするか、[プライベート] を選択して、指定した AWS アカウント だけが、DB クラスターをマニュアル DB クラスタースナップショットから復元できるようにします。
警告
[DB スナップショットの可視性] を [パブリック] に設定すると、すべての AWS アカウント が手動 DB クラスタースナップショットから DB クラスターを復元し、データへアクセスすることができるようになります。プライベート情報を含む手動 DB クラスタースナップショットは、[Public] として共有しないでください。
詳細については、「公開スナップショットの共有」を参照してください。
-
出典 DB クラスターが暗号化されている場合、暗号化されているスナップショットはパブリックとして共有できないため、[DB snapshot visibility] が [Private] に設定されます。
注記
デフォルトの AWS KMS key で暗号化されたスナップショットは共有できません。この問題を回避する方法については、「暗号化されたスナップショットの共有」を参照してください。
-
[AWS アカウント ID] では、マニュアルスナップショットからの DB クラスターの復元を許可するアカウントの AWS アカウント 識別子を入力してから、[追加] を選択します。この操作を繰り返して、AWS アカウント 識別子を最大 20 AWS アカウント 追加できます。
アクセス権限が付与されたアカウントのリストに AWS アカウント 識別子を誤って追加した場合には、その AWS アカウント ID の右側にある [削除] を選択すれば、削除することができます。
-
手動 スナップショットの復元を許可する AWS アカウント 識別子をすべて追加したら、[保存] を選択して変更を保存します。
DB クラスタースナップショットを共有するには、aws rds modify-db-cluster-snapshot-attribute
コマンドを使用します。--values-to-add
のパラメータを使用して、手動スナップショットの復元が許可されている AWS アカウント のための ID リストを追加します。
例 スナップショットを 1 つのアカウントで共有する
次の例では、AWS アカウント 識別子 123456789012
が cluster-3-snapshot
という名前の DB クラスタースナップショットを復元できるようにします。
Linux、macOS、Unix の場合:
aws rds modify-db-cluster-snapshot-attribute \ --db-cluster-snapshot-identifier cluster-3-snapshot \ --attribute-name restore \ --values-to-add 123456789012
Windows の場合:
aws rds modify-db-cluster-snapshot-attribute ^ --db-cluster-snapshot-identifier cluster-3-snapshot ^ --attribute-name restore ^ --values-to-add 123456789012
例 複数のアカウントでスナップショットを共有する
次の例では、2 つの AWS アカウント 識別子 111122223333
および 444455556666
が manual-cluster-snapshot1
という名前の DB クラスタースナップショットを復元できるようにします。
Linux、macOS、Unix の場合:
aws rds modify-db-cluster-snapshot-attribute \ --db-cluster-snapshot-identifier manual-cluster-snapshot1 \ --attribute-name restore \ --values-to-add {"111122223333","444455556666"}
Windows の場合:
aws rds modify-db-cluster-snapshot-attribute ^ --db-cluster-snapshot-identifier manual-cluster-snapshot1 ^ --attribute-name restore ^ --values-to-add "[\"111122223333\",\"444455556666\"]"
注記
Windows コマンドプロンプトを使用する場合、JSON コードでは、二重引用符 (") の前にバックスラッシュ (\) を付けてエスケープする必要があります。
スナップショットの復元が有効になっている AWS アカウント を一覧表示するには、describe-db-cluster-snapshot-attributes
AWS CLI コマンドを使用します。
Amazon RDS API を使用することで、手動 DB クラスタースナップショットを他の AWS アカウント と共有することもできます。そのためには、ModifyDBClusterSnapshotAttribute
オペレーションを呼び出します。AttributeName
に restore
を指定し、ValuesToAdd
パラメータを使用して、手動 スナップショットの復元が許可されている AWS アカウント の ID のリストを追加します。
手動スナップショットをパブリックにして、すべての AWS アカウント による復元を可能にするには、値 all
を使用します。ただし、すべての AWS アカウント には利用させたくないプライベート情報を含む手動スナップショットについては、値 all
を追加しないように注意してください。また、暗号化されているスナップショットでは all
を指定しないでください。そのようなスナップショットをパブリックにすることはできないためです。
スナップショットを復元することが許可されているすべての AWS アカウント を一覧表示するには、DescribeDBClusterSnapshotAttributes
API オペレーションを使用します。