【小ネタ】DMS のサーバーレスレプリケーションを停止する場合の注意点

記事タイトルとURLをコピーする

こんにちは。テクニカルサポート課の森本です。 DMS のサーバーレスレプリケーションを使用する上で、レプリケーションタスクを停止する場合にご注意いただきたいことがありましたので記事にまとめました。

サーバーレスレプリケーションとは

レプリケーション時の負荷に応じて、DMS 側で レプリケーションインスタンスのスケールアップ/ダウンを行うことが可能です。 事前にレプリケーションインスタンスのスペックの見積もりが難しい場合や、レプリケーション負荷の予測が困難な場合にご利用いただくことが有効です。 その他、エンジンバージョンの管理等の運用負荷も軽減されます。

AWS DMS Serverless is a feature that provides automatic provisioning, scaling, built-in high availability, and a pay-for-use billing model, to increase operations agility and optimize your costs. The Serverless feature eliminates replication instance management tasks like capacity estimation, provisioning, cost optimization, and managing replication engine versions and patching.

Working with AWS DMS Serverless - AWS Database Migration Service

いきなり結論

サーバーレスレプリケーションを作成し、レプリケーションを開始すると以下の図のような状態遷移をたどります。

サーバーレスレプリケーションの状態遷移

フルロードのみの場合はフルロード完了後、少し時間が経過するとプロビジョニング解除(=レプリケーションインスタンスのリソースが解放)されるため、レプリケーションインスタンスのリソースへの課金が自動で停止します。

一方、CDC + フルロード もしくは CDC のみのレプリケーションの場合、必要に応じて手動でレプリケーションを停止(ターゲットデータベースへのカットオーバー等を含む)する必要があるかもしれません。

その際、DMS 側でプロビジョニング解除(図中の赤いラインの処理:当方にて付与)が行われるまで、48時間の猶予があります。 こちらはレプリケーションの再開時、レプリケーションインスタンスの再プロビジョニングを行わずにレプリケーションを再開するためと読み取れます。

仮にレプリケーションを再開せずに放置した場合、停止後も48時間分のレプリケーションインスタンス用のリソースへの課金が継続します。 そのため、検証等で一時的に使用してレプリケーションを停止した、と思っていた場合に余分にリソースへの課金が発生してしまう可能性があります。

どうすればいいか

レプリケーションを再開する予定がない場合、サーバーレスレプリケーションごと削除してしまえばその時点で課金が停止します。 不要な場合はレプリケーションの停止だけではなく、削除まで行うようにしておくことで無駄なコストの発生を抑えることが可能です。

まとめ

サーバーレスレプリケーションの検証時に発生させがちな余計なコストを避ける点についてまとめました。

この記事がどなたかのお役に立てば幸いです。

森本 晃大(執筆記事の一覧)

テクニカルサポート課

2023年10月入社。絶賛仕事と子育てに奔走中です。