|
| 1 | +# Deployment Guide |
| 2 | + |
| 3 | +## **Pre-requisites** |
| 4 | + |
| 5 | +To deploy this solution accelerator, ensure you have access to an [Azure subscription](https://azure.microsoft.com/free/) with the necessary permissions to create **resource groups, resources, and assign roles at the resource group level***. Follow the steps in [Azure Account Set Up](AzureAccountSetUp.md) |
| 6 | + |
| 7 | +Check the [Azure Products by Region](https://azure.microsoft.com/en-us/explore/global-infrastructure/products-by-region/table) page and select a **region** where the following services are available: |
| 8 | + |
| 9 | +- [Azure OpenAI](https://learn.microsoft.com/en-us/azure/ai-services/openai/) |
| 10 | +- [Azure AI Search](https://learn.microsoft.com/en-us/azure/search/) |
| 11 | +- [Azure App Service](https://learn.microsoft.com/en-us/azure/app-service/) |
| 12 | + |
| 13 | + |
| 14 | +Depending on your subscription quota and capacity, you can [adjust quota settings](QuotaCheck.md) to better meet your specific needs. You can also [adjust the deployment parameters](CustomizingAzdParameters.md) for additional optimization. |
| 15 | + |
| 16 | +## Deployment Options |
| 17 | + |
| 18 | +### Sandbox or WAF Aligned Deployment Options |
| 19 | + |
| 20 | +The [`infra`](../infra) folder of the Build-your-own-copilot-Solution-Accelerator contains the [`main.bicep`](../infra/main.bicep) Bicep script, which defines all Azure infrastructure components for this solution. |
| 21 | + |
| 22 | +By default, the `azd up` command uses the [`main.parameters.json`](../infra/main.parameters.json) file to deploy the solution. This file is pre-configured for a **sandbox environment** — ideal for development and proof-of-concept scenarios, with minimal security and cost controls for rapid iteration. |
| 23 | + |
| 24 | +For **production deployments**, the repository also provides [`main.waf.parameters.json`](../infra/main.waf.parameters.json), which applies a [Well-Architected Framework (WAF) aligned](https://learn.microsoft.com/en-us/azure/well-architected/) configuration. This option enables additional Azure best practices for reliability, security, cost optimization, operational excellence, and performance efficiency, such as: |
| 25 | + |
| 26 | + - Enhanced network security (e.g., Network protection with private endpoints) |
| 27 | + - Stricter access controls and managed identities |
| 28 | + - Logging, monitoring, and diagnostics enabled by default |
| 29 | + - Resource tagging and cost management recommendations |
| 30 | + |
| 31 | +**How to choose your deployment configuration:** |
| 32 | + |
| 33 | +* Use the default `main.parameters.json` file for a **sandbox/dev environment** |
| 34 | +* For a **WAF-aligned, production-ready deployment**, copy the contents of `main.waf.parameters.json` into `main.parameters.json` before running `azd up` |
| 35 | + |
| 36 | +--- |
| 37 | + |
| 38 | +### VM Credentials Configuration |
| 39 | + |
| 40 | +By default, the solution sets the VM administrator username and password from environment variables. |
| 41 | + |
| 42 | +To set your own VM credentials before deployment, use: |
| 43 | + |
| 44 | +```sh |
| 45 | +azd env set AZURE_ENV_VM_ADMIN_USERNAME <your-username> |
| 46 | +azd env set AZURE_ENV_VM_ADMIN_PASSWORD <your-password> |
| 47 | +``` |
| 48 | + |
| 49 | +> [!TIP] |
| 50 | +> Always review and adjust parameter values (such as region, capacity, security settings and log analytics workspace configuration) to match your organization’s requirements before deploying. For production, ensure you have sufficient quota and follow the principle of least privilege for all identities and role assignments. |
| 51 | +
|
| 52 | + |
| 53 | +> [!IMPORTANT] |
| 54 | +> The WAF-aligned configuration is under active development. More Azure Well-Architected recommendations will be added in future updates. |
0 commit comments