# Infrastructure

Infrastructures are abstractions that allow you to create a Virtual Private Cloud (VPC) instance in the DuploCloud Portal. When you create an Infrastructure, a [Plan](https://docs.duplocloud.com/docs/automation-platform/application-focused-interface-duplocloud-architecture/plan) (with the same Infrastructure name) is automatically created and populated with the Infrastructure configuration.&#x20;

For instructions to create an Infrastructure in the DuploCloud Portal, see:

* [AWS Infrastructure](https://docs.duplocloud.com/docs/automation-platform/overview/use-cases/creating-an-infrastructure-and-plan-for-aws)
* [Azure Infrastructure](https://docs.duplocloud.com/docs/automation-platform/overview-2/use-cases/infrastructure-and-plan)
* [GCP Infrastructure](https://docs.duplocloud.com/docs/automation-platform/overview-1/use-cases/creating-an-infrastructure-and-plan-for-gcp)
* [On-premises Infrastructure](https://docs.duplocloud.com/docs/kubernetes-overview/import-an-external-kubernetes-cluster#importing-your-kubernetes-cluster-to-duplocloud)

Each Infrastructure represents a network connection to a unique VPC/VNET, in a Region with a Kubernetes Cluster. For AWS, it can also include an ECS. An Infrastructure can be created with five basic inputs: Name, VPC CIDR, Number of AZs, Region, and a choice to enable or disable a K8s/ECS cluster. &#x20;

![The Add Infrastructure page in the DuploCloud Portal](https://2471407984-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F68cb0s9ce5UIUKWPuYs8%2Fuploads%2FSZx4kVc8SLr5zsg5L8PM%2Fimage.png?alt=media\&token=bd1180d0-4fee-4734-97ef-36e8e0f5c165)

When you create an Infrastructure, DuploCloud automatically creates the following components:

* VPC with two subnets (private, public) in each availability zone
* Required security groups
* NAT Gateway
* Internet Gateway
* Route tables
* [VPC peering](https://docs.duplocloud.com/docs/automation-platform/overview/aws-services/virtual-private-cloud-vpc-peering) with the master VPC, which is initially configured in DuploCloud

Additional requirements like custom Private/Public Subnet CIDRs can be configured in the **Advanced Options** area.&#x20;

{% hint style="info" %}
A common use case is two Infrastructures: one for Prod and one for Nonprod. Another is having an Infrastructure in a different region for disaster recovery or localized client deployments.
{% endhint %}

## Plans and Infrastructures

Once an Infrastructure is created, DuploCloud automatically creates a [Plan ](https://docs.duplocloud.com/docs/automation-platform/application-focused-interface-duplocloud-architecture/plan)(with the same Infrastructure name) containing the Infrastructure configuration. The Plan is used to create [Tenants](https://docs.duplocloud.com/docs/automation-platform/overview/use-cases/tenant-environment).

<figure><img src="https://2471407984-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F68cb0s9ce5UIUKWPuYs8%2Fuploads%2FOD9Zg5ZySHObYeJ4xMt1%2Fimage%20(12).png?alt=media&#x26;token=96def72a-a2c3-4e84-941e-db2540b808a3" alt=""><figcaption><p>The <strong>Plan Details</strong> pane in the DuploCloud Portal</p></figcaption></figure>
