안녕하세요. J4J입니다.
이번 포스팅은 RDS로 MySQL 사용 환경 구성하는 방법에 대해 적어보는 시간을 가져보려고 합니다.
RDS란?
RDS는 AWS에서 제공해주는 관계형 데이터베이스 서비스입니다.
일반적으로 데이터베이스 서버를 구축한다고 하면 EC2 인스턴스를 생성하여 그 내부에 데이터베이스를 설치하여 사용하는 것을 생각할 수 있습니다.
그리고 설치된 데이터베이스의 관리를 직접 커스텀하여 사용하게 됩니다.
하지만 RDS는 AWS에서 모든 것을 관리해줍니다.
원하는 데이터베이스 엔진을 선택하면 데이터베이스를 위한 인스턴스를 생성해주고 선택한 엔진에 맞는 사용 환경을 스스로 마련해줍니다.
여기서 선택할 수 있는 엔진은 총 6개이며 Amazon Aurora, MySQL, MariaDB, PostgreSQL, Oracle, MS SQL이 있습니다.
또한 데이터 자동 백업, 보안, CloudWatch를 이용한 모니터링 등 사용자가 직접 커스텀해야 되는 기능들을 자체적으로 지원해줍니다.
그리고 AWS에 따르면 가격적인 부분에서도 사용자가 사용한 만큼의 가격만 측정된다고도 합니다.
하지만 여러 장점들이 보이는 RDS여도 항상 RDS를 사용해야 하는 것은 아니고 상황에 따라 직접 EC2 인스턴스를 생성할 수도 있습니다.
개인적인 생각으론 전문적인 DBA가 있다면 EC2 인스턴스만 생성하여 자체적으로 관리하는 것이 운영되는 서비스에 맞는 환경을 마련하기에 더 좋을 것이라고 생각합니다.
하지만 전문적인 DBA가 없다면 EC2 인스턴스만 생성하는 것보다 가격적인 측면에서는 조금 더 지불될 수는 있겠지만 데이터를 관리하는 데 있어 전문 DB 지식을 추가로 학습할 필요가 없기 때문에 RDS를 사용하는 것이 좋을 것으로 보입니다.
RDS로 MySQL 사용 환경 구성하기
[ 1. RDS에 접속 ]
AWS에 접속하 뒤 상단 검색바에 rds를 검색하여 RDS 서비스에 접근해줍니다.
[ 2. 데이터베이스 생성 ]
RDS 서비스에 접근하면 좌측에 데이터베이스라는 메뉴가 보입니다.
데이터베이스 메뉴를 클릭하면 다음과 같은 화면을 볼 수 있고 우측에 있는 데이터베이스 생성 버튼을 클릭해줍니다.
[ 3. 생성 정보 입력 ]
생성 버튼을 클릭하면 처음에 다음과 같은 화면이 보이는데 이번 글에서는 MySQL을 생성할 거라서 다음과 같이 선택해보겠습니다.
내용을 입력하고 스크롤을 아래로 해주시면 다음과 같은 화면이 나옵니다.
먼저 템플릿은 말 그대로 AWS에서 제공해주는 템플릿입니다.
템플릿을 기본적으로 선택한 뒤 하단에서 관련 정보들을 자체적으로 커스텀해줄 수 있습니다.
설정에서는 생성되는 RDS 인스턴스 이름과 마스터 사용자 아이디와 비밀번호를 입력해주시면 됩니다.
내용을 모두 입력한 뒤 다시 스크롤을 내리면 다음과 같이 템플릿에서 설정한 값대로 매핑되어 있는 것을 확인할 수 있습니다.
실제 사용되는 부분에서 템플릿대로 가지 않고 추가 변경을 하고 싶다면 새롭게 값을 지정해주시면 됩니다.
다음은 연결 부분입니다.
연결 부분에서는 원하는 VPC를 선택해주면 되고 퍼블릭 액세스는 "예"로 설정해줘야 합니다.
"아니요"로 되어있을 경우 개인 PC에서 MySQL 워크벤치를 이용하여 서버에 접속할 수 없습니다.
또한 보안 그룹도 기존의 보안 그룹을 사용해도 되고 새롭게 생성해주셔도 됩니다.
마지막으로 데이터베이스 인증 방법, 추가 구성 그리고 월별 추정 요금입니다.
인증 방식은 원하는 방식으로 선택해주시면 되고 월별 추정 요금은 지금까지 선택한 옵션으로 RDS를 생성했을 때 어느 정도의 가격이 매달 지불이 되는지를 알려줍니다.
마지막으로 추가 구성 같은 경우는 데이터베이스 백업, 스냅샷, 암호화, 모니터링 등 다양한 기능들을 설정할 수 있습니다.
관련 설정을 템플릿대로 하지 않으실 분들은 추가 변경을 해주시면 됩니다.
모든 정보가 입력되었다면 데이터베이스 생성 버튼을 클릭해주시면 됩니다.
생성 버튼을 클릭하면 다음과 같이 생성 중 상태로 되어 있습니다.
여기서 약 10분 정도 시간이 지나면 다음과 같이 사용 가능 상태로 변경됩니다.
[ 4. 파라미터 그룹 생성 ]
데이터베이스 생성을 했다면 새로운 파라미터 그룹을 생성해보겠습니다.
좌측 메뉴의 파라미터 그룹을 클릭하면 다음과 같은 화면이 나옵니다.
위에서 생성한 데이터베이스는 현재 리스트에 보이는 default.mysql8.0 파라미터 그룹이 적용되어 있습니다.
해당 파라미터 그룹은 커스텀이 안되기 때문에 원하는 설정을 해주기 위해 파라미터 그룹 생성 버튼을 클릭하여 새로운 파라미터 그룹을 생성해주겠습니다.
[ 5. 파라미터 그룹 생성 정보 입력 ]
파라미터 그룹 생성 버튼을 클릭하면 다음과 같은 화면을 볼 수 있습니다.
여기서는 그룹 이름과 설명을 작성한 뒤 생성 버튼을 클릭해주면 됩니다.
그러면 다음과 같이 파라미터 그룹 리스트에 생성한 파라미터 그룹이 보이는 것을 확인할 수 있습니다.
[ 6. 파라미터 그룹 편집 ]
이제 만들어진 파라미터 그룹의 설정을 커스텀해주겠습니다.
생성된 파라미터 그룹을 클릭하면 다음과 같은 화면이 나옵니다.
여기서 인코딩 설정을 위해 character라고 검색을 해준 뒤 파라미터 편집 버튼을 눌러 검색되는 모든 이름의 값들 중 utf8mb4로 매핑 가능한 것을 모두 매핑해주시면 됩니다.
다음은 프로시저와 함수 사용을 위해 function이라고 검색해준 뒤 나오는 이름의 값을 1로 매핑해주시면 됩니다.
추가로 하고 더 하고 싶은 설정이 있다면 마저 해준 뒤 변경 사항 저장 버튼을 클릭하시면 됩니다.
[ 7. 파라미터 그룹 적용 ]
생성된 데이터베이스에 설정한 파라미터 그룹을 적용하겠습니다.
데이터베이스 메뉴에 들어가 생성한 데이터베이스를 클릭해줍니다.
다음은 수정 버튼을 클릭해줍니다.
하단으로 스크롤을 해주면 아까 데이터베이스를 생성할 때 지나쳐온 추가 구성을 볼 수 있고 여기서 생성한 파라미터 그룹으로 변경해주겠습니다.
변경이 완료되었다면 하단의 계속 버튼을 클릭해주면 다음 화면이 나오는데 수정 예약을 즉시 적용으로 선택한 뒤 DB 인스턴스 수정 버튼을 클릭해줍니다.
[ 8. 워크벤치로 데이터베이스 접속 ]
이제 마지막으로 모든 설정을 마친 데이터베이스에 접속해보도록 하겠습니다.
먼저 데이터베이스 메뉴에서 생성한 데이터베이스를 클릭해줍니다.
그러면 아래쪽에 엔드포인트를 확인할 수 있습니다.
엔드포인트를 확인했다면 워크벤치를 오픈하여 새로운 커넥션 생성 버튼을 누릅니다.
연결 정보에서 Hostname에는 위에서 확인한 엔드포인트를 입력, username에는 데이터베이스를 생성할 때 입력해둔 마스터 사용자 이름, password에는 마스터 사용자 비밀번호를 입력한 뒤 Test Connection을 클릭하여 테스트를 해줍니다.
기본적으로 생성된 RDS의 보안 그룹에는 RDS를 생성한 PC의 IP가 인바운드로 포함되어 있기 때문에 정상적으로 접근이 가능하고 만약 정상 접근이 불가하면 보안 그룹을 한번 확인해보시길 바랍니다.
테스트가 완료되었다면 OK 버튼을 눌러 우리가 원래 알던 MySQL 환경과 동일하게 사용을 해주시면 됩니다.
이상으로 RDS로 MySQL 사용 환경 구성하는 방법에 대해 간단하게 알아보는 시간이었습니다.
읽어주셔서 감사합니다.
'Infra, Cloud > AWS' 카테고리의 다른 글
[AWS] Cafe24 도메인 AWS EC2에 연결하기 (Feat. Route53) (0) | 2022.07.18 |
---|---|
[AWS] 이미지 저장을 위한 S3 버킷 생성하기 (0) | 2022.04.17 |
[AWS] 초기 Root 비밀번호 설정하기 (Ubuntu 20.04) (0) | 2022.01.19 |
[AWS] Filezilla 이용하여 EC2 인스턴스 SFTP 접속하기 (0) | 2022.01.18 |
[AWS] Putty 이용하여 EC2 인스턴스 SSH 접속하기 (0) | 2022.01.15 |
댓글