In a previous blog post, we went over the general steps for migrating between two databases, like going from Mysql to Postgres for Atlassian tools. In a recent customer engagement, we migrated their JIRA Software, and Confluence instances from an on-premise environment using the MSSQL database to our Codefactori managed hosting environment on AWS with RDS Postgres. The diagrams below highlight the end state architecture for JIRA and Confluence in the AWS Environments:
After creating the baseline infrastructure based on our automated setup, we created temporary MSSQL based RDS instances for JIRA and Confluence. We migrated the customer-provided MSSQL database export into RDS temporarily until we could migrate the data to Postgres in RDS.
We performed these steps for the overall migration for JIRA and Confluence after the initial setup with no existing data:
- Stop Jira/Confluence
- Update dbconfig.xml/confluence.cfg.xml to point to the MS SQL database temporarily. Make sure to back up the files before modifications.
- Use rsync to transfer the existing data like attachments
- Start Jira/Confluence and validate that all existing data has been migrated.
- Take an XML export of the data.
- Recreate the Postgres RDS databases and restore the original unmodified dbconfig.xml/confluence.cfg.xml
- Import the XML data.
- Start JIRA/Confluence
- Update apps/plugins if required
- Run Reindex/Integrity Checks/Troubleshooting Tools
- Perform validation to ensure data has been successfully migrated
Codefactori’s automated setup and migration helped ensure minimal downtime and reduced the chances of errors due to manual steps. Please get in touch with us if you are interested in our managed hosting or utilizing this automation for Atlassian and DevOps tools you are hosting on your self-managed on-premise or cloud infrastructure.