본문 바로가기
카테고리 없음

[AWS] AWS EC2 생성 및 생성된 서버에 docker 설치, docker로 MySQL 띄우기

by whereisco 2022. 12. 29.

개요

현재 듣고 있는 부트캠프에서 aws의 ec2를 생성하고 docker로 MySQL을 띄우는 작업을 해보았습니다. 이 과정을 글로 남겨보도록 하겠습니다.

AWS EC2 생성

  • 먼저, 인스턴스를 생성하기 위해 인스턴스 시작을 눌러줍니다.

인스턴스 시작

  • 생성할 ec2의 이름을 작성해 줍니다.

애플리케이션 및 OS 이미지

  • ubuntu 환경을 사용할 것 이므로 ubuntu server 22.04 버전을 선택합니다.

인스턴스 유형

  • 사용할 인스턴스의 유형을 선택합니다
  • t3.small 유형을 사용할 것이기 때문에 이를 선택해줍니다.

키 페어(로그인)

  • 새 키 페어 생성을 클릭해줍니다.
  • 원하는 이름을 입력하고, RSA와 .pem을 각각 클릭해줍니다.

네트워크 설정

  • 인터넷에서 HTTPs 트래픽 허용, 인터넷에서 HTTP 트래픽 허용을 각각 클릭해줍니다.

스토리지 구성

  • 입력되어 있는 값으로 그냥 넘어가줍니다.

고급 세부 정보

  • 합리적인 가격으로 사용하기 위해 스팟 인스턴스를 체크해줍니다.

인스턴스 시작

  • 모든 선택을 마쳤으므로 우측에 있는 인스턴스 시작 버튼을 눌러줍니다.
  • 다음과 같이 인스턴스가 생성된 것을 볼 수 있습니다.

ubuntu 서버에 접속하여 docker 설치하기

  • 이제 생성한 ec2의 인스턴스를 활용하여 docker를 설치해봅시다.
  • git bash를 활용하여 진행하도록 하겠습니다.

ubuntu 서버 실행하기

ssh ubuntu@ <퍼블릭 IPv4 DNS> -i ~/Downloads/<생성한 키 페어 이름.pem>

  • 정상적으로 접속했다면, 위와 같이 welcome to Ubutu...와 같은 형태를 볼 수 있습니다.

docker 설치를 위한 script 파일 clone

sudo su -
mkdir git
cd git
git clone https://github.com/Kyeongrok/docker_minikube_kubectl_install

  • clone에 성공하면 위와 같이 done. 표시를 확인할 수 있습니다.

다운로드 받은 파일 실행하기

cd docker_minikube_kubectl_install
sh docker_install.sh

  • 이 과정이 완료되었다면 이제 docker를 사용할 수 있습니다.

docker를 활용하여 MySQL 실행하기

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

  • 이 때, password는 임의로 지정해줍니다.
  • MySQL을 서버에서 정상적으로 사용할 수 있는지 확인하기 위해, MySQL workbench를 활용해줍니다.

MySQL WorkBench를 사용하여 데이터베이스 생성하기

  • +버튼을 클릭해줍니다.
  • Connection Name : 데이터베이스의 이름을 설정해줍니다.
  • Hostname : 인스턴스의 퍼블릭 IPv4 DNS 주소를 넣어줍니다.
  • password 설정

  • 위에서 임의로 지정해줬던 비밀번호 값을 입력해준 뒤 OK 버튼을 누릅니다.
  • ok 버튼을 눌러줍니다.

그러나, 아직 MySQL을 사용할 수 없습니다!

  • 이는, 우리가 생성한 ec2 인스턴스 서버에 3306 포트를 열어주지 않아서 발생하는 문제입니다.

ec2 인스턴스의 보안

  • 보안 그룹을 클릭해줍니다.
  • 인바운드 규칙 편집을 클릭해줍니다.
  • 규칙 추가 클릭
  • MySQL을 선택하고, 어디서든 접근할 수 있도록 설정해줍니다.
  • 규칙 저장을 클릭해줍니다.
  • 이제 인바운드 규칙 부분에 3306 포트가 추가된 것을 볼 수 있습니다.

다시 workbench로 돌아와 생성했던 데이터베이스를 실행

  • 이제 생성한 데이터베이스를 실행할 수 있습니다.

나가면서

오늘은 조금 생소한 AWS의 ec2를 생성하고 docker를 설치 및 MySQL 구축하기 실습의 과정을 진행해 보았습니다. docker 명령어와 AWS에서 생성했던 인스턴스의 역할이 무엇인지 조금 더 확실히 공부해봐야 할 것 같습니다.