본문 바로가기

IT 개발자의 창고

AWS - public subnet에 리눅스 서버 기동

지난 글에서 나만의 가상 네트워크 환경 내에서 public 망과 private 망으로 이루어진 네트워크 환경을 구성하였습니다.

2022.01.19 - [Working IT] - AWS - 인터넷망과 연결된 네트워크 환경 구성

 

AWS는 클라우드 내에서 확장 가능한 컴퓨팅 용량을 제공하는 역할을 수행합니다. 여기서 말하는 확장 가능한 컴퓨팅 용량이란 프로세서, 스토리지, 네트워킹, 운영 체제 등의 일종의 서버를 사용자가 원하는 용량으로 설치, 삭제 할 수 있는 AWS 서비스를 말합니다. 이를 Amazon Elastic Compute Cloud(Amazon EC2)라고 부릅니다.

Amazon EC2를 사용하면 하드웨어에 투자할 필요가 없어 더 빠르게 애플리케이션을 개발하고 배포할 수 있습니다. 또한, 원하는 수의 가상 서버를 구축하고 보안 및 네트워킹을 구성하며 스토리지를 관리할 수 있습니다. Amazon EC2에서는 사용량 측정을 통해 확장 및 축소가 가능해 향후 트래픽을 예측하여 증설 및 축소를 계획하지 않아도 되는 장점도 존재합니다.

 

EC2 인스턴스를 시작하는 과정에는 몇 가지 단계가 필요합니다.

1. Amazon Machine Image (AMI) 선택 단계

AMI는 EC2 인스턴스를 시작하는데 필요한 정보가 들어있는 템플릿입니다. 쉽게 말하면, 우리가 자주 접하는 OS 또는 application (리눅스, windows, 데이터베이스 등)이 실행될 수 있도록 구성된 초기 상태의 복사본이라고 보면 됩니다. AMI 가 실행이 되어 클라우드의 가상서버 역할로 동작하는 것을 인스턴스라고 합니다.

 

2. 인스턴스 유형

인스턴스는 컴퓨팅, 메모리, 스토리지 등 어떤 부분에 좀 더 최적화 되어 있는지에 따라 수 많은 유형으로 제공됩니다. 기본적으로 프리티어로 이용할 수 있는 (AWS 계정 등록 이 후 첫 12개월간 월 최대 750시간까지 무료 이용) t2.micro 인스턴스의 경우 범용 인스턴스로 제공됩니다. 프리티어의 경우 테스트용으로 계속 사용하고자 한다면, 1년 이후에는 새로운 계정으로 생성해서 가입해야 무료 이용이 가능합니다.

 

3. 인스턴스 세부구성 

많은 옵션들이 있지만, 여기서는 인스턴스가 위치할 네트워크 정보만 선택해서 구성해 볼겁니다. public subnet과 private subnet 각각에 EC2 인스턴스를 구성합니다.

 

4. 스토리지 추가

스토리지 용량도 원하는 만큼 조정할 수 있습니다. 용량에 따른 요금은 추가로 발생할 수 있습니다.

 

5. 태그 추가 

EC2 인스턴스를 구분하기 위해 Name Tag를 지정할 수 있습니다.

 

6. 보안그룹 구성

보안그룹은 인스턴스 레벨의 네트워크 트래픽을 관리한다고 했습니다. 서버에 접속도 해야하고, 웹서버 접속을 통해 외부에서 정상적으로 접근이 가능한 지 확인하기 위해 SSH, HTTP, HTTPS의 인바운드 트래픽을 허용하여 새로운 보안그룹을 생성해 봅니다.

 

7. 인스턴스 시작 검토

지금까지 설정한 구성이 맞는 지 확인하는 단계이며, 이 과정에서 표시되는 키페어 선택 및 생성 단계는 서버 접근을 위한 인증키로 매우 중요한 단계이기도 합니다. 키페어 생성 시 생성된 키페어를 다운로드 할 수 있습니다. 이는 차후에 서버 접속 테스트 시 반드시 필요한 인증키로 로컬 컴퓨터에 보관해 두어야 한다.

 

인스턴스는 AMI 템플릿 이미지를 실행한 결과이기 때문에 최종적으로 생성이 완료되기까지는 몇 분의 시간이 소요됩니다.

 

탄력적 IP 주소 구성

인스턴스가 실행되면, 내부망 IP가 생성되지만, 지금까지 과정으로 구성했다면, public IP는 자동 생성되지 않습니다.

퍼블릭 IPv4 주소 자동 할당 활성화를 체크하면 인스턴스 생성 시 자동으로 IP가 부여된다.

서브넷 설정 중 "public IPv4 주소 할당 활성화" 옵션이 체크된 경우 해당 서브넷에서 생성된 인스턴스에 자동으로 IP가 부여된다. 하지만, 이 옵션으로 인해 과금이 발생될 수 있음은 유의하자 

 

이번 시간에는 "탄력적 IP 주소"를 public EC2에 할당해 봅시다.

탄력적 IP 조소는 동적 클라우딩 컴퓨팅을 위해 고안된 정적 IPv4 주소입니다. 이는 AWS 계정에 할당되어 특정 인스턴스에 매핑할 수 있고, 탄력적 IP 주소는 인터넷에서 연결 가능한 주소로 이것이 매핑되어 있지 않은 경우 로컬 컴퓨터에서 해당 인스턴스로 연결할 수 없습니다. (현재는 IPv4만 지원, IPv6 미지원)

 

EC2 -> 네트워크 및 보안 -> 탄력적 IP 메뉴를 선택하면 몇 개의 IP 풀이 나열되어 있는 것을 확인할 수 있습니다. 이 중 한 개를 선택하여 탄력적 IP 주소 연결 작업을 통해 public EC2와 연결해줍니다.

그러면, 아래와 같이 public EC2에 IP가 할당된 것을 확인할 수 있습니다. 

상태검사 완료 및 public IPv4까지 할당이 완료된 상태

시간이 지나면 public EC2 인스턴스가 기동되고, 상태검사까지 완료된 것을 확인할 수 있습니다.

 

이렇게 구성한 최종 Network 구성도는 다음과 같습니다.

public subnet에 EC2를 생성하고 public IP를 할당

 

AWS 실습