[AWS] EC2 배포 및 생성
DevOps

[AWS] EC2 배포 및 생성

반응형

EC2는 컴퓨터를 한 대 빌리는 것이므로 컴퓨터로 할 수 있는 모든 일을 할 수 있습니다.

빌린 컴퓨터는 직접 사용하는 컴퓨터와 다르게 아마존이 전 세계에 만들어 놓은 데이터 센터(인프라)에 만들어져 있기 때문에 컴퓨터를 조작하기 위해 네트워크(인터넷)를 통해서 컴퓨터를 제어해야 한다는 차이점이 있을 뿐 일반적인 컴퓨터와 다른 점은 없습니다.

아마존 EC2를 통해서 할 수 있는 가장 기본적인 일은 웹서버를 설치하고 웹 서버를 통해서 사용자가 웹 브라우저를 통해 요청하는 서비스를 제공하는 것이 가장 기본적인 사용방법입니다. 인스턴스는 1대의 컴퓨터를 의미하는 단위이고 AWS에서 컴퓨터를 빌리는 것을 인스턴스를 생성한다고 합니다.

 

 

1. 보안 그룹 만들기

 

네트워크 및 보안 > 보안 그룹 > 보안 그룹생성 을 클릭합니다.

 

 

인스턴스를 만들기 전에 우선 보안 그룹을 만들어주면 편합니다.
보안그룹이름 원하시는 이름 생성과 설명을 임의로 쓰고
표를 참고하여 아래 스크린샷처럼 인바운드 규칙을 만드시면 됩니다.

유형 소스
SSH Anywhere-IPv4
HTTP Anywhere-IPv6
HTTP Anywhere-IPv4
HTTPS Anywhere-IPv6
HTTPS Anywhere-IPv4

 

인스턴스를 만들고 만든 곳에서 보안 탭에 들어가서 설정 해줄 수 있지만, 이렇게 그룹설정을 한번 하면 계속해서 편하게 사용 할 수 있습니다.

 

 

2.  인스턴스 생성

 

인스턴스 > 인스턴스 > 인스턴스 시작

 

 

사용하고자 하는 운영체제를 사용하면 되고 저는 우분투를 사용했습니다.

 

 

프리티어 사용가능한 곳을 선택(자동으로 선택 되고 프리티어는 요금이 거의 나가지 않습니다.)
맨 및 파란버튼 검토 및 시작 을 눌러 줍니다.

 

그리고 아래 사진의 빨간 박스에 보안 그룹 편집을 눌러줍니다.
미리 설정해주었던 보안 그룹을 설정 선택해 주면 됩니다.

 

선택하면 기존 보안그룹 선택을 선택하고

보안 그룹은 좀 전에 만든 보안그룹을 선택해주면 됩니다.

 

 

검토 및 시작을 누르면 아래와 같은 화면이 생성됩니다.

 

인스턴스를 원격으로 제어하기 위해서는 SSH 연결을 통한 원격접속이 필요합니다. 원격접속을 위해서 필요한 Key를 생성하고 다운로드하는 과정입니다. 키가 이미 존재한다면 다시 새로 만들 필요 없습니다. 

기존 키 페어 사용을 선택하면 됩니다.

 

 

 

 

키를 받으면 다시 인스턴스로 돌아가서 생성된 인스턴스를 선택하고 

파란창에서 이름을 자유롭게 설정할 수 있고

빨간 창, 연결을 눌러줍니다.

 

 

3번 두개의 네모박스 아이콘을 선택하면 복사가 됩니다.

권한을 설정 해주기 위해서 다운로드 받아둔 키 페어 파일 (.pem) 경로에 가서

복사된 명령어를 실행시켜주면 됩니다.

 

명령어를 입력해주면 권한이 설정이 된 것입니다.

 

 

그리고 1~4번 다음에

예에 대한 항목이 있을겁니다.

마찬가지로 두개 네모가 있는 아이콘을 클릭하고 키가 존재하는 위치에서 명령어를 그대로 실행시켜줍니다.

그러면 아래와 같이 뜰 것이고 yes를 쳐주면 됩니다.

 

그러면 생성한 EC2에 대한 정보와 같이 아래와 같이 접속에 성공한 것을 볼 수 있습니다.

 

 

 

3. 개발환경 구축

 

컴퓨터 운영체제를 처음 구입하면 필요한 프로그램을 설치해야 하듯이, EC2 인스턴스에 처음 접속하면 서버를 구동하는 데 필요한 개발 환경을 구축하는 것부터 시작해야 합니다. 

 

1. 패키지 매니저가 관리하는 패키지의 정보를 최신 상태로 업데이트하기 위해서 아래 명령어를 사용합니다.

sudo apt update

 

2. 어느 정도의 시간이 지나고 업데이트 과정이 끝나면 nvm, node.js를 설치해야 합니다. 먼저 nvm 설치는 NVM GitHub 페이지Install & Update Script 부분을 참조하여 진행합니다.

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash

위 코드를 실행시키고


export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm

를 실행시킵니다.

 

설치 과정이 마무리되면 터미널에 nvm --version 명령어를 입력하여 nvm 설치가 정상적으로 끝났는지 확인합니다. 명령어를 입력했는데 오류가 난다면 nvm 설치 과정이 정상적으로 마무리되지 않은 것입니다.

 

3. 다음으로는 node.js를 설치합니다. 터미널에 아래 명령어를 입력하여 설치를 진행합니다.

nvm install node

 

4. node.js의 설치가 끝나면 npm 명령어가 정상적으로 입력되지 않는 상황을 방지하기 위해서 터미널에

sudo apt install npm

명령어를 입력해서 npm 설치를 진행합니다. 위 과정이 모두 끝나면 node.js 기반 서버를 실행하는 데 필요한 개발 환경 구축이 완료됩니다.

 

git clone 명령어를 이용하여 코드를 받아 실행 시킬 수 있습니다.

 

yarn의 경우

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

sudo apt update && sudo apt install yarn

 

4. 인스턴스 동작 확인

생성한 서버(인스턴스)가 잘 되는지 확인 하기위해서는

app.get("/", (req, res) => {
  res.status(201).send("Hello World");
});

코드를 넣어주고 서버를 실행시킵니다.

 

그리고 생성한 인스턴스에서 항목들 중에서 퍼블릭 IPv4 DNS 항목이 있습니다.

항목을 복사해서 브라우저 주소창에 입력하여 실행시키면 됩니다. 

(https를 적용한 것이 아니기 때문에 http로 확인하셔야 합니다.)

 

반응형

'DevOps' 카테고리의 다른 글

[AWS] RDS  (0) 2022.01.18
[AWS] S3 배포  (0) 2022.01.18
[AWS] EC2 ubuntu 시간 변경  (0) 2021.11.22
[배포] 자동화  (0) 2021.08.17
[배포] Docker 의미  (0) 2021.08.16