DynamoDB グローバルテーブルでレプリカを切り離せるように!テーブルもデータも残るよ
みんな、しぃちゃんだよ!DynamoDB のグローバルテーブルに、運用で助かりそうなアップデートが来たよ。
AWS What's Newなにが発表されたの?
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 ユーザーに刺さるよ!