과제의 목표
스냅샷 복원을 이용하여 RDS를 구축 하는 것이다.
resource "aws_db_instance" "rds" {
// DB 인스턴스 설정
engine = "oracle-se2"
license_model = "license-included"
identifier = "tokyo-stg-rds-gh"
//복원 할 스냅샷 지정
snapshot_identifier = "tokyo-stg-rds-gh-1234"
//인스턴스 구성
instance_class = "db.r5.large"
//스토리지
storage_type = "gp2"
allocated_storage = 1712
storage_encrypted = true
max_allocated_storage = 0
//multi_az
multi_az = false
//서브넷과 연결
db_subnet_group_name = "private-rds-subnets"
vpc_security_group_ids = [
data.aws_security_group.office_oracle.id,
aws_security_group.rds_sg.id
]
//추가 구성
parameter_group_name = "oracle-se2-19-kst"
option_group_name = "rds-gh-ora-se2-19-opt-grp"
}
위의 코드에서 가장 중요한 포인트는 snapshot_identifier이다.
왜냐하면
과제의 키 포인트는 스냅샷을 만드는게 아닌,
이미 만들어진 스냅샷을 활용해 rds를 복원하는 것이기 때문이다.
만약, 우리의 목표가 스냅샷 tokyo-stg-rds-gh-1234로 만들어라 했다면
//복원 할 스냅샷 지정
snapshot_identifier = "tokyo-stg-rds-gh-1234"
위의 코드를 지우고 아래와 같은 코드를 추가해야 한다.
resource "aws_db_snapshot" "rds_snapshot-gh" {
db_instance_identifier = aws_db_instance.bar.identifier
db_snapshot_identifier = "tokyo-stg-rds-gh-1234"
}
'DevOps > Terraform' 카테고리의 다른 글
[Terraform] ALB (Security Group, Subnet) (1) | 2024.10.14 |
---|---|
[Terraform] backend.tf 예시 및 Module, Data (0) | 2024.10.11 |
[Terraform] 다양한 이름 설정 (2) | 2024.09.30 |
[Terraform] Variable 및 Output 이해하기 (1) | 2024.09.27 |
[Terraform] Terraform 기초 지식 (3) | 2024.09.24 |