title | parent | tags | categories | thumbnail | date | description | author | mrm | slug | |||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Using the AWS Migration Service with HeatWave on AWS with WordPress as an Example |
|
|
|
assets/a-mysqglhw-devrel0622-thmb001.png |
2022-06-16 17:00 |
A quick example of how you can move data over for use in MySQL HeatWave on AWS. |
Victor Agreda |
WWMK220224P00058 |
using-aws-migration-service-wp-ex-devrel0622 |
Now let’s try something really fun. Let’s say you’ve already got a database using Aurora or RDS, in our case we’ll use a WordPress database, and you want to migrate it to MySQL HeatWave on AWS.
First, we’ll need to have a MySQL DB System on HeatWave already, and a critical step is opening port 3306, shown below.
{% imgx assets/create-mysqldbsys-devrel0622.png %}
Great! Now let’s head over to AWS.
-
Log in to your AWS console, and use search for “DMS” — Database Migration Service, it’ll be the top result.
{% imgx assets/awsdbs-migrationservice-search-devrel0622.png %}
-
Click Create replication instance.
{% imgx assets/step2-create-replication-awshw-devrel0622.png %}
-
Fill out a Name, Amazon Resource Name (ARN), description. You may use whichever shape you like, but keep in mind performance:cost here. Engine version should be fine, as well as storage (unless you have a truly massive database, in which case adjust accordingly).
{% imgx assets/arn-form-repinstance-awshw-devrel0622.png %}
-
For VPC, choose one you have previously set up with the appropriate access controls for development work. And make sure it is publicly accessible. For Multi AZ, we’ll use a single availability zone, dev or test workload.
{% imgx assets/step4-vpcsetup-awshw-devrel0622.png %}
-
Click to open the Advanced security and network configurations. The subnet group will follow the VPC you chose above, and the availability zone should be US-East. The security groups should be populated with any you created earlier, ensuring ports are available (LINK TK to DOCS on this).
{% imgx assets/step5-advanc-netsec-awshw-devrel0622.png %}
-
It will take a few minutes for the replication instance to spin up. Coffee time!
{% imgx assets/step6-creating-instance-awshw-wpex-devrel0622.png %}
-
Once it’s ready, we’ll need to get the Public IP address for our endpoint. Go to the Endpoints section. On the right you’ll see a Create Endpoint button, click it.
{% imgx assets/step7a-awsdms-endpoints-awshw-wpex-devrel0622.png %} {% imgx assets/step7b-create-endpoint-button-awshw-wpex-devrel0622.png %}
-
Select Source endpoint, and check Select RDS DB Instance. You should see the RDS Instance field populate with what’s available to you.
{% imgx assets/step8-create-endpoint-awshw-wpex-devrel0622.png %}
-
For Endpoint configuration, you’ll have the identifier, ARN, and source engine pre-filled, but we want to provide the access to endpoint database information manually, so click that radio button. Then, enter the appropriate database information for the db you’re moving over.
{% imgx assets/step9-endpoint-config-awshw-devrel0622.png %}
-
Then, you should be able to test the endpoint connection below.
{% imgx assets/step10-testendpoint-awshw-wpex-devrel0622.png %}
-
Now, we’ll create a second endpoint as our destination. To do this, we return to the MySQL HeatWave on AWS Console, and click MySQL DB Systems.
{% imgx assets/step11-mysql-dbsystems-onaws-awshw-wpex-devrel0622.png %}
Then, click on the DB System you wish to use, and in Summary you will find the Host Name. Copy the string.
-
Go back to AWS console, and click to create another endpoint. Except this time we’ll create a Target endpoint! Naturally.
{% imgx assets/step12-create-endpoint-aws-awshw-wpex-devrel0622.png %}
-
In Endpoint configuration, give it a name (identifier), choose MySQL under Target Engine. ARN is optional.
{% imgx assets/step13-target-engin-awshw-wpex-devrel0622.png %}
-
Once again, we’ll provide access information manually. The server name is the host name you previously copied. Port is 3306. The username/password will match the one you created for the target database.
-
Now you have your endpoint, username/password, and can use this when creating a HeatWave on AWS cluster to connect a DB System and run queries. Refer to the HeatWave on AWS documentation for more.
Note: MySQL Shell is the recommended utility for exporting data from a source MySQL Server and importing it into a DB System on the MySQL HeatWave on AWS. MySQL Shell dump and load utilities are purpose- built for use with MySQL DB Systems. For more on running queries with HeatWave, please refer to the MySQL documentation. {:.notice}
Want to know more? Join the discussion in our public Slack channel!