Skip to main content
Porter provisions and manages the underlying infrastructure in your own cloud. During project creation, Porter will prompt you to provision resources in a cloud provider of your choice. Select your cloud provider below for step-by-step provisioning instructions.

Quick Installation

Porter provisions infrastructure in your own AWS account through the AssumeRole operation. Simply put, Porter can assume the role that you create in your own AWS account as long as you declare that you trust Porter to do so. This eliminates the need to rely on static AWS credentials and makes it easier to revoke access for security purposes. Porter creates a CloudFormation to manage this role in your account using 3 simple steps.
The IAM role Porter creates must be kept in your AWS account for Porter to keep managing your infrastructure. Deleting this role will cause Porter to fail and stop managing your infrastructure.
1

Grant permissions

After selecting AWS as your cloud provider you will be prompted to login to your AWS account. Upon successful login you will be prompted to provide the AWS Account ID of the account in which you wish to provision your cluster in. You can find your Account ID at the top right corner of your AWS console. Input your Account ID and click on Grant Permissions.
2

Create CloudFormation stack

You will be directed to your AWS console to create a CloudFormation stack. If this window did not appear, please ensure that your browser has not blocked the pop-up window. This stack will create the role Porter will assume to manage your infrastructure. Scroll to the bottom of the screen. Check the “I acknowledge…” box and click on Create Stack. It may take a few minutes for the role to be fully created. After creation you can proceed to selecting provisioning settings.
If you want to use Porter with less expansive permissions than what is provisioned by the CloudFormation stack, please contact us through the support widget to inquire about Porter Enterprise. Porter Enterprise requires minimum IAM permissions that are smaller in scope.
3

Select region

On the next page, you will be prompted to select the AWS region that you want to provision your infrastructure in. Porter supports all AWS regions.
For guidance on choosing a region, if you have an external database to Porter, we recommend choosing a region close to your database. Otherwise, consider choosing a region near your primary customer base.
4

Handle quota limits

If there are any quota limits on your account imposed by AWS, Porter will request them on your behalf by default. Alternatively, if you wish to manually request quota increases, follow the links prompting you to the AWS dashboard. If you go the manual route, you will not be able to provision your cluster until these quota increase requests have been approved.
5

Provision

Once you click Provision, Porter will start spinning up the requisite infrastructure in your account. This may take up to 30 minutes.

Troubleshooting

If your cluster has been provisioning for more than 45 minutes, there may be an issue. Check the following:
  • Verify that the IAM role still exists in your AWS account and hasn’t been deleted
  • Check your AWS Service Quotas to ensure they were approved
  • Verify that the selected region supports the requested instance types
If issues persist, contact us through the dashboard chat bot with your project ID.
If you encounter permission errors:
  • Verify the CloudFormation stack created successfully and the role exists
  • Ensure the role has not been modified after creation
  • Check that your AWS account has not applied SCPs (Service Control Policies) that restrict Porter’s actions
AWS typically approves quota increases automatically, but some may require manual review:
  • Check the status of quota requests in the AWS Service Quotas console
  • Requests under manual review typically take 24-48 hours
  • If urgent, you can contact AWS support to expedite the review
If the CloudFormation stack fails to create:
  • Ensure you have sufficient permissions in your AWS account to create IAM roles
  • Check that you’re logged into the correct AWS account (the account ID should match)
  • Verify your account is in good standing and billing is enabled

Deleting Provisioned Resources

For Porter to delete your resources, it needs the IAM role that was initially created during provisioning. Please make sure to delete the resources first, and then delete the IAM role after. If you’ve already deleted the IAM role, you will have to delete the resources directly from the AWS console.
To delete resources that have been provisioned by Porter, click on the Infrastructure tab on the sidebar of the dashboard. There you can find the Delete Cluster button.Once the cluster has been deleted, navigate to CloudFormation Stacks in your AWS console to delete the role that was created during initial provisioning. This will revoke Porter’s access to your account. Select the stack named PorterRole and click Delete.
Deleting resources on AWS via Porter may result in dangling resources. After clicking delete, please make sure to check your AWS console to see if all resources have properly been removed. You can remove any dangling resources via either the AWS console or the CLI.
For a guide on how to delete the dangling resources, see Deleting Dangling Resources.

FAQ

How much does the underlying infrastructure cost?

The cost of your infrastructure varies entirely on the amount of resources you use. By default, clusters provisioned by Porter cost around $200 per month. All of the underlying infrastructure cost can be covered with your cloud credits from AWS, Google Cloud, and Azure.

What does Porter-provisioned infrastructure consist of?

Infrastructure provisioned by Porter on AWS includes a VPC, a Network Load Balancer, and an EKS cluster. On GCP and Azure, the architecture is identical with equivalent components on each cloud provider (VPC/VNet, Load Balancer, and managed Kubernetes cluster).

Default Node Group Configuration

By default, Porter provisions three node groups in your cluster:
Node GroupPurposeAWS DefaultAzure DefaultGCP Default
SystemKubernetes system workloads2x t3.medium2x Standard_B2s2x e2-medium
MonitoringObservability stack (metrics, logs)1x t3.large1x Standard_B2ms1x e2-standard-2
ApplicationYour application workloads1x t3.medium (autoscales)1x Standard_B2s (autoscales)1x e2-medium (autoscales)
Application node group details:
  • Initial size: 1 node
  • Autoscaling: Enabled by default
  • Maximum nodes: Scales based on workload demand and configured limits
  • Minimum nodes: 1 node to ensure availability
Disk size: Each node includes 50GB of disk storage by default across all cloud providers.
You can customize machine types, node counts, and disk sizes after initial provisioning through the Infrastructure tab in the Porter dashboard.