본문으로 바로가기

안녕하세요. 메타클라우드 입니다. 😎
패스트캠퍼스 챌린지 07일차 블로그 학습 정리 포스팅입니다.

학습 기록

금번 포스팅은 AWS에서 Bastion Host 대해 알아보고 실습을 진행합니다. 패스트캠퍼스 07일차 수강 인증샷 입니다.

패스트캠퍼스 챌린지 07일차  - 수강 인증샷

1. Bastion Host

- AWS 클라우드 환경에서 EC2 인스턴스에 접속하기 위해서는 반드시 EC2 인스턴스가 공인 IP를 가지고 있어야 외부에서 접근이 가능합니다. 그렇다면 외부에서 접근할 수 없는 Private Subnet에 있는 인스턴스에는 어떻게 접속할까요?

- AWS에서는 Private Subnet에 있는 EC2 인스턴스로 접속하는 방법은 여러가지가 있는데 그중에서 가장 기초적인 방법으로 Bastion Host가 있습니다. 

- Bastion Host란 Public Subnet에 EC2 인스턴스를 만들고 해당 인스턴스를 외부에서 접근한다음 동일한 VPC내의 Private Subnet에 다시 접근하는 방법이 있는데 이때 Public Subnet에서 생성한 EC2 인스턴스를 Bastion Host라고 합니다. 이러한 Bation Host는 가상 프라이빗 클라우드(VPC)의 프라이빗 및 퍼블릭 서브넷에 위치한 인스턴스에 대한 보안 액세스를 제공합니다. 

- 이때 Bastion Host에 접근하도록 허용하는 Security Group의 인바운드룰을 특정한 외부 공인 IP로만 지정하고, Private Subnet의 EC2 인스턴스 Security Group에는 소스를 접근 가능한 Private IP 대역을 지정해 주면 어느정도 기본적인 네트워크 접근통제가 가능합니다.

https://aws.amazon.com/ko/quickstart/architecture/linux-bastion/

 

AWS 기반 Linux 배스천 호스트 - Quick Start

Internet Explorer에 대한 AWS 지원이 07/31/2022에 종료됩니다. 지원되는 브라우저는 Chrome, Firefox, Edge 및 Safari입니다. 자세히 알아보기

aws.amazon.com

 

2. NAT Gateway

- 이렇게 Bastion Host로 Private Subnet에 있는 EC2 인스턴스에 접속하여 사설 대역에서 서비스를 구성하려고 하면 아마 아무것도 할 수 없을 겁니다. 왜냐하면 Private Subnet은 외부 네트워크와 연결된게 아무것도 없기 때문입니다. 외부랑 연결한건 현재까지 Public Subnet에 있는 EC2 인스턴스만 있으니까요.

- Private Subnet에 있는 EC2 인스턴스를 외부와 통신하기 위해서는 NAT Gateway를 생성하고 Private Subnet의 Routing Table을 NAT Gateway로 지정을 해줘야 사설 네트워크에 있는 인스턴스가 외부와 통신이 가능합니다.

- NAT Gateway는 Private Subnet의 인스턴스가 VPC 외부의 서비스에 연결할 수 있지만 외부 서비스에서 이러한 인스턴스와의 연결을 시작할 수 없습니다.

 

https://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/vpc-nat-gateway.html 

 

NAT 게이트웨이 - Amazon Virtual Private Cloud

NAT 게이트웨이 NAT 게이트웨이는 NAT(네트워크 주소 변환) 서비스입니다. 프라이빗 서브넷의 인스턴스가 VPC 외부의 서비스에 연결할 수 있지만 외부 서비스에서 이러한 인스턴스와의 연결을 시작

docs.aws.amazon.com

 

3. VPC Endpoint

- Private Subnet에 존재하는 EC2 인스턴스가 외부랑 통신을 할 수 있지만 만약에 Private Subnet이 외부랑 절대 통신할 수 없는 아키텍처로 만들어야 한다면 어떻게 할까?

- 이럴 경우에는 VPC Endpoint를 통해 해결할 수 있습니다. VPC Endpoint의 경우 Private Subnet에 존재하는 EC2 인스턴스가 외부로 네트워크에 노출되지 않고도 S3와 같은 서비스와 통신할 수 있습니다. (NAT Gateway로도 접근할 수 있긴 한데 외부로 트래픽이 노출됨)

- 그렇다면 해당 S3 버킷으로 접근하는게 IAM 사용자가 아니라 EC2 인스턴스가 접근하는 것이기 때문에 해당 EC2 인스턴스에 IAM 역할을 부여해야 합니다.


본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

https://bit.ly/3FVdhDa

 

수강료 100% 환급 챌린지 | 패스트캠퍼스

딱 5일간 진행되는 환급챌린지로 수강료 100% 환급받으세요! 더 늦기전에 자기계발 막차 탑승!

fastcampus.co.kr