Key concepts
Key concepts of MySQL service are as follows.
Instance groups
Instance group is object that manages lifecycle of instances and backups.
MySQL instance groups have various states including operational and terminated states, and users can manage instance groups by checking these states.
Instance group lifecycle and states
When creating MySQL instance group, it starts in Pending state and transitions to Available state through Provisioning and Primary Available states. MySQL instance groups in Available state can be accessed through endpoint and port of selected network. Default ports for MySQL instance groups are 3306(Primary) and 3307(Standby), and users can specify desired ports within range of 1024–65535 during creation.
MySQL instance group lifecycle
MySQL instance group lifecycle
| State | Description |
|---|---|
| Pending | Preparing to configure MySQL instance group - When MySQL instance group is first created, it starts in Pending state |
| Provisioning | Creating instances of MySQL instance group |
| Primary Available | Allocating and configuring virtual hardware resources used by Standby instances of MySQL instance group, while remaining available for normal use * Availability status of Standby instances is displayed together with operational state (availability state) of instance group * HA configuration itself is maintained and Primary instance remains available |
| Switching | Processing manual failover request or auto failover |
| Available | All instances in MySQL instance group are in Running state and available for normal use- MySQL instance groups in Available state can be accessed through endpoint IP and port of selected network - Users can specify ports within range of 1024–65535, and default ports are 3306(Primary), 3307(Standby) |
| Scaling-Out | Adding Standby instances to MySQL instance group |
| Scaling-In | Removing Standby instances from MySQL instance group |
| Scaling-Up | Flavor of MySQL instance group has been changed (CPU or memory increased) |
| Scaling-Down | Flavor of MySQL instance group has been changed (CPU or memory decreased) |
| Storage-Full(Warning) | Remaining free space in data or log volume is 30 GB or less |
| Storage-Full(Error) | Remaining free space in data or log volume is 5 GB or less |
| Maintenance | MySQL maintenance operation is in progress - Operation types: Engine version upgrade, OS kernel upgrade, OS version upgrade, instance restart (shelve/unshelve, reboot, applying IOPS, etc.) |
| Rebooting | Instance group state while instance restart is in progress |
| Modifying | Modifying instance group information (such as changing security groups) |
| Error | Some instances in MySQL instance group have encountered errors and are temporarily unavailable |
| Terminating | Fully terminating and returning all instances in MySQL instance group, while deleting backups created from instance group |
| Terminated | Backups created from MySQL instance group have been deleted, and all instances have been terminated and are unavailable |
Availability states of instance group
When instance group is in Primary Available state (allocating and configuring Standby resources), operational state (availability state) of instance group and availability state of Standby instances are displayed together.
| Instance group state | Availability state | Description |
|---|---|---|
PRIMARY-AVAILABLE | READY | All Standby HA configurations are ready |
PARTIAL-READY | HA configuration is in progress and at least one Standby has been configured | |
PARTIAL-UNAVAILABLE | At least one Standby has been configured and at least one Standby is unavailable | |
CONFIGURED | All Standby configurations are ready | |
STANDALONE | No configured Standby exists and at least one Standby is unavailable | |
UNAVAILABLE | All Standby instances are unavailable | |
AVAILABLE | READY | All Standby configurations are ready |
| - | No Standby exists |
Instance
Instance is VM (Virtual Machine) managed by instance group.
MySQL instance is virtualized database including CPU and memory, and is object included in MySQL instance group. Each MySQL instance has states and is assigned either Primary or Standby role depending on availability.
Instance roles
| Instance role | Description |
|---|---|
| Primary | Instance used for general read and write operations - Users can access instance through provided endpoint (DNS) |
| Standby | Instance for high availability in preparation for Primary failures - Created when instance availability is selected as high availability, or can be added from instance list - Also serves as read-only replica (Read Replica) |
Instance types
MySQL service supports optimized instance types according to usage purpose and expected workloads.
Managed database specifications and settings are determined by instance type of MySQL instance group. Instance type can be selected when creating MySQL instance group, and charges apply according to resources used. MySQL instance types optimized for high-performance computing and memory will be added in future.
| MySQL instance type | Default vCPU (count) | Memory (GiB) |
|---|---|---|
| m2a.large | 2 | 8 |
| m2a.xlarge | 4 | 16 |
| m2a.2xlarge | 8 | 32 |
| m2a.4xlarge | 16 | 64 |
| m2a.8xlarge | 32 | 128 |
| m2a.12xlarge | 48 | 192 |
| m2a.16xlarge | 64 | 256 |
| m2a.24xlarge | 96 | 384 |
| r2a.large | 2 | 16 |
| r2a.xlarge | 4 | 32 |
| r2a.2xlarge | 8 | 64 |
| r2a.4xlarge | 16 | 128 |
| r2a.8xlarge | 32 | 256 |
| r2a.12xlarge | 48 | 384 |
| r2a.16xlarge | 64 | 512 |
| r2a.24xlarge | 96 | 768 |
Instance lifecycle
Instances start in Pending state and transition to Running state through Provisioning and Starting states.
MySQL instance lifecycle
Instance states and billing
| State | Description | Billing |
|---|---|---|
Pending | Preparing to configure instance | Not billed |
Starting | Configuring database and applying settings to instance | Not billed |
Running | Instance is running and available for use | Billed |
Volume-Extending | Volume of instance is being extended | Billed |
Engine-Upgrade | MySQL engine upgrade is in progress | Billed |
Kernel-Upgrade | Kernel upgrade is in progress | Billed |
OS-Upgrade | OS upgrade is in progress | Billed |
Reboot | Instance is restarting | Billed |
Resizing | Instance type change (scaling up/down) is in progress | Billed |
Storage-Full(Warning) | Remaining free space in instance data or log storage is 30 GB or less | Billed |
Storage-Full(Error) | Remaining free space in instance data or log storage is 5 GB or less | Only storage charges apply |
Error | Instance is temporarily unavailable due to error State updated when DB or API request fails | Not billed |
Terminating | Instance is being fully terminated and returned | Not billed |
Terminated | Instance has been terminated and is unavailable | Not billed |
Instance availability configuration and roles
Number of instances and role of each instance are determined according to instance availability configuration.
| Instance availability configuration | Number of created instances | Description |
|---|---|---|
| Single (Single, Primary instance) | 1 | Creates only one Primary instance |
| High availability (HA, Primary and Standby instances) | Up to 6 | Creates Primary and Standby instances - Creates 1 Primary and 1–5 Standby instances |
Instance availability states
Refers to state of data replication between MySQL instances. Applies only to instance groups configured with high availability.
MySQL instance availability states
| Availability state | Description |
|---|---|
Configured | Data replication of MySQL instance is functioning normally |
Configuring | Configuring data replication of MySQL instance |
Delaying | Data replication of MySQL instance is delayed by more than 60 seconds |
WarningSync | Standby has more data than Primary |
Unavailable | Data replication of MySQL instance has stopped |
Backup
Backups are managed at MySQL instance group level.
Manage backup lifecycle and states
Backups start in Pending state and are completed when they reach Succeeded state through Processing state. Backups created before March 19, 2024 and backups created after that date have different lifecycles (restore, deletion, etc.).
Backup states (created before March 19, 2024)
MySQL backup lifecycle, created before March 19, 2024
| State | Description |
|---|---|
Pending | Initial backup state |
Processing | Backup is currently in progress |
In-Use-Checking | Checking whether recovery using successful backup is in progress when deleting backup |
Deletion-Pending | Backup used for recovery is pending deletion (deletion proceeds after recovery completes) |
Deleted | Backup has been completely deleted |
Succeeded | Backup completed successfully |
Deleting | Deleting backup |
Fatal | Internal logic failure state |
Error | Backup terminated abnormally - State updated when DB or external API request fails in backend logic |
Backup states (created after March 19, 2024)
MySQL backup lifecycle, created after March 19, 2024
| State | Description |
|---|---|
Pending | Initial backup state |
Processing | Backup is currently in progress - Even if deleted in this state, deletion is executed only after backup completes successfully ( Succeeded) or fails (Error) |
Restoring | Backup is being used for restore and cannot be deleted |
Deleted | Backup has been completely deleted |
Succeeded | Backup completed successfully |
Deleting | Deleting backup - If backup is being used for restore, deletion stops and state changes to Restoring |
Error | Backup failed - Restore unavailable, deletion available |
Failover
MySQL supports high availability (HA) feature. When backup instance availability type is selected as high availability, multiple Standby instances can be created, and failover can be performed to minimize service interruption during failures. Both auto failover and manual failover are supported.
Temporary service interruption may occur during failover.
Failover lifecycle
Instance group states during failover
| State | Description |
|---|---|
SWITCHING | Failover is in progress. MySQL service is unavailable. |
PRIMARY-AVAILABLE | Configuring Standby instances. |
Volumes
Databases are provided using volumes, which are Block Storage devices. Therefore, users do not need to directly manage Block Storage such as creating or configuring Block Storage.
Network and security
All MySQL instances provide VPC environment. VPC provides networking and security features, and users can build logically separated service environments according to required network requirements. For more information, see VPC documentation.
Parameter group
You can create and manage MySQL parameter values in groups.
Parameter application status
Parameter group application states
| State | Description |
|---|---|
Pending | Waiting for parameter application. |
Applying | Applying parameters to instance group. |
In-Sync | Parameters have been successfully applied to instance group. |
Partial-Sync | Parameters have been applied only to some instances in instance group. Occurs when parameter application fails because instances in instance group are not in Failover, Provisioning, or Available state. If application completes successfully, state changes to In-Sync; if it fails, state changes to Error-Sync. |
Error-Sync | Failed to apply parameters to cluster. You can retry parameter application. When retried, application state changes to Applying. |
Suspended | Waiting for next operation because parameter application failed in preceding instance group during sequential application. When state changes from Pending to Suspended, you can retry parameter application. When retried, application state changes to Applying. |