ablog

不器用で落着きのない技術者のメモ

Redshift で毎日決まった時間に一時停止する

IAMロールを作成する

  • IAMロール RedshiftPauseResumeRole を作成
  • Permissions policies
    • IAMポリシー RedshiftPauseResumeRolePolicy を作成してアタッチ
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "redshift:PauseCluster",
                "redshift:ResumeCluster"
            ],
            "Resource": "*"
        }
    ]
}
  • Trusted relationships
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": [
                    "scheduler.redshift.amazonaws.com",
                    "redshift.amazonaws.com"
                ]
            },
            "Action": "sts:AssumeRole"
        }
    ]
}

定時に一時停止する設定する

  • マネジメントコンソールで Redshift クラスターを選択
  • [Action]-[Pause]-[Pause and resume on schedule] を選択
    • Pause and resume on schedule を選択
    • Starts on、Ends on で開始日と終了日を指定
    • Pause every: Day
    • TIme(UTC): 10:00 (JST 19:00)
    • Resume はしないので作成後に削除するのでそのままにしておく
    • Scheduler permissions: 作成した IAM ロール RedshiftPauseResumeRole を選択

  • Resume はしないので、削除する
    • クラスターの schedules タブを選択して、Resume スケジュールを選択して、[Delete] をクリック