Azure / Moodle

Tooling and guidance on deploying Scalable Moodle Clusters on Azure.
MIT License
157 stars 166 forks source link

Help with initial HA setup #249

Closed lorde85 closed 3 years ago

lorde85 commented 3 years ago

Hi guys,

And thanks in advance for the great templates.

Can you please share your guidance for a larger sized deployment? Here are some details around the deployment:

I slightly modified the azuredeploy-large-ha.json and did some tests using the JSON below, do you think this is enough performance wise? The template uses Azure Files for HA as far as I understand, and I do see the Storage Account being created but I don't see a share name created on the af storage account the template deployed. I believe I'm missing something, or maybe (most probably) it's all good but it's my lack of knowledge on Moodle and spefically HA that makes me overthink.

{ "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "_artifactsLocation": { "type": "string", "metadata": { "description": "The base URI where artifacts required by this template are located. When the template is deployed using the accompanying scripts, a private location in the subscription will be used and this value will be automatically generated." }, "defaultValue": "https://raw.githubusercontent.com/Azure/Moodle/master/" }, "_artifactsLocationSasToken": { "type": "securestring", "metadata": { "description": "The sasToken required to access _artifactsLocation. When the template is deployed using the accompanying scripts, a sasToken will be automatically generated." }, "defaultValue": "" }, "sshPublicKey": { "metadata": { "description": "ssh public key" }, "type": "string" } }, "resources": [ { "type": "Microsoft.Resources/deployments", "apiVersion": "2017-05-10", "name": "mainTemplate", "properties": { "mode": "Incremental", "parameters": { "_artifactsLocation": { "value": "[parameters('_artifactsLocation')]" }, "_artifactsLocationSasToken": { "value": "[parameters('_artifactsLocationSasToken')]" }, "redisDeploySwitch": { "value": false }, "sshPublicKey": { "value": "[parameters('sshPublicKey')]" }, "autoscaleVmCountMax": { "value": 5 }, "autoscaleVmSku": { "value": "Standard_DS2_v2" }, "mysqlPgresVcores": { "value": 4 }, "mysqlPgresStgSizeGB": { "value": 512 }, "fileServerType": { "value": "azurefiles" }, "fileServerDiskSize": { "value": 1024 }, "storageAccountType": { "value": "Premium_LRS" }, "loadBalancerSku": { "value": "Standard" }, "OSDiskSizeInGB": { "value": 256 }, "siteURL": { "value": "www.rslab.dns-cloud.net" }, "moodleVersion": { "value": "MOODLE_39_STABLE" } }, "templateLink": { "uri": "[concat(parameters('_artifactsLocation'), 'azuredeploy.json', parameters('_artifactsLocationSasToken'))]" } } } ], "outputs": { "mainTemplateOutputs": { "type": "object", "value": "[reference('mainTemplate').outputs]" } }, "variables": { "documentation01": "This wrapper template calls the main-template with pre-defined configs for large size workloads (with high availability) and the only required parameter (sshPublicKey).", "documentation02": "For the expected small-to-mid size workloads, other parameters are fixed in this tempalte and overriden as above." } }

Question: =============== I've pointed CNAME record to lb-xrwgkp.westeurope.cloudapp.azure.com but when I go to http://www.rslab.dns-cloud.net I get the "Welcome to nginx!"", if using https://www.rslab.dns-cloud.net I get a ERR_CONNECTION_TIMED_OUT, what am I doing wrong?

Welcome to nginx! If you see this page, the nginx web server is successfully installed and working. Further configuration is required. For online documentation and support please refer to nginx.org. Commercial support is available at nginx.com. Thank you for using nginx. Thanks in advance.

UmakanthOS commented 3 years ago

Hello @lorde85, the best way to see if a particular deployment will suffice is to run a few load tests. With the provided JMeter tests as the starting point, recommend running your scenario as part of a load test. If you can share more about your test runs, we can weigh on tuning your deployment.