[AWS]AWD RDS 설정

Amazon Relational Database Service(Amazon RDS)란?

Amazon Relational Database Service(Amazon RDS)는 AWS 클라우드에서 관계형 데이터베이스를 더 쉽게 설치, 운영 및 확장할 수 있는 웹 서비스입니다. 이 서비스는 산업 표준 관계형 데이터베이스를 위한 경제적이고 크기 조절이 가능한 용량을 제공하고 공통 데이터베이스 관리 작업을 관리합니다

-> 그냥 AWS에 디비 띄워서 공용으로 사용 가능하게 하겠다는 뜻.

20220704_182624

위 짤은 프리티어 혜택들

그리고 AWS RDS를 만드는 곳에 가면 위와 같은 화면이 뜨는데 원하는 디비 설정하고 만들어준다.

20220704_184958

20220704_175859

가용성 및 내구성 부분은 인스턴스 하나 생성되면 대기 인스턴스 하나를 생성해서 하나를 만들것이냐 아니면

그냥 대기 인스턴스 없이 사용할 것인가 묻는 거




20220704_190051

아래는 원하는 대로 설정 이 설정은 그냥 이름만 변경함

그리고 db부분은 db.m6g.large 그대로(디폴트)로 설정하는 것 같다.

스토리지의 경우 EBS 기반이기 떄문에 EBS에 선택한것과 동일 마그네틱 선택한다.

근데 그냥 다 무시하고 우리는 프리티어 쓴다.

20220704_192617

그리고 밑에 추가구성은 3306(mysql이라) 그대로 두 암호인증 선택해 둠

20220704_192730 그리고 아래 프리티어면 위와 같은 화면이 뜰것



그리고 RDS가 만들어지면 아래와 같은 화면이 만들어진다.

20220704_194131

위에 인스턴스 연결을 클릭한다. 상세 정보들이 나온다.

20220704_194401

그럼 암호가 나올텐데 암호 복사하면 이전 화면에 사용가능이 뜬다.(근데 나같은 경우 그냥 떠있던데 버전 업데이트 되서 그런가 아무튼 그럼)

그리고 옆 메뉴인 유지보수 관리에 들어가면 스냅샷이 하나 생성된 것을 볼 수 있다.

20220704_194645

그리고 메뉴에 연결 & 보안이 있는데 여기 엔드포인트라는 것이 있다.

만약 멀티적으로 구성했다면 저 경로로 들어가면 날아가지 않게된다(싱글(프리티어)일 떄는 잘 모르겠다.)


RDS운영 환경에 맞는 파라미터 설정

20220706_001611

파라미터 그룹 - 파라미터 설정

세부 정보 위쪽에 DB 엔진 선택하는 항목에서 생성한 DB와 같은 버전을 맞춰야 한다.

만약 마리아디비 10.2.21이면 같은 버전으로 해야한다.

20220706_001733

20220706_002018

위에서 생성한 파라미터 그룹을 클릭한다.


파라미터 편집으로 설정들을 하나씩 변경

time/zone으로 가서 asia/seoul 선택

20220706_002710

그리고 Character Set을 변경

총 8개 항목 변경

character_set_client character_set_connection character_set_database character_set_filesystem character_set_results character_set_server collation_connection collation_server

이 8개 항목 중 character 항목은 utf8mb4로

collation 항목들은 utf8mb4_general_ci로 변경한다.

20220706_003131

20220706_003141

utf8과 utf8mb4의 차이는 이모지의 저장 가능 여부이다.

utf8은 이모지를 저장할 수 없지만, utf8mb4는 이모지를 저장할 수 있으므로 보편적으로 utf8mb4를 많이 사용한다.

마지막으로 max connection을 수정한다.

RDS의 Max Connection은 인스턴스 사양에 따라 자동으로 정해진다.

20220706_003310

프리티어사양은 60개만 가능하다.(돈 내면 더 가능)


생성한 파라미터 그룹을 데이터베이스에 연결한다

20220706_003443

옵션에서 DB 파라미터는 default로 되어있다

DB파라미터 그룹을 방금 생성한 신규파라미터로 변경한다.

20220706_003740

수정에서 DB 파라미터 그룹을 변경한다. 그 후 저장.

20220706_003902

수정사항 요약에서 반영 시점을 적용 시점을 즉시 적용으로 한다

예약된 다음 유지시간으로 하면 지금하지않고 새벽시간대에 진행한다.

이 수정사항이 반영되는 동안 디비가 작동 안할 수 있으므로 예약 걸어두라는 의미지만 지금은 서비스가 오픈 되지 않아서 즉시 적용.

20220706_004259

혹시 파라미터 그룹이 제대로 반영 안 될수 있으므로 정상 적용을 위해 한번 더 재부팅을 진행한다.


로컬 PC에서 RDS 접속해보기

로컬에서 RDS에 접근하기 위해 RDS의 보안그룹의 나의 IP를 추가해야 한다.

20220706_004706

RDS의 세부정보 페이지에서 [보안 그룹] 을 선택한다.(컨트롤로 새창 띄워서)

20220706_005320

그리고 EC2에 사용된 보안그룹의 그룹 ID를 복사한다.

20220706_010210

인바운드 규칙 편집으로 들어간다.

20220706_010154

20220706_010504

20220706_010531

복사된 보안그룹 ID와 본인 IP를 RDS보안 그룹의 인바운드로 추가한다.(EC2 인스턴스 안의 보안그룹)

인바운드 규칙에서는 Mysql/Aurora를 선택시 자동으로 3306 포트가 선택된다.

보안그룹 첫 번째 줄 : 현재 PC의 IP를 등록한다. 보안그룹 두 번째 줄 : EC2의 보안그룹을 등록한다.

  • 이렇게 하면 EC2와 RDS간의 접근이 가능하다.
  • EC2의 경우 이후 2,3대가 될 수도 있는데 매번 IP를 등록할 수 없으니 이렇게 보안 그룹간에 연동을 한다.

RDS간에 개인PC, EC2의 연동 설정은 모두 됨. 로컬 간에 테스트를 진행하면 된다.


Database 플러그인 설치

20220706_010858

인텔리제이에 플러그인을 설치한다.

20220706_010959

RDS의 접속 URL은 연결 & 보안에 있다.(엔드포인트)

인텔리제이에 플러그인을 설치하면 옆에 DB브라우저가 생성된다.

20220706_011252

그리고 MariaDB를 썼으므로 Mysql을 선택한다.

20220706_011427

마스터 계정명과 비밀번호를 등록 뒤 커넥션 테스트 해본다.

20220706_012806

참고로 마스터 계정은 AWS안의 계정을 말한다.(이거 몰라서 로컬 mysql인줄 알고 삽질..)

20220706_012843



참고로 위에서는 얼티메이트 버전이라 DB 설정 항목이 따로 있어서 거기서 했다.

그리고 콘솔로 들어가서 쿼리를 짜면 된다.

만약 본인이 RDS 생성시 지정한 database명을 잊었다면 인텔리제이 왼쪽의 schema항목에서 MYSQL에서 기본으로 생성하는 스키마 외에 다른 스키마가 있으므로 확인하면 된다.


삽질)

아니 아무리 찾아도 데이터베이스 스키마가 없길래 찾아보니 데이터베이스 옵션이 없었고 데이트 베이스 이름 지정 안하면 데이터베이스를 생성 안한다.. 하.. 다시 생성해야됨.





© 2021.03. by yacho

Powered by github