MySQL is a popular Relational DB which is available in the amazon RDS services with its community edition features. Almost every feature of MYSQL can be leveraged in the RDS platform with only some restrictions based on regions and availability zones. Below is a brief description on MYSQLs major features in the RDS platform.Supported Versions
The versions 5.5, 5.6 and 5.7 are the major versions supported in the RDS platform. Except for 5.6.27 all versions are supported in all AWS regions. If no version is mentioned during the DB creation, it defaults to the most recent version at that point in time. Below is an example of how to get all supported DB Engine versions using AWS API in a python SDK program.
import boto3 client = boto3.client('rds') response = client.describe_db_engine_versions( DBParameterGroupFamily='mysql5.6', DefaultOnly=True, Engine='mysql', EngineVersion='5.6', ListSupportedCharacterSets=True, ) print(response)
When the above code is run we get an output as below −
{ "ResponseMetadata": {}, "DBEngineVersions'": [ { "Engine'": "mysql", "DBParameterGroupFamily'": "mysql5.6", "SupportsLogExportsToCloudwatchLogs'": true, "SupportedCharacterSets'": [], "SupportsReadReplica'": true, "DBEngineDescription'": "MySQL Community Edition", "EngineVersion'": "5.6.40", "DBEngineVersionDescription'": "MySQL 5.6.40", "ExportableLogTypes'": [ "audit", "error", "general", "slowquery" ], "ValidUpgradeTarget'": [ { "Engine'": "mysql", "IsMajorVersionUpgrade'": true, "AutoUpgrade'": false, "Description'": "MySQL 5.7.22", "EngineVersion'": "5.7.22" } ] } ] }
Version Upgrade
There MySQL version number is maintained as MYSQL A.B.C. In this notation, A.B indicates the major version and C indicates the minor version. The upgrade approach is different between minor and major version upgrades.
Minor Version Upgrade
The DB instances are automatically upgraded to new minor versions when ever they are supported by Amazon RDS. This patching occurs during a schedules maintenance window which you can control. You can also manually upgrade to new versions if you prefer to turn off the automatic update.
Major Version upgrade
Major version upgrades are not available as automatic upgrade. It must be done by the account user manually by modifying the DB instance. Below flowchart indicated the steps in achieving the major version upgrade. This approach ensures that the upgrade process is thoroughly tested before it is applied on the live production database.
Database Security
The security for RDS MYSQL DB is managed at three layers.
Using IAM
In this approach the IAM user should have appropriate policies and permissions. Granting of such permissions is decided by the account holder or the super user who grants these permissions.
Using VPC
You either use a VPC security group or DB security group to decide which EC2 instances can open connections to the endpoint and port of a DB instance. These connections can also be made using SSL.
Using IAM Database Authentication
In this approach you use a IAM role and an authentication token. The authentication token generates a unique value which is relevant to the IAM role that is used in the access process. Here the same set of credentials are used for database as well as other aws resources, like EC2 and S3 etc.