CICD 단계에서 .jar Docker Image 만들고 그것을 DockerHub로 업로드
EC2의 Docker에서 DockerHub 로 올라간 Docker Image 다운
EC2에서 다운로드한 Docker Image 실행(= Container 실행)
배포 끗
이번 글에서는 기초 3번까지의 작업을 서술하고자 한다.
2. 기초 세팅
1) EC2 생성
AWS를 가입했다는 전제하에 서술한다.
가운데 주황색의 인스턴스 시작 클릭
EC2 이름 작성해 주고
다음과 같이 'ubuntu', '프리 티어 사용 가능'을 선택해 준다.
이후 프리티어로 사용가능 한 것을 선택해 준다.
키 페어를 선택해 준다. 키 페어가 없다면 옆에 생성하기를 눌러준다,
키 페어 이름을 설정하고 유형은 아무거나, 프라이빗 키 파일 형식은. pem으로 생성해 준다.
생성과 동시에 .pem 파일이 다운 받아질텐데 생성할 때만 다운로드할 수 있으니 꼭 잘 챙겨둬야 한다.
보안 그룹을 지정해 준다. 보안그룹이 없다면 위와 같이 생성해서 지정한다.
그 후 생성 완료를 누른다.
생성 후 리소스의 첫 번째 상자 '인스턴스(실행 중)'을 클릭하면 실행 중인 인스턴스 목록들이 나온다.
인스턴스 ID를 클릭하고 여기서 기록해놔야 하는 정보는 2가지이다.
인스턴스 이름
퍼블릭 IPv
그럼 EC2에서 필요한 정보는 총 3가지이다.
인스턴스 이름
퍼블릭 IPv
키 페어 .pem 파일
2) RDS 생성
대시 보드에서 하단 데이터베이스 생성 클릭
표준 생성을 클릭하고
사용할 데이터 베이스를 선택한다.
사용할 템플릿을 선택한다. 연습용이기 때문에 프리티어를 설정.
RDS 인스턴스 이름을 설정해 주고 기억하자.
여기서 기억해야 할 정보는 2 가지이다.
사용자 이름
암호
인스턴스 엔진을 선택한다. 프리티어를 클릭했다면 사용할 수 있는 엔진들만 선택가능하고 가격의 차이는 없다.
퍼블릭 엑세스는 '예'로 설정한다. 이후 보안그룹(EC2에서 만들었다면 기존 항목이 있다.)을 만들거나 새로 생성해서 지정해 준다.
포트 번호를 지정해 줄 수 있다. 그냥 넘어가도 무방하다.
추가 구성에서 데이터베이스 이름을 꼭 설정해 주고 기억하자. 프로젝트에 데이터베이스를 연결시키기 위해서 꼭 필요하다.
이후로는 신경 쓸 것 없고 데이터베이스 생성을 완료해 준다.
RDS에서 기억해야 할 정보는 4개이다.
RDS인스턴스 이름
사용자 이름
사용자 비밀번호
초기 데이터베이스 이름
3) MobaXterm 세팅
MobaXterm 설치됐다는 가정하에 서술하겠다. MobaXterm을 간단하게 설명하자면 외부에서 EC2에 접근하기 위한 툴이다.
좌측 상단에 Session 클릭
SSH를 클릭하여 Remote host에는 EC2 public IPv를 입력한다.
Specify username에는 EC2 인스턴스를 생성할 때 선택한 AMI에 따라 달라진다.
아마존 리눅스 AMI를 선택하였으면 → 유저명 : ec2-user
우분투 AMI를 선택하였으면 → 유저명 : ubuntu
Advanced SSH settings를 클릭하고 Use private key를 클릭한 후 EC2를 생성할 때 받은 .pem 파일을 넣어주면 된다.
4) EC2에 Docker 설치
MobaXterm으로 접속한 후 다음과 같은 명령어를 순차적으로 입력하면 된다.
//패키지 업데이트
sudo apt update
//https관련 패키지 설치
sudo apt install apt-transport-https ca-certificates curl software-properties-common
//docker repository 접근을 위한 gpg 키 설정
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
//docker repository 등록
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
//다시 업데이트
sudo apt update
//도커 설치
sudo apt install docker-ce
//설치 확인
docker --version
//참고 sudo 없이 docker명령어 사용하기
//${USER} = 내가 사용하는 도커 아이디
sudo usermod -aG docker ${USER}
//터미널 재시작 후 결과 확인(끝에 도커가 있는지 확인한다.)
id -nG