概要
これまで、DynamoDBを利用したレプリケーション方法はCross-Region Replicationとして実施方法が公開されておりましたが、セットアップが大変な物でした。
今回発表されたAmazon DynamoDB Global Tablesでは後述する条件付きでありますが、全自動で2つ以上のリージョン間で同期されるマルチマスタのテーブルを数回のクリックで簡単に作成する事が出来る優れたサービスという事なので、早速試してみました!
現在利用できるのは、下記リージョンに限られております。
- US East(northern Virginia)
- US East(Ohio)
- EU(Ireland)
- EU(Frankfult)
※上記と記載がありましたがオレゴンで利用できておりますので近いうちに追加・修正されるかもしれません。
実施事項
Amazon DynamoDB Global Tablesは、利用条件が下記となっておりますので新しいテーブルを作成しました。
- テーブルが空である事
- DynamoDB Streamsが有効である事
1. DynamoDB Tableの作成
適当な名前でテーブルを作成してみます。
関係ありませんが、同時リリースのバックアップが有効 [NEW] が早く東京リージョンにも来てほしい!
2. グローバルテーブルタブを選択
上記リージョンにてDynamoDBへアクセスすると、今回リリースされた機能である[グローバルテーブル]、[バックアップ]タブを確認できます。
今回はグローバルテーブルタブを選択
3. ストリームを有効化
4. リージョンを追加
[リージョンの追加] ボタンからリージョンを選択5. 次へを選択
10秒程待った後に完了しました、本当に早いです
6. 確認をしてみる
レプリケーション先にテーブルが作成されているか確認すると、無事に作成されておりました
7. データ挿入
KEN_ALL的なデータを適当に挿入してみます
8. データ確認
リロードを実施すると、aws:rep:updateregion、aws:rep:updatetimeという管理用のバリューが追加されている事を確認できました!
どちらのリージョンでデータを更新しても変更が伝搬するマルチマスタな挙動を確認できました。
まとめ
実際に運用してみないとわからない部分はあるかと思いますが(キャパシティ不足時の動作が気になります)、本当にワンクリックでセットアップが完了してしまいました。
一刻もはやく日本にくる事を祈るばかりです。
公式ソースに下記記載がありました。
他のリージョンについても2018年から追加していく予定です。あなたは通常のDynamoDBの料金として読み込み用プロジョンキャパシティユニット、データ量、そしてクロスリージョンレプリケーションを行った分のデータ転送料金が掛かり、書き込み用プロジョンキャパシティユニットは通常の書き込みと合わせてレプリケーションを行った分が掛かります。
参考ソース
Amazon Web Services ブログ 新機能- Amazon DynamoDBにGlobal TablesとOn-Demand Backupが追加されました