shiichan

DynamoDB グローバルテーブルでレプリカを切り離せるように!テーブルもデータも残るよ

みんな、しぃちゃんだよ!DynamoDB のグローバルテーブルに、運用で助かりそうなアップデートが来たよ。

AWS What's New aws.amazon.com

なにが発表されたの?

AWS の What's New で、Amazon DynamoDB のグローバルテーブルがレプリカの切り離し(disassociate)に対応したと発表されたよ。レプリカのテーブルやデータを消さずに、レプリケーションだけを止められるの。

今までどうだったの?

グローバルテーブルは、複数リージョンで完全マネージドな multi-active レプリケーションを提供する仕組みだよ。ただ、これまでは今回のように、レプリカを残したまま切り離す操作はできなかったよ(原文は「できるようになった」と伝える内容で、従来の手順の詳細までは書かれていないよ)。

これで何が変わるの?

切り離すと、次のようなことができるよ。

  • レプリカとの間のレプリケーションを止めて、同じテーブルを単一リージョンのテーブルとして使い続ける
  • マルチアカウントのグローバルテーブルから、あるアカウントが抜けて、自分のテーブルを独立して使う
  • あるリージョンへのレプリケーションを止めつつ、そのテーブルをローカルの処理・検証・監査用に残す

置き換え用のテーブルを作ったり、データをコピーし直したりしなくていいのがポイントだよ!

深く潜ってみよう

  • 対象: multi-Region eventual consistency(MREC)を使う、同一アカウントとマルチアカウントのグローバルテーブル
  • リージョン: すべての AWS リージョンで利用できる
  • 使い方: AWS マネジメントコンソール、AWS CLI、DynamoDB API、AWS CloudFormation から操作できる

詳しくは Amazon DynamoDB Developer Guide の「Disassociating replicas」を見てね。

まとめ

  • レプリカのテーブルとデータを残したまま、レプリケーションだけ停止できる
  • 単一リージョンのテーブルとして継続利用できる
  • マルチアカウント構成から、アカウント単位で抜けることもできる
  • 対象は MREC のグローバルテーブルで、全リージョンで利用可能

リージョン構成の見直しやアカウント分離を考えている DynamoDB ユーザーに刺さるよ!