서버

저번글에 AWS에 인스턴스를 만들어 봤습니다.
이제 AWS 환경에서 배포를 위해 도커 설치를 해보겠습니다.

 

도커란? 

- 도커는 컨테이너 기반의 가상화 플랫폼입니다.

- 독립된 환경을 만들어서 하드웨어를 효율적으로 활용할 수 있고, 개발 환경 (라이브러리,환경설정) 등이 분리되어 있어서 충돌을 방지할 수 있습니다.

 

도커 설치하기 

sudo apt-get install docker-ce docker-ce-cli containerd.io

설치 후 docker -v 를 이용해 설치가 되었는지 확인합니다.

 

 

환경을 다 세팅했다면 제 프로젝트를 도커를 이용해 올려야 합니다. 

저는 node.js 를 이용해 배포하기 보다 Nginx를 이용했습니다. 

Nginx 란

트래픽이 많은 웹사이트의 확장성을 위해 개발된 경량의 고성능 서버입니다.

적은 자원의 사용으로 높은 성능과 높은 동시성을 목표로 만들었습니다. 

 

Dockerfile 작성하기

FROM node:16.13.2 as build-stage
RUN mkdir /app
WORKDIR /app
EXPOSE 3000
RUN chmod -R 777 /app

COPY package*.json ./
RUN yarn install
COPY . .
RUN yarn build

FROM nginx:stable-alpine as production-stage

RUN rm /etc/nginx/conf.d/default.conf
COPY  ./nginx.conf /etc/nginx/conf.d

COPY --from=build-stage /app/build /usr/share/nginx/html
CMD ["nginx", "-g", "daemon off;"]

- 3000 번 포트를 이용해 배포를 할 것입니다.

nginx.conf

server {
    listen 3000;
    listen [::]:3000;
    server_name 13.209.81.39;
    location / {
      root /usr/share/nginx/html;
      index index.html;
      try_files $uri $uri/ /index.html;
    }
}

서버를 이용하지 않기 때문에 딱히 프록시와 관련된 내용은 없습니다. 

여기서 server_name 은 올릴 주소의 퍼블릭 IPv4 주소입니다. 

인스턴스에서 한가지 더 세팅해야 할 부분이 있습니다. 

보안 파트에서 인바운드 규칙, 아웃바운드 규칙이 있습니다. 

인바운드는 "외부에서 이 ip로 접근할 때 어떠한 포트로 접근하는 것을 허용하겠다" 를 의미하고 

아웃바운드는 "내부에서 외부로 어떠한 규칙을 갖는것만 내보내겠다" 를 의미하는 것 같습니다.

 

그래서 인바운드는 최소한으로 열고,

아웃바운드는 전부 열어두는 방식이 일반적입니다 ( 포트,프로토콜 전체 다 열려있다!) 

저희는 외부에서 3000번으로 접근할 것이기 때문에 인바운드 규칙에 추가를 해줍니다. 

보안그룹 밑의 파란색 id를 누르고  - 인바운드 규칙 편집 - 규칙 추가를 눌러 줍니다. 

유형: TCP , 포트는 3000번  소스 정보는 전체를 의미하는 (0.0.0.0) 를 선택하고 저장해줍니다 

 

도커를 사용하기 위한 준비를 마쳤습니다.

-> 2편으로 

 

'서버' 카테고리의 다른 글

AWS 인스턴스 생성하기  (0) 2022.10.25

AWS 인스턴스 생성하기

2022. 10. 25. 09:38
사이드 프로젝트를 배포를 하고 싶어서 aws를 이용하며 정리한 글입니다. 
- 사이드 프로젝트에는 따로 서버를 두지 않아 서버 배포는 필요없는 상황입니다

 

1. AWS에 로그인을 합니다.

2. EC2 서비스를 이용하여 새로운 환경의 인스턴스를 만들어줍니다. 


이름과 원하는 OS를 선택해줍니다.

1. 우선 익숙한 window 환경을 만들어봤는데 엄청 느리고.. 도커에서 오류가 있어서 사용이 불편했습니다 => pass

2. aws linux  : 아마존에서 만든 리눅스 이려나 하면서 만들어 봤는데 명령어가 다르고, 보안 때문에 사용하기 쉽지 않았습니다.

->이건 다음기회에~

3. ubuntu : 가장 무난한 linux 환경입니다. => 선택

 

 

인스턴스 유형을 골라줍니다 . 

저는 공짜로 이용할 것이기 때문에 우측에 free tier eligible 이 적힌 것을 선택했습니다. 

 

키 페어 를 생성해줍니다.

이 키페어를 이용해서 인스턴스에 로그인이 가능합니다. 

키 페어 생성을 하게 되면 ~.cer 파일로 저장이 되는데 시작할 때 저 파일을 가져와서 로그인을 할 것이기 때문에 잘 간직해야 합니다.

나머지는 다음 기회에 설정하겠습니다. 

이렇게 만들게 되면 나의 인스턴스에 추가가 됩니다. 

3.인스턴스 연결하기 

원하는 인스턴스를 실행 시키고 우클릭을 눌려서 연결을 누릅니다. 

우측 아래에 연결 버튼으로 우분투 환경에서의 터미널을 만날 수 있습니다.

세팅 완료!

'서버' 카테고리의 다른 글

AWS - 프로젝트 배포하기(프론트)  (0) 2022.10.25

+ Recent posts