상세 컨텐츠

본문 제목

1. Cloud Server를 이용해 서버 구축하기 - AWS

개발 공부 (시니어코딩)/서비스 서버 구축

by letprogramming 2021. 2. 18. 17:57

본문

반응형
반응형

AWS 서버 사용하기

학교에서 전공 수업은 보통 프로그래밍 언어나 컴퓨터의 기본적인 이론, 알고리즘 등을 배웠었고

그 동안 프로젝트를 진행할 때도 대부분 프론트엔드를 담당했기 때문에 서버(백엔드) 개발 경험이 없었다.

AWS를 비롯해서 Node JS, REST, GraphQL, Nginx, Apahce, Linux 등 서버와 관련된  다양한 기술들을 접해보려고 한다.

 

먼저 aws.amazon.com/ko/

 

클라우드 서비스 | 클라우드 컴퓨팅 솔루션| Amazon Web Services

제조 AWS를 활용한 Siemens의 에너지, 의료 서비스, 제조 분야 혁신 Siemens가 AWS를 사용하여 어떻게 문화를 바꾸고 혁신을 장려하며 비즈니스 성과를 창출했는지 알아보세요. 자세히 알아보기  업종

aws.amazon.com

아마존 AWS 한국어 홈페이지에 접속하면

위와 같은 화면이 보인다.

AWS를 사용하기 위해서는 먼저 AWS 계정을 생성해야 한다.

오른쪽 위에 계정 생성을 누르면 생성할 수 있다.

 

1. 계정 생성하기

이름, 주소 등 정보들을 모두 영어로 기입해야 한다.

 

2. EC2 인스턴스 생성하기

 

로그인을 하면 AWS의 다양한 서비스들을 사용할 수 있다.

그 중에서 EC2는 1년간 무료로 사용할 수 있는 프리 티어에 해당하는 서비스이다.

 

t2.micro 라는 유형만 사용 가능하고 스토리지도 10GB의 제한이 있다.

 

OS는 Ubuntu, Linux, MS Server 등에서 원하는 것을 받을 수 있는데 Linux 계열의 Red Hat Linux 8(CentOS8)을 선택했다.

 

3. 인스턴스 시작

인스턴스를 생성하면 잠시 후에 자동으로 시작한다. 클라우드에서 나의 공간을 배정받는 준비를 한 후에 할당해주는 것이다.

 

4. 보안 그룹 설정

개발을 위해서는 각종 포트들을 개방해야 할 필요가 있다.

대표적인 예로는

22 포트 : SSH

80 포트 : HTTP

443 포트 : HTTPS

3306 포트 : MYSQL

가 있다.

 

default 보안 그룹은 전체 포트를 개방하도록 되어 있으므로 새로 보안 그룹을 생성해야 한다.

이후에 인바운드 규칙을 편집하면 된다.

왼쪽의 유형은 많이 쓰이는 유형들을 미리 AWS에서 정의해 놓았다.

만약 원하는 포트가 있다면 사용자 지정 TCP를 선택해서 포트를 개방하면 된다. 사용자 지정 TCP로 지정해도 22나 80같은 일반적인 포트들은 자동으로 유형이 해당 유형으로 바뀐다.

 

포트 범위는 내가 열고 싶은 포트의 범위이다. 열고 싶은 포트의 숫자를 작성해주면 된다.

 

소스란 출발지라고 생각하면 된다. 즉 이 포트를 지나갈 수 있는 IP를 지정할 수 있는 것이다.

위처럼 0.0.0.0 으로 지정하면 모든 IP에 대해 해당 포트를 개방하겠다는 뜻이다.

만약 보안 상 문제로 특정 IP에서만 접속을 허용하고 싶다면 해당 IP를 기입하면 된다.

 

5. 키 페어 생성

키 페어(Key Pair)란 간단하게 말해서 서버에 접근하기 위한 열쇠라고 생각하면 된다.

AWS 서버에 접근하기 위해서는 공개키(Public Key)와 개인키(Private Key)로 구성되어 있는 키 페어가 필요하다.

공개키는 공개되어도 상관없는 키로 AWS측이 가지고 있다.

개인키는 내가 .pem파일로 저장해놓는 파일이다. 이 개인키를 가지고 있다면 누구나 서버에 접근할 수 있으므로 각별히 신경써서 보관해야 한다.

 

이렇게 키 페어를 생성하고 서버에 SSH로 접속하면 AWS에서는 등록되어 있는 공개키를 이용해 지금 접속한 사람이 개인키를 가지고 있는지 확인한 후에 허가를 내려준다.

 

6. 서버 접속

서버에 접속하는 방법에는 다양한 방법이 존재하지만

터미널을 이용해서 서버에 접속하는 방법을 이용했다.

UI로 하는 것보다 직접 터미널을 이용하는 것이 리눅스에 대한 이해와 서버 공부에 도움이 된다고 생각했기 때문이다.

 

서버에 접속하는 것은 Mac 기준으로 ssh 명령어를 사용하면 된다.

AWS에서는 퍼블릭 IPv4 DNS를 이용해 SSH로 접근하는 것을 권장하고 있다.

현재 실행 중인 인스턴스 위에서 오른쪽 마우스 클릭을 하면 연결이라는 메뉴를 누를 수 있다.

인스턴스에 연결하기 위한 여러가지 방법들을 소개하는 화면으로 연결된다.

인스턴스에 접속하기 위한 방법을 상세하게 알려준다.

먼저 .pem 파일, 개인키 파일의 파일 권한을 변경해서 AWS가 파일을 볼 수 있도록 한다.

예시에 나와있는 ssh 명령을 이용하면 서버에 접속할 수 있다.

 

접속을 완료했다면 이제 서버에 올라가 있는 Linux 환경을 얻은 것이고 내가 원하는 대로 개발할 수 있다.

 

alias

참고로 서버에 접속하는 ssh 명령어를 터미널의 alias로 지정해 놓으면 더 쉽게 서버에 접속할 수 있다.

예를 들어

alias ec2server = "ssh -i ~@~"

라고 .bash_profile, .bashrc 이나 .zprofile, .zshrc 파일에 추가하고

source 혹은 . 명령어로 파일을 적용시켜주면 더 쉽게 서버에 접근할 수 있다.

반응형

관련글 더보기