Pulumi Crosswalk for AWS

Pulumi Crosswalk for AWS is a collection of libraries that use automatic well-architected best practices to make common infrastructure-as-code tasks in AWS easier and more secure.


Pulumi Crosswalk for AWS supports “day one” tasks, such as creating your initial container-based workloads using Amazon Elastic Container Service (ECS)—including Fargate or Kubernetes (EKS)—and creating serverless workloads using Amazon API Gateway and AWS Lambda. Secure and cost-conscious defaults are chosen so that simple programs automatically use best practices for the underlying infrastructure, enabling better productivity with confidence.

Pulumi Crosswalk for AWS also supports “day two and beyond” tasks, such as scaling your workload, securing and integrating it with your existing infrastructure, or going to production in multiple complex environments. This includes Amazon Virtual Private Cloud (VPC) for network isolation, AWS Auto Scaling for dynamic scaling, Amazon CloudWatch for monitoring, alarms, and dashboards, and AWS Identity and Access Management (IAM) for securing your infrastructure.

For example, this program builds and publishes a Dockerized application to a private Elastic Container Registry (ECR), spins up an ECS Fargate cluster, and runs a scalable, load balanced service, all in response to a single pulumi up command line invocation:

import * as awsx from "@pulumi/awsx";

// Create a load balancer on port 80 and spin up two instances of Nginx.
const lb = new awsx.lb.ApplicationListener("nginx", { port: 80 });
const nginx = new awsx.ecs.FargateService("nginx", {
    taskDefinitionArgs: {
        containers: {
            nginx: {
                image: "nginx",
                portMappings: [ lb ],
    desiredCount: 2,

// Export the load balancer's address so that it's easy to access.
export const url = lb.endpoint.hostname;

This example uses the default VPC and reasonable security defaults, but supports easy customization of all aspects.

Getting Started

To get started with Pulumi Crosswalk for AWS, download and install Pulumi, and configure it to work with your AWS account. Afterwards, try the Getting Started tutorial or select one of the relevant User Guides to get started:




Core Infrastructure

Continuous Deployment

Other AWS Services

Pulumi supports the entirety of the AWS platform. If your favorite service isn’t listed above, check out:

Frequently Asked Questions (FAQ)

What Clouds Does Pulumi Crosswalk Support?

Pulumi Crosswalk supports AWS only at the moment. Support for additional clouds is on the roadmap (Azure, GCP, and Kubernetes).

What Languages are Supported?

Pulumi Crosswalk for AWS is currently supported only in Node.js (JavaScript or TypeScript) languages. Support for other languages, including Python, is on the future roadmap.

What Packages Define Pulumi Crosswalk for AWS?

Because Pulumi Crosswalk for AWS is a broader “brand” for our framework spanning multiple packages, there isn’t a single package that contains everything. The @pulumi/aws, @pulumi/awsx, and @pulumi/eks packages each has an important role to play.

Is Pulumi Crosswalk for AWS Free to Use?

Yes, Pulumi Crosswalk for AWS is completely open source and free to use, along with the Community Edition of Pulumi. Pulumi’s commercial offerings already fully support Pulumi Crosswalk for AWS.

If you would like to contribute to the packages, please see the relevant repo on GitHub: pulumi/pulumi-aws, pulumi/pulumi-awsx, or pulumi/eks. Issues and Pull Requests are welcome!

If I’m an Existing User, What Has Changed?

The primary change is new functionality added to the above packages, and the availability of these User Guides. Pulumi Crosswalk for AWS continues to work with the standard Pulumi CLI and Pulumi Service. If you already use the free Community Edition, or paid Team or Enterprise Edition, you can continue to do so now with Pulumi Crosswalk for AWS functionality.

Is Support or Training Available for Pulumi Crosswalk for AWS?

Yes! Please fill out this form and a Pulumi team member will be in touch.