250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 연결리스트
- 일대다
- 연관관계
- 비관적락
- 낙관적락
- fetch
- 지연로딩
- CHECK OPTION
- 유니크제약조건
- SQL프로그래밍
- 이진탐색
- 동적sql
- dfs
- JPQL
- execute
- FetchType
- eager
- querydsl
- PS
- 스토어드 프로시저
- shared lock
- exclusive lock
- 다대다
- 백트래킹
- 힙
- 다대일
- 데코레이터
- BOJ
- 스프링 폼
- 즉시로딩
Archives
- Today
- Total
흰 스타렉스에서 내가 내리지
Terraform 을 이용하여 Route Table 생성 본문
728x90
Route Table 은 라우팅 규칙의 집합이다.
Route Table 은 여러 서브넷에서 동시에 사용할 수 있으며, 이렇게 연결하는 작업은 Association 이라고 한다.
Route Table 은 `aws_route_table` 리소스를 생성하면 되고, 서브넷과 연결할 때는 `aws_route_table_assocation` 을 사용하면 된다.
vim vpc.tf
다음은 이전 글까지에서 작성한 기존의 코드
resource "aws_vpc" "main" {
cidr_block = "10.0.0.0/16"
tags = {
Name = "devops-demo-vpc"
}
}
resource "aws_subnet" "public_subnet" {
vpc_id = aws_vpc.main.id
cidr_block = "10.0.1.0/24"
availability_zone = "ap-northeast-2a"
tags = {
Name = "devops-demo-subnet-1"
}
}
resource "aws_subnet" "private_subnet" {
vpc_id = aws_vpc.main.id
cidr_block = "10.0.2.0/24"
availability_zone = "ap-northeast-2c"
tags = {
Name = "devops-demo-subnet-2"
}
}
resource "aws_internet_gateway" "igw" {
vpc_id = aws_vpc.main.id
tags = {
Name = "devops-demo-igw"
}
}
resource "aws_eip" "nat" {
vpc = true
lifecycle {
create_before_destroy = true
}
}
resource "aws_nat_gateway" "nat_gateway" {
allocation_id = aws_eip.nat.id
subnet_id = aws_subnet.public_subnet.id
tags = {
Name = "devops-demo-nat-gw"
}
}
# Route Table 생성하기
다음은 새로 추가할 코드이다.
resource "aws_route_table" "public" {
vpc_id = aws_vpc.main.id
tags = {
Name = "devops-demo-rt-public"
}
}
resource "aws_route_table" "private" {
vpc_id = aws_vpc.main.id
tags = {
Name = "devops-demo-rt-private"
}
}
terraform plan
terraform apply
VPC 대시보드로 가보면 2개의 라우트 테이블이 생성된 것을 확인할 수 있다.
그리고 이제 Assocation 을 해줘야 한다. (route table 을 서브넷에 연결해줘야 한다.)
vpc.tf 에 이어서 추가해준다.
resource "aws_route_table_association" "route_table_association_public" {
subnet_id = aws_subnet.public_subnet.id
route_table_id = aws_route_table.public.id
}
resource "aws_route_table_association" "route_table_association_private" {
subnet_id = aws_subnet.private_subnet.id
route_table_id = aws_route_table.private.id
}
# 지금까지 vpc.tf 전체
resource "aws_vpc" "main" {
cidr_block = "10.0.0.0/16"
tags = {
Name = "devops-demo-vpc"
}
}
resource "aws_subnet" "public_subnet" {
vpc_id = aws_vpc.main.id
cidr_block = "10.0.1.0/24"
availability_zone = "ap-northeast-2a"
tags = {
Name = "devops-demo-subnet-1"
cidr_block = "10.0.2.0/24"
resource "aws_vpc" "main" {
cidr_block = "10.0.0.0/16"
tags = {
tags = {
Name = "devops-demo-subnet-2"
}
}
resource "aws_internet_gateway" "igw" {
vpc_id = aws_vpc.main.id
tags = {
Name = "devops-demo-igw"
}
}
resource "aws_eip" "nat" {
vpc = true
lifecycle {
create_before_destroy = true
}
}
resource "aws_nat_gateway" "nat_gateway" {
allocation_id = aws_eip.nat.id
subnet_id = aws_subnet.public_subnet.id
tags = {
Name = "devops-demo-nat-gw"
}
}
resource "aws_route_table" "public" {
vpc_id = aws_vpc.main.id
tags = {
Name = "devops-demo-rt-public"
}
}
resource "aws_route_table" "private" {
vpc_id = aws_vpc.main.id
tags = {
Name = "devops-demo-rt-private"
}
}
resource "aws_route_table_association" "route_table_association_public" {
subnet_id = aws_subnet.public_subnet.id
route_table_id = aws_route_table.public.id
}
resource "aws_route_table_association" "route_table_association_private" {
subnet_id = aws_subnet.private_subnet.id
route_table_id = aws_route_table.private.id
}
terraform plan
2개의 Association 이 생길것이라고 한다.
terraform apply
Association 이 잘 되었을 것이다.
마지막으로, route table 에 rule 만 제대로 설정해주면 된다.
# Route Table 에 규칙 생성하기
https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/route_table
방법 1. route table 을 생성할 때, route 규칙을 ingress 로
'DevOps' 카테고리의 다른 글
ALB 보다 NLB 가 더 높은 처리량과 짧은 레이턴시를 가지는 이유 (0) | 2024.08.22 |
---|---|
ALB 와 NLB (0) | 2024.08.22 |
NAT Gateway (0) | 2024.08.06 |
Terraform 을 이용하여 AWS IGW, NAT GW 생성 (0) | 2024.08.06 |
Terraform 을 이용하여 VPC 와 Subnet 생성 (0) | 2024.08.06 |