Lightsail 메인화면에서 create instance 버튼을 눌러줍니다.
인스턴스 이미지 선택에서 플랫폼으로 Linux/Unix
를 선택하고 블루프린트는 OS Only
을 선택합니다. 그런 다음 운영체제는 아주 다양한데 가장 안정되고 많은 사람이 사용하는 우분투를 고려하여, 최신버전인 Ubuntu 22.04 LTS
를 선택해줍니다.
인스턴스 플랜 선택에서 월별 요금
과 $5 USD
을 선택합니다. 참고로 더 저렴한 3.5$ 인스턴스도 있지만, 장고를 사용하기에는 메모리가 부족하여 적당하지 않습니다.
인스턴스명은 자동으로 선택한 OS명에 인덱스를 붙여 Ubuntu-숫자
로 되어 있을텐데, 저는 좀 더 확실하게 구분할 수 있게 리소스 이름을 변경했습니다.
마지막으로, 인스턴스 생성 버튼을 눌러줍니다.
인스턴스를 생성하는 동안에는 Pending(대기중)이라는 메시지를 보여줍니다.
1~2분이 지나면 인스턴스가 Pending에서 Running(실행중)으로 바뀝니다.
Django 프로젝트를 서버에 적용하기 위해서는 서버에 접속하여 프로그램을 설치하고 환경 설정을 진행해야 합니다. 이때, 서버 작업을 하기위해 (1)SSH 터미널을 사용하게 됩니다.
SSH 프로그램으로 서버에 접속하기 위해서는 AWS의 계정 프라이빗 키가 필요합니다.
인스턴스를 누르면 Connect탭에서 가장 하단에 Download deafault key
버튼이 있습니다.
버튼을 누르면 LightsailDefaultKey-ap-northeast-2.pem과 같은 이름의 프라이빗 키가 다운로드됩니다. 다운받은 .pem 파일
은 저장하고 싶은 폴더에 저장해둡시다.
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를 수정해줍니다.
PubkeyAuthentication yes
에 대한 주석을 제거해 줍니다.(# 제거)PasswordAuthentication no
을 PasswordAuthentication yes
로 변경해줍니다.: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은 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번)