> For the complete documentation index, see [llms.txt](https://docs.release.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.release.com/integrations/integrations-overview/aws-integration.md).

# Cloud integrations (AWS)

Release integrates with your favorite cloud provider(s)! This is the first step in building out a self-hosted cluster in the cloud provider account of your choice.

To set up a Kubernetes (EKS) cluster in your AWS account using Release, you first need to create an integration between Release and your AWS account.

Navigate to **Configuration**. Select the **Cloud Integrations** button and click the **Create Cloud Integration** button.

![Create a new cloud provider integration](https://585411240-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M1neGLLQ0sDXeK6ooSo%2Fuploads%2Fgit-blob-7c29cc1c73c8eed8a700ab0caf9fd34d3fec875f%2Fcreate-new-integration.png?alt=media)

![Create a new cloud provider integration](https://585411240-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M1neGLLQ0sDXeK6ooSo%2Fuploads%2Fgit-blob-0bd0f9a0e2fb8be66317675bf97d2558ec45836a%2Fcreate-form-aws.png?alt=media)

* Select "Amazon" under "Cloud Integration Provider".
* Choose a name for your integration (something like "Production" or "Preproduction", depending on what you are going to run in this cloud account).
* Press **Create Cloud Integration**.

This will create a new integration under your **Cloud Integrations** tab. Note that this is just a placeholder integration when you first create it as you haven't yet authenticated with AWS.

### Setting up your AWS account

Once you've created the integration, you can authenticate your AWS account by navigating to the integration and pressing the **Launch Stack** button. This will create the required IAM role in your AWS account to allow Release to carry out actions on your behalf in AWS. Note that this is just an integration stack and it will not yet create a cluster or set up any compute resources in your AWS account.

![Launch a new AWS Cloudformation Stack](https://585411240-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M1neGLLQ0sDXeK6ooSo%2Fuploads%2Fgit-blob-850726751fc13e837fa65858d750cbc7de4bde63%2Faws-integration-launch-stack.png?alt=media\&token=646d1e95-2d95-445d-a4b5-493d406bc370)

In a new window, you'll be prompted to sign into your AWS account to complete the integration. You should use an account with sufficient privileges to create new IAM roles, create and destroy Route 53 records, create and destroy EKS clusters and associated resources, and manage any other AWS services you wish to use with Release.

{% hint style="info" %}
We recommend you use AWS Organizations to create a sub-account to deploy your AWS resources into. This ensures a safe boundary between Release clusters and infrastructure and any other application infrastructure you may be testing or using, especially in development or test environments. This may align with your company policies on auditing, billing, and business units. Using an isolated sub account can also prevent any unintended consequences in your production or mission-critical accounts. Feel free to ask us any questions or concerns you may have about account permissions and boundaries.
{% endhint %}

{% hint style="warning" %}
Many customers deploy Release clusters into their production accounts to run their production workloads. The above recommendation for using an isolated sub account still applies if this is your first time integrating with Release. We recommend a "crawl-walk-run" iterative approach when approaching large problems.
{% endhint %}

Please make sure you use the correct account where Release will deploy your cluster (for example, preproduction clusters should be created in your "development" or "staging" AWS account, not in your "production" account).

![Create AWS Stack](https://585411240-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M1neGLLQ0sDXeK6ooSo%2Fuploads%2Fgit-blob-1d835245179b3c2c60e7423520566b7cc52d3a2b%2Faws-integration-aws-create-stack.png?alt=media\&token=90355067-5df8-47cc-a8ed-8e9e33b82a51)

{% hint style="warning" %}
Most users will not change or alter the parameters. In particular, the AccountID, ExternalID, and Integration URL are set by Release and should not be edited. The Permissions Boundary ARN is explained in [AWS Permissions Boundaries](/integrations/integrations-overview/aws-integration/how-to-use-the-permissions-boundary-to-restrict-release-access.md). You should not add a Permissions Boundary unless you have talked with Release first to verify the permissions restrictions will not break anything. If this is your first time running the AWS integration, you should not add a permissions boundary until after your cluster(s) have been created.
{% endhint %}

Within 2-3 minutes, the stack should appear in the integration page. You can use the refresh button on the right to view the status of each component of the integration stack, and the refresh button on the left to view the overall status of the stack.

![A successful cloudformation integration run finished](https://585411240-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M1neGLLQ0sDXeK6ooSo%2Fuploads%2Fgit-blob-8e841621e1b590e14ce91e2fd71196fc096864bf%2Faws-integration-create-complete.png?alt=media\&token=2e57b323-1e45-4a97-8975-058907cab76e)

Once the stack status is "Complete", you can navigate back to your Release account.

Under "Cloud Provider Integration Info" on the **Cloud Integrations** tab, you should now see your AWS account ID, as in the image below. This indicates that Release has successfully pulled information from your AWS account and the integration is up and running.

![A successful cloudformation integration run finished](https://585411240-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M1neGLLQ0sDXeK6ooSo%2Fuploads%2Fgit-blob-14abf09e3b59fadffb2da7186b9efe9a80bb09af%2Fview-aws-id.png?alt=media)


---

# 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.release.com/integrations/integrations-overview/aws-integration.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.
