Amazon Web Services ブログ

AWS Database Migration Service のログ管理

AWS Database Migration Service (DMS) は、クイックかつセキュアにAWSにデータベースを移行することに役立ちます。Oracle、Microsoft SQL Server、PostgreSQLなど、広く普及している商用およびオープンソースデータベース間でデータを移行することができます。このサービスは、OracleからOracleなどへの同種間移行や、OracleからPostgreSQLや、MySQLからOracleなどの異なるデータベースプラットフォーム間での異種間移行もサポートします。また、移行前チェックやデ-タ検証の機能を使って、移行の確度を確認する方法を提供します。

今回、AWS DMS の移行タスクログの管理に役立つ新しい機能を発表します。

ログを管理する理由

すべての AWS DMS 移行タスクには、移行中に実行されたすべてのイベントやチェックポイント、タスクの変更を記録するログがあります。タスクログは移行の重要なコンポーネントであり、これらのログの理解と管理が不可欠です。ログには、あなたがボンネットの下で何が起こっているのかを理解するため、および問題発生時に即座に根本原因を特定するために役立つ貴重な情報が含まれています。

デフォルトではDMSタスクのログレベルは最小です。しかし、この最小レベルのログは移行が失敗またはエラーになった原因を特定するためには役立たない場合もあります。トラブルシューティングのために、ログレベルをより細かく指定することで、障害やエラーを引き起こしている問題を把握することができます。

デフォルトのログレベルを詳細に変更する際の注意点は、ストレージが急速に消費されることです。デフォルトのログレベルでは書かれないイベントについても、詳細なログレベルではDMSがログファイルにすべて書き込むためです。

移行タスクのログを作成する場合、AWS DMS はレプリケーションインスタンスにログを作成します。これらのログはレプリケーションインスタンスのディスクに置かれます。AWS DMS はフルマネージドサービスであり、レプリケーションインスタンスへのアクセスは許可されないため、Amazon CloudWatch を使用することによってのみ、これらのログを見ることができます。

これらのログを正しく管理していないと、多くのストレージリソースを消費し、ディスクが満杯になって実行中のタスクが中断される可能性があります。今までは、タスクが再び正常に動くようにするためには2つの選択肢がありました:

  • ストレージを追加で割り当てます。ストレージが満杯になってタスクが停止した場合、レプリケーションインスタンスのストレージを変更して、より多くの領域を割り当てます
  • ログを削除します。ストレージを変更せず、ログのパージを行いたい場合はAWSサポートに連絡します。サポートチームが問題を調査して解決するまでには、少し時間が掛かります

ログを管理する方法

AWS DMS を完全に管理できるように、レプリケーションインスタンスの移行ログを管理する機能をAWSは導入しました。この機能を使用することで、特定のレプリケーションインスタンスの各タスク用のログがどれくらいストレージを消費しているかを確認することもできます。さらに、この機能を利用すると、あなたが都合の良いときにログファイルをパージできます。

AWS DMS コンソールを使用したログの管理

AWS DMS コンソールでは、レプリケーションインスタンスページでログを管理できます。新しい「ログ管理」タブには、すべてのタスクと、各タスクが占める容量が表示されます。ログのパージを許可するために、それぞれのタスクにはチェックボックスがあり、ページの下部に「ログの削除」ボタンがあります。

「ログ管理」タブ

AWS DMS CLI を使用したログの管理

AWS DMS CLI を使用してログを管理する場合は、次のコマンドを使用します:

awsdms describe-replication-instance-task-logs --replication-instance-arn $REP_INSTANCE_ARN

上記のコマンドの結果は次のようになります:

{
    "ReplicationInstanceTaskLogs": [
        {
            "TaskName": "J3BYRX6OIZDPUO4NW6D5WR3OFU",
            "ReplicationInstanceLogSize": 12033
        },
        {
            "TaskName": "NRVPM7SD5CCIFNO6BLMYB4AMRA",
            "ReplicationInstanceLogSize": 10068
        },
        {
            "TaskName": "QLPXAVV4AB5BL5HAGDMDB7OEZM",
            "ReplicationInstanceLogSize": 5034
        }
    ],
    "ReplicationInstanceArn": "arn:aws:dms:us-east-1:123456789101112:rep:FKQACMLFACABIMQE55GEFIM3KU"
}

この出力から分かるとおり、このレプリケーションインスタンスには3つのタスクが含まれています。出力には各タスクが占める容量もメガバイト単位で表示されます。

まとめ

AWS DMS のログを管理することで、移行の信頼を高めることができます。ログ管理を使用して各タスクで消費されたリソース量を判断し、そのリソース消費を制御することができます。さらに、ログ管理を使用して、各レプリケーションインスタンス上のタスク数や対応するストレージ消費量をなどのメトリクスを取得することができ、移行をきめ細かく制御することができます。


著者について

Abhinav SinghAbhinav Singh は Amazon Web Services の Database Migration Service チームのデータベースエンジニアです。彼はデータベース移行プロジェクトに関するガイダンスと技術支援をお客様に提供し、AWSを使用したソリューションの価値を向上させています。

翻訳はソリューションアーキテクトの柴田(シバタツ)が行いました。原文は Introducing log management in AWS Database Migration Service です。