일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- dfs
- CHECK OPTION
- 다대일
- 힙
- 비관적락
- 즉시로딩
- 스프링 폼
- eager
- 백트래킹
- BOJ
- 데코레이터
- 이진탐색
- 일대다
- 연관관계
- 다대다
- 지연로딩
- PS
- shared lock
- 낙관적락
- execute
- FetchType
- 동적sql
- 연결리스트
- JPQL
- fetch
- 유니크제약조건
- SQL프로그래밍
- querydsl
- 스토어드 프로시저
- exclusive lock
- Today
- Total
흰 스타렉스에서 내가 내리지
Terraform 을 이용하여 VPC 와 Subnet 생성 본문
# Terraform 으로 VPC 생성하기
가장 먼저 해야 하는 것은 ? >> provider 생성하기
vim provider.tf
provider "aws" {
region = "ap-northeast-2"
}
VPC 를 생성할 때는 `aws_vpc` 리소스를 사용하고, 필수적으로 필요한 설정은 cidr_block 이다.
vim vpc.tf
resource "aws_vpc" "main" {
cidr_block = "10.0.0.0/16"
tags = {
Name = "devops-demo-vpc"
}
}
terraform init
terraform plan
terraform apply
AWS 에서 VPC 대시보드로 이동해보면 VPC 리소스가 성공적으로 생성됨을 확인할 수 있다.
그러나 서브넷은 만들어지지 않았다.
서브넷을 만들어보도록 하자.
# Terraform 으로 서브넷 생성하기
Subnet 은 특정 Availability Zone 에 속한 네트워크 그룹으로, VPC 내에서도 나눠진 독립적인 네트워크 구역이다.
Subnet 을 생성할 떄는 `aws_subnet` 이라는 리소스를 사용하면 된다.
필수 설정은 해당 서브넷을 연결할 VPC 의 ID 와 해당 서브넷의 cidr block 이다.
서브넷의 cidr block 은 VPC 의 cidr block 내에 속해 있어야 한다.
- 현재까지 폴더 상태
tf 파일들을 저렇게 다 나눠서 써도 되고, 한 파일에 같이 써도 된다. 상관없다.
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"
}
}
테라폼 코드에서는 참조를 할 수 있기 때문에, vpc id 를 위와 같이 가져올 수 있다.
AZ 는 명시하지 않으면, no preference 로 아무데나 만들어진다.
terraform plan
terraform apply
`terraform state list` 명령어를 실행하여 생성된 리소스들의 리스트를 볼 수 있다.
terraform state list
AWS 의 VPC 대시보드로 가면 서브넷이 잘 생성되었음을 확인할 수 있다.
나는 ~~-subnet-1 을 public subnet 으로 하고자 한다.
그러나, route table 에 대한 리소스 정의를 하지 않았기 때문에, default 라우트 테이블이 연결되어 있는 것을 확인할 수 있다.
다음 글에서 이 코드를 그대로 가지고 Internet Gateway 를 생성하고 route table , 그리고 NAT Gateway 까지 같이 생성해보자.
'DevOps' 카테고리의 다른 글
NAT Gateway (0) | 2024.08.06 |
---|---|
Terraform 을 이용하여 AWS IGW, NAT GW 생성 (0) | 2024.08.06 |
AWS VPC 와 관련 개념, 콘솔을 통한 생성 실습 (0) | 2024.08.06 |
테라폼에서 *.tf 파일 설명 (0) | 2024.08.01 |
테라폼 작동원리 그리고 CLI 간단실습 (0) | 2024.08.01 |