- spring mvc
- PYTHON
- 스프링부트
- 자바
- spring
- sql
- DI
- springboot
- jpa
- select
- spring security 6
- 프로그래머스
- Django
- java
- nginx
- Git
- SSL
- 문자열
- @transactional
- join
- 스프링
- string
- 1차원 배열
- mysql
- session
- ORM
- 데이터베이스
- spring boot
- AWS
- Docker
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
개발하는 자몽
[AWS EC2/Docker] EC2 생성, EC2에 Docker 설치, Docker에 MySQL 띄우기 본문
[AWS EC2/Docker] EC2 생성, EC2에 Docker 설치, Docker에 MySQL 띄우기
jaamong 2023. 5. 20. 15:06목표
- AWS EC2 인스턴스를 생성하고
- EC2 상에서 Docker를 설치해 보고
- Docker에서 MySQL을 띄워보자
AWS EC2 인스턴스 생성하기
❗ 24년도에 인스턴스 생성 과정을 다룬 포스트를 다시 작성했으니, 최신 글을 원한다면 여기로!
1. AWS 로그인 후 EC2를 선택하고 아래 화면에서 인스턴스 시작을 클릭한다.
2. 원하는 이름을 입력한다.
3. 우분투 상에서 진행할 예정이므로 OS는 Ubuntu를 선택하고, 22.04 LTS 버전을 선택한다.
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)를 보면 된다.
이 페이지를 따라할 때 이미 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를 눌러 접속을 완료한다.
'Architecture & Tool > Docker' 카테고리의 다른 글
[Docker] image, container, Dockerfile, docker compose, (0) | 2024.02.03 |
---|---|
[Docker] docker compose 명령어 (0) | 2023.11.17 |
[Docker] 도커 <none>/dangling image 삭제 (1) | 2023.11.03 |
[Docker/Spring] Dockerfile 작성과 Docker에서 SpringBoot 빌드하기 (0) | 2023.05.25 |