【追記】
以下に記載されている方法で、出来る場合と出来ない場合があるようです。
実施される場合は、お気を付け下さい。
Amazon RDSは、下記の通りデフォルトタイムゾーンを変更することはできません。
Amazon RDSではタイムゾーン設定を直せないので毎回SET time_zoneを呼ぶ必要あり
今回は試験的に、init_connectにSET time_zone = ‘Asia/Tokyo’;を設定してみました。
まずは、いつものAmazon RDS Command Line Toolkitでの設定ですが、
rds-modify-db-parameter-groupを試したところ、クオートや空白の問題で、設定することができませんでした。
(下記にも指摘されていました…)
ただしクオートと空白は、ツールが対応していないだけの可能性もあるので、AWS SDK for PHPでも試してみました。
コードは以下のようになります。
【PHP】
// ライブラリのインクルード require_once("./sdk.class.php"); // RDSオブジェクトの生成 $rds = new AmazonRDS(); // リージョンの設定 $rds->set_region(AmazonRDS::REGION_APAC_NE1); // パラメータの設定 $response = $rds->modify_db_parameter_group('suz-lab', array( array( "ParameterName" => "init_connect", "ParameterValue" => "set time_zone = 'Asia/Tokyo';", "ApplyMethod" => "immediate" ), )); // レスポンスの確認 var_dump($response);
すると、こちらでは無事設定が成功し、AWS Management Consoleでも確認することができました。
これで、アプリケーション側に修正してもらわなくてもよくなります。