AWS Lightsail 인스턴스 생성하고 PuTTY로 접속하기

AWS Lightsail 인스턴스 생성하기

AWS Lightsail의 특징

원래 AWS 하면 가장 먼저 떠올리는 서비스는 EC2일 것이다. EC2 서비스의 특징은 사용한 시간에 따라 과금이 된다는 점이다. 따라서 EC2 인스턴스는 24/7(항상 가동되는) 서비스를 사용하는 데에 부적합하다. (그리고 뭣보다 EC2 인스턴스를 계속 켜두면 지갑이 위험해질 것이다...) 이 점을 아마존도 알고 있어서, Lightsail 이라는 새로운 유형의 VPS를 제공하기 시작했다.

Lightsail은 EC2와 비교하면 가장 큰 차이점이 하나 존재하는데, Lightsail은 항상 고정 과금이라는 점이다. AWS에서 기본적으로 제공해주는 자원을 초과 사용하지 않는 이상, 항상 고정된 요금만 결제되기 때문에 계산도 간편하고 뭣보다 EC2에 비하면 상당히 가격이 저렴하다! 다만, 이렇게 저렴한 가격을 유지하기 위해 Lightsail은 성능 제한이 상당히 강하게 적용되어 있다. 물론 개인 사이트를 운영하는 데에는 충분한 성능이다.


AWS Lightsail 인스턴스 생성하기

우선 AWS Lightsail에 접속해 로그인 하도록 하자. 로그인 완료 후 메인 홈으로 가면 아래와 같은 화면이 나올 것이다. 이 화면에서 우측의 인스턴스 생성 버튼을 클릭해주자.

밑에 있는 인스턴스 중에는 내가 운영하고 있는 이 블로그의 서버도 있다

인스턴스 생성 화면에서 Linux/Unix > Ubuntu 20.04 LTS를 선택하고, 하단의 SSH 키 페어 변경 버튼을 클릭한다.

Ubuntu 서버 생성 과정

SSH 키 페어 변경을 클릭하면, 아래와 같이 새 SSH 키 페어 생성 팝업 화면이 뜨게 된다. 원하는 이름을 입력하고 키 페어 생성 버튼을 클릭하자.

Book-Management-SSHKey.pem 키 생성

키 페어 생성 버튼을 클릭하고 나면, 키 페어가 생성되었다는 팝업 화면이 뜨면서 .pem 확장자를 가진 프라이빗 키를 다운로드 할 수 있다. 이 때 한번 다운로드 받은 키는 이후 두 번 다시 다운로드 할 수 없으므로, 반드시 관리에 신경을 써야 한다.

프라이빗 키 다운로드를 클릭하면 확인되었습니다! 버튼이 활성화 된다

새 SSH 키 페어 생성이 완료되면, 아래와 같이 새로 SSH 키 페어가 추가된 것을 알 수 있다. 인스턴스를 생성하기 전에 해당 키 페어를 선택하자.

키 페어 생성이 완료되면 자동으로 선택된다

그 다음은, 인스턴스 플랜을 선택해야 한다. 나는 가장 값이 저렴한 3.5$ 짜리 플랜을 선택했다. 만약 본인이 신규 가입자라 무료 제공 서비스를 이용할 수 있다면 5, 10$ 짜리 인스턴스를 골라도 상관없다. 플랜을 결정하고 나면 인스턴스 확인 밑에 인스턴스 명을 입력한 뒤, 인스턴스 생성 버튼을 클릭하자.

3.5$ 플랜은 메모리가 512MB 밖에 안되지만, 가상 메모리를 쓰면 적당히 쓸 수 있는 수준이다

인스턴스 생성이 완료되면 자동으로 홈으로 돌아오고, 자신이 생성한 인스턴스가 추가되고 있는 것을 볼 수 있다. 여기서 끝! ...이라고 하고 싶지만, 한 가지 더 작업할 것이 있다. 바로 인스턴스에 고정 IP를 부여하는 것이다. 새로 생성된 인스턴스가 활성화 되면 우측 위에 점 3개 짜리 버튼을 클릭하자.

사각형 안에 있는 저 버튼이다

버튼을 클릭하면 드롭박스 컴포넌트가 보일 텐데, 그 중 관리를 클릭하자.


관리 페이지로 들어오면, 퍼블릭 IP가 대문짝만하게 보일 것이다. 이 퍼블릭 IP는 현재 동적 IP이기 때문에, 모종의 이유로 서버가 재시작 되면 항상 바뀌게 된다. 따라서 서버가 재시작 되더라도 IP가 바뀌지 않게 작업을 해줄 필요가 있다. 관리 페이지에서 네트워킹 탭을 클릭한다.

AWS의 모든 인스턴스는 기본적으로 동적 IP가 할당된다

네트워킹을 클릭하면 퍼블릭 IP 칸 밑에 인스턴스의 현재 IP가 보이며
+ 고정 IP 생성 이라는 버튼도 보일 것이다. 이 버튼을 클릭해 주자.


+ 고정 IP 생성 버튼을 클릭하면, 아래와 같이 고정 IP를 할당하려 하는 인스턴스를 보여준다. 그리고 그 밑으로 고정 IP 확인 칸에 해당하는 고정 IP를 식별하기 위한 리소스 명을 지정해줘야 한다. 리소스 명을 지정해 줬다면 생성 버튼을 클릭해 고정 IP를 생성해주자.

생성 버튼을 클릭하면, 고정 IP를 생성하면서 동시에 연결까지 해준다

고정 IP를 생성하고 나면, 아래와 같이 리소스 창을 보여준다. 이 리소스 창에서는 내 인스턴스의 IP가 고정 IP로 변경된 것을 보여준다.

아직 보안 설정을 하지 않았기 때문에 IP는 모자이크 처리 했다

PuTTY로 인스턴스에 접속하기

시작하기에 앞서

PuTTY를 이용해 인스턴스에 접속하기 위해서는 다음이 필요하다.

  • 위에서 생성한 인스턴스의 공개 IP
  • 인스턴스를 생성하면서 다운 받은 pem 확장자를 가지는 파일

PuTTY란?

PuTTY는 다양한 운영체제의 GUI 환경에서 사용할 수 있는 SSH, Telnet과 같은 네트워크 프로토콜 접속용 클라이언트 프로그램이다. 일반적으로 Windows 계열의 운영체제에서 다른 원격 서버를 제어할 목적으로 쓰인다.


PuTTY 설치

PuTTY 설치 방법은 아주 간단하다. 아래의 페이지로 접속해 자신의 운영체제 비트 수에 맞춰 msi 프로그램을 다운 받아 설치하면 된다.

Download PuTTY - a free SSH and telnet client for Windows

PuTTY로 인스턴스에 접속하기

PuTTY 프로그램을 본격적으로 실행하기에 앞서 먼저 작업해야 할 것이 있는데, 인스턴스를 생성하면서 다운 받은 pem 파일을 ppk로 변환해주는 것이다. Windows 검색 창에서 puttygen을 검색해보자. 아래와 같이 puttygen이 뜨지 않는다면 PuTTY가 제대로 설치되지 않은 것일 가능성이 있다.

puttygen을 실행하자

위의 프로그램을 실행하면 PuTTY Key Generator가 실행될 것이다. 이 화면이 열리면 File > Load private key를 클릭하자.

파일 선택 창이 뜬다면, 우측 하단의 파일 유형을 All Files(*.*)로 변경하고, pem 키를 열도록 하자.

기본적으로 ppk 파일만 찾으므로 반드시 All Files로 변경하자

pem 파일을 로드하고 나면 아래와 같이 각종 정보가 뜨게 될 것이다. 이 다음에는 File > Save private key를 클릭 해, ppk 파일로 변환하자.

Save private key를 클릭하면 아래와 같이 Warning 팝업이 뜨게 된다. 이것은 Key passphrase 값을 설정해 주지 않아서 그런데, 간단히 말하자면 2차 비밀번호를 입력하지 않아서 그렇다. 다만 2차 비밀번호를 입력하지 않아도 키가 타인에게 직접 유출되지 않는 한 별 문제는 없으니 나는 그대로 사용하도록 하겠다.

경고를 무시하고 그냥 '예' 버튼을 클릭하자

ppk 파일을 생성하고 나면 PuTTY를 실행하도록 하자. PuTTY를 실행하면 다음과 같은 화면이 뜨게 될 것이다.

PuTTY의 기본화면

아래와 같이 Host Name에 AWS Lightsail 인스턴스의 공개 IP를 입력하고 Saved Sessions에 내가 식별하고자 하는 이름을 입력한다. 그 다음에는 좌측 카테고리에서 SSH > Auth를 클릭한다.

필요한 값들을 모두 채우고 Auth를 선택하자

Auth를 클릭하면 아래와 같이 SSH 인증 관련 설정이 뜰 것이다. 여기서 우측 하단의 Browse... 을 클릭한 뒤, 위에서 변환한 ppk 파일을 찾아주어야 한다. ppk 파일 설정이 완료 되면 Category의 Session을 클릭해 다시 원래 화면으로 돌아온다.

ppk 파일의 경로를 알려주지 않으면 해당 서버에 인증할 수 없다

Save 버튼을 눌러 세션 정보를 저장해준다. 해당 정보를 저장하면 Host Name과 ppk 파일의 경로를 항상 지정하지 않아도 저장된 세션 정보를 가져올 수 있다. 저장이 완료 되었다면 Open 버튼을 클릭해 원격 창을 열도록 하자.

매번 세션 정보를 입력하기 싫다면 반드시 저장해두도록 하자

Open 버튼을 클릭하고 나면 아래와 같이 원격 창이 뜨게 된다. 이 화면에서는 접속할 서버의 계정을 입력해주면 된다. 내가 이전에 작성한 글대로 AWS Lightsail 인스턴스를 생성 했다면, 기본 계정 명은 ubuntu 이다. 만약 다른 운영체제를 선택 했다면, 해당 인스턴스 정보에서 기본 계정 명을 확인 할 수 있다.

login as: 에 ubuntu를 입력한다

만약 정상적으로 로그인 되었다면, 아래와 같이 커맨드를 입력할 수 있는 화면 이 뜨게 된다. 아래와 같은 화면이 뜨지 않고 패스워드를 입력하라는 입력 하라는 얘기가 뜬다면 ppk 파일 경로가 제대로 입력되지 않거나 ppk 파일이 제대로 변환되지 않은 것이니 위에서 부터 재시도 하길 바란다.

ubuntu@ip-<private-ip>~$ 오른쪽에 커맨드를 입력할 수 있다

정리하며

사실 제목은 AWS Lightsail 인스턴스를 생성하고 PuTTY로 접속하기 이지만, VPS에 익숙해지고 PuTTY를 적당히 다룰 수 있게 된다면 다른 VPS 에서도 금방 적용 시킬 수 있다. VPS에서 인스턴스를 생성하고 PuTTY로 원격 접속하는 것은 서버 관리자의 필수 소양이나 다름 없으니 알아둬서 나쁠 것은 없다.