이 글은 AWS Lightsail 인스턴스를 생성하여 DB서버를 구축하는 방법을 정리합니다.
DB 서버 생성
DB 서버는 AWS의 lightsail을 사용하기로 결정했다. 그 이유로는 매달 결정되어 있는 가격대와 편리함 등이 꼽혔다. 여러 명이 같이 돈을 지불해야 하는 탓에 금액이 정해져있지 않으면 매달 귀찮은 일이 발생할 것 같았다.
AWS lightsail 인스턴스 생성
AWS의 계정이 있다면, 간단하다. 서비스에서 lightsail을 찾아서 들어간 후 인스턴스 생성
을 클릭하면 된다. 그러면 아래와 같은 화면은 만날 수 있다.
여기서 사용하려는 OS를 선택하면 된다. 이 서버는 Ubuntu18.04 LTS를 선택하였다.
현재 회사에서는 redhat이나 centos를 주로 사용하기 때문에 사이드 프로젝트 할 때만이라도 ubuntu를 사용해보고 싶었다. 결론은 매우 개인적인 이유로 OS를 선택했다.
그 다음 아래로 내리면 위 사진과 같은 화면을 볼 수 있다. 여기서 사양과 가격을 잘 분석한 뒤 선택하면 된다. 해당 프로젝트에서는 $10를 선택했다.
마지막으로 서버 이름을 변경해준 뒤 인스턴스 생성을 누르면 완료된다.
터미널 접속
막 생성된 Lightsail 서버에 터미널로 접속하고 싶다면 2가지의 방법이 있다.
AWS 홈페이지에서 접속하기
먼저 AWS에서 접속하는 방법은 다음과 같다.
생성된 인스턴스를 누르면 해당 서버에 대한 정보들과 연결 카테고리가 있다. 연결 카테고리를 클릭한 후 아래를 보면 다음과 같은 화면이 보일 것이다.여기서
ssh를 사용하여 연결
을 클릭하면 해당 서버의 터미널이 브라우저로 열린다.SSH 프라이빗 키 다운 받아 터미널로 접속하기
다른 방법은 내 컴퓨터 터미널에서 해당 서버로 접속하는 방법이다. 이는 먼저 Lightsail 계정의 ssh 프라이빗 키를 저장해야 한다.
연결 페이지 아래에 보면 위와 같은 안내와 함께
계정 페이지
링크가 있을 것이다. 클릭해보자.그러면 이렇게 내 계정의 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 | sudo vi /etc/ssh/sshd_config |
그 다음 아래의 명령어로 sshd를 다시 시작해주면 된다.
1 | sudo systemctl restart sshd |
mariaDB 설치하기
이제 생성된 서버에 mariaDB를 설치해주자. 이 서버에는 OS에 기본적으로 내장되어 있는 mariaDB 10.1.48 버전을 설치할 예정이다. 아래의 코드를 순차적으로 입력하여 설치해주자.
1 | # apt 사용가능한 패키지 모두 가져오기 |
설치가 끝나면 DB 보안을 설정해주어야 한다. 아래의 코드를 입력하여 보안설정을 진행하자.
1 | sudo mysql_secure_installation |
보안설정 순서는 다음과 같다.
- 최근 비밀번호 입력 (초기설정은 enter)
- 새로운 비밀번호 입력 (root 권한)
- 익명의 사용자 계정 삭제? -> yes
- root 엑세스 금지? -> no
- 테스트 데이터베이스 삭제? -> yes
- 권한 테이블 재설정? -> yes
그 후 아래의 코드를 입력하면 mariaDB에 접속할 수 있다.
1 | sudo mysql -u root -p$rootpasswd |
이러면 DB 서버가 완성된다.