

# AWS RAM および Amazon Aurora を使用したクロスアカウントのクローン作成
<a name="Aurora.Managing.Clone.Cross-Account"></a>

Amazon Aurora とともに AWS Resource Access Manager (AWS RAM) を使用して、自分の AWS アカウントにある Aurora DB クラスターとクローンを別の AWS アカウントまたは組織と共有できます。このような*クロスアカウントのクローン作成*は、データベーススナップショットを作成および復元するよりもはるかに高速です。Aurora DB クラスターの 1 つのクローンを作成し、そのクローンを共有できます。また、Aurora DB クラスターを別の AWS アカウントと共有し、そのアカウント所有者にクローンを作成させることもできます。選択するアプローチは、ユースケースによって異なります。

例えば、財務データベースのクローンを組織の内部監査チームと定期的に共有する必要がある場合があります。この場合、監査チームには使用しているアプリケーション用の独自の AWS アカウントがあります。監査チームの AWS アカウントに、Aurora DB クラスターにアクセスし、必要に応じてクローンを作成するアクセス許可を付与できます。

一方、外部ベンダーが財務データを監査する場合は、自分でクローンを作成することをお勧めします。次に、外部ベンダーにクローンのみへのアクセス権を付与します。

また、クロスアカウントのクローン作成を使用して、開発やテストなど、同じ AWS アカウントでクローンを作成する多くの同じユースケースをサポートできます。例えば、組織では、本番、開発、テストなどに、別々の AWS アカウントを使用していることがあります。詳細については、「[Aurora クローン作成の概要](Aurora.Managing.Clone.md#Aurora.Clone.Overview)」を参照してください。

したがって、クローンを別の AWS アカウントと共有したり、別の AWS アカウントで Aurora DB クラスターのクローンを作成したりできるようにする必要があることがあります。どちらの場合も、まず AWS RAM を使用して、共有オブジェクトを作成します。AWS アカウント間での AWS リソースの共有の詳細については、「[AWS RAM ユーザーガイド](https://docs.aws.amazon.com/ram/latest/userguide/)」を参照してください。

クロスアカウントのクローンを作成するには、元のクラスターを所有する AWS アカウントと、クローンを作成する AWS アカウントによるアクションが必要です。まず、元のクラスターの所有者が他の 1 つ以上のアカウントによるクローンの作成を許可するようにクラスターを変更します。アカウントのいずれかが別の AWS 組織に属している場合は、AWS は、共有の招待を生成します。先に進む前に、もう一方のアカウントは招待を受け入れる必要があります。招待を受け入れた、承認済みのアカウントはそれぞれ、クラスターのクローンを作成することができます。このプロセスを通じて、クラスターは一意の Amazon リソースネーム (ARN) で識別されます。

同じAWSアカウント内のクローン作成と同様に、追加のストレージ領域が使用されるのは、ソースまたはクローンによってデータに変更が加えられた場合のみです。ストレージ料金は、その時点で適用されます。ソースクラスターが削除された場合、ストレージコストは残りのクローンクラスター間で均等に分散されます。

**Topics**
+ [

## クロスアカウントのクローン作成の制約事項
](#Aurora.Managing.Clone.CrossAccount.Limitations)
+ [

## 他の AWS アカウントによるクラスターのクローン作成を許可する
](#Aurora.Managing.Clone.CrossAccount.yours)
+ [

## 別の AWS アカウントが所有するクラスターのクローンを作成する
](#Aurora.Managing.Clone.CrossAccount.theirs)

## クロスアカウントのクローン作成の制約事項
<a name="Aurora.Managing.Clone.CrossAccount.Limitations"></a>

 Aurora クロスアカウントのクローン作成には、次の制約事項があります。
+ Aurora Serverless v1 アカウント間で AWS クラスターを複製することはできません
+ AWS マネジメントコンソール で、共有リソースへの招待を表示したり受け入れたりすることはできません。AWS CLI、Amazon RDS API、または AWS RAM コンソールを使用して、共有リソースへの招待を表示し受け入れます。
+ AWS アカウントと共有しているリソースから作成できる新しいクローンは 1 つだけです。これは、共有リソースが元の Aurora DB クラスターであるか、以前に作成したクローンであるかにかかわらず適用されます。
+ 自分の AWS アカウントと共有されているクローンから新しいクローンを作成することはできます。
+ 自分の AWS アカウントと共有されているリソース (クローンまたは Aurora DB クラスター) を共有することはできません。
+ 1 つの Aurora DB クラスターから最大 15 のクロスアカウントクローンを作成することができます。
+  15 のクローンは、それぞれ異なる AWS アカウントが所有する必要があります。つまり、クラスターのクロスアカウントクローンは AWS アカウントに 1 つしか作成できません。
+  クラスターのクローンを作成した後、クロスアカウントクローンに制限を適用する目的で、元のクラスターとそのクローンは同じと見なされます。元のクラスターとクローンされたクラスターの両方のクロスアカウントクローンを同じ AWS アカウント内に作成することはできません。元のクラスターとそのクローンのクロスアカウントクローンの合計数は 15 を超えることはできません。
+ Aurora DB クラスターは、そのクラスターが `ACTIVE` 状態でなければ、他の AWS アカウントと共有できません。
+ 他の AWS アカウントと共有されている Aurora DB クラスターの名前を変更することはできません。
+  デフォルトの RDS キーで暗号化されているクラスターのクロスアカウントクローンを作成することはできません。
+ ある AWS アカウントと共有されている暗号化された Aurora DB クラスターから、暗号化されていないクローンを別の AWS アカウントに作成することはできません。クラスター所有者は、ソースクラスターの AWS KMS key にアクセスするアクセス許可を付与する必要があります。ただし、クローンを作成するときに別のキーを使用できます。

## 他の AWS アカウントによるクラスターのクローン作成を許可する
<a name="Aurora.Managing.Clone.CrossAccount.yours"></a>

 他の AWS アカウントで、所有しているクラスターのクローンを作成できるようにするには、AWS RAM を使用して共有のアクセス許可を設定します。そのようにすることで、異なる AWS 組織の他の各アカウントに招待が送信されます。

 所有しているリソースを AWS RAM コンソールで共有する手順については、*AWS RAM ユーザーガイド*の「[お客様が所有しているリソースの共有](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing.html)」を参照してください。

**Topics**
+ [

### クラスターのクローンを作成するためのアクセス許可を他の AWS アカウントに付与する
](#Aurora.Managing.Clone.CrossAccount.granting)
+ [

### 所有しているクラスターが他の AWS アカウントと共有されているかどうかを確認する
](#Aurora.Managing.Clone.CrossAccount.confirming)

### クラスターのクローンを作成するためのアクセス許可を他の AWS アカウントに付与する
<a name="Aurora.Managing.Clone.CrossAccount.granting"></a>

 共有しているクラスターが暗号化されている場合は、そのクラスターの AWS KMS key も共有します。ある AWS アカウントの AWS Identity and Access Management (IAM) ユーザーまたはロールに、別のアカウントの KMS キーの使用を許可できます。

これを行うには、まず AWS KMS を使用して、外部アカウント (ルートユーザー) を KMS キーのキーポリシーに追加します。個別のユーザーまたはロールをキーポリシーに追加するのではなく、それらを所有する外部アカウントのみを追加します。作成する KMS キーのみ共有することができます。デフォルトの RDS サービスキーを共有することはできません。KMS キーのアクセス制御については、「[AWS KMS に対する認証とアクセス制御](https://docs.aws.amazon.com/kms/latest/developerguide/control-access.html)」を参照してください。

#### コンソール
<a name="Aurora.Managing.Clone.CrossAccount.granting.console"></a>

**クラスターのクローンを作成するためのアクセス許可を付与するには**

1. AWS マネジメントコンソール にサインインし、Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

1.  ナビゲーションペインで、[**データベース**] を選択します。

1.  [**詳細**] ページを表示するために共有する DB クラスターを選択後、[**接続とセキュリティ**] タブを選択します。

1.  「**DB クラスターを他のAWSアカウント**と共有する」セクションで、このクラスターの複製を許可するAWSアカウントの数値アカウントIDを入力します。同じ組織のアカウント ID の場合は、ボックスに入力をスタートし、メニューから選択することができます。
**重要**  
 場合によっては、アカウントと同じ AWS 組織にないアカウントで、クラスターのクローンを作成することがあります。このような場合は、セキュリティ上の理由により、コンソールで、アカウント ID を所有しているユーザーや、アカウントの有無はレポートされません。  
AWS アカウントと同じ AWS 組織にないアカウントの数値は慎重に入力してください。目的のアカウントと共有されたことをすぐに確認します。

1.  確認ページで、指定したアカウント ID が正しいことを確認します。確認するには、確認ボックスに「`share`」と入力します。

    [**詳細**] ページの [**この DB クラスターが共有されているアカウント**] に、指定した AWS アカウント ID を示すエントリが表示されます。[**ステータス**] 列には初期、[**Pending (保留中)**] のステータスが表示されます。

1.  他の AWS アカウントの所有者に連絡するか、両方を所有している場合はそのアカウントにサインインしてください。以下の説明に従って、共有の招待を受け入れ、DB クラスターのクローンを作成するように他のアカウントの所有者に指示します。

#### AWS CLI
<a name="Aurora.Managing.Clone.CrossAccount.granting.cli"></a>

**クラスターのクローンを作成するためのアクセス許可を付与するには**

1.  必須パラメータに関する情報を収集します。クラスターの ARN と他の AWS アカウントの数値 ID が必要です。

1.  AWS RAM CLI コマンド [https://docs.aws.amazon.com/cli/latest/reference/ram/create-resource-share.html](https://docs.aws.amazon.com/cli/latest/reference/ram/create-resource-share.html) を実行します。

   Linux、macOS、Unix の場合:

   ```
   aws ram create-resource-share --name descriptive_name \
     --region region \
     --resource-arns cluster_arn \
     --principals other_account_ids
   ```

   Windows の場合:

   ```
   aws ram create-resource-share --name descriptive_name ^
     --region region ^
     --resource-arns cluster_arn ^
     --principals other_account_ids
   ```

    `--principals` パラメータに複数アカウント ID を含めるには、ID をスペースで区切ります。許可されたアカウント ID が、AWS 組織の外部かどうかを指定するには、`--allow-external-principals` に `--no-allow-external-principals` または `create-resource-share` パラメータを含めます。

#### AWS RAM API
<a name="Aurora.Managing.Clone.CrossAccount.granting.api"></a>

**クラスターのクローンを作成するためのアクセス許可を付与するには**

1.  必須パラメータに関する情報を収集します。クラスターの ARN と他の AWS アカウントの数値 ID が必要です。

1.  AWS RAM API オペレーション [CreateResourceShare](https://docs.aws.amazon.com/ram/latest/APIReference/API_CreateResourceShare.html) を呼び出し、次の値を指定します。
   +  1 つ以上の AWS アカウントのアカウント ID を `principals` パラメータとして指定します。
   +  1 つ以上の Aurora DB クラスターの ARN を `resourceArns` パラメータとして指定します。
   +  許可されたアカウント ID が、AWS 組織の外部かどうかを指定するには、`allowExternalPrincipals` パラメータにブール値を含めます。

#### デフォルトの RDS キーを使用するクラスターを再作成する
<a name="Aurora.Managing.Clone.CrossAccount.granting.defaultkey"></a>

共有する予定の暗号化クラスターでデフォルトの RDS キーを使用している場合は、クラスターを再作成します。これを行うには、DB クラスターの手動スナップショットを作成し、AWS KMS key を使用して、クラスターを新しいクラスターに復元します。その後、新しいクラスターを共有します。このプロセスを実行するには、次のステップを実行します。

**デフォルトの RDS キーを使用する暗号化クラスターを再作成するには**

1. AWS マネジメントコンソール にサインインし、Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

1.  ナビゲーションペインから、[**スナップショット**] を選択します。

1.  スナップショットを選択します。

1.  [**アクション**] で、[**スナップショットのコピー**] を選択後、[**暗号化の有効化**] を選択します。

1.  [**AWS KMS key**] では、使用する新しい暗号化キーを選択します。

1.  コピーしたスナップショットを復元します。これを行うには、「[DB クラスタースナップショットからの復元](aurora-restore-snapshot.md)」の手順に従います。新しい DB インスタンスでは、新しい暗号化キーが使用されます。

1.  (オプション) 不要になった古い DB クラスターは削除します。これを行うには、「[DB クラスターのスナップショットの削除](aurora-delete-snapshot.md#DeleteDBClusterSnapshot)」の手順に従います。削除する前に、新しいクラスターに必要なデータがすべて揃っていることと、アプリケーションでそれらに問題なくアクセスできることを確認します。

### 所有しているクラスターが他の AWS アカウントと共有されているかどうかを確認する
<a name="Aurora.Managing.Clone.CrossAccount.confirming"></a>

 クラスターを共有するためのアクセス許可が他のユーザーに付与されているかどうかを確認することができます。確認することで、クラスターがクロスアカウントのクローンの最大数の制限に近づいているかどうかを把握することができます。

 AWS RAM コンソールを使用してリソースを共有する手順については、*AWS RAM ユーザーガイド*の「[お客様が所有しているリソースの共有](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing.html)」を参照してください。

#### AWS CLI
<a name="Aurora.Managing.Clone.CrossAccount.confirming.cli"></a>

**所有しているクラスターが他の AWS アカウントと共有されているかどうかを確認するには**
+  AWS RAM CLI コマンド [https://docs.aws.amazon.com/cli/latest/reference/ram/list-principals.html](https://docs.aws.amazon.com/cli/latest/reference/ram/list-principals.html) を呼び出します。この際、アカウント ID をリソースの所有者として、クラスターの ARN をリソース ARN として使用します。共有はすべて、次のコマンドで確認することができます。クラスターのクローン作成を許可されている AWS アカウントが結果で示されます。

  ```
  aws ram list-principals \
      --resource-arns your_cluster_arn \
      --principals your_aws_id
  ```

#### AWS RAM API
<a name="Aurora.Managing.Clone.CrossAccount.confirming.api"></a>

**所有しているクラスターが他の AWS アカウントと共有されているかどうかを確認するには**
+  AWS RAM API オペレーション [ListPrincipals](https://docs.aws.amazon.com/ram/latest/APIReference/API_ListPrincipals.html) を呼び出します。アカウント ID をリソースの所有者として、クラスターの ARN をリソース ARN として使用します。

## 別の AWS アカウントが所有するクラスターのクローンを作成する
<a name="Aurora.Managing.Clone.CrossAccount.theirs"></a>

 別の AWS アカウントが所有するクラスターのクローンを作成するには、AWS RAM を使用して、クローンを作成するためのアクセス許可を取得します。必要なアクセス許可を取得したら、Aurora クラスターのクローンを作成するためのスタンダード的な手順を行います。

 また、所有しているクラスターが、別の AWS アカウントが所有するクラスターのクローンであるかどうかを確認することもできます。

 AWS RAM コンソールで、別のアカウントが所有するリソースを使用する手順については、*AWS RAM ユーザーガイド*の「[お客様が共有先になっているリソースへのアクセス](https://docs.aws.amazon.com/ram/latest/userguide/working-with-shared.html)」を参照してください。

**Topics**
+ [

### 他の AWS アカウントが所有するクラスターのクローン作成の招待を表示する
](#Aurora.Managing.Clone.CrossAccount.viewing)
+ [

### 他の AWS アカウントが所有するクラスターを共有する招待を承諾する
](#Aurora.Managing.Clone.CrossAccount.accepting)
+ [

### 別の AWS アカウントが所有する Aurora クラスターのクローンを作成する
](#Aurora.Managing.Clone.CrossAccount.cloning)
+ [

### DB クラスターがクロスアカウントのクローンであるかどうかを確認する
](#Aurora.Managing.Clone.CrossAccount.checking)

### 他の AWS アカウントが所有するクラスターのクローン作成の招待を表示する
<a name="Aurora.Managing.Clone.CrossAccount.viewing"></a>

 他の AWS 組織の AWS アカウントが所有するクラスターのクローンを作成するための招待を表示するには、AWS CLI、AWS RAM コンソール、または AWS RAM API を使用します。現在、Amazon RDS コンソールを使用してこの手順を実行することはできません。

 AWS RAM コンソールで招待を扱う手順については、*AWS RAM ユーザーガイド*の「[お客様が共有先になっているリソースへのアクセス](https://docs.aws.amazon.com/ram/latest/userguide/working-with-shared.html)」を参照してください。

#### AWS CLI
<a name="Aurora.Managing.Clone.CrossAccount.viewing.cli"></a>

**他の AWS アカウントが所有するクラスターのクローンを作成する招待を表示するには**

1.  AWS RAM CLI コマンド [https://docs.aws.amazon.com/cli/latest/reference/ram/get-resource-share-invitations.html](https://docs.aws.amazon.com/cli/latest/reference/ram/get-resource-share-invitations.html) を実行します。

   ```
   aws ram get-resource-share-invitations --region region_name
   ```

    上記のコマンドの結果には、クラスターのクローンを作成するためのすべての招待が表示されます。これには、既に承認または却下されたものも含まれます。

1.  (オプション) 自分のアクションが必要な招待のみ表示されるようにリストをフィルタリングする そのためには、`--query 'resourceShareInvitations[?status==`PENDING`]'` パラメータを追加します。

#### AWS RAM API
<a name="Aurora.Managing.Clone.CrossAccount.viewing.api"></a>

**他の AWS アカウントが所有するクラスターのクローンを作成する招待を表示するには**

1.  AWS RAM API オペレーション [https://docs.aws.amazon.com/ram/latest/APIReference/API_GetResourceShareInvitations.html](https://docs.aws.amazon.com/ram/latest/APIReference/API_GetResourceShareInvitations.html) を呼び出します。このオペレーションでは、既に承認または却下されたものを含め、すべての招待が返ります。

1.  (オプション) 自分のアクションが必要な招待のみを検索するには、`resourceShareAssociations` 戻りフィールドで値が `status` の `PENDING` を確認します。

### 他の AWS アカウントが所有するクラスターを共有する招待を承諾する
<a name="Aurora.Managing.Clone.CrossAccount.accepting"></a>

 別の AWS 組織の他の AWS アカウントが所有するクラスターを共有するための招待を承認することができます。これらの招待を扱うには、AWS CLI、AWS RAM と RDS API、または AWS RAM コンソールを使用します。現在、RDS コンソールを使用してこの手順を実行することはできません。

 AWS RAM コンソールで招待を扱う手順については、*AWS RAM ユーザーガイド*の「[お客様が共有先になっているリソースへのアクセス](https://docs.aws.amazon.com/ram/latest/userguide/working-with-shared.html)」を参照してください。

#### AWS CLI
<a name="Aurora.Managing.Clone.CrossAccount.accepting.cli"></a>

**別の AWS アカウントからクラスターを共有するための招待を承認するには**

1.  招待 ARN を検索するには、前述されているように、AWS RAM CLI コマンド [https://docs.aws.amazon.com/cli/latest/reference/ram/get-resource-share-invitations.html](https://docs.aws.amazon.com/cli/latest/reference/ram/get-resource-share-invitations.html) を実行します。

1.  招待を承認するには、前述されているように、AWS RAM CLI コマンド [https://docs.aws.amazon.com/cli/latest/reference/ram/accept-resource-share-invitation.html](https://docs.aws.amazon.com/cli/latest/reference/ram/accept-resource-share-invitation.html) を呼び出します。

   Linux、macOS、Unix の場合:

   ```
   aws ram accept-resource-share-invitation \
     --resource-share-invitation-arn invitation_arn \
     --region region
   ```

   Windows の場合:

   ```
   aws ram accept-resource-share-invitation ^
     --resource-share-invitation-arn invitation_arn ^
     --region region
   ```

#### AWS RAM と RDS API
<a name="Aurora.Managing.Clone.CrossAccount.accepting.api"></a>

**別のアカウントのクラスターを共有するための招待を承認するには**

1.  招待 ARN を検索するには、前述されているように、AWS RAM API オペレーション [https://docs.aws.amazon.com/ram/latest/APIReference/API_GetResourceShareInvitations.html](https://docs.aws.amazon.com/ram/latest/APIReference/API_GetResourceShareInvitations.html) を呼び出します。

1.  `resourceShareInvitationArn` パラメータとして ARN を RDS API オペレーション [AcceptResourceShareInvitation](https://docs.aws.amazon.com/ram/latest/APIReference/API_AcceptResourceShareInvitation.html) を渡します。

### 別の AWS アカウントが所有する Aurora クラスターのクローンを作成する
<a name="Aurora.Managing.Clone.CrossAccount.cloning"></a>

 DB クラスターを所有する AWS アカウントからの招待を承認したら、前述のように、クラスターのクローンを作成することができます。

#### コンソール
<a name="Aurora.Managing.Clone.CrossAccount.cloning.console"></a>

**別の AWS アカウントが所有する Aurora クラスターのクローンを作成するには**

1. AWS マネジメントコンソール にサインインし、Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

1.  ナビゲーションペインで、[**データベース**] を選択します。

    データベースリストの上部に、[**ロール**] 値が `Shared from account #account_id` の項目が 1 つ以上表示されます。セキュリティ上の理由により、元のクラスターに関する情報は一部のみ表示されます。表示されているプロパティ(データベースエンジン、バージョンなど) は、クローン作成されたクラスターのものと同じです 。

1.  クローンを作成するクラスターを選択します。

1.  [**Actions**] の [**クローンの作成**] を選択します。

1.  [コンソール](Aurora.Managing.Clone.md#Aurora.Managing.Clone.Console) の手順に従って、クローンを作成したクラスターの設定を終了します。

1. 必要に応じて、クローンを作成したクラスターの暗号化を有効にします。クローンを作成しているクラスターが暗号化されている場合は、クローンを作成したクラスターの暗号化を有効にする必要があります。また、お客様とクラスターを共有した AWS アカウントは、クラスターの暗号化に使用した KMS キーも共有する必要があります。同じ KMS キーを使用してクローンを暗号化したり、独自の KMS キーを暗号化したりすることもできます。デフォルトの KMS キーで暗号化されているクラスターのクロスアカウントクローンを作成することはできません。

    暗号化キーを所有するアカウントは、キーポリシーを使用して送信先アカウントにキーを使用するためのアクセス許可を付与する必要があります。このプロセスは、暗号化されたスナップショットが共有される方法と似ています。つまり、キーポリシーを使用して、キーを使用するためのアクセス許可を送信先アカウントに付与します。

#### AWS CLI
<a name="Aurora.Managing.Clone.CrossAccount.cloning.cli"></a>

**別の AWS アカウントが所有する Aurora クラスターのクローンを作成するには**

1.  前述のように、DB クラスターを所有する AWS アカウントからの招待を承認します。

1.  クラスターのクローンを作成するには、前述のように、RDS CLI コマンド [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-cluster-to-point-in-time.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-cluster-to-point-in-time.html) の `restore-db-cluster-to-point-in-time` パラメータで、出典クラスターのフル ARN を指定します。

    `source-db-cluster-identifier` として渡した ARN が共有されていない場合は、指定されたクラスターが存在しないかのように同じエラーが返ります。

   Linux、macOS、Unix の場合:

   ```
   aws rds restore-db-cluster-to-point-in-time \
     --source-db-cluster-identifier=arn:aws:rds:arn_details \
     --db-cluster-identifier=new_cluster_id \
     --restore-type=copy-on-write \
     --use-latest-restorable-time
   ```

   Windows の場合:

   ```
   aws rds restore-db-cluster-to-point-in-time ^
     --source-db-cluster-identifier=arn:aws:rds:arn_details ^
     --db-cluster-identifier=new_cluster_id ^
     --restore-type=copy-on-write ^
     --use-latest-restorable-time
   ```

1.  クローンを作成するクラスターが暗号化されている場合は、`kms-key-id` パラメータを含めて、クローンを作成したクラスターを暗号化します。この `kms-key-id` 値は、元の DB クラスターの暗号化に使用したのと同じ値か、独自の KMS キーになります。その暗号化キーを使用するためのアクセス許可が、お客様のアカウントに付与されている必要があります。

   Linux、macOS、Unix の場合:

   ```
   aws rds restore-db-cluster-to-point-in-time \
     --source-db-cluster-identifier=arn:aws:rds:arn_details \
     --db-cluster-identifier=new_cluster_id \
     --restore-type=copy-on-write \
     --use-latest-restorable-time \
     --kms-key-id=arn:aws:kms:arn_details
   ```

   Windows の場合:

   ```
   aws rds restore-db-cluster-to-point-in-time ^
     --source-db-cluster-identifier=arn:aws:rds:arn_details ^
     --db-cluster-identifier=new_cluster_id ^
     --restore-type=copy-on-write ^
     --use-latest-restorable-time ^
     --kms-key-id=arn:aws:kms:arn_details
   ```

    暗号化キーを所有するアカウントは、キーポリシーを使用して送信先アカウントにキーを使用するためのアクセス許可を付与する必要があります。このプロセスは、暗号化されたスナップショットが共有される方法と似ています。つまり、キーポリシーを使用して、キーを使用するためのアクセス許可を送信先アカウントに付与します。キーポリシーの例を次に示します。

------
#### [ JSON ]

****  

   ```
   {
       "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::111122223333: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::111122223333:root"
                   ]
               },
               "Action": [
                   "kms:CreateGrant",
                   "kms:ListGrants",
                   "kms:RevokeGrant"
               ],
               "Resource": "*",
               "Condition": {
                   "Bool": {
                       "kms:GrantIsForAWSResource": true
                   }
               }
           }
       ]
   }
   ```

------

**注記**  
[restore-db-cluster-to-point-in-time](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-cluster-to-point-in-time.html) AWS CLI コマンドは、その DB クラスターの DB インスタンスではなく、DB クラスターのみを復元します。復元された DB クラスターの DB インスタンスを作成するには、[create-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html)コマンドを起動します。復元された DB クラスターの ID を `--db-cluster-identifier` に指定します。  
`restore-db-cluster-to-point-in-time` コマンドが完了し、DB クラスターが使用可能になった後でのみ、DB インスタンスを作成できます。

#### RDS API
<a name="Aurora.Managing.Clone.CrossAccount.cloning.api"></a>

**別の AWS アカウントが所有する Aurora クラスターのクローンを作成するには**

1.  前述のように、DB クラスターを所有する AWS アカウントからの招待を承認します。

1.  クラスターのクローンを作成するには、RDS API オペレーション [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBClusterToPointInTime.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBClusterToPointInTime.html) の `RestoreDBClusterToPointInTime` パラメータで、出典クラスターのフル ARN を指定します。

    `SourceDBClusterIdentifier` として渡した ARN が共有されていない場合は、指定されたクラスターが存在しないかのように同じエラーが返ります。

1.  クローンを作成しているクラスターが暗号化されている場合は、クローン作成されたクラスターを暗号化するように `KmsKeyId` パラメータを含めます。この `kms-key-id` 値は、元の DB クラスターの暗号化に使用したのと同じ値か、独自の KMS キーになります。その暗号化キーを使用するためのアクセス許可が、お客様のアカウントに付与されている必要があります。

    ボリュームのクローンを作成する場合は、ソースクラスターの暗号化に使用した暗号化キーを使用するためのアクセス許可が送信先アカウントに付与されている必要があります。Aurora は、`KmsKeyId` に指定した暗号化キーを使用して、新しいクローンクラスターを暗号化します。

    暗号化キーを所有するアカウントは、キーポリシーを使用して送信先アカウントにキーを使用するためのアクセス許可を付与する必要があります。このプロセスは、暗号化されたスナップショットが共有される方法と似ています。つまり、キーポリシーを使用して、キーを使用するためのアクセス許可を送信先アカウントに付与します。キーポリシーの例を次に示します。

------
#### [ JSON ]

****  

   ```
   {
       "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::111122223333: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::111122223333:root"
                   ]
               },
               "Action": [
                   "kms:CreateGrant",
                   "kms:ListGrants",
                   "kms:RevokeGrant"
               ],
               "Resource": "*",
               "Condition": {
                   "Bool": {
                       "kms:GrantIsForAWSResource": true
                   }
               }
           }
       ]
   }
   ```

------

**注記**  
[RestoreDBClusterToPointInTime](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBClusterToPointInTime.html) RDS API オペレーションでは、DB クラスターのみが復元され、その DB クラスターの DB インスタンスは復元されません。復元された DB クラスターの DB インスタンスを作成するには、RDS API オペレーション [CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) を呼び出します。復元された DB クラスターの ID を `DBClusterIdentifier` に指定します。`RestoreDBClusterToPointInTime` オペレーションが完了し、DB クラスターのスタータスが使用可能になった後でのみ、DB インスタンスを作成できます。

### DB クラスターがクロスアカウントのクローンであるかどうかを確認する
<a name="Aurora.Managing.Clone.CrossAccount.checking"></a>

 `DBClusters` オブジェクトは、各クラスターがクロスアカウントのクローンであるかどうかを判別します。クローンを作成するアクセス許可が付与されているクラスターを確認するには、RDS CLI コマンド [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-clusters.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-clusters.html) を実行するときに `describe-db-clusters` オプションを使用します。ただし、そのようなクラスターの設定詳細の大分部は確認できません。

#### AWS CLI
<a name="Aurora.Managing.Clone.CrossAccount.checking.cli"></a>

**DB クラスターがクロスアカウントのクローンであるかどうかを確認するには**
+  RDS CLI コマンド [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-clusters.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-clusters.html) を呼び出します。

   以下の例では、実際または可能性のあるクロスアカウントクローンの DB クラスターが `describe-db-clusters` 出力に表示される様子を示します。お客様の AWS アカウントが所有する既存のクラスターの場合は `CrossAccountClone` フィールドに、クラスターがお客様の AWS アカウントが所有する DB クラスターのクローンかどうかが示されます。

   場合によっては、エントリの AWS フィールドにお客様のアカウントとは異なる `DBClusterArn` アカウント番号が含まれていることがあります。この場合、そのエントリは別の AWS アカウントが所有し、クローン作成が可能なクラスターであることを表します。そのようなエントリには、`DBClusterArn` 以外のフィールドがいくつか含まれます。クローン作成されたクラスターを作成する際は、元のクラスターと同じ `StorageEncrypted`、`Engine`、および `EngineVersion` 値を指定します。

  ```
  $aws rds describe-db-clusters --include-shared --region us-east-1
  {
    "DBClusters": [
        {
            "EarliestRestorableTime": "2023-02-01T21:17:54.106Z",
            "Engine": "aurora-mysql",
            "EngineVersion": "8.0.mysql_aurora.3.02.0",
            "CrossAccountClone": false,
  ...
        },
        {
            "EarliestRestorableTime": "2023-02-09T16:01:07.398Z",
            "Engine": "aurora-mysql",
            "EngineVersion": "8.0.mysql_aurora.3.02.0",
            "CrossAccountClone": true,
  ...
        },
        {
            "StorageEncrypted": false,
            "DBClusterArn": "arn:aws:rds:us-east-1:12345678:cluster:cluster-abcdefgh",
            "Engine": "aurora-mysql",
            "EngineVersion": "8.0.mysql_aurora.3.02.0
    ]
  }
  ```

#### RDS API
<a name="Aurora.Managing.Clone.CrossAccount.checking.api"></a>

**DB クラスターがクロスアカウントのクローンであるかどうかを確認するには**
+  RDS API オペレーション [DescribeDBClusters](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBClusters.html) を呼び出します。

   お客様の AWS アカウントが所有する既存のクラスターの場合は `CrossAccountClone` フィールドに、クラスターが別の AWS アカウントが所有する DB クラスターのクローンかどうかが示されます。AWS フィールドに別の `DBClusterArn` アカウント番号を持つエントリは、クローン作成が可能で、他の AWS アカウントが所有するクラスターであることを表します。このようなエントリには、`DBClusterArn` 以外のフィールドがいくつか含まれます。クローン作成されたクラスターを作成する際は、元のクラスターと同じ `StorageEncrypted`、`Engine`、および `EngineVersion` 値を指定します。

   次の例は、実際のクローンクラスターと潜在的なクローンクラスターの両方を示す戻り値を示しています。

  ```
  {
    "DBClusters": [
        {
            "EarliestRestorableTime": "2023-02-01T21:17:54.106Z",
            "Engine": "aurora-mysql",
            "EngineVersion": "8.0.mysql_aurora.3.02.0",
            "CrossAccountClone": false,
  ...
        },
        {
            "EarliestRestorableTime": "2023-02-09T16:01:07.398Z",
            "Engine": "aurora-mysql",
            "EngineVersion": "8.0.mysql_aurora.3.02.0",
            "CrossAccountClone": true,
  ...
        },
        {
            "StorageEncrypted": false,
            "DBClusterArn": "arn:aws:rds:us-east-1:12345678:cluster:cluster-abcdefgh",
            "Engine": "aurora-mysql",
            "EngineVersion": "8.0.mysql_aurora.3.02.0"
        }
    ]
  }
  ```