> ## Documentation Index
> Fetch the complete documentation index at: https://docs.porter.run/llms.txt
> Use this file to discover all available pages before exploring further.

# Cloud accounts

> Connect your AWS, GCP, or Azure account to Porter and provision managed Kubernetes clusters, node groups, and networking infrastructure

Porter provisions and manages infrastructure directly in your own cloud account. This gives you full control over your data and resources while Porter handles the complexity of Kubernetes cluster management.

## Supported Cloud Providers

<CardGroup cols={3}>
  <Card title="AWS" icon="aws" href="/cloud-accounts/connecting-a-cloud-account#create-the-iam-role">
    Amazon Web Services
  </Card>

  <Card title="Google Cloud" icon="google" href="/cloud-accounts/connecting-a-cloud-account#enable-required-apis">
    Google Cloud Platform
  </Card>

  <Card title="Azure" icon="microsoft" href="/cloud-accounts/connecting-a-cloud-account#enable-resource-providers">
    Microsoft Azure
  </Card>
</CardGroup>

## Getting Started

Setting up Porter with your cloud account involves three steps:

<Steps>
  <Step title="Connect your cloud account">
    Provide Porter with credentials to access your cloud provider. Porter uses secure methods like IAM role assumption (AWS), service principals (Azure), or service accounts (GCP) to manage resources without storing static credentials.

    [Connect a cloud account →](/cloud-accounts/connecting-a-cloud-account)
  </Step>

  <Step title="Create a cluster">
    Porter provisions a Kubernetes cluster with sensible defaults including networking, load balancers, and node groups. Provisioning takes approximately 30-45 minutes.

    [Create a cluster →](/cloud-accounts/creating-a-cluster)
  </Step>

  <Step title="Deploy your application">
    Once your cluster is ready, deploy applications from GitHub or a container registry.

    [Deploy your first app →](/getting-started/quickstart#step-4-create-your-first-application)
  </Step>
</Steps>

***

## What Porter Provisions

Infrastructure provisioned by Porter includes:

| Component              | AWS                   | Azure               | GCP                 |
| ---------------------- | --------------------- | ------------------- | ------------------- |
| **Virtual Network**    | VPC                   | VNet                | VPC                 |
| **Load Balancer**      | Network Load Balancer | Azure Load Balancer | Cloud Load Balancer |
| **Kubernetes Cluster** | EKS                   | AKS                 | GKE                 |
| **Container Registry** | ECR                   | ACR                 | Artifact Registry   |

### Default Node Groups

Porter provisions three node groups by default:

| Node Group      | Purpose                     | AWS                       | Azure                         | GCP                       |
| --------------- | --------------------------- | ------------------------- | ----------------------------- | ------------------------- |
| **System**      | Kubernetes system workloads | 2× t3.medium              | 2× Standard\_B2s              | 2× e2-medium              |
| **Monitoring**  | Observability stack         | 1× t3.large               | 1× Standard\_B2ms             | 1× e2-standard-2          |
| **Application** | Your workloads              | 1× t3.medium (autoscales) | 1× Standard\_B2s (autoscales) | 1× e2-medium (autoscales) |

<Info>
  On AWS, the application node group uses [cost optimization](/cloud-accounts/node-groups#creating-a-custom-node-group) by default, which automatically selects the most cost-effective instance types for your workloads.
</Info>

The application node group autoscales based on workload demand. All nodes include 50GB of disk storage by default.

<Info>
  You can customize machine types, node counts, and disk sizes after initial provisioning through the [Node Groups](/cloud-accounts/node-groups) settings.
</Info>

***

## FAQ

### How much does the underlying infrastructure cost?

The cost varies based on resource usage. By default, clusters provisioned by Porter cost approximately:

| Provider | Estimated Monthly Cost |
| -------- | ---------------------- |
| AWS      | \~\$201/month          |
| GCP      | \~\$253/month          |
| Azure    | \~\$165/month          |

These estimates are for the default cluster configuration. Actual costs vary based on usage, region, and customizations. **All infrastructure costs can be covered with cloud credits from AWS, Google Cloud, or Azure.**

For a full per-component breakdown, see [Infrastructure pricing](/cloud-accounts/pricing).

### Can I use my existing cloud credits?

Yes. Porter provisions infrastructure directly in your cloud account, so any credits you have with AWS, GCP, or Azure apply to the resources Porter creates.

### What permissions does Porter need?

Porter requires permissions to create and manage Kubernetes clusters, networking resources, and container registries. The setup process varies by provider:

* **AWS**: Automatic setup — Porter guides you through creating a CloudFormation stack that provisions the required IAM role with one click
* **Azure**: Manual setup required — you'll need to create a service principal using our setup script or the Azure CLI
* **GCP**: Manual setup required — you'll need to create a service account and download a JSON key file

For detailed permission requirements and setup instructions, see [Connecting a Cloud Account](/cloud-accounts/connecting-a-cloud-account).

### Can I revoke Porter's access?

Yes. You can revoke Porter's access at any time by deleting the IAM role (AWS), service principal (Azure), or service account (GCP). Note that Porter will no longer be able to manage or delete resources after access is revoked.
