K-L1VERSE

Lightsail vs EC2

ignuy 2024. 9. 12.

안녕하세요. 케이리버스의 PM, Aiden입니다. K-L1VERSE는 이제 완전히 새로운 클라우드 컴퓨팅 서비스에 몸을 싣고 달려야 합니다. 평소에 AWS에 대한 공부 열정이 있었으므로 공급 업체는 자연스럽게 AWS로 마음이 쏠렸습니다. AWS에는 대표적인 클라우드 컴퓨팅 서비스 주력 상품으로 두 가지를 제공하고 있습니다.

이번 시간엔 그 두 가지 솔루션, Amazon Lightsail과 AWS EC2에 대해 알아보고 K-L1VERSE에 어떤 서비스가 적합한지 결정하는 생각의 흐름으로 찾아왔습니다. 정리의 편의상 어투가 구어체에서 문어체로 변합니다. 양해 부탁드리겠습니다. 😉 😉

 

라이트세일 vs EC2

AWS의 대표적인 클라우드 컴퓨팅 서비스인 Lightsail과 EC2는 비슷하지만 다른 솔루션으로 그 차이점을 명확히 알고 사용해야 한다.

Amazon Lightsail이란?

1. 사용하기 쉬운 인터페이스: Lightsail은 간단한 UI와 사용자 친화적인 환경을 제공하여 초보자도 쉽게 클라우드 환경을 구축할 수 있다.

2. 고정된 요금제: Lightsail은 정해진 자원(CPU, 메모리, 스토리지) 내에서 고정된 요금제로 운영되므로 예측 가능한 비용 관리가 가능하다.

3. 사전 구성된 서비스: 간단한 웹사이트, 블로그, 전자상거래 사이트 등을 빠르게 배포할 수 있도록 사전 설정된 인스턴스 및 템플릿(WordPress, LAMP 스택 등)을 제공한다.

4. 기본적인 네트워크 관리: 네트워크 관리가 제한적이다. VPC, 세분화된 보안 규칙, 네트워크 ACL 등을 설정할 수 없으며, 기본적인 방화벽 설정만 가능하다.

5. 빠른 배포와 간편한 관리: 소규모 프로젝트나 단순한 애플리케이션 배포에 적합하며, EC2보다 관리 및 배포가 훨씬 간편하다.

6. 기본 스토리지 및 백업: Lightsail은 스냅샷 기반의 백업과 블록 스토리지를 제공하지만, EC2의 EBS처럼 다양한 스토리지 옵션이 제한적이다.

AWS EC2란?

1. 유연한 인프라: EC2는 사용자 요구에 맞게 매우 유연하게 인스턴스를 구성할 수 있다. CPU, 메모리, 스토리지 및 네트워크 리소스를 세밀하게 선택하고 조정할 수 있다.

2. 다양한 인스턴스 타입: 일반 목적, 컴퓨팅 최적화, 메모리 최적화, GPU 등 다양한 워크로드에 맞는 인스턴스 타입을 제공한다.

3. 확장성과 자동화: Auto Scaling, Elastic Load Balancing, CloudWatch와의 통합으로 애플리케이션의 확장성과 모니터링을 쉽게 관리할 수 있다.

4. 네트워크 및 보안 제어: VPC, 보안 그룹, 네트워크 ACL 등을 설정하여 고급 네트워크 구성을 할 수 있으며, 서브넷을 정의하고 퍼블릭/프라이빗 네트워크 구성을 할 수 있다.

5. 종량제 요금: EC2는 사용한 리소스에 따라 요금이 부과되며, 고정된 요금제가 없다. 필요한 자원을 유연하게 선택할 수 있지만 비용 예측이 어렵고 관리가 필요하다.

6. 고급 스토리지 옵션: EBS, S3 등 다양한 스토리지 옵션을 제공하며, 고성능 스토리지가 필요한 애플리케이션에 적합하다.

7. 다양한 AWS 서비스와의 통합: Lambda, RDS, API Gateway 등 다양한 AWS 서비스와 원활하게 통합할 수 있어 복잡한 클라우드 아키텍처를 구현할 수 있다.

종합적으로 봤을 때,

AWS Lighsail은 설정이 까다로운 EC2에 비해 직관적이고 손쉽게 인스턴스를 생성할 수 있으며 사전에 구성된 번들을 사용한다면 클라우드 구성의 핵심을 이해하지 않고도 애플리케이션, 웹 사이트 및 개발 환경을 빠르게 배포할 수 있다. 뿐만 아니라, 컨테이너, 스토리지, DB도 다 구성이 되어 있으므로 초보자와 소규모 프로젝트를 빠르게 구축하는데 적합하다.

하지만 이런 뚜렷한 장점이 오히려 Lightsail의 한계가 될 수 있다. 트래픽이나 리소스의 급격한 증가가 예상되는 애플리케이션에는 라이트세일이 적합하지 않으며, 사전 구성된 번들은 세부 사항을 설정하지 못하도록 제한되기도 한다. 또한 AWS 서비스와 통합하려면 마이그레이션이 필요할 수도 있다.

Lightsail vs EC2 비교

특징 AWS Lightsail AWS EC2
초기 설정 및 사용성 간단한 설정과 UI, 빠른 배포 가능 세밀한 설정 가능, 복잡한 인프라 배포 가능
요금제 고정 요금제, 예측 가능한 비용 관리 종량제 요금, 자원 사용에 따라 변동 가능
사용 대상 초보자, 소규모 웹사이트, 간단한 애플리케이션 배포 고성능, 대규모 애플리케이션 및 세밀한 관리가 필요한 경우
네트워크 구성 기본 방화벽 설정, VPC와 네트워크 ACL 설정 불가 VPC, 서브넷, 보안 그룹, 네트워크 ACL 설정 가능
확장성 제한적 확장성 (인스턴스 추가 가능하지만 자동 확장 기능 제한) Auto Scaling, Elastic Load Balancing으로 확장 가능
관리 관리가 용이함 (자동 백업, 간편한 서버 관리) 사용자가 더 많은 설정과 관리를 해야 함
스토리지 제한된 스토리지 옵션 (블록 스토리지, 간단한 스냅샷 백업) EBS, S3, 인스턴스 스토어 등 다양한 고성능 스토리지 옵션 제공
통합 서비스 기본적인 AWS 서비스 통합 (SNS, S3, CloudFront 등 일부 서비스) Lambda, RDS, API Gateway 등과 완벽한 통합 가능
확장 가능한 인프라 적은 양의 트래픽 처리에 적합 대규모 트래픽을 처리하거나 복잡한 인프라에 적합

결론은…

그렇기 때문에 인프라 관리자가 없고 혼자서 빠르게 웹 서비스를 호스팅하고 싶은 사람과 네트워크 트래픽에 중점을 두는 서비스에게는 라이트세일이 더 적합하다 생각했다.

추후에 다른 클라우드 서비스를 활용하거나 네트워크 관리 규칙을 세분화하며 K-L1VERSE가 확장될 때, EC2로 마이그레이션 하는 방법론을 후술 하며 마무리하겠다.

라이트세일에서 EC2 마이그레이션

1. Lightsail 인스턴스의 백업 및 스냅샷 생성

AWS는 클라우드 컴퓨팅의 특정 시점의 디스크 상태를 “스냅샷”으로 저장하여 데이터 무결성을 보장한다. Lightsail에서도 스냅샷 기능을 제공하므로, 현재 Lightsail 인스턴스의 디스크 내용을 스냅샷으로 저장하여 백업할 수 있다. 이를 통해 모든 데이터를 보호하고 마이그레이션 실패 시 복구한다.

2. EC2 인스턴스 세부 설정

EC2에서는 Lightsail보다 더 세분화된 네트워크 설정을 사용할 수 있다. EC2의 네트워크 보안을 강화하기 위해 아래와 같은 설정을 추가할 수 있다.

  • VPC(가상 사설 클라우드): EC2는 VPC를 사용하여 네트워크 구성을 제어한다. 필요한 서브넷, 보안 그룹, 네트워크 ACL 등을 설정하여 네트워크 규칙을 강화할 수 있다.
  • IAM 역할 설정: Lambda, RDS 등과의 상호작용을 위해 EC2에 적절한 IAM 역할을 부여하여 권한을 관리한다.

3. 스냅샷을 사용하여 EC2 인스턴스 생성

Lightsail에서 생성한 스냅샷을 사용해 EC2에서 인스턴스를 생성한다. Lightsail 스냅샷을 내보내고 이를 EC2의 EBS 볼륨으로 변환하여 EC2 인스턴스에 연결한다. EBS란, EC2 인스턴스의 스토리지로 Lightsail의 디스크 스냅샷을 EBS로 변환하면 동일한 데이터를 유지하면서 새로운 인스턴스를 생성할 수 있다.

4. DNS 및 도메인 설정

Lightsail에서 제공하는 DNS 관리 기능을 Route 53 또는 다른 DNS 관리 서비스로 이전하여 도메인 이름을 EC2 인스턴스로 포인팅한다.

5. 보안 그룹 및 네트워크 ACL 설정

EC2에서 보안 그룹을 설정하여 특정 IP, 포트, 프로토콜에 따라 트래픽을 제한하고 네트워크 ACL을 추가로 설정하여 서브넷 레벨의 트래픽을 제어할 수 있다.

원리: 보안 그룹은 상태 저장 방화벽으로, EC2 인스턴스에 대한 인바운드 및 아웃바운드 트래픽을 제어하며, 네트워크 ACL은 서브넷 차원에서 보다 세분화된 트래픽 제어를 제공합니다.

6. Lambda, RDS, API Gateway 연동

EC2 인스턴스에서 Lambda 함수 호출, RDS 데이터베이스 연결, API Gateway를 통한 API 관리를 위해 각각의 서비스와의 연동을 설정한다. 이때 필요한 IAM 권한을 EC2 인스턴스에 부여해야 한다. Lambda, RDS, API Gateway는 각각 서버리스 컴퓨팅, 데이터베이스 관리, API 관리를 담당하는 서비스로, EC2 인스턴스와의 통합을 통해 확장 가능한 클라우드 인프라를 구축할 수 있다.

이 과정을 통해 Lightsail의 간단한 환경에서 EC2의 복잡하고 유연한 환경으로 원활하게 마이그레이션 할 수 있으며, 네트워크와 보안을 강화하고 다양한 AWS 서비스와 통합할 수 있다.

댓글