Advertisement
Guest User

Untitled

a guest
Mar 2nd, 2017
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.97 KB | None | 0 0
  1. ---
  2. AWSTemplateFormatVersion: 2010-09-09
  3. Description: A basic CloudFormation template for an RDS Aurora cluster.
  4. Parameters:
  5. DatabaseInstanceType:
  6. Default: db.r3.large
  7. AllowedValues:
  8. - db.r3.large
  9. - db.r3.xlarge
  10. - db.r3.2xlarge
  11. - db.r3.4xlarge
  12. - db.r3.8xlarge
  13. Description: The instance type to use for the database.
  14. Type: String
  15. DatabasePassword:
  16. AllowedPattern: "[a-zA-Z0-9]+"
  17. ConstraintDescription: must contain only alphanumeric characters.
  18. Description: The database admin account password.
  19. MaxLength: '41'
  20. MinLength: '8'
  21. NoEcho: 'true'
  22. Type: String
  23. DatabaseUsername:
  24. AllowedPattern: "[a-zA-Z0-9]+"
  25. ConstraintDescription: must contain only alphanumeric characters.
  26. Description: The database admin account user name.
  27. MaxLength: '16'
  28. MinLength: '1'
  29. Type: String
  30. DatabaseBackupRetentionPeriod:
  31. Type: String
  32. Default: 7
  33. AllowedValues:
  34. - 1
  35. - 7
  36. Description: The database backup retention period in days.
  37. DatabaseSubnets:
  38. Description: The subnets to place database instances in.
  39. Type: List<AWS::EC2::Subnet::Id>
  40. DatabaseSecurityGroups:
  41. Type: List<AWS::EC2::SecurityGroup::Id>
  42. Description: Security groups to apply to the RDS cluster.
  43. Metadata:
  44. AWS::CloudFormation::Interface:
  45. ParameterGroups:
  46. - Label:
  47. default: Database Configuration
  48. Parameters:
  49. - DatabaseInstanceType
  50. - DatabaseName
  51. - DatabaseUsername
  52. - DatabasePassword
  53. - DatabaseSubnets
  54. - DatabaseSecurityGroups
  55. - DatabaseBackupRetentionPeriod
  56. ParameterLabels:
  57. DatabaseInstanceType:
  58. default: Database Instance Type
  59. DatabasePassword:
  60. default: Database Password
  61. DatabaseUsername:
  62. default: Database Username
  63. DatabaseBackupRetentionPeriod:
  64. default: Database Backup Retention Period
  65. DatabaseSubnets:
  66. default: Database Subnets
  67. DatabaseSecurityGroups:
  68. default: Database Security Groups
  69. Resources:
  70. StackAlarmTopic:
  71. Type: AWS::SNS::Topic
  72. Properties:
  73. DisplayName: Stack Alarm Topic
  74. DatabaseSubnetGroup:
  75. Type: AWS::RDS::DBSubnetGroup
  76. Properties:
  77. DBSubnetGroupDescription: CloudFormation managed DB subnet group.
  78. SubnetIds:
  79. Ref: DatabaseSubnets
  80. DatabaseCluster:
  81. Type: AWS::RDS::DBCluster
  82. Properties:
  83. Engine: aurora
  84. MasterUsername:
  85. Ref: DatabaseUsername
  86. MasterUserPassword:
  87. Ref: DatabasePassword
  88. BackupRetentionPeriod:
  89. Ref: DatabaseBackupRetentionPeriod
  90. PreferredBackupWindow: 02:00-03:00
  91. PreferredMaintenanceWindow: mon:03:00-mon:04:00
  92. DBSubnetGroupName:
  93. Ref: DatabaseSubnetGroup
  94. VpcSecurityGroupIds:
  95. Ref: DatabaseSecurityGroups
  96. DatabasePrimaryInstance:
  97. Type: AWS::RDS::DBInstance
  98. Properties:
  99. Engine: aurora
  100. DBClusterIdentifier:
  101. Ref: DatabaseCluster
  102. DBInstanceClass:
  103. Ref: DatabaseInstanceType
  104. DBSubnetGroupName:
  105. Ref: DatabaseSubnetGroup
  106. DatabaseReplicaInstance:
  107. Type: AWS::RDS::DBInstance
  108. Properties:
  109. Engine: aurora
  110. DBClusterIdentifier:
  111. Ref: DatabaseCluster
  112. DBInstanceClass:
  113. Ref: DatabaseInstanceType
  114. DBSubnetGroupName:
  115. Ref: DatabaseSubnetGroup
  116. DatabasePrimaryCPUAlarm:
  117. Type: AWS::CloudWatch::Alarm
  118. Properties:
  119. AlarmDescription: Primary database CPU utilization is over 80%.
  120. Namespace: AWS/RDS
  121. MetricName: CPUUtilization
  122. Unit: Percent
  123. Statistic: Average
  124. Period: 300
  125. EvaluationPeriods: 2
  126. Threshold: 80
  127. ComparisonOperator: GreaterThanOrEqualToThreshold
  128. Dimensions:
  129. - Name: DBInstanceIdentifier
  130. Value:
  131. Ref: DatabasePrimaryInstance
  132. AlarmActions:
  133. - Ref: StackAlarmTopic
  134. InsufficientDataActions:
  135. - Ref: StackAlarmTopic
  136. DatabaseReplicaCPUAlarm:
  137. Type: AWS::CloudWatch::Alarm
  138. Properties:
  139. AlarmDescription: Replica database CPU utilization is over 80%.
  140. Namespace: AWS/RDS
  141. MetricName: CPUUtilization
  142. Unit: Percent
  143. Statistic: Average
  144. Period: 300
  145. EvaluationPeriods: 2
  146. Threshold: 80
  147. ComparisonOperator: GreaterThanOrEqualToThreshold
  148. Dimensions:
  149. - Name: DBInstanceIdentifier
  150. Value:
  151. Ref: DatabaseReplicaInstance
  152. AlarmActions:
  153. - Ref: StackAlarmTopic
  154. InsufficientDataActions:
  155. - Ref: StackAlarmTopic
  156. DatabasePrimaryMemoryAlarm:
  157. Type: AWS::CloudWatch::Alarm
  158. Properties:
  159. AlarmDescription: Primary database freeable memory is under 700MB.
  160. Namespace: AWS/RDS
  161. MetricName: FreeableMemory
  162. Unit: Bytes
  163. Statistic: Average
  164. Period: 300
  165. EvaluationPeriods: 2
  166. Threshold: 700000000
  167. ComparisonOperator: LessThanOrEqualToThreshold
  168. Dimensions:
  169. - Name: DBInstanceIdentifier
  170. Value:
  171. Ref: DatabasePrimaryInstance
  172. AlarmActions:
  173. - Ref: StackAlarmTopic
  174. InsufficientDataActions:
  175. - Ref: StackAlarmTopic
  176. DatabasePrimaryMemoryAlarm:
  177. Type: AWS::CloudWatch::Alarm
  178. Properties:
  179. AlarmDescription: Replica database freeable memory is under 700MB.
  180. Namespace: AWS/RDS
  181. MetricName: FreeableMemory
  182. Unit: Bytes
  183. Statistic: Average
  184. Period: 300
  185. EvaluationPeriods: 2
  186. Threshold: 700000000
  187. ComparisonOperator: LessThanOrEqualToThreshold
  188. Dimensions:
  189. - Name: DBInstanceIdentifier
  190. Value:
  191. Ref: DatabaseReplicaInstance
  192. AlarmActions:
  193. - Ref: StackAlarmTopic
  194. InsufficientDataActions:
  195. - Ref: StackAlarmTopic
  196. DatabasePrimaryReplicationAlarm:
  197. Type: AWS::CloudWatch::Alarm
  198. Properties:
  199. AlarmDescription: Database replication latency is over 200ms.
  200. Namespace: AWS/RDS
  201. MetricName: AuroraReplicaLag
  202. Unit: Milliseconds
  203. Statistic: Average
  204. Period: 300
  205. EvaluationPeriods: 2
  206. Threshold: 200
  207. ComparisonOperator: GreaterThanOrEqualToThreshold
  208. Dimensions:
  209. - Name: DBInstanceIdentifier
  210. Value:
  211. Ref: DatabaseReplicaInstance
  212. AlarmActions:
  213. - Ref: StackAlarmTopic
  214. DatabaseReplicaReplicationAlarm:
  215. Type: AWS::CloudWatch::Alarm
  216. Properties:
  217. AlarmDescription: Database replication latency is over 200ms.
  218. Namespace: AWS/RDS
  219. MetricName: AuroraReplicaLag
  220. Unit: Milliseconds
  221. Statistic: Average
  222. Period: 300
  223. EvaluationPeriods: 2
  224. Threshold: 200
  225. ComparisonOperator: GreaterThanOrEqualToThreshold
  226. Dimensions:
  227. - Name: DBInstanceIdentifier
  228. Value:
  229. Ref: DatabaseReplicaInstance
  230. AlarmActions:
  231. - Ref: StackAlarmTopic
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement