개발하는 자몽

[AWS EC2/Docker] EC2 생성, EC2에 Docker 설치, Docker에 MySQL 띄우기 본문

Architecture & Tool/Docker

[AWS EC2/Docker] EC2 생성, EC2에 Docker 설치, Docker에 MySQL 띄우기

jaamong 2023. 5. 20. 15:06

목표

  1. AWS EC2 인스턴스를 생성하고
  2. EC2 상에서 Docker를 설치해 보고
  3. Docker에서 MySQL을 띄워보자

 

AWS EC2 인스턴스 생성하기

24년도에 인스턴스 생성 과정을 다룬 포스트를 다시 작성했으니, 최신 글을 원한다면 여기로!

 

 

1. AWS 로그인 후 EC2를 선택하고 아래 화면에서 인스턴스 시작을 클릭한다.

인스턴스 시작

 

2. 원하는 이름을 입력한다.

인스턴스 이름

 

3. 우분투 상에서 진행할 예정이므로 OS는 Ubuntu를 선택하고, 22.04 LTS 버전을 선택한다.

인스턴스 OS

 

4. 인스턴스 유형 중에서 t2.micro는 프리티어로 사용할 수 있다. 하지만 Docker를 띄우고 애플리케이션까지 운영하려면 메모리가 부족할 가능성이 높아서 t3.small로 선택했다. 

인스턴스 유형

 

5. 키 페어가 없다면 새 키 페어 생성을 클릭하여 생성한다.

키 페어

 

6. 새 키 페어 생성을 눌렀다면 아래 화면에서 키 페어 이름을 입력하고, 키 페어 유형과 파일 형식을 선택한다. 나의 경우 Xshell로 접속할 예정이라 .pem으로 선택했다.

키 페어 생성

 

7. 방화벽(보안 그룹)은 이전에 생성해 둔 것이 없다면 보안 그룹 생성을 선택한다. 인스턴스 생성 후에 보안 그룹에는 MySQL의 대표적인 포트 번호인 3306을 추가하면 된다. 

네트워크 설정
인바운드 규칙

 

8. 스토리지는 최소인 8GB로 해도 되지만, 나중에 용량 문제가 생길 수 있기 때문에 비용이 조금 더 나오더라도 12GB로 선택했다.

스토리지 구성

 

9(Optional). 고급 세부 정보에서 스팟 인스턴스 요청을 선택한다. 이 옵션을 선택하면 인스턴스를 기존보다 저렴하게 사용할 수 있다. 자세한 정보는 스팟 인스턴스를 검색해 보자.

스팟 인스턴스

 

Xshell에서 EC2 인스턴스 접속하기

인스턴스 생성이 완료되면 아래 같은 화면을 볼 수 있다. 인스턴스 ID를 선택해 보자.

 

선택하면 이런 화면이 뜬다.

 

Xshell을 켜서 새로운 세션을 등록한다. 호스트란에 위 화면의 퍼블릭 IPv4 DNS를 입력한다. 그다음 확인을 누른다.

 

진행하다가 아래 화면이 나오면 Public Key > 사용자 키 > 찾아보기를 클릭하고 아까 생성한 키 페어를 선택한다. 선택하고 확인을 누르면 된다.

 

 

EC2 상에서 Docker 설치하기

1. EC2 인스턴스 접속 후 sudo su - 를 입력하여 root 권한으로 바꾼다. 

2. Docker 설치는 공식 페이지를 참고하자. 이 페이지에서 Install using the apt repository(Set up the repository ~ Install Docker Engine)를 보면 된다.

 

Install Docker Engine on Ubuntu

 

docs.docker.com

이 페이지를 따라할 때 이미 sudo su - 로 항시 root 권한인 상태라면 앞에 sudo 명령어를 빼고 진행하자. 이유는 모르겠지만, 붙이고 진행하니 어떤 에러인지는 안 나오고 그냥 실행이 안 된다.

 

Docker에서 MySQL을 띄워보자

1. 터미널에서 아래 명령어를 입력해서 MySQL을 실행해 보자. 

docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -d mysql

 

 

2. 실행했을 때 MySQL 이미지가 없으면 알아서 다운로드한다.

 

3. 이후 아래 명령어를 입력하면 컨테이너 목록을 보여준다. -a/--all 옵션을 붙이면 가동 중이거나 멈춘 컨테이너를 모두 보여준다. 입력하면 우리가 띄운 MySQL 컨테이너를 확인할 수 있다.

docker ps -a

 

 

4. MySQL 워크벤치를 켜서 + 모양을 클릭하여 새로운 Connection을 등록한다. Hostname에는 인스턴스의 퍼블릭 IPv4 DNS을 입력한다. 비밀번호는 MySQL 컨테이너를 실행할 때 MYSQL_ROOT_PASSWORD란에 입력한 비밀번호를 입력한다. Test Connection을 클릭하고 Successfully ... 라고 뜨면 성공이다. 이후 OK를 눌러 접속을 완료한다.

Comments