EC2, SG 구성하기

resource "aws_security_group" "security_group" {
  name   = "${var.key_name}-Security-Group"
  vpc_id = data.aws_vpc.default_vpc.id # 어느 vpc에 속할지

  ingress { # 인바운드 규칙
    from_port   = 22
    protocol    = "tcp"
    to_port     = 22
    cidr_blocks = ["0.0.0.0/0"] # AnyWhere Ipv4
  }

  ingress {
    from_port   = 8080
    protocol    = "tcp"
    to_port     = 8080
    cidr_blocks = ["0.0.0.0/0"]
  }

  egress { # 아웃바운드 규칙
    from_port        = 0
    to_port          = 0
    protocol         = "-1"
    cidr_blocks      = ["0.0.0.0/0"] # 모든 트래픽 허용
    ipv6_cidr_blocks = ["::/0"] # 모든 트래픽 허용
  }
}
resource "aws_instance" "ec2" {
  ami           = var.ami # ami(Amazon Machine Image) 설정
  instance_type = var.instance_type # 인스턴스 유형

  security_groups             = [aws_security_group.security_group.id] # 어느 보안 그룹 쓸건지
  associate_public_ip_address = true # 퍼블릭 ip 할당
  subnet_id                   = var.subnet_id # 어느 subnet에 들어갈건지

  tags = {
    Name = "${var.key_name}-Server"
  }
}

# pem key 등 받아서 output으로 뽑아주는 코드 필요