はじめに
業務でAmazon RDS for OracleのタイムゾーンをUTCからJSTに変更したいとの依頼がありました。
分かっていれば簡単ですが、調査してからCloudFormationに記述するまでに半日程かかったため今回備忘録として、内容をまとめたいと思います。
オプショングループの作成
デフォルトのオプショングループは編集することができないので、新たにオプショングループを作成します。
エンジン:oracle-ee
メジャーエンジンバージョン:19
RDS→オプショングループ→グループの作成
新たに作成したオプショングループにオプションを追加します。
オプション名:TIMEZONE
タイムゾーン:Asia/Tokyo
すぐに適用:Yes
オプショングループ選択→オプションの追加
オプショングループを作成したら、Oracleのオプショングループをデフォルトから変更します。
タイムゾーン確認
Oracleに接続し、タイムゾーンが変更されているか確認。
SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') AS current_time FROM dual;
UTC
JST
CloudFormationテンプレート
今回作成したCloudFormationテンプレート
yaml
AWSTemplateFormatVersion: 2010-09-09
Description: OptionGroup For Oracle
Parameters:
OptionGroupName:
Type: String
Engine:
Type: String
MajorEngineVersion:
Type: String
# Mappings:
Resources:
# DBオプショングループ作成
DBOptionGroup:
Type: AWS::RDS::OptionGroup
Properties:
OptionGroupName: !Ref OptionGroupName
OptionGroupDescription: Option group for Oracle with Timezone set to JST
EngineName: !Ref Engine
MajorEngineVersion: !Ref MajorEngineVersion
OptionConfigurations:
- OptionName: Timezone
OptionSettings:
- Name: TIME_ZONE
Value: Asia/Tokyo
json
{
"Parameters": [
{
"ParameterKey": "OptionGroupName",
"ParameterValue": "test"
},
{
"ParameterKey": "Engine",
"ParameterValue": "oracle-ee"
},
{
"ParameterKey": "MajorEngineVersion",
"ParameterValue": "19"
}
]
}