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: README.md
+27-68Lines changed: 27 additions & 68 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,9 +4,16 @@
4
4
5
5
## Overview
6
6
7
-
This solution accelerator provides a foundation template for deploying a Project within AI Foundry into a secure, private, isolated environment within Azure. The deployed features follow Microsoft's Well-Architected Framework (WAF) to establish isolated infrastructure for an AI Foundry Project, intended to move from a Proof of Concept state to a production-ready application.
7
+
This is a foundational deployment solution for deploying an AI hub and project into an isolated environment (vNet) within Azure. The deployed features follow Microsoft's Well-Architected Framework [WAF](https://learn.microsoft.com/en-us/azure/well-architected/) to establish an isolated infrastructure for AI Foundry, intended to assist in moving from a Proof of Concept state to a production-ready application.
8
+
9
+
This template leverages Azure Verified Modules (AVM) and the Azure Developer CLI (AZD) to provision a WAF-aligned infrastructure for AI application development. This infrastructure includes AI Foundry elements, a virtual network (VNET), private endpoints, Key Vault, a storage account, and additional, optional WAF-aligned resources (such as Cosmos DB and SQL Server) that can be leveraged with Foundry developed projects.
10
+
11
+
The following deployment automates our recommended configuration to protect your data and resources; using Microsoft Entra ID role-based access control, a managed network, and private endpoints. We recommend disabling public network access for Azure OpenAI resources, Azure AI Search resources, and storage accounts (which will occur when deploying those optional services within this workflow). Using selected networks with IP rules isn't supported because the services' IP addresses are dynamic.
12
+
13
+
AI Foundry has two network isolation aspects, this repository will automate:
14
+
1. Configuring the network isolation of the Azure AI Foundry hub and project managed compute (compute instance, serverless compute, managed online endpoint) [Configure Managed Network](https://learn.microsoft.com/en-us/azure/ai-foundry/how-to/configure-managed-network)
15
+
2. Configuring the virtual network, private end points and private link services to isolate resources to connect to the hub and project in a secure way. [Secure Data Playground](https://learn.microsoft.com/en-us/azure/ai-foundry/how-to/secure-data-playground)
8
16
9
-
This template leverages Azure Verified Modules (AVM) and the Azure Developer CLI (AZD) to provision WAF-aligned infrastructure. This infrastructure includes AI Foundry elements, a virtual network (VNET), private endpoints, Key Vault, a storage account, and optional WAF-aligned resources (such as Cosmos DB and SQL Server) that can be leveraged with AI Foundry–developed projects.
10
17
11
18
## Architecture
12
19
The diagram below illustrates the capabilities included in the template.
@@ -26,25 +33,28 @@ The diagram below illustrates the capabilities included in the template.
26
33
27
34
## Key Features
28
35
### What solutions does this enable?
29
-
-Deploy AI Foundry application into a secure environment
36
+
-Deploys AI hub and AI project into a virtual network with all dependent services connected via private end points.
30
37
31
-
-Connect the application to essential Azure services while adhering to the best practices outlined in the Well Architected Framework
38
+
-Configures AI Foundry, adhering to the best practices outlined in the Well Architected Framework.
32
39
33
-
- Provide the ability to select services to deploy that are relevant to the project
40
+
- Provides the ability to add additional Azure services during deployment, configured to connect via isolation, to facilitate your AI project.
1. Azure subscription and Entra ID account with Contributor permissions.
38
-
2. Install the [Azure Developer CLI (AZD)](https://learn.microsoft.com/en-us/azure/developer/azure-developer-cli/install-azd?tabs=winget-windows%2Cbrew-mac%2Cscript-linux&pivots=os-windows)
39
-
3. Validate [Required Roles and Scopes](Required_Roles_and_Scopes.md)
40
-
4. (Optional) [GitHub Codespaces deployment](DeployViaCodeSpaces.md) - requires the user to be on a GitHub Team or Enterprise Cloud plan
45
+
1. Have access to an Azure subscription and Entra ID account with Contributor permissions.
46
+
2. Confirm the subscription you are deploying into has the [Required Roles and Scopes](Required_roles_scopes_resources.md) and
47
+
3. If deploying from your [local environment](local_environment_steps.md) Install the [Azure Developer CLI (AZD)](https://learn.microsoft.com/en-us/azure/developer/azure-developer-cli/install-azd?tabs=winget-windows%2Cbrew-mac%2Cscript-linux&pivots=os-windows)
48
+
4. If deploying via [GitHub Codespaces](github_code_spaces_steps.md) - requires the user to be on a GitHub Team or Enterprise Cloud plan
49
+
5. If leveraging [One-click deployment](#quick-deploy)
50
+
6. If leveraging [GitHub Actions](github_actions_steps.md)
41
51
42
52
For additional documentation of the default enabled services of this solution accelerator, please see:
43
53
44
54
1.[Azure Open AI Service](https://learn.microsoft.com/en-us/azure/ai-services/openai/)
45
55
2.[Azure AI Search](https://learn.microsoft.com/en-us/azure/search/)
46
-
3.[Azure AI Foundry Hub](https://learn.microsoft.com/en-us/azure/ai-foundry/)
47
-
4.[Azure AI Foundry Project](https://learn.microsoft.com/en-us/azure/ai-foundry/)
56
+
3.[Azure AI hub](https://learn.microsoft.com/en-us/azure/ai-foundry/)
57
+
4.[Azure AI project](https://learn.microsoft.com/en-us/azure/ai-foundry/)
This solution uses the [Azure Developer CLI](https://learn.microsoft.com/en-us/azure/developer/azure-developer-cli/overview) to quickly provision and deploy infrastructure and applications to Azure.
79
-
80
-
To get started, authenticate with an Azure Subscription ([details](https://learn.microsoft.com/en-us/azure/developer/azure-developer-cli/reference#azd-auth-login)):
81
-
82
-
```powershell
83
-
azd auth login
84
-
```
85
77
86
-
Establish new environment. Provide a name that represents the application domain:
87
78
88
-
```powershell
89
-
azd env new '<app name>'
90
-
```
79
+
## Connect to and validate access to the new environment
80
+
Follow the post deployment steps [Post Deployment Steps](post_deployment_steps.md) to connect to the isolated enviornment.
91
81
92
-
Optionally set environment variables via the following commands:
93
82
94
-
```powershell
95
-
azd env set 'AZURE_VM_ADMIN_PASSWORD' '<secure password>'
96
-
```
83
+
## Deploy your application in the isolated environment
84
+
- Provision additional production resources (data, storage, services) and configure secure access.
85
+
- Leverage the Microsoft Learn documentation regarding deploying a web app within AI Foundry[Configure Web App](https://learn.microsoft.com/en-us/azure/ai-services/openai/how-to/on-your-data-configuration#azure-ai-foundry-portal)
97
86
98
-
# Deploy
99
-
100
-
To provision the necessary Azure resources and deploy the application, run the azd up command:
101
-
```powershell
102
-
azd up
103
-
```
104
-
This will kick off an interactive console to provide required flags and parameters to deploy the infrastructure of a secure, WAF-aligned AI Foundry environment.
105
-
106
-
>- This deployment will take 15-20 minutes to provision the resources in your account. If you get an error or timeout with deployment, changing the location can help, as there may be availability constraints for the resources.
107
-
>- Note the `.env` file created at `/.azure/<app name>`. These are the environment configuration output from running the `azd up` command. These values are names of resources created as part of the baseline infrastructure.
108
-
109
-
## Connect to & Check the New Environment
110
-
1. In [Azure Portal](https://portal.azure.com), follow this Azure Bastion [guide](https://learn.microsoft.com/en-us/azure/bastion/bastion-connect-vm-rdp-windows#rdp) to access the network isolated AI Foundry hub & project.
111
-
- Note: The provisioned Project in the [AI Foundry Portal](https://ai.azure.com) will not be accessible from your local computer because the Project is established in a secure, private network and is not directly accessible from the public internet.
112
-
2. Confirm private services are accessible from within the secure Virtual Network by following these [test verification steps](./Verify_Services_On_Network.md) on the Virtual Machine within the VNET.
113
-
114
-
## Connect Your Model
115
-
<!-- Add latest guidance in customer friendly language -->
116
-
Configure AI model and settings in [AI Foundry Portal](https://ai.azure.com)
117
-
118
-
## Deploy your application in this production environment
119
-
Provision additional production resources (data, storage, services) and configure secure access.
120
87
121
88
<h2>
122
89
Supporting documents
@@ -129,15 +96,7 @@ Supporting documents
129
96
-[Azure OpenAI Service - Documentation, quickstarts, API reference - Azure AI services | Microsoft Learn](https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/use-your-data)
130
97
-[Azure AI Content Understanding documentation](https://learn.microsoft.com/en-us/azure/ai-services/content-understanding/)
131
98
132
-
<!-- </br>
133
-
Responsible AI Transparency FAQ
134
-
</h2>
135
99
136
-
Please refer to [Transparency FAQ](./TRANSPARENCY_FAQ.md) for responsible AI transparency details of this solution accelerator. -->
Copy file name to clipboardExpand all lines: github_code_spaces_steps.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -56,7 +56,7 @@ You can run this solution using GitHub Codespaces. The button will open a web-ba
56
56

57
57
**Be sure to remember the vm password and vm username. This will be used in a later step. Because we are using FDPO subscriptions, we do not have access to Entra to create the SSO to the jump box at this time. You are still required to log into Azure once you connect to the virtual machine.
58
58
59
-
11. After completeing the required paramters that you were prompted for, the provisioning of resources will run and deploy the Network Isolated AI Foundry Hub, Project and dependent resources in about 20 minutes.
59
+
11. After completeing the required paramters that you were prompted for, the provisioning of resources will run and deploy the Network Isolated AI hub, project and dependent resources in about 20 minutes.
60
60
61
61
# Post Deployment Steps:
62
62
These steps will help to check that the isolated environment was set up correctly.
This solution uses the [Azure Developer CLI](https://learn.microsoft.com/en-us/azure/developer/azure-developer-cli/overview) to quickly provision and deploy infrastructure and applications to Azure.
13
+
14
+
To get started, authenticate with an Azure Subscription ([details](https://learn.microsoft.com/en-us/azure/developer/azure-developer-cli/reference#azd-auth-login)):
15
+
16
+
```powershell
17
+
azd auth login
18
+
```
19
+
20
+
Establish new environment. Provide a name that represents the application domain:
21
+
22
+
```powershell
23
+
azd env new '<app name>'
24
+
```
25
+
26
+
Optionally set environment variables via the following commands:
27
+
28
+
```powershell
29
+
azd env set 'AZURE_VM_ADMIN_PASSWORD' '<secure password>'
30
+
```
31
+
32
+
# Deploy
33
+
34
+
To provision the necessary Azure resources and deploy the application, run the azd up command:
35
+
```powershell
36
+
azd up
37
+
```
38
+
This will kick off an interactive console to provide required flags and parameters to deploy the infrastructure of a secure, WAF-aligned AI Foundry environment.
39
+
40
+
>- This deployment will take 15-20 minutes to provision the resources in your account. If you get an error or timeout with deployment, changing the location can help, as there may be availability constraints for the resources.
41
+
>- Note the `.env` file created at `/.azure/<app name>`. These are the environment configuration output from running the `azd up` command. These values are names of resources created as part of the baseline infrastructure.
0 commit comments