Terraform

Terraform _ Route-table , association

우당탕탕인생기 2023. 9. 20. 16:51

Terraform_ route table

 

이번에는 사전에 만든 서브넷을 라우팅하고 nat와 ig 을 라우팅하는 법을 작성해보도록 하겠다.

 

 


public - route association

우선, 퍼블릭 라우트와 프라이빗 라우트를 만들어줘야 한다.

 

사용리소스는 aws_route_table_association 이다.

퍼블릭 라우트에는 퍼블릭 서브넷 두개를 연결해준다.

## my public- route
resource "aws_route_table_association" "test-public-subnet-a_association"{
    subnet_id = aws_subnet.test-public-subnet-a.id
    route_table_id = aws_route_table.my-public-route.id
}

resource "aws_route_table_association" "test-public-subnet-c_association"{
    subnet_id = aws_subnet.test-public-subnet-c.id
    route_table_id = aws_route_table.my-public-route.id
}

private- route association

 

프라이빗 라우트에는 프라이빗 서브넷 4개를 연결해준다.

# my private route

resource "aws_route_table_association" "test-private-subnet-app-a_association"{
    subnet_id = aws_subnet.test-private-subnet-app-a.id
    route_table_id = aws_route_table.my-private-route.id
}

resource "aws_route_table_association" "test-private-subnet-app-c_association"{
    subnet_id = aws_subnet.test-private-subnet-app-c.id
    route_table_id = aws_route_table.my-private-route.id
}

resource "aws_route_table_association" "test-private-subnet-db-a_association"{
    subnet_id = aws_subnet.test-private-subnet-db-a.id
    route_table_id = aws_route_table.my-private-route.id
}

resource "aws_route_table_association" "test-private-subnet-db-c_association"{
    subnet_id = aws_subnet.test-private-subnet-db-c.id
    route_table_id = aws_route_table.my-private-route.id
}

public route

사용 리소스는 aws_route_table 이다.

public 라우트의 경우 외부와 통신이 가능해야 하기때문에, 모든 internet-gateway을 라우팅해야 한다.

# create public route table
resource "aws_route_table" "my-public-route"{
    vpc_id = aws_vpc.sjb_vpc.id
    route {
        cidr_block = "0.0.0.0/0"
        gateway_id = aws_internet_gateway.test-ig.id
    }
    tags = {
        Name = "my-public-route"
    }
}

 

private route

 

private ec2도 통신을 하기 위해서는 내부에서 외부로 향할 수 있도록 nat 게이트 웨이를 라우팅 해야 한다.

resource "aws_route_table" "my-private-route"{
    vpc_id = aws_vpc.test_vpc.id
    route {
        cidr_block = "0.0.0.0/0"
        gateway_id = aws_nat_gateway.test-net.id
    }
}

 

 

'Terraform' 카테고리의 다른 글

Terraform_ EC2 instance 생성  (0) 2023.09.22
Terraform_ 보안그룹에서 내 IP 설정하는 법  (2) 2023.09.21
Terraform_ Security-group  (0) 2023.09.21
Terraform_aws gateway(internet,nat)  (0) 2023.09.19
Terraform_ aws vpc , subnet 설정  (0) 2023.09.19