• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    미해결

terraform apply 명령 실행 시 EC2 인스턴스도 destroy 되는 문제

22.05.21 03:03 작성 조회수 344

0

안녕하세요.

올려주신 강의를 참고하면서 AWS 인프라를 직접 구축해보고 있습니다.

강의에서는 VPC, IAM 리소스를 다뤘는데 여기에 더 나아가 EC2 리소스도 테라폼으로 작성해보고 있습니다.

지금까지는 퍼블릭 서브넷 안에 한 개의 우분투 서버를 띄워 봤습니다.

그런데 이 인스턴스의 security group에 룰을 추가하는 정도의 간단한 작업도 (aws_security_group 리소스 안에 inline으로 ingress 룰을 추가했습니다)

terraform apply 하면 EC2 인스턴스를 완전히 종료 시켰다가 새로 생성하더라고요.

실제 서비스에서라면 돌아가던 서버가 완전히 날라가는 꼴이 되는 것 같은데 현업에서는 어떤 식으로 이 문제를 처리하나요?

 

ec2.tf:

resource "aws_instance" "ubuntu" {
  # Canonical, Ubuntu, 22.04 LTS, amd64 jammy image build on 2022-04-20
  ami = "ami-063454de5fe8eba79"

  instance_type   = "t2.micro"
  key_name        = aws_key_pair.ec2.key_name
  security_groups = [aws_security_group.ec2_security_group.id]
  subnet_id       = data.terraform_remote_state.vpc.outputs.public_subnet_id

  root_block_device {
    volume_size = 20
  }

  tags = {
    "Name" = "Ubuntu"
  }
}

답변 1

답변을 작성해보세요.

2

안녕하세요

 

테라폼 plan 나올때 -/+ 형태로 나오는건 re-create 입니다.

destroy 이후 create 하는거죠.

 

EC2 가 변경되는 항목중에는 ec2 를 다시 생성해야하는 항목도 그냥 변경만해도 되는 항목이 있습니다.

 

ec2 에 붙히는 SG Rule 만 변경해서는 ec2 는 아무 변경이 없어야 합니다.

해당 항목중에서는 볼륨이 변경되거나 다른건 변경이 없는건지,

terraform plan 할때 나오는 항목을 점검할 필요가 있을 것 같습니다.

 

re-create 되는 상황의 terraform plan 결과를 알려주시면, 저도 같이 도와드리도록 하겠습니다~