[AWS] Lightsail을 사용하여 Django 프로젝트 배포하기(1) - Window에서 Lightsail 서버 접속

itisny·2024년 1월 10일
0

AWS 라이트세일 인스턴스 생성하기

Lightsail 메인화면에서 create instance 버튼을 눌러줍니다.

인스턴스 이미지 선택에서 플랫폼으로 Linux/Unix를 선택하고 블루프린트는 OS Only을 선택합니다. 그런 다음 운영체제는 아주 다양한데 가장 안정되고 많은 사람이 사용하는 우분투를 고려하여, 최신버전인 Ubuntu 22.04 LTS를 선택해줍니다.

인스턴스 플랜 선택에서 월별 요금$5 USD을 선택합니다. 참고로 더 저렴한 3.5$ 인스턴스도 있지만, 장고를 사용하기에는 메모리가 부족하여 적당하지 않습니다.

인스턴스명은 자동으로 선택한 OS명에 인덱스를 붙여 Ubuntu-숫자로 되어 있을텐데, 저는 좀 더 확실하게 구분할 수 있게 리소스 이름을 변경했습니다.
마지막으로, 인스턴스 생성 버튼을 눌러줍니다.

인스턴스를 생성하는 동안에는 Pending(대기중)이라는 메시지를 보여줍니다.
1~2분이 지나면 인스턴스가 Pending에서 Running(실행중)으로 바뀝니다.

서버 접속하기

SSH KEY 다운받기

Django 프로젝트를 서버에 적용하기 위해서는 서버에 접속하여 프로그램을 설치하고 환경 설정을 진행해야 합니다. 이때, 서버 작업을 하기위해 (1)SSH 터미널을 사용하게 됩니다.
SSH 프로그램으로 서버에 접속하기 위해서는 AWS의 계정 프라이빗 키가 필요합니다.


인스턴스를 누르면 Connect탭에서 가장 하단에 Download deafault key 버튼이 있습니다.
버튼을 누르면 LightsailDefaultKey-ap-northeast-2.pem과 같은 이름의 프라이빗 키가 다운로드됩니다. 다운받은 .pem 파일은 저장하고 싶은 폴더에 저장해둡시다.

Ubuntu 서버에 접속하기

Window Powershell

ssh -i [.pem 파일 경로] ubuntu@[public ip]을 통해 윈도우 파워쉘에서 Ubuntu 서버에 접속이 가능합니다.
만약 우분투 서버에서 나오고 싶다면, exit 명령어를 치면됩니다.

# 예시 (.pem 파일은 user 폴더의 .aws에 저장되어 있는 상태입니다.)

# Ubuntu 서버에 접속하기
PS C:\Users\user> ssh -i .\.aws\LightsailDefaultKey-practice.pem ubuntu@52.78.123.44
# 접속 성공
Welcome to Ubuntu 22.04.3 LTS (GNU/Linux 6.2.0-1017-aws x86_64)
# 생략..

# Ubuntu 서버에서 나오기
ubuntu@ip-172-26-8-202:~$ exit
logout
Connection to 52.78.123.44 closed.

Ubuntu 서버에 접속된 상태에서 초기 세팅이 필요합니다.
sudo apt update를 해주고, sudo apt upgrade -y을 해줍니다.
apt upgrade를 해주다가 갑자기 아래 사진처럼 뜰 수 있는데 다음과 같이 설정해주면 됩니다.

화살표 방향키를 이용하여 첫번째 선택를 선택해준뒤 엔터를 눌러줍니다.

화살표 방향키를 이용하여 스페이스로 모두 별표(*) 체크해준 뒤에 엔터를 눌러줍니다.
그러면 upgrade를 마저 할 수 있습니다.

ssh -i [.pem 파일 경로] ubuntu@[public ip]가 아닌ssh ubuntu@[퍼블릭ip] 명령어를 이용해서 비밀번호를 치고 쉽게 접속할 수 있는데요, 이 설정을 한번 해보겠습니다.
먼저, sudo vim /etc/ssh/sshd_config 명령어를 입력하여 sshd_config를 수정해줍니다.

  1. i키를 눌러 수정모드로 바꿔줍니다.
  2. 38줄에 있는 PubkeyAuthentication yes에 대한 주석을 제거해 줍니다.(# 제거)
  3. 57줄에 있는 PasswordAuthentication noPasswordAuthentication yes로 변경해줍니다.
  4. esc키를 눌러 :wq(저장하고 종료)를 입력해준뒤 편집기에서 벗어납니다.
    만약 저장을 안하고 싶다면 :wq대신 :q(편집 안된 상태)나 :q!(편집된 상태)을 입력해주세요.

sshd_config를 수정해줬으면, sudo systemctl restart sshd을 입력하여 sshd을 재시작해줍니다.
그다음, sudo passwd ubuntu을 입력하여 자신이 원하는 비밀번호를 설정해줍니다.

ubuntu 서버에서 나갔다가 다시 들어와보면 비밀번호를 생성하고 들어오는 것을 확인할 수 있습니다.

  • 나가기 : exit
  • 들어오기 : ssh ubuntu@[퍼블릭ip]sudo passwd ubuntu 에서 지정했던 비밀번호 입력

만약, 우분투 서버를 실행시켰을때 시스템이 restart가 필요하다고 뜨면 sudo reboot을 해준 다음에 다시 ssh ubuntu@[퍼블릭ip]로 접속하면 됩니다.

MobaXterm(모바엑스텀)

MobaXterm은 SSH, RDP, SFTP 등 다양한 네트워크 클라이언트와 터미널을 제공하는 Windows용 무료 소프트웨어입니다. SSH 접속 프로그램 중 가장 사용하기 편리한 프로그램이라고 소문나서 저도 설치했습니다.

https://mobaxterm.mobatek.net/download.html에 들어가면 어떤 버전을 설치할건지 나오는데, 저는 개인 사용자이므로 Home Edition(무료)을 설치해주었습니다.

파란 버튼(Portable edition)과 초록 버튼(Installer edition)이 나오는데 설치해서 하는것이 조금 더 빠른 느낌이라해서 저도 설치버전으로 다운로드 했습니다.

압축 폴더로 다운로드 받게되는데, 압축을 풀고 설치 파일을 눌러줍니다.
압축 풀기를 안해주면 중간에 설치 오류가 나니까 꼭 압축을 풀어주세요.

다음은 설치 과정입니다.

위의 과정대로하면 설치가 완료됩니다.

들어갔을때 첫 화면입니다. 좌측 상단에 컴퓨터 모양으로 session이라고 표시된 버튼을 눌러줍니다.

session settings에 들어가면 SSH 세션 화면이 나옵니다.

여기서 lightsail 주소와 username을 입력해주고, Use private key을 체크해준뒤 다운로드 받은 .pem파일의 경로를 넣어줍니다.

들어가면 처음으로 연결된 서버라고 알림창이 뜨고, Accept과 Cancel 버튼을 누르는게 있습니다. 서버 연결을 계속하려면 Accept 버튼을 눌러줍니다.

그러면 잘 접속되는 것을 확인할 수 있죠?


(선택 사항)

session 이름 바꾸기 (선택)
모바텀에서 session이름이 [서버주소](ubuntu)로 되어있습니다. 만약 의미있는 세션명으로 바꾸고자 한다면 아래와 같이 해주면 됩니다.

좌측 사이드바에서 별표모양에서 열쇠모양으로 된 부분을 마우스 오른쪽 클릭을 해줍니다. 메뉴가 뜨는데 거기에서 Rename session을 눌러줍니다.

그러면 session name을 바꿀 수 있는 화면이 나타나고, 빨간색으로 표시한 부분을 수정하면 됩니다.

host 이름 바꾸기 (선택)
ubuntu@[호스트명]에서 host 이름을 바꾸는 것도 가능합니다.
ubuntu@172-48-382이런 아이피 기준의 호스트명 대신 의미있는 호스트명으로 바꾸고자 한다면 다음의 명령으로 호스트명을 바꿀수 있습니다.

sudo hostnamectl set-hostname [호스트이름]
sudo reboot

서버 리스타트 완료 후에 다시 접속하면 ubuntu@eatwell과 같이 변경된 프롬프트를 확인할 수 있습니다.

용어 정리

(1) SSH : 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템(서버)의 명령을 수행하기 위한 프로토콜 (기본포트: 22번)

0개의 댓글