프로젝트를 빠르게 시작하는 데 필요한 가상머신(compute), SSD기반 스토리지, Networking, 로드밸런서, DNS관리, 고정IP, OS, 개발플랫폼(MEAN, Node.js 등), 어플리케이션(Wordpress, Nginx, GitLab, Redmine 등) 등 모두 포함하고 있어 웹서비스를 빠르고 쉽게 구축하는데 특화되어 있는 서비스 이다.
그리고 무엇보다 EC2, RDB 등 개별 서비스를 따로 설정해서 사용하는 것보다 이 Lightsail 하나의 서비스로 웹서버를 운용하는데 매우 저렴하다.
정리하자면, 라이트세일은 기존 EC2에 비해 저렴한 비용과 웹 서비스에 필요한주요 기능들을 한 곳에서 쉽게 관리할 수 있게 구성된입문자용 서비스라고 보면 된다.
VPS(Virtual private server) 란? 하나의 물리 서버를 여러 개의 가상 서버로 쪼개어 사용하는 것을 의미 한다. 그렇게 쪼개어진 가상 서버를 여러 명의 클라이언트가 나누어 쓰는 구조이다. 따라서 하나의 물리서버를 다른 이들과 공유하는 개념이기는 하지만 각자 독립적인 서버 공간을 가지는 것이 가능하다. 다만, 하나의 물리서버에서 컴퓨팅 리소스들을 모든 사용자와 공유하기 때문에 만약 한 사용자가 너무 많은 리소스를 점유할 경우 RAM, CPU 등에 큰 영향이 간다는 단점이 존재한다.
일반적으로 AWS로 하나의 웹 서버를 구축하기 위해선 EC2, VPC, RDB, S3 등 여러 서비스들에 대한 이해가 수반돼야 한다.
가장 많이 사용해 접근하기 쉬울것 같은 EC2는 사실 만만한 서비스가 아니다.
용도별로 수백가지 인스턴스 타입이 제공되며, 네트워크부터 스토리지까지 수많은 옵션을 제공하고 있다.
또한 VPC와 같은 가상 네트워크 구성이 필수가 되면서, EC2 하나도 제대로 사용하려면 배워야하는게 아주 많다.
그런 관점에서 Lightsail은 복잡한 EC2에 비해 간편하고 직관적이게 인스턴스를 만들 수 있다. 인스턴스뿐만 아니라 컨테이너, 스토리지, 데이터베이스도 쉽게 만들 수 있게 제공한다.
몇 번의 클릭으로 웹사이트, 웹 애플리케이션, 네트워크, 보안 등등 환경을 자동으로 구성할 수 있는 것이다.
그리고 규모가 커진다면 확장도 쉽게 할 수 있고, Lightsail에서 만들고 설정한 Instance를 Snapshot을 통해EC2로 쉽게 마이그레이션 할 수 있도록 되어 있다.
즉, 아마존 라이트세일은 결국 기존의 AWS서비스들의 짬뽕이라고 말할 수 있지만, AWS가 너무 복잡하기 때문에 만들어진 서비스라고 보면 된다. (무엇보다 저렴하다는 이 특징만으로 접근해도 무리없다)
Lightsail 구성 메뉴
위의 구성 메뉴 처럼 간단하게 몇번의 클릭으로 위의 서비스들을 별도의 설정없이 시작할 수 있게 구성 되어 있다
그러나 이 특징은 장점이자 단점인데, 각 인스턴스에 대한 자세한 설정을 지원 안하는 경우도 있기 때문에 Lightsail로 실제 서비스를 위한 웹 서버를 구축할 때는 반드시 Lightsail의 지원 범위를 살펴봐야 한다.
Lightsail에는 아래와 같은 서비스 제한이 있다.
계정당 최대 20개의 인스턴스 유지
5개의 고정 IP (EIP)
총 3개의 DNS 존
총합 20TB의 블록스토리지(디스크) 연결
5개의 로드 밸런서
최대 20개 인증서
만일 위 조건을 초과할 경우 일반적인 AWS 방식대로 EC2를 직접 생성하시고 진행해야 된다.
전체 맥락으로 보면 굉장히 작은 규모의 서비스인데, 매번 1년 선결제 하는게 부담되셨던 분들은 Lightsail은 좋은 선택지가 될수 있다.
그러나 Lightsail은 안정적인 서비스를 원하는 팀에게는 추천하기 애매한 서비스이다.
일단 SLA를 제공하지 않고, t2타입의 특성상 장애가 발생할 가능성이 있다. 또한 VPC 관리 등이 되지 않기 때문에 뭔가 불투명하고 막연하다.
가격이 중요하지 않은 업체는 그냥, m5.large를 multi-az 구성해서 튼튼하게 가는게 여러가지로 낫다.
인스턴스 :본인이 지금 가지고 있는 컴퓨팅 목록 (EC2) 데이터베이스 : 데이터베이스 서비스 (RDB). 가격은 15$ 첫 달 무료부터 115$까지 다양하다.
네트워킹 : 고정 아이피, DNS 영역 생성 , 그리고 로드 밸런서 생성을 관리한다.
고정 IP : 인스턴스에서 신규로 만들면 1회용 (재시작 시 다른 아이피 부여) 아이피를 부여받는다 그걸 고정 아이피로 잡아준다.
DNS 영역 생성 : 도메인, 서브도메인을 관리할 수 있다. [무료, Route 53 연결 가능]
로드밸런서 : 만약 A,B서버가 있는데, 만약, A가 과부하가 되고 B는 여유롭면 B의 자원을 끌어다 쓸수록 할 수 있다
스토리지 : 인스턴스에 용량이 부족한 경우 블록 단위로 추가 용량을 끌어다 사용 가능하다.
스냅샷 : 인스턴스를 통째로 백업이 가능하다. 자동으로 백업이 가능하게 스케쥴러를 설정할 수도 있다.
1. 인스턴스 리전 위치 선택
인스턴스의 위치는 말 그대로 인스턴스를 생성할 위치를 선택하는 것이며, 기본으로 한국이 설정되어 있다.
만약 외국의 특정 지역을 대상으로 서비스하고자 한다면 해당 위치와 간단한 위치로 변경하는 것이 유리하다.
서울은 가용 영역이 4개가 있는데, 만약 여러 서비스를 운영한다면 각자 다른 가용 영역에 인스턴스를 생성해주는 것이 좋다. 만약 A영역에 장애가 발생한다면 A영역에서 사용하는 서비스에 장애가 발생하게 된다. 하지만 다른 서비스를 다른 영역에 분산 배포했다면 모든 서비스가 장애 받지 않기 때문이다.
2.인스턴스 이미지(OS 세팅) 선택
선택 가능한 이미지로는 Linux/Unix 계열과 MS의 윈도우 계열이 있다.
윈도우는 라이센스 관련 요금이 리눅스보다 더 비싸다.
블루프린트 항목에서는 앱+OS와 OS 전용 중 하나를 선택할 수 있다.
만일 Node.js로 만든 프로젝트를 한다고 하면, 아래 보이는 항목에서 Node.js 블루프린트를 선택하겠지만, 여기에 나오는 이미지들의 대부분은 Bitnami를 사용한다.
만약 Bitnami가 익숙하시면 무관 하겠지만, 아닌 분들은 따로 OS 전용 메뉴에 가서 수동으로 선택해 주어야 한다.
우분투를 직접 설치할 것이므로 OS 전용으로 선택한다.
3. 인스턴스 보안을 위한 키페어 생성
4.인스턴스 플랜(가격) 선택
기존 AWS 가입자라 하더라도 Lightsail이 처음이라면 최소 사양인 nano 플랜 ($3.5) 은 한달간 사용이 무료로 사용 할 수 있었다.
그런데 최근 아마존이 배포가 커져서 그런지 다음과 같이 무려 3개의 플랜을 3개월 동안 이용할수 있다. (인스턴스가 남아 도나..)
실제 3달은 아니고, EC2의 프리티어와 동일하다고 보면된다. 예를들어 EC2 인스턴스 사용 시간이 750시간 (24시간 * 31일) 까지만 무료라서, 2대의 인스턴스를 사용하신다면 2개 인스턴스 사용 시간의 총합이 750시간을 넘기면 안되는 것과 같이 Lightsail 역시 같은 원리이다.
우선 단순히 연습용도로 이용하는거니까 가장 하위 플랜인 $3.5를 선택해주자.
실제 개발을 하다보면 수없이 인스턴스를 삭제하고 생성한다. 미리 좋은 걸 선택할 필요가 없다. 다만, Spring Boot/Jenkins 등 자바 애플리케이션을 실행시키길 원하는 분들은 최소 메모리 1GB 이상을 선택해야 좋다.$3.5 플랜은 메모리가 512MB인데, 실제 Linux 시스템에 필요한 메모리를 제외하면 200~300MB만 사용할 수 있어 Spring Boot를 실행시킬 수가 없기 때문이다.그러니 간단한 Node 혹은 Python 스크립트를 실행할 정도일때만 낮은 타입을 고르도록 하자.
5.인스턴스 생성 마무리
마지막으로 인스턴스의 이름을 지정해주면 된다.
인스턴스 이름 옆에 인스턴스 생성 개수도 정할 수 있는데, 여러 개의 인스턴스를 만들어 로드밸런서를 붙여줄 수 니다.
그리고 Key - Value 태그를 이용해서 Production 환경일 때 사용할 키값을 등록해서 사용할 수 있다.
6.인스턴스 고정IP / 방화벽 설정
라이트세일 인스턴스 관리 메뉴에 들어가서 네트워크 탭에서 설정 할 수 있다.
기존 보안그룹 메뉴보다 되게 심플하게 구성되어 있어 정말 쉽게 세팅이 가능하다.
SSH 접속을 내 아이피에서만 접속하도록 변경해보자.
만일 웹 UI에서 터미널 접속을 한다면 Lightsail 브라우저 SSH 허용도 같이 체크하면 된다.