[AWS] RDS로 데이터베이스 서버 준비하기

Ogu·2023년 4월 29일
0
post-thumbnail

웹 서비스를 구축할 때는 웹 서버로부터 질의를 받아 결과를 반환하는 데이터베이스 서버를 많이 이용합니다.
AWS에서는 RDS 라는 매니지드 서비스를 제공합니다. 우리는 이용할 제품, 성능 등만 지정하면 간단하게 DB 서버를 구축할 수 있습니다.

RDS는 다음 4가지 요소로 구성됩니다.

  • 데이터베이스 엔진
  • 파라미터 그룹
  • 옵션 그룹
  • 서브넷 그룹

DB 서버 생성 흐름

  1. 파라미터 그룹 생성
  2. 옵션 그룹 생성
  3. 서브넷 그룹 생성
  4. DB 생성

파라미터 그룹 생성

파라미터 그룹은 MySQL이 제공하는 데이터베이스 설정을 수행합니다.
DB의 성능 개선, 사용 현황 파악, 기능 추가 등을 할 수 있습니다.

우선, RDS 대시보드에서 파라미터 그룹을 선택해 파라미터 그룹을 생성합니다.

다음과 같이 파라미터 그룹 세부 정보를 입력합니다.

옵션 그룹 생성

RDS 대시보드의 옵션 그룹 항목에서 그룹을 생성합니다.

다음과 같이 설정하고 생성합니다.

서브넷 그룹 생성

서브넷 그룹이란 앞서 생성한 서브넷을 2개 이상 포함한 그룹입니다.
EC2를 생성할 때는 서브넷을 직접 지정했지만, RDS 작성에서는 서브넷 그룹을 지정하고 어떤 서브넷에 생성될지는 AWS에 위임합니다.

이어서 서브넷 그룹을 생성해봅시다.

다음과 같이 설정합니다.

서브넷 추가에서는 앞서 생성한 프라이빗 서브넷과 이를 포함한 가용 영역을 추가합니다.

  • 가용 영역 : 프라이빗 서브넷이 포함된 가용영역들을 추가합니다.
  • 서브넷 : 프라이빗 서브넷 2개를 선택합니다.
    (퍼블릭 서브넷을 서브넷 그룹에 추가하면 외부에 공개된 서브넷에 직접 DB가 위치하게 됩니다. 따라서 보안을 위해기본적으로 퍼블릭 서브넷을 서브넷 그룹에 추가하지 않도록 합니다.)

    서브넷 참고)

DB 생성하기

마지막으로 DB를 생성해보도록 합시다.

우선 DB 생성 방법을 선택합니다. 모든 항목을 수정으로 설정하는 '표준 생성'이 기본 선택되어있으므로 그대로 넘어갑니다.
엔진 옵션은 MySQL을 선택합니다.

템플릿을 선택합니다.

각종 설정을 선택합니다.
이때 마스터 사용자 이름과 마스터 암호는 꼭 기억해 두도록 합시다.

DB인스턴스 클래스를 선택합니다. (기본값)

스토리지를 설정합니다.

  • 스토리지 유형 : 데이터베이스 서버가 사용할 스토리지 유형
  • 스토리지 할당 : 데이터베이스 서버가 이용할 스토리지 크기
    (앞서 선택한 템플릿별로 적절한 값이 기본값으로 설정되므로 그대로 유지합니다.)

가용성 및 내구성을 설정합니다.
멀티 AZ를 사용하면 실제 가동할 DB와 만약의 경우를 위해 대기하는 DB 2개를 이용하므로 비용이 거의 2배가 되는 점에 주의합니다.

연결을 설정합니다.

  • VPC : 앞서 생성한 VPC를 지정합니다.
  • 기존 VPC 보안 그룹 : default를 선택해 VPC 안에서의 접근을 허가합니다.


DB 인증
암호 인증을 선택하면 앞에서 생성한 마스터 사용자로 DB에 연결할 수 있습니다.

DB 추가 구성을 설정합니다.
DB이름, DB 파라미터 그룹, 옵션 그룹을 설정하고 데이터베이스를 생성합니다.

DB 생성에는 수 분이 소요될 수 있습니다.

작동 확인하기

DB 서버에 접속해봅시다.
웹 서버를 연결하고, MySQL 명령어를 이용해 DB에 연결합니다.
MySQL 명령어는 Amazon Linux2에 기본으로 포함되지 않으므로 별도로 설치합니다.

테스트를 하기 위해 인바운드 규칙에서 포트를 열어주었습니다.
(실제로는 이렇게 사용하지 않습니다)

우선 웹서버에 다시 연결합니다.

sudo yum -y install mysql 명령어로 MySQL 명령어를 설치합니다.

이제 DB 서버에 연결해봅시다. 연결 대상지 정보는 RDS 대시보드에서 확인할 수 있습니다. 엔드포인트 및 포트를 확인합니다.

profile
私はゲームと日本が好きなBackend Developer志望生のOguです🐤🐤

0개의 댓글