AWS Lightsail
목차
AWS Lightsail(라이트세일)은 아마존의 클라우드 컴퓨팅 서비스입니다. 중소규모 프로젝트를 진행하는데 EC2가 좀 헤비하다 싶은 경우 저렴한 가격으로 필요한 기능만 빠르게 구축할 수 있습니다.
웹호스팅과의 비교
아마존의 설명에는 ‘저렴한 비용의 사전 구성된 클라우드 리소스를 통해 애플리케이션 및 웹사이트를 빠르게 구축’ 한다고 써있는데요. 블루호스트 같은 웹호스팅 서비스와의 차이점이 무엇이냐? – 라고 묻는다면 웹호스팅은 말 그대로 웹사이트에 전문화 되어 있는 호스팅 서비스이고 AWS의 클라우드 컴퓨팅 서비스는 그 보다 많은 일을 할 수 있습니다. 쉽게 말하면 클라우드 컴퓨팅은 서버가 할 수 있는 모든 일을 다 할 수 있습니다.
구체적인 느낌이 잘 안올 수도 있는데 그건 서버가 할 수 있는 일에는 제한이 없기 때문입니다. 예를 들어서 이 블로그는 AWS의 Amazon Polly API를 사용한 음성합성 서비스를 사용할 수 있습니다. (테스트 해봤는데 비용이 좀 더 들어가서 사용하지 않고 있음) AWS의 다양한 API서비스를 사용할 수도 있고 아니면 자체적으로 만든 애플리케이션(채팅 앱 같은)을 서버에 올려서 공중에(Public) 서비스를 할 수도 있습니다. 웹호스팅 업체에서도 쇼핑몰 프로그램 등 다양한 서비스를 제공하지만 아무래도 서버를 직접 다루는 클라우드 컴퓨팅에 비해서 한계가 있겠죠.
할 수 있는 것이 많고 서비스도 많으니 가격면에서 AWS의 EC2 서비스는 저렴하지 않습니다. 그러다 보니 대기업이 아닌 이상 웹사이트를 만들기 위해 AWS를 사용하는 경우는 부담이 됐는데요. 어쨋든 중소기업이나 스타트업의 수요도 꾸준히 늘어나는 트렌드라 아마존은 그들이 좀 더 저렴하게 이용할 수 있는 라이트세일을 내놓습니다. 가격은 쌉니다. 라이트세일은 기본적으로 VPS 서비스인데 웹호스팅에서 VPS 서비스를 사용하려면 최소 한달에 수십달러 이상이 나갑니다. 라이트세일은 처음 3개월 무료에 3.5달러 부터 시작하죠. 이 블로그에 라이트세일을 2년 정도 쓰고 있는데 지난 6개월 동안 월평균 5.93달러가 들어갔습니다. 물론 기본 플랜 + 추가 서비스에 따라 월별 요금이 달라집니다.
AWS와 웹호스팅에 대한 비교를 이야기하자면 많은 이야기가 나올텐데 어쨋든 핵심은 이겁니다. 라이트 세일은 사용자의 운영에 따라 웹호스팅 보다 훨씬 저렴하고 빠른 웹사이트를 만들 수 있다. 또 자기마음대로 커스터마이즈 할 수 있다 – 정도만 알고 시작하면 충분한 것 같습니다. 대신에 웹호스팅을 사용할 때 보다 서버와 웹서비스에 대해 더 많은 지식이 필요하고, 관리를 직접하는 것이기 때문에 관리자의 노력이 필요하다는 점에는 유의합니다.
라이트세일 시작하기
서론이 길었으니 바로 시작하겠습니다. AWS에 로그인하여 Lightsail 서비스로 들어갑니다. 라이트세일에 대한 포스팅이니 여기서는 AWS 가입이나 로그인 과정은 생략하겠습니다. AWS에는 서비스가 워낙 많아서 처음 로그인했다면 좀 찾는데 시간이 걸릴 수 있습니다. 그럴 때는 서비스 검색창에서 ‘lightsail’ 를 치면 Lightsail 가상 프라이빗 서버 시작 및 관리가 나옵니다.
오른쪽의 인스턴스 생성을 클릭해서 시작합니다.
인스턴스란 VPS를 구현한 것 입니다. VPS는 자신만의 CPU, RAM, Storage(디스크), 전송대역폭(전송용량)을 사용할 수 있습니다. 가상이라는 말은 논리 컴퓨터로 만든 독립적인 서버를 의미합니다. 공유 웹호스팅과의 결정적인 차이는 내가 만든 VPS에 하나의 인스턴스를 생성해서 쓰기 때문에 관리가 깔끔하고 속도가 항상 일정합니다. 또 이미지를 선택하면 바로 기본 플랫폼이 설치되는 방식이라 만들기가 쉽습니다. 클라우드 컴퓨팅이라 어려울 것 같지만 의외로 쉽게 만들 수 있지요.
인스턴스 생성 페이지에서 위치를 선택합니다. 한국에 살고 있다면 딱히 고민할 필요없이 서울 리전을 선택하면 됩니다. AWS에서 서울 리전을 개설한 것은 꽤 최근의 일입니다. (2016년 최초 개설) 그 전까지는 도쿄나 싱카포르의 아시아 태평양(ap) 리전을 써야 했는데 이제는 그럴 필요가 없습니다. 인터넷은 광속이지만 국가에 따라 연결 사정이 다르기 때문에 지연(latency)이 생길 수 밖에 없습니다. 그런데 만약 내가 서비스하려는 지역이 다른 나라라면 그 나라에서 지연이 가장 짧은 리전을 선택하는게 좋습니다.
서울 리전을 선택하면 ap-northeast-2a로 생성됩니다.
다음은 인스턴스 이미지 선택입니다. 먼저 운영체제를 선택하고 블루프린트를 선택하면 됩니다. 완전히 OS전용으로 설치할 수도 있는데 Amazon Linux 2 부터 Ubuntu, Debian, FreeBSD, openSUSE, CentOS 이미지를 선택할 수 있습니다. 웹서비스를 완전 처음부터 개발하거나 혹은 자체 프로그램을 업로드하려면 OS전용 이미지를 활용할 수 있습니다.
우리는 블로그를 만들 것이기 때문에 앱 + OS에서 WordPress(워드프레스) 패키지를 설치할 겁니다. 워드프레스 멀티사이트, Node.js, PHP7, Drupla 등 다양한 이미지를 선택할 수 있습니다. Django(장고) 패키지도 있네요. 언젠가 한번 장고로 웹을 구축하려고 하는데 그 때도 라이트세일을 써야겠네요.
워드프레스 멀티사이트(WordPress Mutilsite)는 여러 사람이 사용하는 대학, 기업, 기관 등 조직에 적합합니다. 개인용으로 쓸 거니까 그냥 WordPress를 선택합니다.
그 다음에 선택사항에 시작 스크립트 추가 등이 있는데 일단 그냥 넘어가고 인스턴스 플랜을 선택합니다. 여기가 중요한데 매달 나가는 요금이 정해지기 때문입니다. 여기 나온 금액은 추정금액이고 실제 사용후 정산에서는 달라질 수 있습니다. 이 금액은 인스턴스를 한달을 풀로 사용했을 경우의 추정 금액입니다.
또 한가지는 라이트세일에서 상위 플랜으로 업그레이드 하거나 EC2로 보내는 것은 가능하지만 다운그레이드는 지원하지 않는다고 합니다. 왜냐하면 스토리지를 스냅샷으로 떠서 백업 후에 새로운 인스턴스를 생성하는 방식이라 큰 스토리지에서 작은 스토리지로 옮기면 데이터 손실과 손상이 발생할 수 있기 때문입니다. 예를 들어 40GB의 이미지를 20GB에 옮긴다는 것은 물리적으로 불가능하니까요.
어느정도의 용량과 트래픽을 처리할 수 있는 인스턴스를 만들지 각 웹서비스의 상황에 따라 판단해서 플랜을 선택하는게 좋습니다. 예를 들어 이 코딩 블로그는 일조회수가 요일에 따라 500~1000까지 나오는데 $3.5 플랜으로 부족한 적이 없었습니다. 다른 무료 블로그 서비스들과 다르게 모든 것이 다 비용이기 때문에 웬만하면 이미지도 많이 넣지 않고 있습니다. (스토리지와 전송 트래픽 절약)
그런데 이번에 새로 개설하는 블로그는 사진을 좀 많이 넣고 가끔은 동영상도 업로드할 계획도 있기 때문에 $3.5 플랜으로는 부족할 수 있으니까 시범적으로 $5 플랜으로 가보겠습니다. 뭐 그래봤자 한달에 $1.5 (한화로 약 2,100원 정도) 차이니까 저렴한 커피값 한잔 정도 되겠네요-
두 플랜의 차이점은 디스크용량과 전송이 $3.5 플랜보다 두배가 나옵니다. CPU는 $20부터 2개가 되는데 워드프레스 같은 정적인 웹은 기본적으로 CPU사용률이 낮습니다. 진짜 하루 조회수가 1만명에 실시간으로 앱이 돌아가고 있지 않는다면 CPU는 1개로 충분합니다. 플랜의 업그레이드 이야기는 웹사이트가 아주 폭발적으로 성공하고 나서 차후 포스팅에서 하기로 하고요;;;
최근에는 라이트세일의 수요가 늘어났는지 월 160달러에 대용량 번들(램 32GB에 8 vCPU, 640GB SSD, 7TB) 플랜도 나왔습니다. 새 인스턴스를 생성할 때마다 언젠가 큰 웹사이트로 키워서 대용량으로 업그레이드 하는 꿈을 꿉니다. (잠시동안의 꿈)
다음은 고유한 인스턴스 이름을 입력합니다. 태그를 추가할 수 있는데 여러개의 인스턴스를 관리하기 위한 기능이므로 여기서는 건너뛰겠습니다. 마지막으로 인스턴스 생성을 클릭합니다.
약간의 대기 시간 후에 워드프레스의 인스턴스가 생성되었습니다. 이제 SSH 클라이언트로 인스턴스를 조작할 수 있습니다. 인스턴스는 쉽게 말해 AWS에서 임대한 서버 컴퓨터입니다. 인스턴스가 가동하는 순간부터 요금계산이 됩니다. 5달러 플랜은 5달러를 30일로 나누면 하루에 0.16달러(약 250원 정도) 요금이 매겨지는 겁니다.
AWS 라이트세일의 워드프레스가 Bitnami(비트나미) 패키지로 설치되었습니다. IP주소를 입력하면 아래와 같은 워드프레스 초기 웹페이지가 나옵니다. 이것은 어느 컴퓨터에서나 브라우저로 접속할 수 있는 상태입니다만 IP주소만 가지고 블로그를 운영할 수는 없겠지요. 구글 등 검색엔진에서 제대로 검색이 되는 웹사이트를 만들기 위해서는 도메인도 구매해야 하고 https 인증서도 설치해야 됩니다.
여기까지 라이트세일 인스턴스를 만들어봤습니다. 워드프레스를 본격적으로 시작하기 위해 몇가지 할 일들이 있는데요. 그것은 다음 포스팅에서 알아보도록 하겠습니다.