> For the complete documentation index, see [llms.txt](https://docs.duplocloud.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.duplocloud.com/docs/automation-platform/application-focused-interface-duplocloud-architecture/infrastructure.md).

# Infrastructure

A conceptual overview of DuploCloud Infrastructures

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](/docs/automation-platform/application-focused-interface-duplocloud-architecture/plan.md) (with the same Infrastructure name) is automatically created and populated with the Infrastructure configuration.

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

* [AWS Infrastructure](/docs/automation-platform/overview/use-cases/creating-an-infrastructure-and-plan-for-aws.md)
* [Azure Infrastructure](/docs/automation-platform/overview-2/use-cases/infrastructure-and-plan.md)
* [GCP Infrastructure](/docs/automation-platform/overview-1/use-cases/creating-an-infrastructure-and-plan-for-gcp.md)
* [On-premises Infrastructure](/docs/automation-platform/kubernetes-overview/import-an-external-kubernetes-cluster.md#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.

![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](/docs/automation-platform/overview/aws-services/virtual-private-cloud-vpc-peering.md) 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.

{% 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 ](/docs/automation-platform/application-focused-interface-duplocloud-architecture/plan.md)(with the same Infrastructure name) containing the Infrastructure configuration. The Plan is used to create [Tenants](/docs/automation-platform/overview/use-cases/tenant-environment.md).

<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&amp;token=96def72a-a2c3-4e84-941e-db2540b808a3" alt=""><figcaption><p>The <strong>Plan Details</strong> pane in the DuploCloud Portal</p></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.duplocloud.com/docs/automation-platform/application-focused-interface-duplocloud-architecture/infrastructure.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
