AWS로 웹서비스 구축하기 – 3. 인스턴스 생성하기
개요
과거 웹서비스를 구축 하려면 웹서버를 구입 하거나 웹서버의 일부를 대여 하여 사용 하는 웹 호스팅 서비스를 받아야 했다.
AWS와 같은 클라우드 서비스들이 생겨난 뒤에는 웹서버나 웹호스팅이 아닌 “인스턴스; instance”를 이용하면 웹서비스를 구축 할 수 있게 되었다.
클라우드에서 인스턴스란 클라우드 서비스 제공 업체가 구축 해 둔 서버의 일부를 나누어 클라우드 사용자가 단독 서버처럼 사용 할 수 있는 개념이다.
기존 웹호스팅의 경우 사용자가 서버 한 대를 전체 사용 하거나 일부 디렉토리에만 접근 하여 사용 했다면 클라우드 인스턴스는 실제로는 서버의 일부를 사용 하지만 서버 전체를 사용 하는 것과 같이 이용이 가능하다.
클라우드 인스턴스는 여러가지 종류가 있지만 가장 먼저 사용 할 인스턴스는 “컴퓨팅”인스턴스다.
“컴퓨팅 인스턴스”는 CPU와 RAM, 네트워크 인터페이스만 존재하는 서버라고 생각 하면 되고
이 “컴퓨팅 인스턴스”에 추가적인 요금을 내고 디스크 드라이브(SSD 또는 HDD)나 기타 저장장치를 필요한 만큼 붙여서 데이터를 저장할 수 있다.
웹 서비스를 제공 하기 위해서는 이러한 서버가 필요하므로 가장 먼저 해야 할 작업은 바로 “컴퓨팅 인스턴스”를 생성 하는 것이다.
컴퓨팅 인스턴스 구축하기
http://aws.amazon.com/ 에 접속 하여 로그인 한다.
로그인 후 오른쪽 상단의 콘솔에 로그인 버튼을 눌러 콘솔에 접속 한다.
콘솔에 접속 되면 왼쪽 상단의 “서비스” 버튼을 누르면 나타나는 화면에서 “컴퓨팅”을 누르고 “EC2″를 클릭한다.
EC2란 Elastic Cloud Computing 의 약자 ECC를 한번 더 줄여서 EC2(C가 2개)라고 부르며
탄력적으로 클라우드 컴퓨팅을 사용 할 수 있다는 뜻이다.
EC2 대시보드 화면이 나타나면 왼쪽 메뉴에서 “인스턴스” 메뉴를 누른다.
이어 나오는 화면 오른쪽 상단에 인스턴스를 생성할 장소를 선택한다.
한국에서 주로 사용하는 서비스라면 “서울”을 선택 한다.
기타 지역에서 주로 사용 되는 서비스라면 해당 위치에서 가장 가까운 장소를 선택한다.
가상 인스턴스가 생성될 실제 서버의 위치이다.
빠른 서비스를 위해서는 주 서비스 타겟이 많은 지역에 위치 시키는 것이 여러모로 유용하다.
지역 선택이 완료 되었다면 “인스턴스 시작”버튼을 눌러 인스턴스 생성을 시작 한다.
우선 생성할 인스턴스의 이름을 지정한다.
웹서비스를 하려는 인스턴스이므로 간단히 “web”이라고만 지정했다.
이어 OS와 인스턴스 유형을 선택 한다.
사용할 OS는 리눅스(아마존, 우분투, 레드햇 등), macOS, Windows를 사용할 수 있다.
웹서버로 많이 사용하고 저렴하고 저렴한 리눅스를 선택할 수 있으며 OS에 따라 요금이 발생될 수 있다.
특별히 OS에 종속되는 기능이 필요 없다면 비용이 추가 되지 않는 Amazon Linux를 선택할 수 있다.
이후 아키텍처를 선택할 수 있다.
(x86)이 붙은 계열은 비교적 가격이 높지만 높은 호환성이 있고
(arm)이 붙은 계열은 비교적 가격이 저렴하지만 일부 호환이 어려운 라이브러리들이 있다.
이후 인스턴스 유형을 선택할 수 있다.
인스턴스는 성능별로 나뉘게 되는데, 인스턴스 종류 이름은 일종의 코드명과 같이 되어 있어 처음에는 어려울 수 있으나 처음 작은 서비스의 경우 t로 시작하는 인스턴스를 사용 하면 되며 “프리 티어 사용 가능”일정 기간 무료로 사용도 가능하다.
간단한 웹 서비스를 올려볼 예정이므로 t2.micro를 선택했다.
사용할 인스턴스를 선택 하면 시간당 요금 확인과 성능을 확인할 수 있다.
인스턴스는 시간당 과금이므로 시간당 표시된 요금에 720을 곱하면 30일치 요금을 확인 할 수 있다.
t2.nano 인스턴스를 Amazon Linux로 이용할 경우 0.0144 X 720 = 10.368USD
(SSD 또는 HDD, 네트워크 요금 별도)
다음으로 로그인용 키페어를 생성 해야 한다.
일반적으로 웹서버에 접속 시 아이디와 비밀번호를 사용 했다면 AWS에서는 아이디와 키파일을 사용하여 접속 하게 된다.
다른 인스턴스가 이미 존재 한다면 생성되어 있는 키페어를 사용할 수도 있으나
처음 AWS인스턴스를 사용 한다면 새 키 페어 생성 버튼을 눌러야 한다.
키페어 생성 화면이 나타나면 사용 할 키페어 이름을 입력 하고 키페어 생성 버튼을 누르면 된다.
키페어 유형과 프라이빗 키 파일 형식은 그대로 두면 된다.
키 페어 생성 버튼을 누르면 자동으로 키 파일이 다운로드 되어진다.
이 키 파일은 재 생성이 불가능하므로 반드시 안전한 곳에 별도로 저장 해 둬야 한다.
이후 네트워크 설정을 해야 한다.
방화벽(보안그룹)은 “보안 그룹 생성”을 선택 하고
SSH트래픽 허용, 인터넷에서 HTTPS 트래픽 허용, 인터넷에서 HTTP트래픽 허용을 모두 체크 한다.
이후 스토리지 구성을 해야 한다.
사용할 용량과 저장장치 종류를 선택 한다.
최소 8GiB를 선택할 수 있으며 스토리지 종류는 여러가지가 있으나 범용적으로 사용하기 좋은 gp3를 선택 하자.
이후 오른쪽 하단의 인스턴스 시작 버튼을 누르고 잠시 기다리면 인스턴스는 생성이 되고
잠시 더 기다리면 인스턴스가 시작 된다.
이 때 부터 인스턴스에 대한 과금이 시작 된다.
새로 생성된 인스턴스가 보이며 인스턴스 상태가 “실행 중”으로 변할 때 까지 기다린다.
여기까지 진행 되면 인스턴스 생성 작업은 완료 된 것이다.
이제 나만의 가상 서버가 생성 되었고 전용 아이피가 생겼다.
아이피를 고정하기
인스턴스가 생성 되고 퍼블릭 IPv4 주소가 생성 되었으나 해당 IP는 인스턴스가 다시 시작 될 때마다 바뀌게 된다.
이 IP주소를 고정 하기 위해 한 가지 작업을 해 주어야 한다.
AWS 인스턴스 콘솔 화면에서 왼쪽의 “네트워크 및 보안” 하위에 있는 “탄력적 IP를 클릭한다.
이후 오른쪽 상단의 탄력적 IP주소 할당 버튼을 클릭한다.
탄력적 IP주소 할당 화면이 나타나면 모든 내용은 그대로 두고 할당 버튼을 클릭한다.
그러면 위와 같이 하나의 아이피가 할당 된다.
할당된 아이피를 위에서 생성 한 인스턴스에 연결 하려면 아이피를 선택 후 오른쪽 상단의 작업 버튼을 누르고 탄력적 IP주소 연결을 클릭한다.
리소스 유형은 인스턴스, 인스턴스 입력란을 클릭 하면 나타나는 조금 전 만든 인스턴스 선택, 프라이빗 IP주소는 빈 공간으로 두고 연결 버튼을 누르면 새로 만들어진 아이피 주소가 인스턴스에 연결 되어 조금 전 생성 한 인스턴스는 고정 IP로 사용이 가능하게 된다.
아이피 주소는 생성 시 요금이 발생 되지만 인스턴스에 연결 된 한 개의 아이피는 무료로 제공 된다.
인스턴스에 1개 연결 후 추가적으로 더 생성 한 탄력적 아이피는 1개당 1시간에 0.005달러이므로 30일에 3.6달러가 과금된다.
여기 까지 진행 하면 고정 아이피가 할당된 (작은)서버 한 대를 갖게 된 것과 같다.