AWS Ec2 스팟 인스턴스설정 + MySql 도커 띄우기(Xshell)

정상희·2023년 2월 22일
0

👨‍🔧set up

목록 보기
1/1
post-thumbnail

이번 포스트에서

  • AWS EC2 인스턴스를 생성
  • Xshell ssh 접속 프로그램으로 우분투 서버 접속
  • docker 설치
  • docker 컨테이너에 mysql 띄우기까지 과정을 정리할 것입니다.

📍 스팟 인스턴스 설정 이유
: 스팟으로 설정된 인스턴스는 서버가 갑자기 종료될 수 있다는 단점이 존재하지만, 가격이 t3.small기준 거의 1/6로 줄어들므로 가성비가 좋습니다! (약 3만원 -> 약 5천원)

1. AWS 인스턴스 생성

1. aws에서 EC2를 검색하고 들어가면 인스턴스를 생성하는 버튼을 볼 수 있습니다.

2. 인스턴스 생성하며 정보를 설정하는 화면입니다.

  • 설정한 부분은 모두 박스로 표시
  • 인스턴스 유형과 이름 설정 부분은 원하는대로 설정 해주세요👨‍🔧


마지막으로 고급 세부 정보에서 스팟 인스턴스 요청을 설정합니다

인스턴스의 ID를 클릭하면 더 많은 세부정보를 볼 수 있습니다


2. Xshell 연결

1. xshell 설치 후 파일 새로 만들기

2. 인스턴스 ID를 클릭해서 들어가고 퍼블릭 DNS 주소를 복사

3. xshell 세션 등록 정보 중 호스트 칸에 붙여 넣어줍니다.

4. 저장한 다음 새로 생성한 세션을 더블 클릭하면 아래의 화면이 띄워집니다

수락 및 저장을 누른 후 ec2의 인스턴스 이름을 적어주었습니다.

5. ec2를 생성하며 다운받았던 키페어를 찾아옵니다.
찾아보기 > 사용자 키 > 가져오기

키 선택 -> 확인


우분투 서버 접속이 확인되었습니다.

3. docker 설치

https://github.com/Kyeongrok/docker_minikube_kubectl_install
1. 위 깃허브에 접속해서 주소를 복사합니다.

2. xshell에 다음 명령어를 차례로 입력합니다.

sudo su -	// root 계정 변경
mkdir git	// 'git' 이라는 폴더 생성
cd git		// 'git' 폴더로 이동
git clone https://github.com/Kyeongrok/docker_minikube_kubectl_install 

git clone + (복사된 깃허브 주소)
명령어를 통해 깃허브의 Repository에 있는 파일을 내 로컬 컴퓨터로 복사했습니다.

cd docker_minikube_kubectl_install // 파일 이동
sh docker_install.sh 			   // docker 설치 스크립트 실행
docker -v						   // docker 버전 확인


버전이 보인다면 성공적으로 도커설치가 완료된 것입니다.

3_1. docker 컨테이너에 MySql 띄우기

1. docker 컨테이너 실행

docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=(비밀번호) -d mysql

도커 옵션 설명

  • -e environment : 컨테이너 내부의 환경변수를 설정
  • -d Detached : 컨테이너를 백그라운드에서 동작하는 어플리케이션으로써 실행
  • -p port : 포트 포워딩 설정 (docker 호스트의 포트번호 : 컨테이너 내에서 사용되는 포트번호)
    위 설정은 호스트 시스템의 3306번 포트로 유입되는 트래픽을 모두 도커 컨테이너의 3306번 포트로 전달해줌으로써 컨테이너 외부와 내부를 연결해줍니다.


mysql docker image가 컨테이너 위에 잘 떠있는 것을 확인할 수 있습니다.


2. AWS 보안그룹 인바운드/아웃바인드 설정

AWS의 보안그룹에 올라가지 않은 포트는 방화벽에서 필터링되듯이 걸러지기 때문에
반드시 사용할 포트를 AWS 보안그룹에 추가해주어야 접근 가능합니다.


인바운드 규칙 편집 -> 규칙 추가

아웃바인드 규칙 편집 -> 규칙 추가

3_2. MySql Workbench 연결

  1. mysql workbench를 설치한 후

  2. Hostname에 ec2 퍼블릭 DNS 주소를 넣어줍니다.

  3. xshell에서 docker MySql을 띄울 때 설정했던 비밀번호를 입력해줍니다.

    docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=(비밀번호) -d mysql

mysql이 성공적으로 연결되었다면 성공적으로 workbench editor이 열립니다.

에러 로그

1_ 로그인이 안될 때 확인해 볼 것

  • ec2의 인스턴스 생성할 때 AMI(Amazon Machine Image)가 ubuntu로 설정했었는지
  • private key(.pem)를 맞게 설정했는지
  • Xshell에서 로그인 할 때 로그인 할 사용자 이름을 ubuntu로 설정했는지

0개의 댓글