Private 서브넷에 MySQL서비스를 이용하여 DB를 구축합니다. Bastion 서버에 MySQL DB를 연결할 수 있도록 설정합니다. Web서버와 DB간의 연동이 되는지 확인하는 실습입니다.
graph LR
시작(시작) --> MySQL인스턴스그룹생성(MySQL 인스턴스 그룹 생성)
MySQL인스턴스그룹생성 --> BastionMySQL연결(Bastion에 MySQL 인스턴스 그룹 연결 및 DB 설정)
BastionMySQL연결 --> WebDB연결확인(Web서버와 DB 연결 확인)
WebDB연결확인 --> 종료(종료)
%% 강조
class MySQL인스턴스그룹생성,BastionMySQL연결,DB설정,WebDB연결확인 emphasized;
%% 클래스 스타일
classDef emphasized fill:#f9f,stroke:#333,stroke-width:4px;
- 카카오 클라우드 콘솔 > 전체 서비스 > MySQL
- 인스턴스 그룹 만들기
- 이름 :
database
- Image :
MySQL 8.0.34
- MySQL 사용자 이름:
admin
- MySQL 비밀번호 :
admin1234
- 인스턴스 가용성 :
단일(Primary 인스턴스)
- 인스턴스 타입 :
m2a.large
- 기본 스토리지 크기:
100GB
- 로그 스토리지 크기 :
100GB
- VPC :
vpc_1
- Subnet :
{vpc_1의 Private 서브넷} 선택
- 자동 백업:
미설정
- 이름 :
- 만들기 버튼 클릭
- 카카오 클라우드 콘솔 > 전체 서비스 > Virtual Machine > Instance 접속
- bastion의 우측 메뉴바 클릭
-
Note: bastion 생성 시 고급 설정에 명령어를 넣지 못하였을 때 수행합니다.
- SSH 연결
- SSH 접속 명령어 복사(6. keyPair.pem 파일이 있는 경로에서 아래 명령어를 실행합니다.)
- Keypair를 다운받아놓은 Downloads 폴더로 이동
- 터미널 열기
- 터미널에 명령어 붙여넣기
- MySQL 연결 명령어 입력
sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 sudo yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm -y sudo yum module disable mysql -y sudo yum install mysql-community-server -y
-
카카오 클라우드 콘솔 > 전체 서비스 > MySQL 접속 > database 클릭
- 엔드포인트 URL 복사
- Note: 아래 명령어를 메모장에 복사한 후 "{엔드포인트URL}" 부분을 복사한 URL 주소로 교체
mysql --user=admin --password=admin1234 --host={엔드포인트URL} <<EOF CREATE DATABASE IF NOT EXISTS myweb; USE myweb; CREATE TABLE IF NOT EXISTS users ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(255) NOT NULL ); INSERT INTO users (username) VALUES ('kakao'); CALL mysql.mnms_grant_right_user('admin', '%', 'all', '*', '*'); ALTER USER 'admin'@'%' IDENTIFIED WITH mysql_native_password BY 'admin1234'; EOF
- 명령어에 대한 설명
- myweb 데이터베이스가 없으면 생성
- users 테이블이 없으면 myweb 데이터베이스 내에 생성함. 이 테이블은 id (자동 증가, 기본 키)와 username (문자열, 필수) 필드를 포함함.
- users 테이블에 username 값이 'kakao'인 레코드를 삽입
- admin 사용자에게 모든 권한을 부여
- admin 사용자의 인증 방식을 mysql_native_password로 변경하고 비밀번호를 재설정
- 카카오 클라우드 콘솔 > 전체 서비스 > Virtual Machine > Instance
- web_server_1의
Public IP 주소
복사 - 브라우저 창에
Public IP 주소
붙여넣기 - 카카오 클라우드 콘솔 > 전체 서비스 > MySQL > database 클릭
- 엔드포인트 URL 복사
- 호스트 입력 칸에 위에서 복사해놓은 엔드포인트 URL을 붙여넣기
- 유저 이름 가져오기 버튼 클릭
- 화면에 'kakao'가 출력되면 유저추가 버튼 클릭
- 유저이름 가져오기 클릭
- 화면에 'cloud', 'edu'가 추가됨