취미가 좋다

[3-1] AWS로 서비스 배포하기 본문

Sparta Coding Club/Docker

[3-1] AWS로 서비스 배포하기

benlee73 2021. 8. 4. 23:04

AWS란?

여러 개의 데이터 센서를 여러 곳에 가지고 있어서, 사람들이 필요한 컴퓨팅 자원을 가져다 쓸 수 있도록 하는 클라우드 플랫폼이다.

 

데이터 센터란 서비스를 제공하기 위해 컴퓨팅이 가능하게 만들어둔 곳이다.

간단하게 말하면 컴퓨터가 많이 있는 곳이다.

 

AWS EC2 인스턴스 띄우기

가장 먼저 AWS 가입을 해야한다.

aws console (AWS 제품을 사용하기 위한 웹 UI) 에 들어간다.

기왕이면 가까운 데이터 센터를 사용하는 게 좋으니, region을 seoul로 변경한다.

 

ec2 검색

→ 인스턴스 > 인스턴스

→ 인스턴스 시작

→ AMI 선택화면에서 Amazon Linux 2 AMI 선택

→ 인스턴스 유형 t2.micro 선택

→ 보안그룹 편집

→ 규칙 추가 (유형=사용자 지정 TCP, 포트 범위=80, 소스=0.0.0.0/0)

    : 22번 포트는 추후 서버에 접속하기 위해서, 80번 포트는 웹 서비스에 접속하기 위해서 열어둔다.

→ 시작하기

→ 새 키 페어 생성 (키 페어 이름=sparta-docker-pem)

    : 키 페어 다운로드

→ 인스턴스 시작

 

AWS EC2 인스턴스 접속하기

Mac

chmod 600 ~/.ssh/sparta-docker.pem

받은 key의 권한을 변경한다.

chmod는 change mod의 약자로, 파일의 모드를 변경하는 명령어로, 600은 소유자만 해당파일을 읽고 쓸수 있는 권한을 뜻한다.

ssh -i ~/.ssh/sparta-docker.pem ec2-user@{public_ip}

-i 옵션은 뒤에 지정된 키를 사용하여 서버에 접근하겠다는 의미이다.

만약 자주 사용한다면, ssh-add를 사용하여 특정 key를 ssh-agent에 저장할 수 있다.

AWS에서 기본적으로 설정되는 유저 이름이 ec2-user 이다.

public_ip 는 인스턴스가 가지는 퍼블릭 IPv4 주소이다.

 

Windows

putty 를 설치하고, document 를 참고하여 putty로 서버에 접속한다.

 

Download PuTTY: latest release (0.76)

This page contains download links for the latest released version of PuTTY. Currently this is 0.76, released on 2021-07-17. When new releases come out, this page will update to contain the latest, so this is a good page to bookmark or link to. Alternativel

www.chiark.greenend.org.uk

 


Docker 설치

Document 를 참고하라.

 

도커를 설치하고, 서비스를 실행하고, 확인한다.

sudo yum update -y
sudo amazon-linux-extras install docker -y
sudo service docker start
service docker status
sudo usermod -a -G docker ec2-user

sudo usermod 를 통해 sudo 없이 도커를 사용하도록 한다.

바로 적용되지는 않고, 나갔다가 다시 들어가야 한다.

 

Docker-compose 를 사용하여 배포하기

docker-compose 를 설치한다.

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

터미널 창에 docker-compose 를 입력했을 때, 도움말이 나오면 잘 설치된 것이다.

 

아래의 docker-compose.yaml 파일을 생성한다.

version: "3.9"
services:
  flask:
    image: wellshs/docker-memo:version2
    ports:
      - "80:5000"
  mongo:
    image: mongo:latest
    volumes:
      - mongo:/data/db/
    ports:
      - "27017:27017"

volumes:
  mongo:

아래의 명령어로 docker-compose를 실행한다.

docker-compose up -d

public ip 주소로 접근하여 웹 페이지에 접근이 가능한 지 확인한다.

'Sparta Coding Club > Docker' 카테고리의 다른 글

[3-3] CI / CD 란?  (0) 2021.08.05
[3-2] 도커가 편한 이유  (0) 2021.08.05
[2-6] docker 꿀팁  (0) 2021.07.31
[2-5] Docker-compose  (0) 2021.07.31
[2-4] 컨테이너의 리소스 사용량 제한  (0) 2021.07.31
Comments