0%

AWS Lightsail로 DB 서버 생성하기

이 글은 AWS Lightsail 인스턴스를 생성하여 DB서버를 구축하는 방법을 정리합니다.

DB 서버 생성

DB 서버는 AWS의 lightsail을 사용하기로 결정했다. 그 이유로는 매달 결정되어 있는 가격대와 편리함 등이 꼽혔다. 여러 명이 같이 돈을 지불해야 하는 탓에 금액이 정해져있지 않으면 매달 귀찮은 일이 발생할 것 같았다.

AWS lightsail 인스턴스 생성

AWS의 계정이 있다면, 간단하다. 서비스에서 lightsail을 찾아서 들어간 후 인스턴스 생성을 클릭하면 된다. 그러면 아래와 같은 화면은 만날 수 있다.

lightsail

여기서 사용하려는 OS를 선택하면 된다. 이 서버는 Ubuntu18.04 LTS를 선택하였다.
현재 회사에서는 redhat이나 centos를 주로 사용하기 때문에 사이드 프로젝트 할 때만이라도 ubuntu를 사용해보고 싶었다. 결론은 매우 개인적인 이유로 OS를 선택했다.

lightsail2

그 다음 아래로 내리면 위 사진과 같은 화면을 볼 수 있다. 여기서 사양과 가격을 잘 분석한 뒤 선택하면 된다. 해당 프로젝트에서는 $10를 선택했다.
마지막으로 서버 이름을 변경해준 뒤 인스턴스 생성을 누르면 완료된다.

터미널 접속

막 생성된 Lightsail 서버에 터미널로 접속하고 싶다면 2가지의 방법이 있다.

  • AWS 홈페이지에서 접속하기

    먼저 AWS에서 접속하는 방법은 다음과 같다.
    생성된 인스턴스를 누르면 해당 서버에 대한 정보들과 연결 카테고리가 있다. 연결 카테고리를 클릭한 후 아래를 보면 다음과 같은 화면이 보일 것이다.

    lightsail3

    여기서 ssh를 사용하여 연결을 클릭하면 해당 서버의 터미널이 브라우저로 열린다.

  • SSH 프라이빗 키 다운 받아 터미널로 접속하기

    다른 방법은 내 컴퓨터 터미널에서 해당 서버로 접속하는 방법이다. 이는 먼저 Lightsail 계정의 ssh 프라이빗 키를 저장해야 한다.

    lightsail4

    연결 페이지 아래에 보면 위와 같은 안내와 함께 계정 페이지 링크가 있을 것이다. 클릭해보자.

    lightsail5

    그러면 이렇게 내 계정의 SSH 프라이빗 키를 다운로드 받을 수 있다. 이를 로컬 컴퓨터에 저장한다. 이후 개인 컴퓨터의 터미널에서 해당 키가 있는 디렉토리로 이동한 후 프라이빗 키의 권한을 변경해준다.

    1
    sudo chmod 400 $keyname.pem

    그 다음 아래의 코드로 접속하면 된다. Lightsail은 서버 생성도 너무 간단하다.

    1
    ssh -i keyname.pem $username@$publicIP

SSH 패스워드로 접속하기

여러 명이 해당 서버를 관리해야 한다면 SSH 프라이빗 키 구조는 너무 불편해진다. 따라서 계정 비밀번호로도 SSH 접속을 가능하게 설정할 것이다. 먼저 기존에 생성된 user 계정에 비밀번호를 만들어주자.

1
sudo passwd $username

위 명령어를 입력하면 해당 계정의 비밀번호를 설정할 수 있다. 이러면 접근에 사용할 계정 준비는 완료된 것이다.
이후 SSH 접근 가능 방법을 추가해주자. /etc/ssh/에 들어가서 sshd_config 파일을 수정해주면 된다.

해당 파일을 vi으로 수정해주자.

1
2
3
4
sudo vi /etc/ssh/sshd_config

# 앞에 주석이 있다면 제거하거나 no로 되어있다면 yes로 변경하기
PasswordAuthentication yes

그 다음 아래의 명령어로 sshd를 다시 시작해주면 된다.

1
sudo systemctl restart sshd

mariaDB 설치하기

이제 생성된 서버에 mariaDB를 설치해주자. 이 서버에는 OS에 기본적으로 내장되어 있는 mariaDB 10.1.48 버전을 설치할 예정이다. 아래의 코드를 순차적으로 입력하여 설치해주자.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# apt 사용가능한 패키지 모두 가져오기
apt-get update

# mariadb 패키지 있는지 확인하기
apt list | grep maria

# mariadb 설치
sudo apt install mariadb-server

# mariadb 프로세스 올라왔는지 확인
sudo systemctl status mariadb

# 안올라왔다면 시작해주기
sudo systemctl start mariadb

설치가 끝나면 DB 보안을 설정해주어야 한다. 아래의 코드를 입력하여 보안설정을 진행하자.

1
sudo mysql_secure_installation

보안설정 순서는 다음과 같다.

  • 최근 비밀번호 입력 (초기설정은 enter)
  • 새로운 비밀번호 입력 (root 권한)
  • 익명의 사용자 계정 삭제? -> yes
  • root 엑세스 금지? -> no
  • 테스트 데이터베이스 삭제? -> yes
  • 권한 테이블 재설정? -> yes

그 후 아래의 코드를 입력하면 mariaDB에 접속할 수 있다.

1
sudo mysql -u root -p$rootpasswd

이러면 DB 서버가 완성된다.