[AWS] BastionHost로 SSH터널링 : private subnet내의 EC2에 접속하기 / mobaXterm
0. 아키텍쳐
Private Subnet에 있는 EC2에 접근하기 위한 방법으로는 VPN과 Bastion host를 사용하는 방법이 있는데, Bastion host를 사용하는것이 비용적으로 저렴하다. 내가 만들려고하는 Private EC2는 VPN접근이 필요없는 편이기도 해서 이렇게 테스트를 해봤다.
*내가 실제로 사용할 WebServer의 EC2외로 Bastion host로 사용하기 위한 인스턴스가 따로 존재해야한다.
Bastion 은 중세시대 성 외곽을 보호하는 돌출된 부분을 가리킨다. 즉, 뭔가를 방어한다는 뜻인데 Bastion은 private subnet내의 인스턴스를 접근하기 위한 도구로 보면된다. 배스쳔 호스트는 Public IP를 가진 게이트웨이이자 방화벽이라고 보면된다. 이 인스턴스에 인가되지 않은 ip는 내부로 접속할 수 없다.
1. VPC 생성
- bastion-test-vpc
생성한 리소스 : VPC등
이름태그 : bastion-test
IPv4 CIDR : 10.0.0.0/16
가용영역 수 : 1
퍼블릭서브넷 수 : 1
프라이빗 서브넷 수 : 1
완성된 Resource map
2. 보안그룹 2개 생성
콘솔 VPC메뉴 왼쪽에 > 보안 > 보안그룹
- 보안그룹 이름 : BT-bastion-sg
- 설명(기입 안하면 안넘어감) : BT-bastion-sg
- VPC : 위에서 생성한 VPC 선택
- 인바운드 규칙 :
- 유형 : SSH
- 소스 : Anywhere-IPv4
- (사실 내 IP로 해야하는데 배스쳔호스트 작동 맛보기를 위한거라 좀 더 쉬운 버전으로 테스트해봤다)
- 보안그룹 이름 : BT-private-sg
- 설명(기입 안하면 안넘어감) : BT-private-sg
- VPC : 위에서 생성한 VPC 선택
- 인바운드 규칙 :
- 유형 : SSH
- 소스 : 위 BT-bastion-sg의 보안그룹ID 기입
3. 인스턴스 2개 생성
- 이름 : B-bastion (배스쳔서버)
- AMI : Amazon Linux 2 AMI (HVM) - Kernel 5.10, SSD Volume Type (기본)
- 인스턴스 유형 : t2.micro
- 키페어 - 없으면 생성
- 키페어 없으면 SSH 접속 안됨!! pem으로 생성하고 필요한 경우 putty-gen을 통해 ppk형으로 바꾸길
- 네트워크 설정 :
- 위에서 만든 vpc 선택
- 서브넷은 그 아래 public으로 선택
- 퍼블릭 IP 자동 할당 활성화
- 방화벽 : 기존 보안그룹 선택 - 위에서 만든 보안그룹 중 public에 해당하는 BT-bastion-sg 선택
- 스토리지: 기본 설정
- 이름 : B-private (웹서버)
- AMI : Amazon Linux 2 AMI (HVM) - Kernel 5.10, SSD Volume Type (기본)
- 인스턴스 유형 : t2.micro
- 키페어 - 없으면 생성
- 키페어 없으면 SSH 접속 안됨!! pem으로 생성하고 필요한 경우 putty-gen을 통해 ppk형으로 바꾸길
- 네트워크 설정 :
- 위에서 만든 vpc 선택
- 서브넷은 그 아래 private으로 선택
- 퍼블릭 IP 자동 할당 비활성화
- 방화벽 : 기존 보안그룹 선택 - 위에서 만든 보안그룹 중 private에 해당하는 BT-bastion-sg 선택
- 스토리지: 기본 설정
이렇게 생성하면 B-bastion에게는 퍼블릭 IPv4주소가 주어지는 걸 확인할 수 있다.
우리가 궁극적으로 접속하고 싶은건 B-private 인스턴스기 때문에 B-bastion의 IPv4는 하나의 접속을 위한 도구다.
4. 접속
준비물 : mobaXterm
접속성공 !
접속한 웹서버에서 아파치 설정하는 건 다음 포스트로!
참고 )
https://crystal-studyroom.tistory.com/2
Bastion host on AWS
Bastion host는 내부 네트워크와 외부 네트워크 사이의 게이트웨이라고 볼 수 있습니다. 내부 네트워크에 직접 접속하는 것을 방지하기 위해 내부 네트워크의 앞단에 위치하여 보안을 조금 더 강화
crystal-studyroom.tistory.com
https://neocan.tistory.com/363
AWS 네트워크 #06 - bastion host를 통한 private ec2 접속
지난 이야기 AWS 네트워크 #01 - VPC AWS 네트워크 #02 - Subnet AWS 네트워크 #03 - ROUTE TABLE, NAT GATEWAY AWS 네트워크 #04 - Security Group AWS 네트워크 #05 - EC2 생성 (Batstion host, private ec2) bastion host 접속 및 ssh 터
neocan.tistory.com