EC2(Elastic Compute Cloud)는 Amazon에서 서비스하는 클라우드 컴퓨팅 서비스이다. Amazon 데이터센터의 하드웨어 자원을 임대하여 서버 배포, 인공지능 모델 학습 등 다양한 목적으로 사용할 수 있다. 필요한 성능이나 저장공간에 따라 적절한 솔루션을 구매하여 사용할 수 있다.
Amazon은 무료로 사용할 수 있는 싱글코어 CPU, 1GB RAM, 30GB 이하의 인스턴스를 교육목적으로 제공하고 있다. 인스턴스는 데이터센터의 컴퓨터에 생성되는 가상머신이라 생각할 수 있다. 이 인스턴스를 생성하고 SSH(Secure Shell)를 사용하여 원격으로 접속하는것이 목표이다.
AWS 계정을 생성함으로써 솔루션을 제공받을 수 있다. 회원가입 시 신용카드 정보를 입력해야 하며, 제공되는 서비스 이상으로 자원을 사용할 시 원치 않은 요금이 청구되어 자동결제 될 수 있으니 주의하도록 하자.
계정을 생성했다면, EC2 인스턴스를 생성할 수 있다. EC2 시작하기 링크를 통해 EC2 대시보드로 접속할 수 있다.
인스턴스 메뉴에서 자신이 사용하고 있는 EC2 인스턴스를 확인할 수 있다. 인스턴스를 생성하기 위해선 우측 주황색의 인스턴스 시작 버튼을 클릭한다.
각종 설정을 통해 인스턴스를 생성할 수 있다. 설정을 하나씩 둘러보며 무료 티어 사용을 위해선 어떠한 설정이 필요한지 알아보도록 하겠다.
설정에 앞서, 무료 티어 사용자에겐 사용할 서버의 위치는 매우 중요하다. 서울 데이터센터에 생성되어있는 인스턴스는 북미지역 대시보드에는 표시되지 않는다. 북미에 위치한 인스턴스만을 무료로 제공받을 수 있으므로 참고하여 서버 위치를 확인한다.
자신이 생성할 인스턴스의 이름을 정한다. 이름을 정하지 않아도 자동적으로 생성되지만, 구분을 위해 알맞게 작명한다. 이후 소개할 모든 설정들은 정보 버튼 클릭을 통해 추가적인 도움말을 볼 수 있으니 적극적으로 활용하자.
AMI(Amazon Machine Image)는 인스턴스에 사용될 OS 또는 소프트웨어 이미지이다. Amazon에서 개발한 Amazon Linux, macOS, Ubuntu, RHEL 등 다양한 이미지를 사용할 수 있으며, 무료 티어 사용을 위해선 지정된 이미지를 사용해야 한다. 자주 사용되는 이미지들은 대체로 무료로 사용할 수 있으니, 적당한 이미지를 선택해준다.
어떤 인스턴스 유형을 사용하느냐에 따라 사용 가능한 자원과 인스턴스 성능이 결정된다. 인공지능 모델 학습, 대규모 웹서비스 등 사용 목적에 따라 다양한 인스턴스 유형을 선택할 수 있다. 무료로 사용할 수 있는 인스턴스 유형은 범용 목적의 저사양 인스턴스인 t1.micro, t2.micro 유형이 있다.
인스턴스에 접속할 때의 보안을 위한 비대칭키이다. 원격 접속 수단에 따라 키 유형과 확장자를 설정할 수 있다. PuTTY를 통해 접속하기 위해선 ppk, 터미널을 통해 OpenSSH로 접속하기 위해선 pem 확장자를 선택할 수 있다. 차후 키 생성 및 변환, 관리 프로그램인 PuTTY Gen을 통해 키를 상호변환 할 수 있으니 pem 확장자를 사용하는것을 추천한다.
서버에서부터 전송하거나 서버가 전송받을 수 있는 트래픽에 대한 방화벽 설정이다. SSH 접속을 위한 22번 포트 개방, HTTP 접속을 위한 80번 포트 개방 등 사용 목적에 따라 규칙들을 설정할 수 있다.
VPC
Subnet
네트워크 설정 편집을 통해 새로운 보안 규칙을 생성할 수 있다. 차후 서버의 확장을 염두한다면 규칙 설정의 재사용을 고려할 수 있으니, 적합한 이름을 설정하여 적절히 사용할 수 있도록 작명한다.
SSH를 통해 인스턴스에 원격으로 접속해야 하니 자신이 접속할 수 있는 장치의 IP 주소, 혹은 모든 곳에서 접속할 수 있도록 규칙을 추가한다(유형: SSH / Source type: Anywhere).
웹서비스를 구성할 예정이라면 보안 규칙을 추가함으로써 HTTP 포트인 80번 포트를 개방할 수 있고(유형: HTTP / Source Type: Anywhere), 다양한 실험 목적으로 사용한다면 모든 TCP 포트를 개방할 수 있다(유형: 모든 TCP / Source Type: Anywhere).
EC2 인스턴스에 마운트할 저장공간을 설정할 수 있다. SSD, 마그네틱 등의 스토리지를 사용할 수 있으며, 무료 티어를 사용하기 위해선 30GB의 범용 SSD 또는 마그네틱 스토리지를 사용해야 한다.
인스턴스 생성 전, 설정한 정보를 재확인한 후 인스턴스를 시작할 수 있다. 1년에 무료로 사용할 수 있는 사용량은 월별 750시간이며, 10개의 인스턴스를 75시간 사용할 수 있는 양이다. 필요한 인스턴스 개수를 적절히 계산하여 시작할 수 있다.
시작된 인스턴스는 인스턴스 대쉬보드에서 확인할 수 있다. 앞서 말했듯, 다른 리전의 인스턴스 정보는 표시되지 않으니 원치 않는 자동결제를 막기 위해선 결제 대시보드 또한 주기적으로 확인하는것이 좋다.