Azure Files
Last updated
Last updated
Azure Files is a cloud-based service that provides a file storage backing service for WorkflowGen instances that are hosted on Azure cloud or on-premise via a file share using the standard SMB protocol. This service provides different great options for data access, sharing, synchronization, and redundancy for use in single or multiple WorkflowGen instance scenarios.
For more information about Azure File benefits or use cases, refer to Microsoft's guide.
The following section provides recommendations and instructions on how to configure an Azure Files share to use in WorkflowGen.
Before choosing Azure Files as your primary file storage backing service for your WorkflowGen, there are a few performance configuration scenarios to consider for your data storage:
In a WorkflowGen single instance configuration
Hosted on an Azure Virtual Machine:
For best performance, use an SSD-grade local disk.
For good performance, use an Azure Files share in the same region.
Hosted on-premise:
For best performance, use an SSD-grade local disk.
For basic performance, use an Azure Files share in the region closest to your server for the lowest latency.
In a WorkflowGen web farm configuration
Hosted on an Azure Virtual Machine:
For best performance, use a file share from a file server backed by SSD-grade storage. ✏️ Note: One of the WorkflowGen web servers or a dedicated virtual machine can act as the file server role.
For good performance, use an Azure Files share in the same region.
Hosted on-premise:
For best performance, use a file share from a file server backed by SSD-grade storage. ✏️ Note: One of the WorkflowGen web servers or a dedicated server can act as the file server role.
For basic performance, use an Azure Files share in the region closest to your server for the lowest latency.
Make sure to have a working WorkflowGen instance with internet access.
Make sure to know the address of the instance.
TCP port 445
must be open for outbound from the instance.
Windows PowerShell version 5.1 or later is required on the instance for one of the steps of the configuration.
An active Azure subscription.
You must have permissions to make changes in Windows of the WorkflowGen instance, e.g. Administrator privileges.
You must have permissions to make changes to the Storage accounts service in the Azure portal.
In the Azure portal, choose the Storage accounts service.
Add a new storage account.
Enter a name.
✏️ Note: The wfgendatastorage
storage name will be used as an example throughout this section.
Account kind: Choose Storage (general purpose v1) or StorageV2 (general purpose v2).
Location: Choose a location in the same region as your Azure Virtual machine, or the closest to your on-premise location.
Performance: Choose Standard.
Choose your subscription.
Create a new resource group.
✏️ Note: The wfgenresourcegroup
resource group name will be used as an example throughout this section.
You can leave the rest of the settings set to their default values or you can customize them according to your needs.
Click Create.
The following script creates a storage account in Azure. The resource group name variable ($resourceGroup
) and storage account variable ($storageAccount
) should be updated.
In the Storage accounts service, choose wfgendatastorage.
In the Overview or the FILE SERVICE section, choose Files.
Add a new File share.
Enter a name.
✏️ Note: The wfgenshare
storage name will be used as an example throughout this section.
Enter a quota according to your needs.
Click OK.
The following script creates a file share in Azure. The storage account variable ($storageAccount
) and file share variable ($share
) should be updated.
Log in to your WorkflowGen instance with your Administrator account.
Open an instance of Windows PowerShell 5.1 as Administrator.
Test TCP port 445
for outbound by running the following command in PowerShell:
✏️ Note: Remember to replace wfgendatastorage
in the above instructions with your storage account name.
If the test result is successful, proceed to the next step. Otherwise, contact your network administrator to open TCP port 445
for outbound.
Install or update the Azure PowerShell module in PowerShell:
In the Windows Computer Management console, create a local user as the service account that will be used for the WorkflowGen IIS application pool:
Enter a new username and password.
✏️ Note: The wfgen_service
username will be used as an example throughout this section.
Check User cannot change password.
Check Password never expires.
Click Create.
Assign the wfgen_service
user to the IIS_IUSRS
group.
Assign the user to the Remote Desktop Users
group if the instance is a remote server.
Log in to your WorkflowGen instance with the wfgen_service
account.
Open an instance of Windows PowerShell 5.1 as Administrator.
Log in to your Microsoft Azure account in PowerShell:
If you encounter any security issues with the Microsoft Azure sign-in process, then you must manually add https://login.microsoftonline.com/
and the URIs of all related websites to the Trusted sites zone in Internet Explorer's Internet Options.
In the Microsoft Azure window, sign in to the Azure account that you used to create your storage account.
If you've successfully signed in to your Azure account, PowerShell will display the following information:
Persist the Azure Files share credential in Windows for the wfgen_service
account in PowerShell:
✏️ Note: Remember to replace wfgendatastorage
and wfgenresourcegroup
in the above instructions with your storage account
and resource group
names.
The credential needs to be persisted for the wfgen_service
account in the event of a Windows server restart.
If the credential is successfully stored then you should see the following message:
Verify if the credential has been stored for the storage account in PowerShell:
If successful, you should then see:
Test the Azure Files share in the Windows File Explorer.
✏️ Note: Remember to replace wfgendatastorage
and wfgenshare
in the above instructions with your storage account
and file share
names.
Log in to your WorkflowGen instance with your administration account.
Open the Internet Information Services (IIS) manager console.
Change your WorkflowGen application pool to use the custom wfgen_service
account with the following settings:
Identity: wfgen_service
Load User Profile: True
Save the changes, then restart IIS.
Log in to your WorkflowGen instance with the wfgen_service
account.
Copy all the existing WorkflowGen files to the Azure Files share in PowerShell:
✏️ Note: Remember to replace C:\inetpub\wwwroot\wfgen\App_Data
, wfgendatastorage
, and wfgenshare
in the above instructions with your WorkflowGen instance's app_data
folder, storage account
, and file share
names.
Update the WorkflowGen web configuration file:
✏️ Note: Remember to replace wfgendatastorage
and wfgenshare
in the above instructions with your storage account
and file share
names.
Open the WorkflowGen Administration Module or User Portal, then run a new request test.
Use one of the following methods:
In your Azure portal storage account:
Use the Storage Explorer (preview) tool.
or
Browse the wfgenshare
file share under the Files section.
OR
Mount the file share wfgenshare
in Windows. To do this:
Navigate to the wfgenshare
file share under the Files section.
Click Connect to display a tab with connection instructions.
For example, to mount the file share to the Z
drive from the WorkflowGen instance's administration account, run the following instructions provided by the Connect tab in PowerShell:
✏️ Note: Remember to replace the key
string assigned to $acctKey
, wfgendatastorage
, and wfgenshare
in the above instructions with one of your storage account's Access keys
, storage account
, and file share
names.
You should now be able to browse the content of the Z
drive in the Windows File Explorer.
For more information about storage accounts, see .
To create a storage account via the Azure CLI, first .
For more information about file share, see .
To create a file share via the Azure CLI, first .
For more information, see .
For more information about file share in Windows, see .
If you encounter any issues, see .