Skip to content

Commit 05c39bb

Browse files
authored
Update README.md
Updated ReadMe for new script version
1 parent 494e4eb commit 05c39bb

File tree

1 file changed

+77
-30
lines changed

1 file changed

+77
-30
lines changed

README.md

Lines changed: 77 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,75 @@
11
# AWS DataSync Deployment for Azure
22

3-
This repository contains a script designed to convert the DataSync Agent VHDX to VHD on Amazon Linux 2 (AL2), and upload the generated disk to Azure and create an Azure Virtual Machine. The script can create the DataSync Virtual Machine in a new Azure vNet and Subnet or it can also use an existing Azure vNET and Subnet. Please review the Parameters section for deployment options.
3+
This repository contains a script designed to convert the DataSync Agent VHDX to VHD on Amazon Linux 2 (AL2), and upload the generated disk to Azure and create an Azure Virtual Machine. The script will create the DataSync Virtual Machine in a new Azure vNet and Subnet or it can also use an existing Azure vNET and Subnet. Please review the Parameters section for deployment options.
44

5-
## Getting Started
5+
## Blogs
6+
For more details on migrating Azure Blob Storage to Amazon S3 using AWS DataSync, see the following blog post:
67

7-
To begin the deployment process, ensure that you have the necessary prerequisites in place and are familiar with the configuration parameters required for successful execution.
8+
[Migrating Azure Blob Storage to Amazon S3 Using AWS DataSync](https://aws.amazon.com/blogs/storage/migrating-azure-blob-storage-to-amazon-s3-using-aws-datasync/)
89

9-
### Prerequisites
10+
For information on moving data from Azure Files SMB shares to AWS using AWS DataSync, check out this blog post:
1011

11-
Before running the deployment script, please ensure that you have the following parameters readily available:
12+
[How to Move Data from Azure Files SMB Shares to AWS Using AWS DataSync](https://aws.amazon.com/blogs/storage/how-to-move-data-from-azure-files-smb-shares-to-aws-using-aws-datasync/)
1213

13-
This script has been developed to run on an Amazon Linux 2 AMI and the EC2 instance should have at least 160GB of disk space for the conversion process.**
14+
## Getting Started
1415

15-
Parameters:
16+
To start the deployment, make sure you have met all the necessary prerequisites and are familiar with the configuration parameters needed for successful execution.
1617

17-
**Mandatory Parameters:**
18-
- **Deployment Type (-d)**: Choose whether you want to use a new_vnet or an existing_vnet.
19-
- **Location (-l)**: The Azure region where you want to deploy your resources, such as eastus.
20-
- **Resource Group (-r)**: The name of the Azure Resource Group where the deployed resources will be managed, e.g., aws-datasync-rg.
21-
- **Virtual Machine Name (-v)**: The desired name for the Azure Virtual Machine that will host the AWS DataSync Agent, for example, datasync-vm.
18+
It's recommended to log in to your Azure account before running the script. During the script execution, you'll be prompted to enter the authorization code provided in the Azure console to grant the script access to your Azure resources.
2219

23-
**Optional Parameters (when -d is existing_vnet):**
24-
- **VNET Resource Group (-g)**: The name of the Azure Resource Group with the existing VNET, e.g., existing-vnet-rg.
25-
- **VNET Name (-n)**: The name of the existing VNET, e.g., existing-vnet.
26-
- **Subnet Name (-s)**: The name of the subnet that exists in the VNET, e.g., existing-subnet.
20+
## Deployment Steps
2721

28-
---
22+
The deployment script automates several steps to ensure a smooth integration between AWS DataSync and Azure services. Here's a breakdown of the deployment process:
23+
24+
1. Provide Configuration Parameters: Before executing the script, open it in your preferred editor and provide the necessary configuration parameters. These parameters will be used to customize the deployment according to your requirements.
25+
2. Install Azure CLI and AzCopy: As a part of the setup process, the script will **automatically** download and install the Azure Command-Line Interface (CLI) and AzCopy tools. These tools are essential for managing and transferring data within the Azure environment.
26+
3. Download AWS DataSync Agent for Hyper-V: The script will download the AWS DataSync Agent specifically designed for Hyper-V environment.
27+
4. Convert VHDX to VHD: Once the AWS DataSync Agent is downloaded, the script will take care of converting the Virtual Hard Disk (VHDX) file to the compatible Hyper-V Disk (HVD) format for Azure
28+
5. Azure Authentication: To access and manage your Azure resources, the script will guide you through the authentication process, ensuring secure access to your Azure account.
29+
6. Create Resource Group: The deployment script will automatically create or use an existing Azure Resource Group. This Resource Group will serve as the container for your deployed resources.
30+
7. Upload VHD as Managed Disk: The script will upload the converted VHD file as a managed disk within the specified Resource Group. This disk will contain the AWS DataSync Agent.
31+
8. Create Virtual Machine: Leveraging the uploaded managed disk, the script will create an Azure Virtual Machine in either a new VNET or an existing VNET and subnet.
32+
33+
### Prerequisites
34+
35+
Before running the deployment script, please ensure that you have the following and the parameters needed for Azure readily available:
36+
- Amazon Linux 2 instance with 160GB storage
37+
- Azure permissions to:
38+
- Create/manage resource groups
39+
- Create/manage virtual machines
40+
- Create/manage virtual networks (if using new_vnet deployment)
41+
- Upload and manage disks
2942

3043
> This script has been developed to run on an Amazon Linux 2 AMI and the EC2 instance should have at least 160GB of disk space for the conversion process
3144
3245
![Amazon EC2 Launch Instance](./docs/datasync.png)
3346

47+
**Mandatory Parameters:**
48+
- **Deployment Type (-d)**: Choose whether you want to use a ('new_vnet' or 'existing_vnet')
49+
- **Location (-l)**: Azure region where you want to deploy your resources (e.g., 'eastus', 'westus')
50+
- **Resource Group (-r)**: Azure Resource Group name (e.g. aws-datasync-rg)
51+
- **Virtual Machine Name (-v)**: The name for the Azure Virtual Machine that will host the AWS DataSync Agent (e.g. aws-datasync-vm)
52+
- **Virtual Machine Size (-z)**: Azure VM size (e.g., 'Standard_E4s_v3', 'Standard_E16_v5')
53+
54+
**Additional Parameters (when -d is existing_vnet):**
55+
- **VNET Resource Group (-g)**: Virtual network resource group (required for 'existing_vnet')
56+
- **VNET Name (-n)**: Virtual network name (required for 'existing_vnet')
57+
- **Subnet Name (-s)**: (required for 'existing_vnet')
58+
59+
**Display Help Menu**
60+
- **Show help message (-h)**
61+
```
62+
sudo bash datasync.sh -h
63+
```
64+
![Datasync Help Menu options](./docs/deployment-menu-options.png)
65+
66+
67+
When selecting the Azure Virtual Machine for the Datasync Agent, we recommend the following:
68+
- 32 GB of RAM assigned to the VM for task executions working with **up** to 20 million files, objects, or directories.
69+
- 64 GB of RAM assigned to the VM for task executions working with **more** than 20 million files, objects, or directories.
70+
- For detailed AWS DataSync agent requirements, see the [AWS DataSync Agent Requirements](https://docs.aws.amazon.com/datasync/latest/userguide/agent-requirements.html) documentation.
71+
72+
---
3473

3574
### Download the Deployment Script
3675

@@ -39,33 +78,41 @@ Run the following command to download the deployment script from the code reposi
3978
```
4079
curl -sLO https://raw.githubusercontent.com/aws-samples/aws-datasync-deploy-agent-azure/main/src/bash/datasync.sh
4180
```
42-
81+
Make the script executable:
82+
```
83+
chmod +x datasync.sh
84+
```
4385
### Running the Deployment Script
4486

4587
Once you have your parameters ready, you can initiate the deployment script using the following commands:
4688

4789
For new_vnet deployment:
4890
```
49-
sudo bash datasync.sh -d new_vnet -l eastus -r aws-datasync-rg -v datasync-vm
91+
sudo bash datasync.sh -d new_vnet -l eastus -r myResourceGroup -v myVM -z Standard_E4s_v3
5092
```
5193

5294
For existing_vnet deployment:
5395
```
54-
sudo bash datasync.sh -d existing_vnet -l eastus -r aws-datasync-rg -v datasync-vm -g existing-vnet-rg -n existing-vnet -s existing-subnet
96+
sudo bash datasync.sh -d existing_vnet -l eastus -r aws-datasync-rg -v datasync-vm -g existing-vnet-rg -n existing-vnet -s existing-subnet -z Standard_E16_v5
5597
```
5698

57-
## Deployment Steps
99+
## Azure CLI Login
100+
You will be prompted to login to Azure and allow the script to create the Virtual Machine for the DataSync Appliance
58101

59-
The deployment script automates several steps to ensure a smooth integration between AWS DataSync and Azure services. Here's a breakdown of the deployment process:
102+
![Azure CLI Login](./docs/Azure-Authentication.png)
60103

61-
1. Provide Configuration Parameters: Before executing the script, open it in your preferred editor and provide the necessary configuration parameters. These parameters will be used to customize the deployment according to your requirements.
62-
2. Install Azure CLI and AzCopy: As a part of the setup process, the script will automatically download and install the Azure Command-Line Interface (CLI) and AzCopy tools. These tools are essential for managing and transferring data within the Azure environment.
63-
3. Download AWS DataSync Agent for Hyper-V: The script will download the AWS DataSync Agent specifically designed for Hyper-V environments. This agent enables efficient and secure data transfers between your Azure infrastructure and AWS.
64-
4. Convert VHDX to VHD: Once the AWS DataSync Agent is downloaded, the script will take care of converting the Virtual Hard Disk (VHDX) file to the compatible Hyper-V Disk (HVD) format, ensuring compatibility with Azure.
65-
5. Azure Authentication: To access and manage your Azure resources, the script will guide you through the authentication process, ensuring secure access to your Azure account.
66-
6. Create Resource Group: The deployment script will automatically create a dedicated Azure Resource Group using the provided name. This Resource Group will serve as the container for your deployed resources.
67-
7. Upload VHD as Managed Disk: The script will facilitate the seamless upload of the converted HVD file as a managed disk within the specified Resource Group. This disk will contain the AWS DataSync Agent.
68-
8. Create Virtual Machine: Leveraging the uploaded managed disk, the script will assist you in creating an Azure Virtual Machine in either a new VNET or an existing VNET. This Virtual Machine will host the AWS DataSync Agent and enable data synchronization between AWS and Azure.
104+
105+
## Successful deployment to Azure.
106+
107+
![Deployment Successful](./docs/DataSync-VM.png)
108+
109+
### Logging
110+
The script includes logging with color-coded output:
111+
112+
- 🔵 INFO
113+
- 🟡 WARNING
114+
- 🔴 ERROR
115+
- 🟢 SUCCESS
69116

70117
## Clean Up
71118

0 commit comments

Comments
 (0)