EC2를 private에 만들기 실습

도은호·2025년 9월 24일

terraform

목록 보기
26/32


➡️client가 EC2에 접속하기 위해서는 bastion이 필요

파일 구성

전체 파일

이 글에서 필요한 파일

web의 main.tf

// 단일 WEB Server 구축
resource "aws_instance" "user07-web" {
  ami                         = "ami-077ad873396d76f6a"
  instance_type               = "t2.micro"
  subnet_id                   = element(var.private_subnet_id, 0) // var.public_subnet_id[0]
  vpc_security_group_ids      = ["sg-0a4f09cf8c97f44c6", "sg-02d13d8232dcc4e1a", "sg-0fbc6a1d458a72bf9"]
  key_name                    = "user07-key"
// Public IP 비활성화
  tags = {
    Name = "user07-web"
  }
}

bastion의 output.tf

output "user07-public-ip" {
  value = aws_instance.user07-bastion.public_ip
}

bastion의 main.tf

// Bastion Server 구축
resource "aws_instance" "user07-bastion" {
  ami                         = "ami-077ad873396d76f6a"
  instance_type               = "t2.micro"
  subnet_id                   = element(var.public_subnet_id, 0) // var.public_subnet_id[0]
  vpc_security_group_ids      = ["sg-0a4f09cf8c97f44c6"] // ssh-accept
  key_name                    = "user07-key"
// Public IP 활성화
  associate_public_ip_address = true
  tags = {
    Name = "user07-bastion"
  }
}

bastion init하고 apply하기

web init하고 apply하기

인스턴스 생성 확인

접속을 위한 config파일 수정

Host docker
    HostName 192.168.56.10
    User ubuntu
    IdentityFile E:\VM\keys\docker-key
Host github.com
    IdentityFile ~/.ssh/id_ed25519
    User git
Host bastion
    Hostname 54.180.127.8
    IdentityFile E:\VM\keys\user07-key.pem
    User ec2-user
Host web
    Hostname 10.7.66.94
    IdentityFile E:\VM\keys\user07-key.pem
    User ec2-user
    ProxyCommand ssh.exe bastion -W %h:%p

➡️아래 두개 단락 추가하고 저장

ssh bastion으로 접속해보기


에러나서 실습은 여기에서 마침

destroy

➡️만든 순서 역순으로 destroy하기

profile
`•.¸¸.•´´¯`••._.• 🎀 𝒸𝓇𝒶𝓏𝓎 𝓅𝓈𝓎𝒸𝒽💞𝓅𝒶𝓉𝒽 🎀 •._.••`¯´´•.¸¸.•`

0개의 댓글