terraform vpc peering
2021. 6. 6. 02:27ㆍTerraform
테라폼을 활용해서 vpc peering을 해보자
해볼 피어링은 한계의 계정에서 두개의 리전에 vpc 를 만들어 연결해보는 작업을 해볼꺼다.
우선 aws 에 해야한다.
cli 로 로그인을 할려면 aws configure 명령어로 로그인을 해야한다.
로그인을 할줄 모르겠다면 전에 aws 로그인 하는 방법을 적어놓은게 있다.
로그인이 되었으면 vpc 모듈부터 작성해보자.
# ~/test/vpc/main.tf
resource "aws_vpc" "main" { #vpc 모듈 생성
cidr_block = var.vpc_cidr_block #사용할 cidr 블록을 변수로 지정
enable_dns_hostnames = true #DNS호스트네임 활성화
tags = {
Name = var.vpc_name #사용할 이름 변수로 지정
}
}
모듈에는 변수가 들어갔으니 이제 변수파일을 만들어보자
# ~/test/vpc/variables.tf
variable "vpc_cidr_block" { #cidr 블록 변수 지정
type = string
}
variable "vpc_name" { #vpc 이름 변수 지정
type = string
}
모듈 마지막으로 output 파일을 만들어보자.
# ~/test/vpc/output.tf
output "vpc_id" { #vpc 아웃풋 지정
value = aws_vpc.main.id
}
이제 모듈을 만들었으니 vpc 을 만들어보자
여기서 이제 모듈의 편의성이 나온다.
vpc을 만들었기때문에 main.tf파일은 리소스로 만들었을때보다 훨씬 깔끔하게 나온다.
main.tf파일을 만들어보자
terraform { #버전 지정
required_providers {
aws = {
source = "hashicorp/aws"
version = "3.27.0"
}
}
}
provider "aws" { #서울리전 프로바이더 지정
region = "ap-northeast-2"
}
provider "aws" { #싱가폴리전 프로바이더 지정
alias = "singapore" #알리아스로 보기 쉽게 지정해주면 편하다.
region = "ap-southeast-1"
}
module "seoul_vpc" { #서울리전 vpc 생성
source = "./vpc" #사용할 모듈
vpc_cidr_block = "10.1.0.0/16" #서울리전 vpc cidr 지정
vpc_name = "Seoul_vpc" #서울리전 vpc 이름 지정
}
module "singapore_vpc" { #싱가폴리전 vpc 생성
source = "./vpc" #사용할 모듈
vpc_cidr_block = "10.3.0.0/16" #싱가폴리전 vpc cidr 지정
vpc_name = "singapore_vpc" #싱가폴리전 vpc 이름 지정
providers = { #기본 프로바이더가 서울리전으로 되어있어서 타리전에 만들때는 리전을 지정해줘야함(하지만 위에서 알리아스로 지정해줬기때문에 singapore 만 입력하면됨)
aws = aws.singapore
}
}
resource "aws_vpc_peering_connection" "seoul" { #vpc 피어링 생성(요청자)
vpc_id = module.seoul_vpc.vpc_id #peering 요청자 id
peer_region = "ap-southeast-1" #요청 수신측 리전
auto_accept = false #자동수락 (멀티리전에서는 꼭 false 로 해야함)
}
resource "aws_vpc_peering_connection_accepter" "peer_accepter" { #vpc 피어링 생성(수신측)
vpc_peering_connection_id = aws_vpc_peering_connection.seoul.id #요정자 vpc peering id
auto_accept = true #자동수락
provider = aws.singapore #프로바이더(기본프로바이더에서 수신하는게 아님으로 알리아스 해놓을거를 적어야함)
}
이제 이렇게하면 init plan apply 을 해보자
이러면 이제 콘솔에서 잘 만들어진건지 확인을 해보자
서울쪽에서는 활성이라고 뜨는것을 확인할수있다.
싱가폴쪽도 역시 활성이 뜨는것을 확인할수 있다.
모듈을 사용하면 편리하다는것을 느꼇다.
나중에 회사를 가게된다면 회사에서 모듈을 사용해서 인프라를 만들어 놓고 cidr 등이나 이름 등만 바꾸어서 apply할수 있게끔 만들어 놓으면 다른 직원들도 편리하게 할수 있을거같다.
'Terraform' 카테고리의 다른 글
terraform module 사용법(ec2) (0) | 2021.06.02 |
---|---|
terraform module 사용법(route table) (0) | 2021.06.01 |
terraform module 사용법(internet gateway) (0) | 2021.05.31 |
terraform module 사용법(subnet) (0) | 2021.05.30 |
terraform module 사용법(vpc) (1) | 2021.05.29 |