AWS Lightsail: 초보자를 위한 실전 안내

처음 AWS Lightsail를 탐험할 때, 애플리케이션, 웹사이트, 데이터베이스를 호스팅하는 데 얼마나 간단하고 비용 효율적인지에 감명을 받았습니다.

클라우드 컴퓨팅에 처음 입문하는 사람들에게 좋은 옵션인데, 가상 개인 서버(VPS)를 쉽게 설정하고 네트워킹을 관리하며 다른 AWS 서비스와 통합할 수 있습니다.

개인 웹사이트, 전자상거래 스토어, 또는 가벼운 데이터베이스를 배포하려는 경우, Lightsail은 시작하는 데 필요한 도구를 제공합니다.

이 자습서를 마치면 작동하는 Lightsail 인스턴스를 보유하고 보안 및 성능에 대한 모범 사례를 이해하며 필요에 따라 프로젝트를 확장하는 방법을 알게됩니다.

AWS에 입문하고 Lightsail에 뛰어들기 전에 더 광범위한 이해를 원한다면, 기본 지식을 쌓기 위해 AWS 소개 과정을 시작하는 것을 추천합니다.

AWS Lightsail은 무엇인가요?

AWS Lightsail은 아마존의 클라우드 서비스로, 네트워킹, 데이터베이스, 스토리지 및 고정 월간 요금으로 VPS 호스팅을 제공합니다.

EC2 인스턴스를 관리하는 복잡성 없이 저렴한 비용으로 애플리케이션을 출시하고 싶은 개발자, 스타트업 및 기업에 적합합니다.

AWS Lightsail의 기능들

AWS Lightsail의 뛰어난 기능 중 하나는 전력을 희생하지 않고 클라우드 호스팅을 간단하게 만드는 방법입니다.

Lightsail의 몇 가지 기능은 다음과 같습니다:

  • 쉬운 설정: 사전 구성된 블루프린트를 사용하여 몇 분 안에 응용 프로그램을 배포할 수 있어 수동 설정의 귀찮음을 제거합니다.
  • 예측 가능한 가격: Lightsail은 고정 비용 요금 모델을 따르므로 클라우드 비용을 예산 편리하게 할 수 있습니다.
  • 사전 구성 스택: Lightsail은 워드프레스, LAMP, Node.js 및 Ubuntu를 포함한 OS 및 응용 프로그램 블루프린트를 제공하여 빠르게 테스트 환경을 설정할 수 있습니다.
  • 통합 네트워킹: 부하 분산, 정적 IP, DNS 관리와 같은 기능을 갖추고 있어 복잡한 네트워크 구성에 대해 걱정할 필요가 없습니다.
  • 확장성: 필요에 따라 인프라도 확장할 수 있습니다. Lightsail 인스턴스를 업그레이드하거나 더 많은 유연성과 성능을 위해 AWS EC2로 전환할 수 있습니다.
  • 자동 백업: 자동 스냅샷으로 데이터를 안전하게 보관하여 필요할 때 이전 버전을 복원할 수 있습니다. 예기치 않은 데이터 손실을 방지하기 위해 이 기능을 활성화하는 것을 권장합니다.
  • API 및 CLI 지원: 배포 및 관리 작업을 자동화하려면 Lightsail은 API 및 CLI 통합을 제공하여 작업을 간소화할 수 있습니다.
  • 관리형 데이터베이스: Lightsail의 내장 데이터베이스 서비스를 사용하여 MySQL 또는 PostgreSQL과 같은 데이터베이스를 호스팅할 수 있습니다. 데이터베이스를 처음부터 설정할 필요가 없으며, 원하는 데이터베이스를 선택하고 즉시 사용할 수 있습니다.

AWS Lightsail가 AWS EC2와 어떻게 다른지

AWS Lightsail은 관리형 VPS 서비스를 제공하여 클라우드 호스팅을 간소화하는 반면, AWS EC2는 가상 머신, 네트워킹 및 저장소에 대해 더 세밀한 제어를 제공합니다.

EC2는 복잡한 아키텍처와 대규모 응용 프로그램에 이상적이며, Lightsail은 빠른 배포와 예측 가능한 가격이 필요한 작은 프로젝트에 가장 적합합니다.

Lightsail 이상의 고급 클라우드 솔루션을 찾고 있다면, AWS 클라우드 기술 및 서비스 과정에서 EC2, 네트워킹 및 데이터베이스 관리를 포함한 더 넓은 범위의 AWS 기능을 다룹니다.

AWS Lightsail 설정하기

AWS Lightsail을 시작하기 전에 몇 가지 필수 설정 단계를 거쳐야 합니다.

단계 1: AWS Lightsail 계정 생성

AWS 계정이 없는 경우 AWS 웹사이트로 이동하여 가입하십시오.

아래 이미지는 이 페이지의 스크린샷을 포함하고 있습니다.

2단계: AWS Lightsail 콘솔에 접근하기

AWS 계정이 준비되면 다음 단계는 AWS Lightsail 콘솔에 접근하는 것입니다. 이는 두 가지 방법으로 수행할 수 있습니다:

Lightsail 콘솔에 들어가면 대시보드가 나타납니다. 이는 주요 섹션으로 나뉘어 있습니다: 인스턴스, 네트워킹, 저장소 및 스냅샷. 이 탭에는 Lightsail 리소스를 관리하는 데 필요한 모든 도구가 포함되어 있습니다.

첫 번째 Lightsail 인스턴스 시작하기

AWS Lightsail 콘솔에 들어왔으므로 첫 번째 인스턴스를 시작할 준비가 되었습니다.

단계 1: 인스턴스 생성

시작하려면 인스턴스 생성을 클릭하세요 – 아래 이미지에 표시된 대로. 이렇게 하면 인스턴스 생성 페이지로 이동합니다.

단계 2: 인스턴스 이미지 선택

아래 이미지는 인스턴스를 생성할 때 보게 될 화면의 예시를 제공합니다. 실제 외관은 AWS 리전, 가용 영역 및 콘솔 버전에 따라 다를 수 있습니다.

첫 번째 선택은 인스턴스가 사용할 운영 체제나 사전 구성된 소프트웨어 스택을 결정해야 합니다.

Lightsail은 두 가지 옵션을 제공합니다:

  • 앱 + OS 이미지: 인스턴스를 빠르게 배포하려면 WordPress, LAMP 또는 Node.js와 같은 미리 구성된 애플리케이션 스택을 선택하십시오. 이렇게 하면 OS와 소프트웨어를 한 번에 설정하여 시간을 절약할 수 있습니다.
  • OS 전용 이미지: 모든 것을 처음부터 설정하는 것을 선호하는 경우 Ubuntu, CentOS 또는 Windows와 같은 베어 운영 체제를 선택하십시오. 이러한 것들은 구성에 대한 완벽한 제어가 필요한 경우에 좋습니다.

또 하나의 결정 사항은 인스턴스용 지역 선택입니다. AWS Lightsail은 전 세계의 여러 데이터 센터에서 운영되며, 선택한 지역은 인스턴스의 지연 시간과 성능에 영향을 미칩니다. 

대부분의 대상이 북미에 있다면 미국 기반 지역의 인스턴스가 더 빠른 응답 시간을 제공할 것입니다. 유럽 또는 아시아의 사용자를 대상으로 하는 경우, 지연을 최소화하기 위해 그들에게 더 가까운 지역을 선택하십시오.

아래 이미지는 일부 이용 가능한 AWS 지역 및 가용 영역을 강조하고 있습니다. AWS는 주기적으로 새로운 지역 및 가용 영역을 추가하여 인프라를 확장하므로 업데이트를 확인하여 필요에 맞는 최적 옵션을 찾으십시오.

단계 3: 인스턴스 플랜 선택

다음 단계는 컴퓨팅 필요에 따라 가격 계획을 결정하는 것입니다.

작성 시점에서 AWS Lightsail은 월 $5부터 시작하는 고정 비용 계획을 제공합니다. CPU 성능, RAM 및 저장소를 추가하면 가격이 상승합니다.

아래 이미지는 주기적으로 업데이트될 수 있는 사용 가능한 계획의 선택을 표시합니다.

  • 기본 계획은 소규모 웹사이트, 테스트 환경 또는 간단한 애플리케이션에 충분합니다.
  • 더 많은 트래픽이 예상되거나 더 높은 처리 능력이 필요하다면 중간 또는 고급 계획을 선택하는 것이 좋습니다.

Lightsail의 장점 중 하나는 예측 가능한 가격입니다. 예기치 못한 수수료가 없어 클라우드 호스팅에 입문하는 사람들에게 탁월한 선택지입니다.

단계 4: 인스턴스 세부정보 구성

인스턴스를 사용자 정의하려면 시작하기 전에 몇 가지 설정을 조정해야 합니다:

  • 고유한 이름 부여: 여러 인스턴스를 관리할 계획이 있다면 쉽게 식별할 수 있습니다.
  • SSH 키 쌍 설정: 이는 중요한 보안 단계입니다. 이미 SSH 키가 없다면 AWS가 하나를 생성해줍니다. 나중에 인스턴스에 안전하게 연결하려면 이 키가 필요합니다.
  • 네트워킹 설정 조정: 여기에서는 방화벽 규칙을 구성하여 허용되는 트래픽 유형을 제어할 수 있습니다. 예를 들어, 웹 서버는 HTTP(포트 80)와 HTTPS(포트 443)를 허용해야 할 수 있고, 다른 포트는 보안상의 이유로 제한되어야 합니다.

단계 5: 인스턴스 시작

모든 것이 잘 보인다면, 인스턴스 생성 버튼을 클릭하세요. 일반적으로 Lightsail은 백그라운드 설정 프로세스를 시작하는 데 몇 분 정도 걸립니다.

아래 이미지는 백그라운드에서 인스턴스가 설정되는 과정을 보여줍니다.

아래 이미지는 준비된 인스턴스를 보여줍니다.

이제 응용 프로그램, 웹 사이트 또는 개발 환경을 호스팅할 준비가 된 클라우드 기반 서버가 있습니다!

라이트세일 인스턴스 관리

인스턴스가 가동되면 다음 단계는 효과적으로 관리하는 것입니다. 이에는 인스턴스에 연결, 백업 스냅숏 촬영 및 안정적이고 안전한 액세스를 위한 네트워킹 구성이 포함됩니다. 이러한 작업을 하나씩 살펴보겠습니다.

단계 1: SSH를 통한 연결

내장 터미널을 사용하여 Lightsail 콘솔에서 SSH를 통해 인스턴스에 연결할 수 있습니다.

아래 이미지는 SSH를 통해 연결할 수 있는 위치 및 제공되는 내장 터미널을 보여줍니다.

만약 PuTTY와 같은 SSH 클라이언트를 사용하려면, 이전에 설정한 SSH 키페어의 개인 키가 필요합니다.

마지막으로 콘솔에서 인스턴스 상태를 확인하여 인스턴스가 제대로 작동하는지 확인하십시오.

단계 2: 스냅샷 관리

스냅샷은 본질적으로 인스턴스의 백업이며, 재해 복구나 이전을 위해 유용합니다.

하나를 만들려면 인스턴스 관리 페이지의스냅샷 탭으로 이동하고 스냅샷 생성을 클릭하십시오.

아래 이미지는 Lightsail 콘솔의 스냅샷 탭을 보여줍니다.

서버에 문제가 발생하면 이전 상태로 복원하기 위해 스냅샷을 복원할 수 있습니다.

단계 3: 네트워킹 관리

인스턴스에 안정적이고 신뢰할 수 있는 액세스를 보장하려면 네트워킹 설정을 구성해야 합니다. 이에는 정적 IP 할당, DNS 구성 설정, 방화벽 규칙 관리가 포함됩니다.

  • 정적 IP 할당. 정적 IP가 없으면 인스턴스의 공용 IP가 재부팅될 때 변경될 수 있습니다. 이는 웹사이트나 고정 주소에 의존하는 애플리케이션을 실행 중인 경우 문제가 될 수 있습니다.
  • DNS 설정 구성. 도메인 이름을 Lightsail 인스턴스에 연결합니다. 웹사이트를 호스팅하고 방문자가 IP 주소 대신 사용자 정의 도메인을 통해 액세스할 수 있도록 하는 데 유용합니다.
  • 방화벽 규칙 설정 인스턴스에 액세스할 수 있는 사용자를 제어하기 위해 필요한 트래픽만 허용하는 방화벽 규칙을 설정하세요. 예를 들어 SSH (포트 22)를 사용자의 IP에 대해서만 활성화하고 다른 오픈 포트는 신뢰할 수 있는 소스로 제한하세요.라이트세일에 애플리케이션 배포하기

라이트세일 인스턴스를 설정하고 네트워킹을 구성했다면, 애플리케이션을 배포할 준비가 되었습니다.

단계 1: 소프트웨어 설치

다음 단계는 필요한 소프트웨어를 설치하는 것입니다. 이를 위해 SSH를 통해 인스턴스에 연결해야 합니다.

라이트세일 콘솔을 사용 중이라면 브라우저 기반 터미널을 열려면 연결 버튼을 클릭할 수 있습니다. 또는 SSH 키가 설정되어 있다면 PuTTY와 같은 SSH 클라이언트나 명령 줄을 사용할 수도 있습니다.

기본 웹 서버 설정을 위해 Apache, MySQL, PHP와 같은 소프트웨어가 필요할 수 있습니다. 다음 명령어를 사용하여 한 번에 설치할 수 있습니다:

sudo apt update && sudo apt install apache2 -y

위 명령어는 패키지 목록을 업데이트하고 웹 페이지를 방문자에 제공하는 Apache를 설치합니다. 

애플리케이션에 따라 동적 콘텐츠를 위한 PHP나 데이터베이스 관리를 위한 MySQL과 같은 다른 구성 요소도 설치해야 할 수 있습니다.

2단계: WordPress 설정

WordPress 웹사이트를 배포하는 경우, AWS Lightsail을 사용하면 더 간편해집니다. 모든 것을 수동으로 설치하는 대신 인스턴스를 생성할 때 미리 구성된 WordPress 블루프린트를 선택할 수 있습니다. 이를 통해 WordPress, MySQL 및 모든 필요한 구성 요소가 자동으로 설정됩니다.

인스턴스가 실행 중이면 웹 브라우저를 열고 Lightsail 인스턴스의 공용 IP 주소로 이동합니다.

WordPress 설정 화면이 표시되며, 사이트 이름, 관리자 계정 및 기타 설정을 구성할 수 있습니다.

성능을 향상시키려면 캐싱을 활성화하고 콘텐츠 전송 네트워크(CDN)를 설정하는 것이 좋습니다. Lightsail에는 내장된 CDN 지원이 있어 방문자에게 더 가까운 엣지 위치에서 콘텐츠를 제공하여 사이트의 속도를 높일 수 있습니다.

3단계: 사용자 정의 웹 응용 프로그램 배포

WordPress 대신 사용자 정의 웹 애플리케이션을 작업하고 있다면, 코드를 수동으로 업로드해야 합니다.

인스턴스로 파일을 전송하는 가장 쉬운 방법은 다음과 같습니다:

  • SCP (Secure Copy Protocol) – 몇 개의 파일만 업로드하면 되는 경우, SCP를 사용하여 로컬 컴퓨터에서 안전하게 전송할 수 있습니다.
  • Git – 코드가 Git 저장소에 저장되어 있는 경우, 다음을 사용하여 Lightsail 인스턴스에 직접 클론할 수 있습니다:
git clone https:// github. com/name-of-your-repo

파일을 업로드한 후 의존성을 설치해야 합니다.

예를 들어 Node.js 애플리케이션을 실행 중이라면 다음을 사용하여 의존성을 설치할 수 있습니다:

npm install

다음으로 웹 서버를 구성합니다. Nginx를 사용 중이라면 애플리케이션을 올바르게 제공하기 위해 구성 파일을 설정해야 합니다.

마지막으로, 민감한 정보를 환경 변수를 사용하여 안전하게 저장하십시오. 애플리케이션에 하드코딩하는 대신 셸에서 변수를 내보내거나 애플리케이션이 읽는 .env 파일을 사용할 수 있습니다.

모든 것을 설정한 후 웹 서버를 다시 시작하고 애플리케이션이 올바르게 실행되는지 확인하십시오.

이 시점에서 사용자 정의 앱이 AWS Lightsail에서 활성화되었습니다!

특히 AWS EC2 인스턴스를 배포하고 관리하는 방법에 관심이 있다면, 초보자를 위한 AWS EC2 튜토리얼을 살펴보세요 AWS EC2 Tutorial for Beginners, 핵심 개념과 구성을 다룹니다.

Lightsail 확장 및 최적화

애플리케이션이 성장함에 따라 성능을 향상하거나 더 많은 트래픽을 처리하거나 저장 용량을 늘리는 등의 필요성이 있을 수 있습니다. AWS Lightsail은 인스턴스를 업그레이드하거나 부하를 분산하거나 저장 공간을 확장하는 방법을 제공합니다.

단계 1: 인스턴스 확장

Lightsail 인스턴스가 따라가기 어려울 때 두 가지 주요 선택지가 있습니다:

  1. 더 큰 플랜으로 업그레이드하기 (수직 확장) – 이는 새로운 더 강력한 인스턴스를 생성하고 데이터를 이전하는 것을 의미합니다. AWS는 자동 업그레이드를 제공하지 않으므로 이전 작업을 수동으로 처리해야 합니다.
  2. 수평으로 확장하기 – 단순히 하나의 큰 인스턴스가 아닌, 여러 개의 작은 인스턴스에 부하를 분산시킬 수도 있습니다. 이를 Lightsail 로드 밸런서와 결합하여 시스템을 원활하게 유지할 수 있습니다.

단계 2: 더 많은 저장 공간 추가하기

공간이 부족한 경우, 다음을 수행할 수 있습니다:

1. 스토리지 섹션으로 이동하여 새 블록 저장소 볼륨을 연결합니다.

2. 다음 명령어를 사용하여 인스턴스에 마운트합니다:

sudo mount /dev/xvdf /mnt/new_storage

3. 재부팅 후에도 유지되기를 원한다면 /etc/fstab를 업데이트합니다.

3단계: 로드 밸런싱

트래픽이 급증할 경우 로드 밸런서를 사용할 수 있습니다. 로드 밸런서는 들어오는 요청을 여러 인스턴스에 분산시켜 성능을 안정적으로 유지합니다.

Lightsail의 내장 로드 밸런서는 이를 쉽게 만들어 줍니다.

스냅샷과 스크립트를 사용하여 인스턴스 배포를 자동화하여 더 나은 확장을 할 수 있습니다.

AWS 인증 전문가가 되기 위한 구조화된 경로를 원한다면 AWS 클라우드 실무자 (CLF-C02) 인증 트랙을 고려해 보세요. 이는 AWS 서비스와 모범 사례를 더 잘 이해하는 데 도움이 될 것입니다.

Lightsail의 모니터링 및 보안

Lightsail 인스턴스를 원활하고 안전하게 운영하기 위해서는 능동적인 모니터링과 적절한 보안 조치가 필요합니다. 성능 지표를 추적하고 보안 모범 사례를 따름으로써 문제 발생 전에 예방할 수 있습니다..

성능 모니터링

메트릭스탭은인스턴스의 상태를 모니터링할 수 있습니다. CPU 사용량, 네트워크 트래픽 및 저장 공간을 확인할 수 있습니다.

문제가 있어 보인다면, 심각한 문제가 되기 전에 문제를 잡기 위한 경고를 설정하세요.

인스턴스 보안

다음 간단한 단계로 Lightsail 인스턴스를 보호할 수 있습니다:

  • 루트 로그인 비활성화 – 더 나은 보안을 위해 키 기반 SSH 인증을 사용하세요.
  • 방화벽 규칙 강화 – 실제로 필요한 포트만 열기.
  • 자동 업데이트 활성화 – 이를 통해 취약점을 보완하는 데 추가 노력이 필요하지 않습니다.

결론

개발자 및 소기업이 필요로 하는 AWS Lightsail이 훌륭한 옵션이라고 생각합니다. 단순하고 확장 가능하며 비용 효율적인 클라우드 호스팅 솔루션을 제공합니다. AWS의 복잡성을 줄이면서도 애플리케이션을 쉽게 배포하고 관리할 수 있는 유연성을 제공합니다.

AWS 기술을 더 깊이 이해하고 싶다면, 다음 강의를 꼭 확인해보세요:

Source:
https://www.datacamp.com/tutorial/aws-lightsail