You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/migrate/tutorial-discover-mysql-database-instances.md
+8-188Lines changed: 8 additions & 188 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,20 +11,8 @@ monikerRange: migrate-classic
11
11
12
12
# Tutorial: Discover MySQL database instances running in your datacenter (preview)
13
13
14
-
This article describes how to discover MySQL database instances running on servers in your datacenter, using **Azure Migrate: Discovery and assessment tool**. The discovery process is agentless; no agents are installed on the target servers.
15
-
16
-
In this tutorial, you learn how to:
17
-
> [!div class="checklist"]
18
-
> -[Set up Kubernetes based appliance for discovery of MySQL database instances](#set-up-kubernetes-based-appliance)
19
-
> -[Encryption at rest](#encryption-at-rest)
20
-
> -[Configure the appliance and initiate continuous discovery](#configure-kubernetes-based-appliance)
21
-
> -[Clean up of setup](#clean-up-of-setup)
22
-
> -[Overview of Discovery results](#overview-of-discovery-results)
23
-
24
-
25
-
> [!NOTE]
26
-
> - A Kubernetes-based appliance is required to discover MySQL database instances. [Learn more](migrate-appliance.md) about scenarios covered by a Windows-based appliance.
27
14
15
+
This article describes how to discover MySQL database instances running on servers in your datacenter, using **Azure Migrate appliance**. The discovery process is agentless; no agents are installed on the target servers.
28
16
29
17
## Supported regions
30
18
@@ -42,11 +30,10 @@ The following table lists the regions that support MySQL Discovery and Assessmen
42
30
| United Kingdom | UK South |
43
31
| United States | Central US </br> West US 2 |
44
32
45
-
46
33
## Prerequisites
47
34
48
35
- An Azure subscription. If you don't have one, create a [free account](https://azure.microsoft.com/pricing/free-trial/).
49
-
- Before you begin to discover MySQL database instances, use the below tutorials to create an Azure Migrate project as per your requirements in one of the [supported regions](#supported-regions):
36
+
- Before you begin to discover MySQL database instances, use the below links to create an Azure Migrate project and deploy an appliance as per your requirements in one of the [supported regions](#supported-regions):
50
37
51
38
-[Discover servers running in a VMware environment](tutorial-discover-vmware.md)
52
39
-[Discover servers running in Hyper-V environment](tutorial-discover-hyper-v.md)
@@ -58,186 +45,19 @@ The following table lists the regions that support MySQL Discovery and Assessmen
58
45
- Ensure that you perform the [discovery of software inventory](how-to-discover-applications.md) by providing the server credentials to the appliance configuration manager.
59
46
60
47
> [!NOTE]
61
-
> Only Azure Migrate projects created with public endpoint connectivity are supported. Private endpoint projects aren't supported.
62
-
63
-
64
-
## Set up Kubernetes-based appliance
65
-
66
-
After you complete the server discovery and software inventory using the Azure Migrate appliance, follow these steps to enable discovery of MySQL database instances by setting up a Kubernetes appliance:
67
-
68
-
### Onboard Kubernetes-based appliance
69
-
70
-
1. Sign in to the [Azure portal](https://portal.azure.com) and search for **Azure Migrate**.
71
-
1. In **Servers, databases and web apps**, select **Discover, assess and migrate**.
72
-
1. Select the Azure Migrate project to set up the Kubernetes-based appliance
73
-
1. You'll see a message above **Azure Migrate: Discovery and assessment** tile to onboard a Kubernetes-based appliance to enable discovery of MySQL databases and Spring Boot applications. Select the link on the message to get started with onboarding the Kubernetes-based appliance.
74
-
75
-
:::image type="content" source="./media/tutorial-discover-mysql-database-instances/kubernetes-appliance-install-message.png" alt-text="Screenshot on how to get started onboarding kubernetes based appliance." lightbox="media/tutorial-discover-mysql-database-instances/kubernetes-appliance-install-message.png":::
76
-
77
-
1. In the Onboard Kubernetes-based appliance page, under the **Setup appliance** section, choose either one of the options.
78
-
79
-
-**Install appliance using packaged Kubernetes cluster** (recommended). You must set up a Kubernetes-cluster on a Linux server and then use the installer script to set up the Azure Migrate appliance.
80
-
-**Bring your own Kubernetes cluster**: You must bring your own Kubernetes cluster running on-premises, connect it to Azure Arc, and use the installer script to set up the appliance.
81
-
82
-
#### [Install appliance using packaged Kubernetes cluster (recommended)](#tab/appliance-kcluster)
83
-
84
-
To install an appliance using the packaged Kubernetes cluster, follow these steps:
85
-
86
-
1. In **Provide appliance details for Azure Migrate**, the appliance name is shown by default, but you can choose to provide your own friendly name to the appliance.
87
-
88
-
1. Select a Key Vault from the drop-down list or **Create new** Key Vault. This Key Vault is used to process the credentials provided in the project to start discovery of MySQL database instances.
89
-
90
-
> [!NOTE]
91
-
> You can select or create in the same subscription and region as that of the Azure Migrate Project. When you create/select Key Vault, ensure it doesn't have purge protection enabled, else there will be issues in processing of credentials through the Key Vault.
92
-
93
-
#### [Bring your own Kubernetes cluster](#tab/appliance-byo-kcluster)
94
-
95
-
To bring your own Kubernetes cluster, follow these steps:
96
-
97
-
1. In **Choose connected cluster**, select an existing Azure Arc connected cluster from your subscription. If you don't have an existing connected cluster, you can Arc-enable a Kubernetes cluster running on-premises by following the steps [here](/azure/azure-arc/kubernetes/quickstart-connect-cluster?tabs=azure-cli).
98
-
99
-
> [!Note]
100
-
> You can only select an existing connected cluster that's deployed in the same region as your Azure Migrate project.
101
-
102
-
1. In **Provide appliance details for Azure Migrate**, the appliance name is provided by default. However, you can provide a friendly name.
103
-
104
-
1. You can select a Key Vault from the drop-down or **Create new** Key Vault. This Key Vault is used to process the credentials provided in the project to start discovery of MySQL database instances.
105
-
106
-
> [!Note]
107
-
> You can choose or create the Key Vault in the same subscription and region as that of the Azure Migrate project. When you create/select a Key Vault, ensure that purge protection is disabled else, there will be issues in processing of credentials through the Key Vault.
108
-
109
-
---
110
-
111
-
1. After you provide the appliance name and Key Vault, select **Generate script** to generate an installer script that you can download or copy the script and save it as </br>
112
-
`Deploy.sh` on a Linux server on-premises.
113
-
114
-
1. Before you execute the script, ensure that the following prerequisites on the Linux server are met:
115
-
116
-
**Support** | **Details**
117
-
---- | ----
118
-
**Supported Linux OS** | Ubuntu 20.04
119
-
**Hardware configuration required** | 16-GB RAM, with 30-GB storage, 8 Core CPU
120
-
**Network Requirements** | Access to the following endpoints: <br/><br/> https://dc.services.visualstudio.com/v2/track <br/><br/> [Azure CLI endpoints for proxy bypass](/cli/azure/azure-cli-endpoints)
121
-
122
-
123
-
### Connect using an outbound proxy server
124
-
125
-
If your machine is behind an outbound proxy server, requests must be routed via the outbound proxy server. To provide proxy settings, follow these steps:
126
-
127
-
1. Open the terminal on the server and execute the following command to set up environment variables as a root user: </br>
128
-
`sudo su -`
129
-
1. On the deployment machine, set the environment variables needed for </br> `deploy.sh` </br> to use the outbound proxy server:
1. If your proxy uses a certificate, provide the absolute path to the certificate.
138
-
`export PROXY_CERT=””`
139
-
140
-
> [!Note]
141
-
> The machine uses proxy details while installing the required prerequisites to run the </br>`deploy.sh script`. </br> It won't override the proxy settings of the Azure Arc-enabled Kubernetes cluster.
142
-
143
-
### Execute the installer script
48
+
> Only Azure Migrate projects created with public endpoint connectivity are supported. Private endpoint projects aren't supported in the preview.
144
49
145
-
Before you execute the installer script, ensure that you have verified the following prerequisites:
50
+
## Provide MySQL credentials
146
51
147
-
**Packaged Kubernetes cluster**
148
-
149
-
- Run the script after you connect to a Linux machine on its terminal that has met the networking prerequisite and OS compatibility.
150
-
- Ensure that you install curl on the server. For Ubuntu, you can install it using the command </br>`sudo apt-get install curl` </br> For other OS (RHEL), you can use the command </br> `yum install curl`.
151
-
- Ensure that you install microk8s 1.29 on the server. For Ubuntu, you can install using the command </br> `sudo snap install microk8s --classic --channel=1.29/stable`.</br> Learn more on [how to install microk8s on Red Hat Enterprise Linux 9](https://snapcraft.io/install/microk8s/rhel).
152
-
153
-
**Bring your own cluster**
154
-
155
-
- Run the script after you connect to a Linux machine on its terminal that meets the networking prerequisites and OS compatibility.
156
-
- Ensure that you have curl installed on the server. For Ubuntu, you can install it using the command </br> `sudo apt-get install curl` </br> and for other OS (RHEL), you can use the command </br> `yum install curl`
157
-
158
-
> [!Important]
159
-
> Don't edit the script before you execute it. You can only edit the script when you want to [clean up the setup](#clean-up-of-setup).
160
-
161
-
After you save the script on the Linux server, follow these steps:
162
-
163
-
1. Open the Terminal on the server and execute the following command to execute the script as a root user:
164
-
`sudo su -`
165
-
166
-
1. Change the directory to where you saved the script and execute the script using command: `bash deploy.sh`
167
-
168
-
1. Follow the instructions in the script and sign in with your Azure user account when prompted.
169
-
170
-
1. The script performs the following:
171
-
172
-
1. Installs required CLI extensions
173
-
2. Registers Azure Resource Providers
174
-
3. Checks for prerequisites like connectivity to required endpoints
175
-
4. Sets up MicroK8s Kubernetes cluster
176
-
5. Installs the required operators on the cluster
177
-
6. Creates the required Migrate resources
178
-
179
-
1. After the script is executed successfully, configure the appliance through the portal.
180
-
181
-
182
-
> [!NOTE]
183
-
> Rerun the script if you encounter any issue during script execution and it would resume from the last successful state. In case you want to perform a complete fresh install, see [cleanup of setup](#clean-up-of-setup) details before you rerun the script.
184
-
185
-
## Encryption at rest
186
-
187
-
To ensure that Kubernetes secrets are secured, go through the following recommendations:
188
-
189
-
#### [Packaged Kubernetes cluster](#tab/cluster)
190
-
191
-
As you're setting a packaged appliance, we have shared responsibility to ensure that the secrets are secured.
192
-
- We recommend you choose a Linux VM with disk encryption for its services.
193
-
194
-
#### [Bring your own Kubernetes cluster](#tab/encrypt-rest)
195
-
196
-
As you bring your own Kubernetes cluster, there's a shared responsibility to ensure that the secrets are secured.
197
-
- We recommend you choose a Kubernetes cluster with disk encryption for its services.
198
-
- [Learn more](https://kubernetes.io/docs/tasks/administer-cluster/encrypt-data/) about encrypting data at rest in Kubernetes.
199
-
200
-
---
201
-
202
-
203
-
## Configure Kubernetes-based appliance
204
-
205
-
After you successfully set up the appliance using the installer script, configure the appliance by following these steps:
206
-
207
-
1. Go to the Azure Migrate project where you started onboarding the Kubernetes-based appliance.
208
-
1. On the **Azure Migrate: Discovery and assessment** tile, select the appliance count for **Pending action** under appliances summary.
209
-
210
-
:::image type="content" source="./media/tutorial-discover-mysql-database-instances/kubernetes-appliance-pending-actions.png" alt-text="Screenshot shows the appliance count for pending action.":::
211
-
212
-
1. In **Overview** > **Manage** > **Appliances**, a filtered list of appliances appears with actions pending.
213
-
1. Find the Kubernetes-based appliance that you set up and select **Credentials unavailable** status to configure the appliance.
214
-
1. In the **Manage credentials** page, select **Add credentials** to initiate discovery of the MySQL database instances running on your servers.
215
-
1. Select **MySQL authentication** credential type, provide a friendly name, input the MySQL username, and password and select **Save**.
52
+
1. Open the appliance configuration manager, complete the prerequisite checks and registration of the appliance.
53
+
2. Navigate to the Manage credentials and discovery sources panel.
54
+
1. In Step 3: Select **MySQL authentication** credential type, provide a friendly name, input the MySQL username, and password and select **Save**.
216
55
217
56
> [!NOTE]
218
-
> - The credentials added on the portal are processed via the Azure Key Vault chosen in the initial steps of onboarding the Kubernetes-based appliance. The credentials are then synced (saved in an encrypted format) to the Kubernetes cluster on the appliance and removed from the Azure Key Vault.
219
-
> - After the credentials are successfully synced, they would be used for discovery of the specific workload in the next discovery cycle.
220
57
> - Ensure that the user corresponding to the added MySQL credentials have the following privileges:
221
58
> - Select permission on information_schema tables.
222
59
> - Select permission on mysql.users table.
223
60
224
-
1. For a more detailed and accurate assessment of your MySQL database instances hosted on Linux servers, you’ll also need to add the server credentials. Select **Add credentials** once again and add the Linux server credentials under the credential type **Linux guest**.
225
-
226
-
1. After you add the credentials, refresh the page to see the **Sync status** of the credential. If status is **Incomplete**, you can select the status to review the error encountered and take the recommended action. After the credentials are successfully synced, wait for 24 hours before you can review the discovered inventory by filtering for the specific workload in the **Discovered servers** page.
227
-
228
-
> [!NOTE]
229
-
> You can add/update credentials any time by navigating to **Azure Migrate: Discovery and assessment** > **Overview** > **Manage** > **Appliances** page, selecting **Manage credentials** from the options available in the Kubernetes-based appliance.
230
-
231
-
## Clean up of setup
232
-
233
-
To clean up, run the following script in delete mode:
234
-
235
-
In the script generated by the portal, after all the user arguments (after line 19 in the following image), add `export DELETE= “true”` and run the same script again. This cleans up all existing components created during appliance creation.
0 commit comments