---
title: AWS
url: /docs/iac/get-started/aws/
---
**Infrastructure as code (IaC)** lets you deploy, change, and manage infrastructure safely, consistently,
and repeatably using code rather than a graphical user interface.

Complete this step-by-step tutorial to deploy an AWS S3 bucket-based website using IaC.

## Before you begin

First, choose your language and ensure you've performed any prerequisites:

<!-- chooser: language -->
<!-- option: typescript -->

* An [AWS account](https://aws.amazon.com/free)
* [Node.js](https://nodejs.org/en/download) and [npm](https://www.npmjs.com/package/npm) installed locally

<!-- /option -->

<!-- option: python -->

* An [AWS account](https://aws.amazon.com/free)
* [Python](https://www.python.org/downloads/) and [pip](https://pip.pypa.io/en/stable/installation/), [Poetry](https://python-poetry.org/docs/) or [uv](https://docs.astral.sh/uv/getting-started/installation/) installed locally

<!-- /option -->

<!-- option: go -->

* An [AWS account](https://aws.amazon.com/free)
* [Go](https://go.dev/doc/install) installed locally

<!-- /option -->

<!-- option: csharp -->

* An [AWS account](https://aws.amazon.com/free)
* [.NET](https://dotnet.microsoft.com/en-us/download/dotnet) installed locally

<!-- /option -->

<!-- option: java -->

* An [AWS account](https://aws.amazon.com/free)
* [Java 11+](https://www.oracle.com/java/technologies/downloads/) and [Maven 3.6.1+](https://maven.apache.org/install.html) installed locally

<!-- /option -->

<!-- option: yaml -->

* [An AWS account](https://aws.amazon.com/free)

<!-- /option -->
<!-- /chooser -->

---
[I'm ready to begin →](/docs/iac/get-started/aws/begin/)

