-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
30c3ee0
commit e8a9e8b
Showing
141 changed files
with
523 additions
and
312 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,5 @@ | ||
--- | ||
title: Accelerator | ||
geekdocNav: true | ||
geekdocAlign: left | ||
geekdocAnchor: true | ||
--- | ||
|
||
TBC... |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,5 @@ | ||
--- | ||
title: 2. Platform | ||
geekdocNav: true | ||
geekdocAlign: left | ||
geekdocAnchor: true | ||
--- | ||
|
||
TBC... |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,5 @@ | ||
--- | ||
title: 3. Networking | ||
geekdocNav: true | ||
geekdocAlign: left | ||
geekdocAnchor: true | ||
--- | ||
|
||
TBC... | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,5 @@ | ||
--- | ||
title: 4. Subscription Vending | ||
geekdocNav: true | ||
geekdocAlign: left | ||
geekdocAnchor: true | ||
--- | ||
|
||
TBC... |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,5 @@ | ||
--- | ||
title: 5. Application Landing Zones | ||
geekdocNav: true | ||
geekdocAlign: left | ||
geekdocAnchor: true | ||
--- | ||
|
||
TBC... |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,5 @@ | ||
--- | ||
title: Bicep | ||
geekdocNav: true | ||
geekdocAlign: left | ||
geekdocAnchor: true | ||
--- | ||
|
||
TBC... |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
--- | ||
title: Enterprise Bootstrap | ||
--- | ||
|
||
Before we begin our Azure Landing Zones journey proper, we need some pre-requisites in place. | ||
|
||
## Azure Subscriptions | ||
|
||
We recommend setting up 3 subscriptions for Azure landing zones. | ||
These are management, identity and connectivity. | ||
|
||
- **Management**: This is used to deploy the bootstrap and management resources, such as log analytics and automation accounts. | ||
- **Connectivity**: This is used to deploy the hub networking resources, such as virtual networks and firewalls. | ||
- **Identity**: (Optional) This is used to deploy the identity resources, such as Azure AD and Azure AD Domain Services. You will not need this if you do not have any AD-DS or [Entra Domain Services](https://azure.microsoft.com/products/microsoft-entra-ds) requirements. | ||
|
||
You can read more about the management, identity and connectivity subscriptions in the [Landing Zone docs](https://learn.microsoft.com/azure/cloud-adoption-framework/ready/landing-zone/deploy-landing-zones-with-terraform). | ||
|
||
To create the subscriptions you will need access to a billing agreement. | ||
The following links detail the permissions required for each type of agreement: | ||
|
||
- [Enterprise Agreement (EA)](https://learn.microsoft.com/en-us/azure/cost-management-billing/manage/create-enterprise-subscription) | ||
- [Microsoft Customer Agreement (MCA)](https://learn.microsoft.com/en-us/azure/cost-management-billing/manage/create-subscription) | ||
|
||
Once you have the access required, create the three subscriptions following your desired naming convention. | ||
|
||
Take note of the subscription id of each subscription as we will need them later. | ||
|
||
## Azure Authentication and Permissions | ||
|
||
You need either an Azure User Account or Service Principal with the following permissions to run the bootstrap: | ||
|
||
- `Owner` on your chosen parent management group for the Azure landing zone. This could be `Tenant Root Group` or a new management group you create under there if preferred. | ||
- Owner is required as this account will be granting permissions for the identities that run the management group deployment. Those identities will be granted least privilege permissions. | ||
- `Owner` on each of your Azure landing zone subscriptions. | ||
|
||
## Next Steps | ||
|
||
Now choose your next step! | ||
|
||
The Accelerator allows you to quickly get started with IaC and DevOps best practices for Azure Landing Zones. | ||
It supports both Terraform and Bicep. | ||
|
||
You can also opt to use Bicep and Terraform directly. | ||
|
||
- [**Accelerator**](/Azure-Landing-Zones/accelerator/) | ||
- [**Bicep**](/Azure-Landing-Zones/bicep/) | ||
- [**Terraform**](/Azure-Landing-Zones/terraform/) |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
--- | ||
title: 1. Management components | ||
--- | ||
|
||
Core to Azure Landing Zones is the concept of centralized logging. | ||
We recommend beginning with the deployment of the management components, which include the following: | ||
|
||
- **Log Analytics workspace**: Used to collect and analyze logs from Azure resources. | ||
- **Automation account**: (Optional) Used to automate tasks in Azure. | ||
- **Azure Monitor Agent Resources**: The identity and data collection rules required for AMA. | ||
|
||
We have a Terraform module that deploys these resources for you: <https://registry.terraform.io/modules/Azure/avm-ptn-alz-management/azurerm/latest> | ||
|
||
## Getting started | ||
|
||
First let's create a `terraform.tf` file in a new directory and add the following code: | ||
|
||
{{< include file="/static/examples/tf/1_management/terraform.tf" language="terraform" >}} | ||
|
||
Here we specify the minimum version of Terraform we want to use. | ||
We set [pessimistic version constraints](https://developer.hashicorp.com/terraform/language/expressions/version-constraints) to allow only the minor version to change. | ||
This will prevent a new major version from being used, which could introduce breaking changes. | ||
|
||
## Add the ALZ Management module | ||
|
||
Create a file called `main.tf` in the same directory and add the following code: | ||
|
||
{{< include file="/static/examples/tf/1_management/main.tf" language="terraform" >}} | ||
|
||
## Plan and apply | ||
|
||
We recommend using CI/CD to deploy your infrastructure, the Accelerator is a great way to get started with this. | ||
However you can also run Terraform locally: | ||
|
||
Run `terraform init` to download the module and initialize the directory. | ||
Next, run `terraform plan` to see what resources will be created. | ||
Finally, run `terraform apply` to create the resources. |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
--- | ||
title: 2. Subscription Vending | ||
--- | ||
|
||
TBC... |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
--- | ||
title: 5. Application Landing Zones | ||
--- | ||
|
||
TBC... |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,58 @@ | ||
--- | ||
title: Terraform | ||
geekdocNav: true | ||
geekdocAlign: left | ||
geekdocAnchor: true | ||
title: Azure Landing Zones with Terraform | ||
--- | ||
|
||
TBC... | ||
ALZ ❤️ AVM - A new approach to Azure Landing Zones with Terraform | ||
|
||
Based on continuous feedback from the community, we have adopted a more modular approach to deploying Azure Landing Zones with Terraform. | ||
This new approach is based on the Azure Virtual Network Module (AVM) and is designed to be more flexible. | ||
|
||
## Why have we made this change? | ||
|
||
We received feedback from our community that the following improvements were needed: | ||
|
||
### Customization | ||
|
||
You asked us to be able to fully customize the configuration of each component. | ||
Examples included defining a custom management group hierarchy, or setting specific settings (and names!) on resources. | ||
This requirement was front and center in our minds when designing the new approach. | ||
|
||
***You can now fully customize the configuration of each component (including the resource names 😇).*** | ||
|
||
### Modularity | ||
|
||
You didn't like that the module contained a combination of components that you may not need, and that you had to deploy the entire module even if you only wanted to use a subset of the components. | ||
|
||
You also asked that we make it easier for organizations to have different teams manage different components of the Azure Landing Zone. | ||
|
||
***You can now choose your own adventure and pick and choose only the components you need.*** | ||
|
||
## What is the new approach? | ||
|
||
The new approach is based on Azure Virtual Network Modules (AVM) and is designed to be more flexible. | ||
|
||
Here is the list of modules that pertain to Azure Landing Zones and covers the scope of the original ALZ Terraform module: | ||
|
||
- [ALZ core](https://registry.terraform.io/modules/Azure/avm-ptn-alz/azurerm/latest) | ||
- [ALZ management](https://registry.terraform.io/modules/Azure/avm-ptn-alz-management/azurerm/latest) | ||
- [Hub networking](https://registry.terraform.io/modules/Azure/avm-ptn-hubnetworking/azurerm/latest) | ||
- [Virtual network gateway](https://registry.terraform.io/modules/Azure/avm-ptn-virtualwan/azurerm/latest) | ||
- [Virtual WAN](https://registry.terraform.io/modules/Azure/avm-ptn-virtualwan/azurerm/latest) | ||
- [Private link DNS zones](https://registry.terraform.io/modules/Azure/avm-ptn-network-private-link-private-dns-zones/azurerm/latest) | ||
|
||
Using these modules together, you can create a fully customized Azure Landing Zone. | ||
|
||
## How do I get started? | ||
|
||
We recognize that this is a significant change, and we want to make it as easy as possible for you to get started. | ||
We have created this documentation site to centralize the integration documentation for the new modular approach. | ||
|
||
In here you will find examples and guidance on how to use the new modules to build your very own Azure Landing Zone. | ||
|
||
{{< hint type=note title="Deployment order" >}} | ||
We recommend deploying the management components first, followed by the hub networking components and then finally the management groups and policy. | ||
|
||
This is because we need certain resources to exist so that we can reference them in Azure Policy. | ||
{{< /hint >}} | ||
|
||
[Get started with deploying the management components](1_managementcomponents) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.