1. 인바운드 규칙 추가
EC2 > 보안 그룹 > 보안 그룹 ID 선택 후에 인바운드 규칙 편집
보안 그룹 ID는 인스턴스에서 찾아보면 있다.
2. MySQL 컨테이너 생성 시에 포트 포워딩하기
docker-compose 작성 시에 port를 작성안하니까 컨테이너 생성 시에 위에처럼 포트가 지정된다.
이렇게 하면 외부에서 MySQL에 연결할 수 없다.
컨테이너 실행 시에 -p 3306:3306을 해서 포트 포워딩을 해준다.
이렇게 해야 EC2 내부의 도커 MySQL을 외부에서 연결할 수 있다!!!
3. 원격 접속 허용
이걸 하지 않으면 host가 기본적으로 localhost라서 MySQL을 사용하기 어렵다.🥲
1. MySQL root 계정으로 로그인한다.
2. 사용하려는 계정에 다음과 같이 설정한다.
grant all privileges on *.* to 'user'@'%' identified by {비밀번호 입력};
ex) grant all privileges on *.* to 'user'@'%' identified by '2023';
3. 계정 정보를 출력해서 확인한다.
SELECT User, Host FROM mysql.user;
4. 로컬 MySQL Workbench에서 Test Connection을 시도해본다.
- 연결이 잘 안 되면 mysql 컨테이너가 실행되고 있는지 확인하자.
1. Connection Name은 알아서 적는다~
2. Hostname은 퍼플릭 IPv4주소 또는 퍼플릭 IPv4 DNS를 적는다.
3. Username은 root 계정 또는 생성한 계정을 적는다.(root보다는 생성한 계정을 사용하는 것을 권장!!!)
4. Password는 Store in Vault 버튼을 클릭해서 적는다.
5. Default Schema는 선택사항
참고 👇
https://www.youtube.com/watch?v=29bnOjIOeec&t=698s
https://www.youtube.com/watch?v=8IGgeaLlYW8
반응형
'DevOps > AWS' 카테고리의 다른 글
AWS EC2 생성 (0) | 2023.07.16 |
---|---|
AWS RDS 접속 (0) | 2023.07.15 |
EC2와 ElastiCache 연동 (0) | 2023.05.24 |
ElastiCache Redis 클러스터 생성 (0) | 2023.05.24 |
EC2 (0) | 2023.04.24 |