1. Answers
  2. What Is An Example Of Code For Creating A Route Table Association For An AWS EC2 Instance In TypeScript

What Is an Example of Code for Creating a Route Table Association for an AWS EC2 Instance in TypeScript

Introduction

In this example, we will create a route table association for an AWS EC2 instance using Pulumi in TypeScript. The key services involved include AWS VPC, Route Table, and EC2 instance.

Step-by-Step Explanation

Step 1: Set up the Pulumi project

  1. Initialize a new Pulumi project if you haven’t already:
    pulumi new aws-typescript
    
  2. Install the necessary Pulumi packages:
    npm install @pulumi/aws
    

Step 2: Create a VPC

  1. Define a new VPC:
    import * as aws from "@pulumi/aws";
    
    const vpc = new aws.ec2.Vpc("my-vpc", {
        cidrBlock: "10.0.0.0/16",
    });
    

Step 3: Create a Subnet

  1. Define a new subnet within the VPC:
    const subnet = new aws.ec2.Subnet("my-subnet", {
        vpcId: vpc.id,
        cidrBlock: "10.0.1.0/24",
    });
    

Step 4: Create a Route Table

  1. Define a new route table for the VPC:
    const routeTable = new aws.ec2.RouteTable("my-route-table", {
        vpcId: vpc.id,
    });
    

Step 5: Associate the Route Table with the Subnet

  1. Create a route table association:
    const routeTableAssociation = new aws.ec2.RouteTableAssociation("my-route-table-association", {
        subnetId: subnet.id,
        routeTableId: routeTable.id,
    });
    

Step 6: Create an EC2 Instance

  1. Define a new EC2 instance within the subnet:
    const ec2Instance = new aws.ec2.Instance("my-instance", {
        ami: "ami-0c55b159cbfafe1f0", // Example AMI ID
        instanceType: "t2.micro",
        subnetId: subnet.id,
    });
    

Summary

In this example, we created a VPC, a subnet within the VPC, a route table, and associated the route table with the subnet. Finally, we launched an EC2 instance within the subnet. This setup ensures that the EC2 instance is correctly associated with the route table, allowing for proper routing of network traffic.

Full Code Example

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

// Create a VPC
const vpc = new aws.ec2.Vpc("my-vpc", {
    cidrBlock: "10.0.0.0/16",
});

// Create a Subnet
const subnet = new aws.ec2.Subnet("my-subnet", {
    vpcId: vpc.id,
    cidrBlock: "10.0.1.0/24",
});

// Create a Route Table
const routeTable = new aws.ec2.RouteTable("my-route-table", {
    vpcId: vpc.id,
});

// Associate the Route Table with the Subnet
const routeTableAssociation = new aws.ec2.RouteTableAssociation("my-route-table-association", {
    subnetId: subnet.id,
    routeTableId: routeTable.id,
});

// Create an EC2 Instance
const ec2Instance = new aws.ec2.Instance("my-instance", {
    ami: "ami-0c55b159cbfafe1f0", // Example AMI ID
    instanceType: "t2.micro",
    subnetId: subnet.id,
});

Deploy this code

Want to deploy this code? Sign up for a free Pulumi account to deploy in a few clicks.

Sign up

New to Pulumi?

Want to deploy this code? Sign up with Pulumi to deploy in a few clicks.

Sign up