안녕하세요! 하씨가문의
영광입니다! 지난주
Terraform AWS EC2까지 다루었는데요! 이번에는 AWS의 DB를 다뤄보도록
하겠습니다:)Don't have a good day, Have a great
day!
▶ 목차
aws_db_subnet_group
aws_db_instance
aws_db_security_group
aws_db_parameter_group
1. aws_db_subnet_group
resource "aws_db_subnet_group" "default" {
name = "main"
subnet_ids = [aws_subnet.frontend.id, aws_subnet.backend.id]
tags = {
Name = "My DB subnet group"
}
}
필수
설명
옵션
설명
name
DB 서브넷 그룹의 이름입니다.
name_prefix
이름에 붙일 접두사로 고유한 이름을 지정합니다.
subnet_ids
VPC 서브넷를 지정할 ID
목록입니다.
description
DB 서브넷 그룹에 대한 설명입니다.
tags
리소스에 할당할 태그입니다.
2. aws_db_instance
resource "aws_db_instance" "default" {
allocated_storage = 10
db_name = "mydb"
engine = "mysql"
engine_version = "5.7"
instance_class = "db.t3.micro"
username = "foo"
password = "foobarbaz"
parameter_group_name = "default.mysql5.7"
skip_final_snapshot = true
}
자주 사용하는 리소스 기준으로 작성하겠습니다.
필수
설명
옵션
설명
db_name
DB의 이름을 지정합니다.
availability_zone
RDS 인스턴스의 가용용역을 지정합니다.
instace_class
DB 인스턴스 타입을 설정합니다.
backup_window
자동 백업이 생성되는 범위를 지정합니다.
username
DB에 접속할 사용자를 생성합니다.
delete_automated_backups
DB 인스턴스가 삭제된 직후 백업을 제거할지 여부를 지정합니다.
password
DB에 접속하는 사용자의 비밀번호를 지정합니다.
deletion_protection
DB 인스턴스에 삭제 방지 기능 활성화를 선택합니다.
parameter_group_name
DB의 파라미터 그룹을 설정합니다.
multi_az
RDS 인스턴스의 다중 AZ를 선택할지를 지정합니다.
engine
DB의 엔진을 선택합니다.
option_group_name
DB에 연결할 옵션 그룹의 이름입니다.
engine_version
DB의 사용할 엔진 버전을 선택합니다.
port
DB가 연결을 수락하는 포트입니다.
vpc_security_group_ids
DB에 연결할 VPC보안 그룹 목록입니다.
3. aws_db_security_group
resource "aws_db_security_group" "default" {
name = "rds_sg"
ingress {
cidr = "10.0.0.0/24"
}
}
필수
설명
옵션
설명
name
DB 보안 그룹의 이름을 지정합니다.
description
DB 보안 그룹에 대한 설명입니다.
ingress
수신 규칙 목록을 지정합니다.
tags
리소스에 할당할 태그를 지정합니다.
필수
설명
cidr
DB에 설정할 cidr를 지정합니다.
security_group_name
권한을 부여할 보안 그룹의 이름을 지정합니다.
security_group_id
권한을 부여할 보안 그룹의 ID를 지정합니다.
security_group_owner_id
보안 그룹의 소유자 ID를 지정합니다.
4. aws_db_parameter_group
resource "aws_db_parameter_group" "default" {
name = "rds-pg"
family = "mysql5.6"
parameter {
name = "character_set_server"
value = "utf8"
}
parameter {
name = "character_set_client"
value = "utf8"
}
}
필수
설명
옵션
설명
name
DB 파라미터 그룹의 이름을 지정합니다.
name_prefix
지정된 접두사로 시작하는 고유 이름을 지정합니다.
family
DB 파라미터 그룹의 버전을
선택합니다.
parameter
DB에 적용할 매개변수 목록입니다.
tags
리소스에 적용할 태그를 지정합니다.
이렇게 Terraform 기반 AWS DB 리소스들을 알아봤는데요! DB를 구성할 때는
사용자의 기준에 맞게 설정하면 어플리케이션의 구동을 보다 편리하게 다룰 수 있어요! 오늘도 읽어주셔서 감사합니다!
댓글