본문 바로가기
우아한테크코스 4기/레벨2

[AWS] EC2 하나를 생성하기 위해..

by 나는후니 2022. 6. 27.

AWS를 이용하여 서버를 여는 것은 정말 간단합니다. AWS에서 누구나 쉽게 서버를 열 수 있도록 세팅을 해놓았기 때문이죠.

이번 포스팅에서는 EC2 인스턴스를 통해 서버를 열기 위해 AWS가 어떤 일을 해주는지 네트워크 과정에서 학습한 내용을 뇌피셜로 정리하고자 합니다.

AWS Cloud

먼저 EC2 인스턴스를 열려면 회원가입이 필요합니다. 계정을 생성하면 AWS에서는 계정 id를 지정하여 구분합니다. 즉, 계정을 생성한 것 만으로 AWS Cloud를 생성할 준비를 모두 마치게 된 것이죠. AWS Cloud의 서비스는 계정 ID를 식별자로 달고 있기 때문에 다른 계정과 독립적으로 클라우드 서버를 운영할 수 있는 것입니다.

 

이제 계정을 생성한 것만으로 우리는 아래의 박스를 하나 갖게 됐습니다.

이제 이 공간 안에서도 다양한 Region을 선택하여 서비스를 확장할 수 있습니다. 이 Region은 물리적 위치이기 때문에 다른 지역을 선택했다면 그 구역이 절대 겹치지 않습니다. 우리는 서울 Regionap-northeast-2를 주로 이용하게 됩니다.

VPC

Region과 VPC

이제 원하는 Region을 선택하였으니 VPC를 지정해야합니다. 기본적으로 AWS 계정을 생성하면 default vpc를 제공해줍니다. 이 VPCRegion 내의 영역을 논리적으로 엮은 영역으로, 물리적 영역으로부터 자유롭습니다. 덕분에 직접 데이터 센터를 운영하는 것처럼 확장, 축소가 자유롭습니다. 그런 의미에서 Virtual Private Cloud라는 칭호를 갖게 된 것 같네요.

 

VPC는 앞서 말한대로 Region 의 영역을 논리적으로 엮어서 가상의 인프라를 만든 것이기 때문에 여러 Region에 걸쳐 존재할 수 없습니다. 즉, Region에 종속된다고 볼 수 있겠네요.

가용영역과 VPC

그렇다면 여기서 궁금증이 생깁니다. 하나의 Region은 여러 개의 물리적 데이터 센터인 가용영역(AZ)를 가지고 있는데요. 이 가용영역 또한 물리적으로 분리된 공간이기 때문에 Region 내에서 절대 겹치는 구간이 없습니다.

 

가용영역과 VPC의 관계를 설명하기에 앞서 가용영역의 존재 이유를 알아야 이해하기 쉬운데요, 가용영역은 특정 물리적 데이터 센터에 장애가 발생했을 때, 서비스를 원활히 유지할 수 있도록 다른 데이터 센터에서 서비스를 제공할 수 있도록 물리적으로 분리한 것입니다. 이를 Load Balancer를 통해 구현을 하게 되는데요. 이 Load Balancer는 두개 이상의 가용영역에 존재하는 target을 헬스 체크하여 정상 동작하는 인스턴스로 요청을 보내게 됩니다.

 

이 때 인스턴스는 VPC 내부에 존재합니다. 즉 요청이 특정 VPC 내 서버로 보내지면, VPC를 지날 때 Load Balancer가 등록된 가용영역의 인스턴스로 요청을 보내는 것이죠. 그러면 아래와 같은 구조가 됩니다.

AZ에는 VPC와는 무관한 서비스 (S3) 가 존재하고, VPC 또한 가용영역과는 무관한 보안그룹, 네트워크 ACL등을 갖고 있기 때문에 위와 같은 구조로 구성이 됩니다.

서브넷 그리고 인스턴스

서브넷은 가용영역과 VPC 내부에 존재합니다. 서브넷은 VPC의 IP 주소 범위이고 여러 가용영역에 거쳐서 생성할 수 없습니다. 즉 하나의 VPC와 하나의 가용영역에 포함되는 존재입니다. 인터넷과 연결되어야 하지 않는 서브넷은 라우팅 테이블에서 인터넷 게이트웨이와의 연결을 끊어 private으로 사용합니다.

 

서브넷은 네트워크 인터페이스(가상 네트워크 카드) 생성의 전제 조건입니다. 이 네트워크 인터페이스는 하나의 인스턴스를 생성할 때 보안그룹을 가지며 생성되는데요. 따라서 인스턴스를 생성하기 위해 서브넷이 필요하게 됩니다.

 

따라서 인스턴스 생성시 VPC, 서브넷, 보안그룹을 입력해야 하고, 하나의 서버가 생성되면 서버의 데이터 전송을 제어하기 위해 네트워크 인터페이스가 하나 생성됩니다.

즉, EC2 인스턴스 하나를 생성하기 위해 AWS는 위와 같이 클라우드를 구축해주는 것이죠. 참 편하네요!!