TBD

仕事の事・日常の事

CloudFormationでRDS自動起動・停止

よく忘れるので備忘録。

AWSTemplateFormatVersion: 2010-09-09

Resources:
  #########################
  # IAM
  #########################
  CloudWatchEventsRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Version: '2012-10-17'
        Statement:
          - 
            Effect: Allow
            Principal:
              Service:
                - events.amazonaws.com
            Action:
              - sts:AssumeRole
      Path: /
      ManagedPolicyArns:
        - arn:aws:iam::aws:policy/AmazonSSMFullAccess

  #########################
  # Stop
  #########################
  EventRuleStopRds:
    Type: AWS::Events::Rule
    Properties:
      Name: !Sub ${EnvTag}-${SysTag}-Stop-Rds
      ScheduleExpression: cron(0 18 ? * 1-5 *)
      State: ENABLED
      Targets:
        - 
          Arn: !Sub arn:aws:ssm:${AWS::Region}::automation-definition/AWS-StopRdsInstance:$LATEST
          Id: RdsStop
          RoleArn: !GetAtt CloudWatchEventsRole.Arn
          Input: !Sub '{"InstanceId":["${RdsInstance}"]}'

  #########################
  # Start
  #########################
  EventRuleStartRds:
    Type: AWS::Events::Rule
    Properties:
      Name: !Sub ${EnvTag}-${SysTag}-Start-Rds
      ScheduleExpression: cron(0 18 ? * 1-5 *)
      State: ENABLED
      Targets:
        - 
          Arn: !Sub arn:aws:ssm:${AWS::Region}::automation-definition/AWS-StartRdsInstance:$LATEST
          Id: RdsStop
          RoleArn: !GetAtt CloudWatchEventsRole.Arn
          Input: !Sub '{"InstanceId":["${RdsInstance}"]}'