Setting up AWS RDS (MySQL) for Synapse
Setting up a new AWS RDS database
- Connect to the AWS Management console (https://console.aws.amazon.com/rds)
- Click "Launch DB Instances"
- Click Launch DB Instance and wait for it to start.
- Create a disk space alarm and all other Alarms from the table blow. Here is an example:
Setting Up User Permissions
Setting up user permission on an AWS RDS instances is tricky. For example, the following GRANT statement will not work of an AWS RDS instances:
GRANT ALL ON *.* TO 'hudsonrelease'@'%';
Results in :
Error Code: 1045 Access denied for user 'platform'@'%' (using password: YES)
The problem is the super users created on our behalf does not have permission to grant access to the 'mysql' database schema. Therefore, we must run a modified version of the above GRANT statement:
GRANT ALL ON `%`.* TO 'hudsonrelease'@'%';
For a better explanation as to what is going on here see the following: http://www.fidian.com/problems-only-tyler-has/using-grant-all-with-amazons-mysql-rds/
Setting up Alarms
The following are the current alarms we have setup:
Send a notification to: | With these recipients: | Whenever: | Is: | For at least: | Name this alarm: |
---|---|---|---|---|---|
RDS-Alert (platform@sagebaes.org) | platform@sagebase.org | Average Write Latency | >= 0.100 seconds/op | 1 consecutive period(s) of 5 Minutes | awsrds-synapse-repo-2-High-Write-Latency |
RDS-Alert (platform@sagebaes.org) | platform@sagebase.org | Average of CUP Utilization | >= 90% | 2 consecutive period(s) of 5 Minutes | awsrds-synapse-repo-2-High-CPU-Utilization |
RDS-Alert (platform@sagebaes.org) | platform@sagebase.org | Average of Free Storage Space | < 1.0E9 Bytes | 1 consecutive period(s) of 5 Minutes | awsrds-synapse-repo-2-Low-Free-Storage-Space |
RDS-Alert (platform@sagebaes.org) | platform@sagebase.org | Average of Free-able Memory | < 1.0E9 Bytes | 1 consecutive period(s) of 5 Minutes | awsrds-synapse-repo-2-Low-Freeable-Memory |