Home

Awesome

AWS VPC Component for Pulumi

This is a project containing components for use with Pulumi, a tool for provisioning cloud infrastructure based on a description written with general purpose programming languages.

This project provides a Pulumi component named Vpc, which can be used to create an AWS VPC based on some of the good practices described by the AWS documentation, posts made by AWS solutions engineers, and the experience of the package author, contributors and reviewers.

For example, address space is assigned in an asymetric manner between public and private subnets, as described in the article Practical VPC Design. VPC Endpoints for S3 and DynamoDB can optionally be configured, and flow logging can be enabled if desired.

The Vpc component is implemented in both Node.js (using TypeScript) and Python 3, with identical functionality and a very similar API between the two languages. Both support Pulumi v2.1.0 and above.

This package does not currently support entirely private VPCs (i.e. those without an internet gateway attached), though it is intended to support such designs in future.

A CHANGELOG is maintained for this project.

Installation

Node.js

$ npm install --save '@jen20/pulumi-aws-vpc'

Python

$ pip3 install 'jen20_pulumi_aws_vpc'

Examples

An example of the usage in a Pulumi program of each component is available:

License

This package is licensed under the Mozilla Public License, v2.0.

Contributing

Please feel free to open issues or pull requests on GitHub!