-
[AWS] BastionHost로 SSH터널링 : private subnet내의 EC2에 접속하기 / mobaXterm클라우드/AWS 2023. 3. 14. 18:25
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
반응형'클라우드 > AWS' 카테고리의 다른 글
AWS - EC2에 EBS attach / mount / umount (0) 2023.03.16 AWS root 비밀번호 변경 / 알아내기 (0) 2023.03.16 [AWS] EC2 인스턴스 스펙업 / 유형변경하기 (0) 2023.03.15 AWS 아키텍쳐 그리기 - 공식문서 (0) 2023.03.14 EC2, RDS, DMS 따라하기 (0) 2023.03.07