배스천 호스트(Bastion Host)
배스천 호스트는 퍼블릭 인터넷에 있는 사용자가 프라이빗 서브넷에 있는 EC2 인스턴스에 접근할 수 있도록 돕는 중요한 역할을 합니다. 이 글에서는 배스천 호스트의 개념과 이를 활용하여 프라이빗 서브넷에 있는 EC2 인스턴스에 접근하는 방법에 대해 알아보겠습니다
배스천 호스트의 역할
프라이빗 서브넷에 있는 EC2 인스턴스는 직접 인터넷에 접근할 수 없습니다. 이를 해결하기 위해 퍼블릭 서브넷에 배스천 호스트라는 특수한 EC2 인스턴스를 설정합니다. 이 배스천 호스트를 통해 프라이빗 서브넷에 있는 EC2 인스턴스에 SSH로 접근할 수 있습니다.
실습
저번포스팅에서 사용했던 ec2인스턴스에 BastionHost라는 이름을 붙이고 사용해 보도록 하겠습니다.
(이전포스팅 참조 https://byban.tistory.com/27)
프라이빗서브넷 ec2도 생성해야 하기 때문에 PrivateInstance라는 ec2생성을 하나 해주겠습니다.
이번인스턴스에는 키페어를 같이 생성해 주겠습니다.
RSA /. pem으로 설정 후 키페어를 하나 같이 생성해 줍니다.
이제 네트워크 설정을 해줍니다.
프라이빗서브넷을 사용하려 하니 PrivateSubnetA를 선택해 주고
PrivateSG라는 보안그룹을 새로 만들어줍니다.
규칙으로 사용자지정 > 보안그룹 > 이전퍼블릭인스턴스에서 사용한 launch-wizard-1을 선택해 줍니다.
2개의 인스턴스가 생성된 것을 확인 가능합니다.
PrivateInstance 인스턴스는 프라이빗 서브넷에 존재하기 때문에 연결할 수 없습니다.
인터넷 게이트웨이 라우팅 테이블을 수정하면 이 서브넷이 공개되기 때문입니다.
그러므로 배스천호스트를 통해 SSH를 사용하겠습니다.
BastionHost콘솔 내부로 이동하겠습니다.
그 후
vi mykey.pem
명령어를 입력해 키를 만들어보겠습니다.
vi에디터에서 인스턴스생성 시 만들었던 pem키의 값(키 메모장으로 연결해서 확인가능)을 넣어주고 저장 후 나와줍니다.
pem키가 생선 된 것을 확인가능합니다.
그 후 pem키의 권한도 수정해고 제대로 수정이 된 것인지 확인해 줍니다.
이상이 없다면 ssh로 접속을 시도해 보겠습니다.
ssh ec2-user@(PrivateInstance퍼블릭ipv4주소) -i mykey.pem
명령어 적용 후 성공적으로 프라이빗인스턴스에 접속한 것을 확인가능합니다.
하지만 ping 명령어가 적용되지 않는 것을 확인가능한데 인터넷으로 나가는 액세스가 설정되어있지 않기 때문입니다.
다음포스팅에서 nat인스턴스를 사용해서 외부와의 통신까지 설정해 보도록 하겠습니다.
이상으로 이번포스팅을 마치겠습니다.
'AWS > VPC' 카테고리의 다른 글
AWS-VPC(Virtual Private Cloud) (0) | 2024.07.25 |
---|---|
VPC-NAT Gateway (2) | 2024.07.24 |
VPC-NAT인스턴스 (0) | 2024.07.24 |