클라우드 컴퓨팅 : AWS EC2
개인적인 취향은 아니지만,
물리 서버 말고 클라우드 서비스로 서버를 쉽게 만들어 쓰는 방법도 있긴 하다.
학습자인 현재 내 위치에서 봤을 때, 구축부터 유지보수까지 뭐든 다 떠먹여주는 클라우드 서비스의 편리함이 개인적인 취향이 아니라는 뜻이다.
클라우드 서버든, 물리 서버든 상황에 맞는 적절한 인프라를 구축하고 설계하는 능력은 개발자로서의 중요한 역량이기에.
오늘은 간략하게 클라우드 컴퓨팅 서비스를 제공해주는 AWS EC2를 통해 서버를 만들어보겠다.
단일서버 생성
먼저 가장 기본적인 단일 서버를 생성해보자.
각자 구매 스펙은 자신의 필요에 맞게 구매 혹은 설치하길 바란다.
필자는 물리 서버로 이것저것 만지는 중이라, 최소한의 스펙으로 구성했다.(공짜 ㅎㅎ)
1. AWS console 가입
AWS Console - Signup
portal.aws.amazon.com
각자 이메일, 카드(신용 혹은 체크)만 있다면 쉽게 회원가입할 수 있다.
카드 등록 시, 계좌 활성화 체크를 위해 100원정도 빠져나갈 수 있다.
회원가입, 로그인 후 EC2 페이지로 이동하자!
2. EC2 인스턴스 생성
launch instance 페이지로 넘어가서 인스턴스 생성을 해주자.
이름 설정 후 OS를 골라주면 된다.
(필자는 제일 익숙한 ubuntu로 선택했다. 각자 자신에게 맞는 OS로 선택하면 될 것 같다.)
후에 각자의 필요에 따라 스펙을 구성해주고 lauch해주면 instance 생성은 끝!!
(필자는 ssh 접근만 설정해주었다.)
mac 사용자의 경우, key pair 생성 시 .ppk가 아닌 .pem 확장자로 다운로드 하자!
(만약 .ppk 로 생성했다면, 이를 .pem으로 바꾸는 방법도 있으니, 당황 말고 내려보자.)
.ppk 확장자 .pem key pair로 변환 (for mac)
ppk 확장자를 pem 확장자로 변환하기 위해서는 PuTTY의 키 생성 도구인 PuTTYgen을 통해 변환해줘야 한다.
우선 brew로 putty부터 설치해주자.
brew install putty
다음의 명령어를 통해 ppk 파일을 pem 파일로 변환할 수 있다.
puttygen (기존 ppk 경로) -O private-openssh -o (새로운 pem파일 이름).pem
아래는 참고용 예시 명령어이다.
puttygen privatekey.ppk -O private-openssh -o privatekey.pem
key pair가 성공적으로 생성되었다면, ssh 접속을 통해 아까 생성한 서버에 접속해보자.
ssh 접속 : apache2 서버 실행
접속을 위해서는 생성한 instance의 public IP 주소가 필요하다.
정보창에서 복사해둔 후 접속을 시도해보자!
ssh -i (key pair 경로) ubuntu@(public IP 주소)
Are you sure you want to continue connecting (yes/no/[fingerprint])?
라는 문구가 보이면 yes 를 입력하여 접속에 성공!
마지막으로 웹서버를 설치 후 실행시켜야 하는데, 다음 apache나 nginx 중 하나를 설치 후 실행시켜 주자.
각각의 방법은 다음과 같다.
//apache 설치
sudo apt update
sudo apt install apache2
//nginx 설치
sudo apt update
sudo apt install nginx
//apache 시작 및 활성화
sudo systemctl start apache2
sudo systemctl enable apache2
//nginx 시작 및 활성화
sudo systemctl start nginx
sudo systemctl enable nginx
(노파심에,, apache와 nginx를 동시에 설치 후 실행하면 안된다.)(물리 서버 설치할 때 nginx 실행되고 있는 줄 모르고 apache실행 안된다고 하루동안 삽질했던 필자 얘기 아님)
방화벽, 포트 설정 등은 물리 서버 편에서 정리되어있으므로 참고하면 될 것 같다.
[Linux]UBUNTU SERVER - ssh 접속 구현 (외부 접속, port-forwarding, DDNS)
우분투 서버 설치 후, 이것저것 만지고 있는 도중, 매번 본체를 모니터에 연결해서 마우스, 키보드를 추가로 연결하는 과정이 너무 번거로웠다!! 외부에서(노트북으로) 서버에 접속해서 관리해
highandbrightdev.tistory.com
참쉽죠..?