OCI MySQL 가이드-03.MySQL Workbench 구성
OCI MySQL Database(이하 OMD)는 Oracle Cloud Infrastructure(이하 OCI)가 제공하는 완전 관리형 MySQL 서비스입니다. OMD는 MySQL 배포, 백업, 패치 등 관리 작업 자동화 및 OCI 최적화 구성을 제공합니다. 또한, 이 서비스는 오라클 MySQL 팀의 엔터프라이즈 서포트를 포함합니다. 이번 문서에서는 MySQL의 대표적인 툴인 MySQL Workbench를 로컬 컴퓨터에 설치합니다. 그리고 MySQL Workbench에 Bastion VM을 통해서 OMD 인스턴스에 접속하는 설정을 진행합니다.
이 문서에서 다루는 내용은 OCI Free Trial에서 실습 가능합니다.
MySQL Workbench는 SQL 개발, 데이터베이스 설계, 생성 및 관리 통합 환경을 제공하는 대표적인 MySQL 도구입니다. 이번 문서에서는 OCI MySQL Database에 접근 가능한 Bastion 서버에 MySQL Workbench를 설치하고 구성하는 과정을 정리합니다.
MySQL Database Service 기본 가이드
이번 문서는 OMD 기본 가이드 3번째 문서입니다. OMD 기본 가이드는 다음과 같이 구성됩니다.
- OCI MySQL 가이드-01.프로비저닝
- OCI MySQL 가이드-02.데이터베이스 접속: MySQL Shell & MySQL Client
- OCI MySQL 가이드-03: workbench 구성
- OCI MySQL 가이드-04: 데이터 로딩
OMD 프로비저닝 사전 준비
이번 튜토리얼은 OCI Free Trial 계정에서 진행됩니다. 다음과 같은 계정 및 자원을 사용합니다.
환경 유형 | 자원 | 역할 |
---|---|---|
OCI IAM 계정 | developer01 | MySQL 사용지&관리자 |
Compartment | demo | |
VCN | demovcn | MySQL 인스턴스가 배포되는 VCN |
MySQL | mysql_demo_01 | demovcn의 private subnet에 위치 |
Bastion VM | bastion(IP:158.101.149.108) | Public IP를 실습 과정에서 달라질 수 있음 |
위 OCI 기본 환경이 준비 안 된 상태라면 다음 문서를 참조하여 구성하시기 바랍니다.
- OCI 사용자 기본 설정(Feat. OCI IAM)[↗NW]
- OCI Tenancy 기본 설정[↗NW]
- OCI MySQL 가이드-01.프로비저닝[↗NW]
- OCI MySQL 가이드-02.데이터베이스 접속: MySQL Shell & MySQL Client[↗NW]
OCI MySQL 인스턴스를 위한 Workbench 설치
OMD 인스턴스는 private subnet에 위치합니다. 로컬 컴퓨터에 설치되는 MySQL Workbench는 다음 이미지와 같이 Private Subnet에 배포되는 OMD 인스턴스에 접근하기 위해서 Bastion VM을 이용합니다.
이 문서의 모든 작업은 OCI Console에 OCI IAM 사용자 developer01로 로그인하여 진행합니다.
- Local PC에 SSH Key Pair 설치
- Bastion 서버에 공개키 등록
- 로컬 컴퓨터 Bastion 서버 접근 테스트
- MySQL Workbench 설치(@Local Computer)
- MySQL Workbench 설정
1. Local PC에 SSH Key Pair 설치
로컬 컴퓨터(Mac OS, Linux, Window)에 위치하는 MySQL Workbench는 Bastion 서버를 경유하여 OMD에 접근합니다. 따라서 로컬 컴퓨터에 SSH Key Pair를 만들어야 합니다.
SSH Key Pair를 만드는 방식은 Mac OS와 Linux는 같습니다. 그러나 Window10의 경우는 약간 다릅니다. 이 문서는 Mac OS와 Linux를 기준으로 작성했습니다. Window 10을 사용할 경우에 PEM 포맷으로 Key Pair를 만들어야 합니다. 이와 관련해서는 다음 문서를 참조하시기 바랍니다.
Linux와 Mac OS에서는 다음 명령으로 SSH Key Pair를 만듭니다.
ssh-keygen -t rsa -f ./bastion_id_rsa -P '' #명령 1
ls -al ~/.ssh #명령 2
cat ./bastion_id_rsa.pub | pbcopy #명령 3 - public key 내용 복사
위 명령은 다음과 같은 의미가 있습니다.
#명령 | 설명 |
---|---|
명령 1 | ssh key pair인 public key(bastion_id_rsa.pub)와 private key(bastion_id_rsa) 파일 생성 |
명령 2 | ssh key pair 생성 결과 확인 |
명령 3 | public key(bastion_id_rsa.pub) 파일 내용을 클립보드에 복사, 메모장에 Ctrl+V하면 다음과 같은 결과를 확인할 수 있음 |
위 명령을 실행하여 ssh Key Pair를 만들고, 공개키 내용을 복사합니다. 데모에서 만들어진 공개키는 다음과 같습니다.
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCtVyBwC2gYfQ8Wlz2kHt5Ntaf ox0WUVBZYCInLBkltrTH25nTKc/uMb8/QGGks8WRboBl6ttahlx+F2fYdPXe1 THzpyOuvoVKCF7OoEEcTApuwh2XqgiftjU0VTjYw3HjRqVxVTXpJeIkh/ PYEMpZn2CXCDhmz+y1seFYIhsYKbjZ5KgElMGQg8wcXtzdBanC528KnTKX 02aSrEBxKStjq/A87O+RUEX0d5OUH5TNXIr7GXcSzIMJ6SrXti4xq11ma YcxTmDZMblZ9pxN3/PezoGW2td50fN+wiQ81TWJAZtHacYCYWgQ/HxhMI1kx fpmE1QzQ1ig//uCJqUfhsvQkT11hSRybiyA/rUEocqjtBI2ilDoLpFlIWo8H gN1Ljq6Q4gVbm9fJpwc3D0clzK2CvI7XF3NH1uQfa+sPOXpxsHXFOpgPBjrWMlG fMr0c8ygcjzChmp1emEIhBNaB0sF19z+M426HmAZZBY1kg1x/RlWPo52EIl Yr/hLIZ5AtBk= taewan@taewanui-MacBook-Pro.local
위 공개키는 문서화를 위해서 일부 편집했습니다. 공개키는 한 줄로 생성됩니다.
2. Bastion 서버에 공개키 등록
Bastion 서버에 공개키를 등록하기 위해서, OCI Cloud Shell로 Bastion VM에 SSH 접근해야 합니다.
현재 데모에서 Bastion 서버에 접근 가능한 곳은 Cloud Shell 뿐입니다. 이전 가이드 문서에서 Bastion 서버를 생성할 때, 공개키를 Cloud Shell에서 생성해서 등록했습니다.
OCI Console에 developer01로 로그인하고 다음과 같이 Cloud Shell을 오픈합니다.
Cloud Shell에서 bastion VM의 공개 IP(158.101.149.108)로 ssh 접근합니다.
ssh opc@158.101.149.108
처음 로그인할 때 Are you sure you want to continue connecting (yes/no)? yes
메시지가 출력됩니다. 이때 yes를 입력합니다. bastion VM에 로그인하면 다음 이미지와 같은 상태가 됩니다.
Bastion VM에 ssh 접근한 다음에, 아래 명령을 실행하여 로컬 컴퓨터의 공개키를 Bastion VM의 ~/.ssh/authrized_key
파일에 추가합니다.
echo '[공캐키]' >> ~/.ssh/authrized_key
다음 이미지는 공개키를 ~/.ssh/authrized_key 파일에 추가하는 과정입니다. ~/.ssh/authrized_key 파일 마지막에 로컬 컴퓨터에서 생성한 공개키가 추가된 것을 확인할 수 있습니다.
3. 로컬 컴퓨터 Bastion 서버 접근 테스트
로컬 컴퓨터에서 Bastion 서버 접근을 테스트합니다. 앞에서 ssh key pair를 생성한 디렉터리에서 다음 명령을 실행합니다.
ssh -i [Private_Key_File_Name] opc@[Bastion_Public_IP]
현재 private key file의 위치와 Bastion VM의 Public IP는 다음과 같습니다.
- Private_Key_File_Name: ./bastion_id_rsa
- Bastion_Public_IP: 158.101.149.108
위 정보를 이용하여 로컬 컴퓨터에서 Bastion VM으로 다음과 같이 접근할 수 있습니다.
5. MySQL Workbench 설치(@Local Computer)
이제 로컬 컴퓨터에서 Bastion VM에 접근 가능한 상태가 되었습니다. 이제 MySQL Workbench를 설치합니다.
다음 URL에서 MySQL Workbench 설치 파일을 다운로드 받습니다.
다음 이미지와 같이 운영체제별 설치 파일을 제공합니다. 로컬 컴퓨터에 맞는 설치 파일을 선택하고 다운로드 버튼을 클릭합니다.
다음 로드 페이지에서 다음 링크를 클릭하면 설치 파일이 다운로드됩니다.
설치 파일을 더블 클릭하면 설치 과정이 진행합니다. Mac OS에서는 다음과 같은 설치 화면이 출력됩니다. MySQL Workbench 로고를 Applications로 이동 시키면 설치면 완료됩니다.
설치된 MySQL Workbench를 실행하면 다음과 같은 윈도우가 실행됩니다.
4. MySQL Workbench 설정
MySQL Workbench의 메인 화면에서 MySQL Connection을 클릭하고 데이터베이스 연결 설정을 합니다.
Bastion VM을 경유하여 ODM 인스턴스에 접근하는 설정을 할 때, 다음 정보를 이용합니다.
- Bastion VM 공개 IP: 158.101.148.108
- Bastion VM의 OS User: opc
- ODM 인스턴스의 HostName: demomysql.sub11270510191.demovcn.oraclevcn.com
- ODM 인스턴스의 Private IP: 10.0.1.5
- ODM User: admin
설정을 완료하고 Test Connection을 클릭하면 설정 결과를 확인할 수 있습니다. 다음 이미지에서 설정이 정상적으로 이뤄진 것을 확인할 수 있습니다. 테스트 결과를 확인하고 설정 윈도우에 OK 버튼을 클릭하면 설정 정보가 저장됩니다.
메인 페이지에서 커넥션 정보를 클릭하면 ODM 인스턴스에 접속합니다.
정상적으로 연결되면 다음과 같은 쿼리를 수행할 수 있습니다.
요약 & Next..
MySQL Workbench를 로컬 컴퓨터에 설치하고 ODM 인스턴스에 접근 설정을 진행했습니다. ODM 인스턴스는 Private Network에 위치하기 때문에 Bastion 서버에 로컬 컴퓨터의 ssh key를 Bastion VM의 OPC 계정에 등록했습니다. 그리고 Bastion VM을 경유하여 ODM 인스턴스에 접근 설정을 MySQL Workbench에 등록하고 ODM 인스턴스 접근을 시도했습니다.
다음 문서에서는 OMD 인스터스에 데이터를 로딩하는 방법을 소개합니다.