【AWS CLI】download-db-log-file-portion使用時のログファイルのダウンロードエラーについて

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

RDSのログファイルをAWS CLI download-db-log-file-portionを使用してダウンロードする際に、以下エラーが発生することがあります。

実施コマンド

$ aws rds download-db-log-file-portion --db-instance-identifier ${DBインスタンス名} --log-file-name ${ログファイル名} > ${ログ保存先}.log

エラー内容

An error occurred (InvalidParameterValue) when calling the DownloadDBLogFilePortion operation: This file contains binary data and should be downloaded instead of viewed.

こちらの原因と回避策についてご紹介します。

原因

ログにマルチバイト文字やバイナリデータがある場合にダウンロードに失敗する既知の問題のようです。

aws-cli issues

回避方法

現時点ではAWS CLIではなくRDS Command Lineを使用することで回避することができます。

RDS REST API リファレンス | rds-download-db-logfile コマンド より

rds-download-db-logfile コマンドを使用して完全なログファイルをダウンロードすることもできます。AWS CLI では現在 rds-download-db-logfile コマンドがサポートされていないため、廃止予定の RDS CLI を使用して rds-download-db-logfile コマンドを実行する必要があります。RDS CLI の最新バージョンは http://s3.amazonaws.com/rds-downloads/RDSCli.zip の ZIP ファイルで入手できます。

rds-download-db-logfileコマンドでダウンロードする

$ rds-download-db-logfile ${DBインスタンス名} --log-file-name ${ログファイル名} > ${ログ保存先}.log

まとめ

RDSのログファイルをAWS CLIを使用してダウンロードした際に発生するエラーについて原因と回避策をご紹介しました。AWS CLIでrds-download-db-logfileがサポートされるまでは今回ご紹介しました方法で回避する必要がありますのでご注意ください。

参考URL