- マネコンでパラメータグループやワークロード設定を行う。
- 設定したパラメータを表示する
% aws redshift describe-cluster-parameters --parameter-group-name poc-auto-wlm
(中略)
{
"ParameterName": "max_concurrency_scaling_clusters",
"ParameterValue": "3",
"Description": "The maximum concurrency scaling clusters can be used.",
"Source": "user",
"DataType": "integer",
"AllowedValues": "0-10",
"ApplyType": "static",
"IsModifiable": true
},
(中略)
{
"ParameterName": "wlm_json_configuration",
"ParameterValue": "[{\"user_group\":[\"dwh_batch_group\"],\"query_group\":[],\"auto_wlm\":true,\"queue_type\":\"auto\",\"name\":\"main_queue\",\"concurrency_scaling\":\"off\",\"priority\":\"high\",\"rules\":[{\"rule_name\":\"long_query_main_queue\",\"predicate\":[{\"metric_name\":\"query_execution_time\",\"operator\":\">\",\"value\":10800}],\"action\":\"abort\"},{\"rule_name\":\"temp_usage_main_queue\",\"predicate\":[{\"metric_name\":\"query_blocks_read\",\"operator\":\">\",\"value\":5120}],\"action\":\"abort\"}]},{\"user_group\":[\"short_dwh_tools_group\",\"short_users_L2_group\",\"short_application_L2_group\"],\"query_group\":[],\"auto_wlm\":true,\"queue_type\":\"auto\",\"name\":\"dwh_tool_queue\",\"rules\":[{\"rule_name\":\"long_query_dwh_tool_queue\",\"predicate\":[{\"metric_name\":\"query_execution_time\",\"operator\":\">\",\"value\":10800}],\"action\":\"abort\"},{\"rule_name\":\"temp_usage_dwh_tool_queue\",\"predicate\":[{\"metric_name\":\"query_execution_time\",\"operator\":\">\",\"value\":5120}],\"action\":\"abort\"}]},{\"user_group\":[\"short_users_L1_group\"],\"query_group\":[],\"auto_wlm\":true,\"queue_type\":\"auto\",\"name\":\"user_queue\",\"concurrency_scaling\":\"off\",\"priority\":\"low\",\"rules\":[{\"rule_name\":\"long_query_user_queue\",\"predicate\":[{\"metric_name\":\"query_execution_time\",\"operator\":\">\",\"value\":10800}],\"action\":\"abort\"},{\"rule_name\":\"temp_usage_user_queue\",\"predicate\":[{\"metric_name\":\"query_execution_time\",\"operator\":\">\",\"value\":5120}],\"action\":\"abort\"}]},{\"auto_wlm\":true,\"user_group\":[],\"query_group\":[],\"name\":\"Default queue\",\"concurrency_scaling\":\"off\",\"rules\":[{\"rule_name\":\"long_query_default_queue\",\"predicate\":[{\"metric_name\":\"query_execution_time\",\"operator\":\">\",\"value\":10800}],\"action\":\"abort\"},{\"rule_name\":\"temp_usage_default_queue\",\"predicate\":[{\"metric_name\":\"query_execution_time\",\"operator\":\">\",\"value\":5120}],\"action\":\"abort\"}]},{\"short_query_queue\":true}]",
"Description": "wlm json configuration",
"Source": "user",
"DataType": "string",
"ApplyType": "dynamic",
"IsModifiable": true
}
]
}
- 設定したいパラメータ設定をコピーしてパラメータを JSON で定義する
- redshift_parameter-group_config.json
[
{
"ParameterName": "max_concurrency_scaling_clusters",
"ParameterValue": "3"
},
{
"ParameterName": "wlm_json_configuration",
"ParameterValue": "[{\"user_group\":[\"dwh_batch_group\"],\"query_group\":[],\"auto_wlm\":true,\"queue_type\":\"auto\",\"name\":\"main_queue\",\"concurrency_scaling\":\"off\",\"priority\":\"high\",\"rules\":[{\"rule_name\":\"long_query_main_queue\",\"predicate\":[{\"metric_name\":\"query_execution_time\",\"operator\":\">\",\"value\":10800}],\"action\":\"abort\"},{\"rule_name\":\"temp_usage_main_queue\",\"predicate\":[{\"metric_name\":\"query_blocks_read\",\"operator\":\">\",\"value\":5120}],\"action\":\"abort\"}]},{\"user_group\":[\"short_dwh_tools_group\",\"short_users_L2_group\",\"short_application_L2_group\"],\"query_group\":[],\"auto_wlm\":true,\"queue_type\":\"auto\",\"name\":\"dwh_tool_queue\",\"rules\":[{\"rule_name\":\"long_query_dwh_tool_queue\",\"predicate\":[{\"metric_name\":\"query_execution_time\",\"operator\":\">\",\"value\":10800}],\"action\":\"abort\"},{\"rule_name\":\"temp_usage_dwh_tool_queue\",\"predicate\":[{\"metric_name\":\"query_execution_time\",\"operator\":\">\",\"value\":5120}],\"action\":\"abort\"}]},{\"user_group\":[\"short_users_L1_group\"],\"query_group\":[],\"auto_wlm\":true,\"queue_type\":\"auto\",\"name\":\"user_queue\",\"concurrency_scaling\":\"off\",\"priority\":\"low\",\"rules\":[{\"rule_name\":\"long_query_user_queue\",\"predicate\":[{\"metric_name\":\"query_execution_time\",\"operator\":\">\",\"value\":10800}],\"action\":\"abort\"},{\"rule_name\":\"temp_usage_user_queue\",\"predicate\":[{\"metric_name\":\"query_execution_time\",\"operator\":\">\",\"value\":5120}],\"action\":\"abort\"}]},{\"auto_wlm\":true,\"user_group\":[],\"query_group\":[],\"name\":\"Default queue\",\"concurrency_scaling\":\"off\",\"rules\":[{\"rule_name\":\"long_query_default_queue\",\"predicate\":[{\"metric_name\":\"query_execution_time\",\"operator\":\">\",\"value\":10800}],\"action\":\"abort\"},{\"rule_name\":\"temp_usage_default_queue\",\"predicate\":[{\"metric_name\":\"query_execution_time\",\"operator\":\">\",\"value\":5120}],\"action\":\"abort\"}]},{\"short_query_queue\":true}]"
}
]
$ aws redshift create-cluster-parameter-group --parameter-group-name poc-auto-wlm --parameter-group-family redshift-1.0 --description desc-poc-auto-wlm
$ aws redshift modify-cluster-parameter-group --parameter-group-name poc-auto-wlm --parameters file://redshift_parameter-group_config.json
$ aws redshift modify-cluster --cluster-identifier redshift-cluster-poc-2 --cluster-parameter-group-name poc-auto-wlm
$ aws redshift reboot-cluster --cluster-identifier redshift-cluster-poc-2
$ aws redshift modify-cluster --cluster-identifier redshift-cluster-poc-2 --cluster-parameter-group-name default.redshift-1.0
$ aws redshift delete-cluster-parameter-group --parameter-group-name poc-auto-wlm
$ aws redshift reboot-cluster --cluster-identifier redshift-cluster-poc-2