[AWS] Resource Access Manager で Amazon Aurora(MySQL)のクロスアカウントクローンを作成する

2019.07.30

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、菊池です。

本日ご紹介するのはこちら。

Amazon Auroraには、起動しているDBクラスタのクローンを高速に作成する機能があります。この、高速クローンがクロスアカウントでも作成可能になっていましたので試してみました。

[新機能]Amazon Auroraで高速にクローンを作成できます

クロスアカウントでのAuroraクローンの作成には、以下の条件があります。

  • 現時点ではAurora MySQLのみサポート
  • Aurora Serverless、Aurora Global DBクラスタには非対応
  • KMSのデフォルトRDSキーで暗号化されたクラスタはクローン不可

その他の詳細は上記リンクのドキュメントを参照ください。

クロスアカウントクローンの作成

それでは早速試していきます。

  • AWSアカウントA:共有元(クローン元のAuroraが起動)
  • AWSアカウントB:共有先(クローンしたAuroraを作成)

まずは共有元のアカウントAに、クローン元となるAurora(MySQL)を起動します。暗号化は無効にしておきました。

リソースの共有

クローン元のAuroraで共有の設定を行います。マネジメントコンソールでAuroraクラスタを選択し、「他のAWSアカウントと共有」を設定します。共有先のアカウントBのAWSアカウントIDを入力し、追加します。

 

確認が出るのて、[share]と入力して共有します。

共有に追加されました。この時点では、共有は保留中のステータスです。

共有先のアカウントBでの作業です。Resource Access Managerのマネジメントコンソールに入ると、[自分と共有]に1つ招待がきていることが表示されています。

アカウントAで共有したAuroraクラスタが表示されていますので、[リソースの共有を承認]します。

これでリソースの共有ができました。

共有元のアカウントAでも、ステータスがアクティブになりました。

クローンの作成

それでは、共有したDBクラスタからクローンを作成します。共有先となるRDSのマネジメントコンソールを開くと、共有したDBが表示されています。

共有DBに対して可能なアクションは[クローンの作成]のみでした。ここからクローンを作成して行きます。

DBインスタンスのクラス、インスタンス識別子を入力します。

クローンを作成するネットワーク設定が可能です。

ポート、バックアップ、バックトラック、暗号化の有無が設定可能でした。

ログ、メンテナンス設定も通常のDBインスタンス作成と同様に可能です。

クローンの作成が設定完了すると、新しいDBクラスタが起動されてます。

しばらくすると、クローンのDBクラスタが起動されました。ここからは、通常のDBクラスタとして利用可能です。

リソース共有の解除

一度クローンを起動してしまえば、それ以降は独立したDBクラスタとして動作しますので、リソース共有は解除しても問題ありません。Resource Access Managerから、共有を解除してみます。

すると、RDSコンソールから共有したDBクラスタは見えなくなりました。一方で起動済みのDBクラスタには影響ありません。

共有元のアカウントAでも、共有リソースからは削除されています。

最後に

クロスアカウントで共有したAmazon Aurora(MySQL)の高速クローンを試しました。オンラインで動作しているDBクラスタをデータソースとした分析など、高負荷を与える処理を別アカウントで、オンライン処理に影響なく実施することが可能です。