AWS RDS 구축하기 (MySQL)

끄적끄적·2023년 4월 10일
0

RDS ( Relational Databasse Service )

  • AWS에 데이터베이스를 직접 설치하게 되면 모니터링, 알람, 백업 HA 구성 등을 모두 직접하게 됨. 이러한 작업들을 하지 않기 위해서 AWS에서 지원하는 클라우드 기반 관계형 데이터 베이스

1. RDS 인스턴스 생성 참고

1. RDS > 데이터베이스 > 데이터베이스 생성

2. MySQL 선택

  • 이미 MySQL이 노트북에 설치되어있어서 선택

3. 이미 설치되어있는 MySQL 버전으로 설정

  • 8.0.31 설정
select version();  // MySQL Workbench 에서 확인 가능

4. 템플릿

  • 프리티어

5. 설정

  • DB 인스턴스 식별자 / 마스터 사용자 이름 / 마스터 암호
  • 메모 필수

6. 인스턴스 구성 : db.t3.micro

7. 퍼블랙 액세스

  • 보안 그룹에서 지정된 IP만 접근하도록 막을 예정

8. 초기 데이터베이스 이름 설정

9. 데이터 베이스 생성 > 사용 가능

  • 시간이 좀 오래걸림. 기다리면 생성 중에서 사용 가능으로 변경됨.

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

1. 파라미터 그룹 > 새로운 그룹 생성

  • default 파라미터 그룹은 수정할 수 없으므로 새로운 파라미터 그룹 생성 후 설정 변경

2. 파라미터 편집 > char 검색

utf8mb4 설정

  • character_set_client
  • character_set_connection
  • character_set_database
  • character_set_filesystem
  • character_set_results
  • character_set_server

utf8mb4_general_ci 설정

  • collation_connection
  • collation_server

150 설정

  • max_connections

3. 생성된 파라미터 그룹 > 데이터 베이스 연결

1. 데이터베이스 > 수정 > 추가 구성 > DB 파라미터 그룹 설정 이름으로 변경

2. 수정 예약 > 즉시 적용

  • 파라미터 그룹이 반영 안된다면 재부팅

4. 내 PC에서 RDS 접속

1. EC2 > 인스턴스

2. 보안 > 설정되어 있는 보안 그룹 > 보안 그룹 ID 복사

3. 데이터베이스 (RDS) > 연결&보안 > VPC 보안 그룹 선택

  • 로컬 PC에서 RDS로 접근하기 위해 RDS 보안 그룹에 보안 PC의 IP를 추가

4. 인바운드 규칙 편집

  • 유형 MySQL 내 IP 선택
  • 복사한 EC2 보안 그룹 ID 인바운드 규칙에 추가

5. LOCAL에서 원격 데이터베이스로 접근

1. MySQL Workbench > 상단 옵션 Database > Connect to database

2. RDS 데이터베이스 상세보기 > 연결&보안 > 엔드포인트 확인

3. 엔드포인트 복사 > Hostname > RDS 엔드포인트 등록

4. Username / Password는 기존에 설정한 값으로 입력

  • user : admin

5. DB 연결 완료

🔥 ERROR 1 : MySQL 연결

  • 연결이 계속 안됨 > 데이터베이스 연결&보안 확인해봄

    👀 해결방법
  • VPC 보안그룹이 다른 걸로 설정되어있었음.
  • 데이터베이스 > 연결&보안 > 수정 > 보안그룹 다시 설정 > 즉시 적용 > 재부팅
  • 완료

🔥 ERROR 2 : time_zone

  • time_zone : UTC > 타임존이 제대로 설정되지않았다.

👀 해결방법

  • RDS > 파라미터 그룹 > 변경 > time_zone 검색 > Asia/Seoul 설정 > 재부팅

🔥 ERROR 3 : 파라미터 설정

  • RDS에 이미 적용되어 있는 파라미터그룹의 설정을 변경하면 오류가 발생
  • 저장 중 오류: This parameter group [파라미터그룹이름] cannot be modified because it is currently being applied to DB Instance deeping (Service: AmazonRDS; Status Code: 400; Error Code: InvalidDBParameterGroupState; Request ID:

👀 해결방법

  • RDS에 적용된 파라미터그룹을 다른 것으로 변경한 후, 설정을 변경
  • RDS > 데이터베이스 > 수정 > 파라미터 그룹 변경
  • 파라미터 그룹 > 수정 > TIME_ZONE 검색 > 변경 > 저장 > 성공

6. 테스트

  • INSERT로 한글 확인
insert into test(content) values ('테스트');
select * from test;

7. EC2 > RDS 접근 확인

  • Ubuntu로 EC2 접속
apt-get update
sudo apt-get install mysql-client
mysql -h <호스트 엔드포인트> -u <유저이름> -p    // 앤드포인트, dmin
  • Enter password > 접속 > show databases

0개의 댓글