Skip to content

This CDK code creates an AWS Transit Gateway in a Central Account and using AWS Resource Access Manager (RAM), a resource share is created to share the Transit Gateway with other AWS account with in the same AWS Organisation. The code also performs a Transit Gateway VPC attachment with an already existing VPC in the Central Account.

License

Notifications You must be signed in to change notification settings

aws-samples/transitgateway-ram-share

Using AWS RAM to share AWS Transit Gateway with AWS CDK Python

Overview

This CDK code creates an AWS Transit Gateway in a Central Account and using AWS Resource Access Manager (RAM), a resource share is created to share the Transit Gateway with other AWS account with in the same AWS Organisation that the Central account is also part of. The code also performs a Transit Gateway VPC attachment with an already existing VPC in the Central Account.

Note: Ensure you read the comments added in the code for better understanding. There are certain values that needs to be replaced before testing it out.

The cdk.json file tells the CDK Toolkit how to execute your app.

This project is set up like a standard Python project. The initialization process also creates a virtualenv within this project, stored under the .venv directory. To create the virtualenv it assumes that there is a python3 (or python for Windows) executable in your path with access to the venv package. If for any reason the automatic creation of the virtualenv fails, you can create the virtualenv manually.

To manually create a virtualenv on MacOS and Linux:

$ python3 -m venv .venv

After the init process completes and the virtualenv is created, you can use the following step to activate your virtualenv.

$ source .venv/bin/activate

If you are a Windows platform, you would activate the virtualenv like this:

% .venv\Scripts\activate.bat

Once the virtualenv is activated, you can install the required dependencies.

$ pip install -r requirements.txt

At this point you can now synthesize the CloudFormation template for this code.

$ cdk synth

To add additional dependencies, for example other CDK libraries, just add them to your setup.py file and rerun the pip install -r requirements.txt command.

Useful commands

  • cdk ls list all stacks in the app
  • cdk synth emits the synthesized CloudFormation template
  • cdk deploy deploy this stack to your default AWS account/region
  • cdk diff compare deployed stack with current state
  • cdk docs open CDK documentation

Enjoy!

About

This CDK code creates an AWS Transit Gateway in a Central Account and using AWS Resource Access Manager (RAM), a resource share is created to share the Transit Gateway with other AWS account with in the same AWS Organisation. The code also performs a Transit Gateway VPC attachment with an already existing VPC in the Central Account.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published