서버를 위한 AWS EC2(t3.small) 인스턴스 생성과 docker 설치

nawnoes·2021년 2월 14일
0

서버를 위한 AWS EC2(t3.small) 인스턴스 생성과 docker 설치

준비 단계

  • AWS 계정 생성
  • EC2 콘솔 열기

주의

  • 지리적으로 가장 가까운 리전 선택.
  • 인스턴스를 실행하는데 필요한 모든 리소스는 동일한 리전에서 생성되어야한다.
  • 생성한 EC2 와 컴퓨터 연결하기 위해서는 putty를 이용하거나 맥을 이용하는 경우 터미널을 통해 접근 가능하다.
  • EC2에 직접 연결하기 위해서는 키페어 파일이 필요하다.
  • AWS의 요금정책을 이해해야하며, 프리티어가 아닌 경우 과금에 주의해야한다.

1. EC2 인스턴스 시작

(1) 인스턴스 생성

(2) AMI 선택 - Ubuntu Server 20.04 LTS

AMI는 Amazon Machine Image의 약자로 AWS 인스턴스를 시작하는데 필요한 소프트웨어 구성들을 포함한 템플릿입니다. 일반적으로 사용하는 우분투 OS나 딥러닝 등에 필요한 딥러닝 서버 등 용도에 맞는 다양한 AMI가 있습니다. 저의 경우 기본 우분투OS에 docker를 설치하고, 도커 허브에서 미리 올려둔 이미지를 docker run을 통해 서버를 기동할 계획 입니다.

(3) 인스턴스 유형 선택

위에서 AMI를 결정하였으면, 위의 이미지가 어떤 인스턴스, 어떤 스펙을 가진 하드웨어에서 동작할지 결정해야합니다. CPU가 몇개인지, 메모리를 얼마나 사용할것인지 등등을 살펴보고 결정해야합니다. 저의 경우 프리티어가 아닌 실제 운영을 위한 서버를 만들계획으로 t3.small을 선택하였습니다. 프리티어가 아니라 과금이 됩니다.

(4) 인스턴스 세부 정보 구성

기본값으로 설정하고 다음. 추후 Auto Scaling 그룹은 추가로 설정 필요

(5) 스토리지 추가

범용 ssd를 이용해서 기본 설정 그대로 볼륨을 설정합니다. 다만 기본 설정에서는 종료 시 삭제 부분에 체크 되어 인스턴스가 종료되면 저장된 스토리지도 자동으로 삭제가 되는데, 운영에서 사용할 인스턴스로 혹시 모를 종료에도 삭제 되지 않도록 체크 해제 합니다.

(6) 보안 그룹 구성

태그 추가 후 보안그룹 구성. 기본적으로 터미널을 통해 접속할 SSH 포트 외에도 HTTP, HTTPS, Load Balancer 등 접근하기 위한 포트를 추가하여 보안 그룹을 구성합니다.

(7) 인스턴스 시작 검토

위와 같이 구성한 인스턴스를 검토하고, 필요한 내용은 수정합니다. 수정이 완료 되면 '시작하기'를 클릭하여 ec2 인스턴스를 생섭합니다.

인스턴스 생성완료

2. 인스턴스에 Docker 세팅

(1) 인스턴스에 접속

예전에는 윈도우에서 putty로 키페어를 이용해 연결했었던 기억이 있어서 맥북에서도 터미널로 접속 가능한지 찾아보았습니다.

하지만 현재는 직접 aws 콘솔에서 바로 터미널로 브라우저를 통해 접속 할수 있으므로 2번의 방법을 사용하는게 더 좋아보입니다.

① 맥북에서 터미널로 인스턴스 접속

$ ssh -i ~/Desktop/key/keyfile.pem ec2-user@[서버 아이피 또는 도메인]

② AWS 콘솔에서 인스턴스 연결로 접속

(2) Docker를 위한 인스턴스 세팅

도커를 윈도우나 맥에서 사용하는것과 조금 다르게 Ubuntu에서는 Docker를 설치하는 방식과 다르다고 합니다. 우분투 20.04의 경우도 문서를 살펴보니 이전 버전들과 동일하게 도커를 세팅하는것을 볼 수 있었습니다.

apt의 패키지 리스트를 업데이트

apt(Advanced Packaging Tool)은 우분투나 데비안 계열의 OS에서 동작하는 패키지 관리 시스템입니다. 도커를 설치하기 전에 apt 패키지 리스트를 업데이트 합니다

$ sudo apt-get update

HTTPS를 경유한 레포지토리 사용을 위한 패키지 설치

$ sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common

Docker의 공식 GPG 키를 추가를 위한 명령어 실행

Docker의 공식 GPG키를 등록하고, 정상적으로 동작하면 OK가 표시 됩니다.

GPG키란?
GPG 키는 리눅스 패키지 관리자가 키를 확인하여 소프트웨어의 무결성을 확인하는데 사용합니다.

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

Docker의 레포지토리 추가

$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"

apt 업데이트

$ sudo apt update

기본 Ubuntu 리포지토리 대신 Docker 리포지토리에서 설치하려고하는지 확인

$ apt-cache policy docker-ce

Docker 설치

$ sudo apt install docker-ce

Docker 설치 확인

$ sudo systemctl status docker

Output
● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2020-05-19 17:00:41 UTC; 17s ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 24321 (dockerd)
      Tasks: 8
     Memory: 46.4M
     CGroup: /system.slice/docker.service
             └─24321 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

설치 완료

References

0개의 댓글