오늘은 구현하고 있던 서버를 EC2에 올려볼까한다.
위와 같은 화면이 나온다. "가상 머신 시작"을 눌러주자.
나는 Ubuntu를 이용하려 한다.
나는 프리티어를 적용하여 공짜로 하려고 한다.
선택해주고, 다음 사항으로 넘어가보자.
최대로 할 수 있는 크기인 30GB를 적용해준다.
보안 그룹이란?
aws에서 제공해주는 보안그룹은 port 번호를 통해서 접근제한을 주기위해서 존재하는 것이다. 위의 사진에서 보면 포트를 "22", "443", "8080", "80"을 열어주었다. 각각의 의미와 목적을 살펴보자.
키 페어는 인스턴스에 접근하기 위한 키라고 생각하면 된다. 해당 키를 외부에 노출하게 되면, 다른 사람도 인스턴스에 접근을 할 수 있어서 보안에 신경써야할 키이다.
여기까지하면 생성이 완료된다.
터미널을 키자. 그리고 다운받은 pem을 찾아보자.
ssh -i <본인 pem키 이름> <username>@<공개 ip>
여기서 알 수 없는 내용이 나와있다.
username : 실행하려는 인스턴스 유형에 따라 default username이 정해져있다. (나는 ubuntu니까 ubuntu) 다른사람은 default name을 찾아보길 바란다!
공개 ip : 공개 ip는 aws의 인스턴스로 들어가보면 알 수 있다.
접속을 하면 다음과 같이 에러가 난다.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0755 for './{key_name}' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: ./{key_name}
해당 에러는 SSH를 개인키로 접근 시, 해당 개인 키가 보안설정이 안되어있어서 문제가 생기는 것이다. 개인 키의 권한을 변경해주로 가자.
chmod 400 ./{변경하려는 pem 파일 이름}
변경하고 다시 접속해보자.
정상적으로 접속한 것을 볼 수 있다.
내가 필요한 내용은 mysql, java 11, git이 필요하다.
ubuntu 에서 모두 설치해보자.
sudo apt-get update
sudo apt-get install mysql-server
sudo ufw allow mysql
sudo systemctl start mysql
sudo systemctl enable mysql
sudo /usr/bin/mysql -u root -p
mysql> create database <생성하려는 db 이름>
나의 서버는 자바 11버전으로 구현되어있다. 그래서 자바 11을 설치하자!
sudo apt-get remove openjdk*
sudo apt-get install openjdk-11-jdk
java --version
이건 분명 설치가 되어있을 것이다.
sudo apt install git
다운로드가 되어있다고 로그가 뜰 것이다.
git --version
모든 준비가 되었다. git 클론을 해보자!
먼저 디렉터리를 작업디렉터리로 이동해보자. 내가 원하는 파일에 클론을 하기 위해서 새롭게 경로를 만들자!
mkdir workspace
cd workspace
git clone <repository-url>
인스턴스에 git clone이 완료되었고 파일이 받아졌다!
그럼 run을 해보자.