일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 컬렉션 타입
- 자바
- cursor문
- 인터페이스
- 메소드오버로딩
- 객체 비교
- 제네릭
- NestedFor
- 집합_SET
- 자동차수리시스템
- 다형성
- 컬렉션프레임워크
- 어윈 사용법
- 생성자오버로드
- EnhancedFor
- oracle
- Java
- 한국건설관리시스템
- exception
- 정수형타입
- 환경설정
- 추상메서드
- 대덕인재개발원
- 사용자예외클래스생성
- 예외처리
- 참조형변수
- 오라클
- GRANT VIEW
- 예외미루기
- abstract
- Today
- Total
거니의 velog
(57) AWS Elastic Beanstalk 3 본문
3. 빈즈톡에 데이터베이스 설정
* 빈즈톡은 애플리케이션의 모든 구성을 하나로 묶어서 관리할 수 있는데 데이터베이스 역시 애플리케이션의 설정과 같이 처리할 수 있다. 데이터베이스를 이용하기 위해서 구성된 환경의 '구성' 메뉴에서 시작할 수 있다. '구성' 메뉴에는 Networking and database 메뉴의 편집 버튼을 클릭한다.
* 데이터베이스 항목에서는 우선 상단의 데이터베이스 활성화를 변경한다. 데이터베이스는 mysql로 지정하고 버전은 8.0 버전을 지정한다. 인스턴스 클래스의 경우 데이터베이스의 실행 환경을 지정하는데 db.d2.micro 는 프리티어 버전에서 사용할 수 있으므로 다른 선택을 하지 않도록 주의한다. 사용자의 이름과 패스워드는 데이터베이스 관리자이므로 반드시 잘 기억해 두도록 한다.
* 데이터베이스를 설정한 후에는 다시 애플리케이션의 환경이 업데이트된다. 이 때 데이터베이스의 생성 작업이 처리되기 때문에 약간의 시간이 걸린다(약 5-10분 정도, 마찬가지로 Successfully... 메시지가 출력될 때까지 기다려야 한다).
(1) 데이터베이스 외부 연결
* 빈즈톡에서 만들어진 데이터베이스는 내부에서는 접근이 가능하지만, 사용자 개발환경에서는 접속이 차단되기 때문에 외부에서 데이터베이스를 이용하는데 제한이 많다. 외부에서 데이터베이스를 접속해서 사용하기 위해서는 빈즈톡에서 만들어진 데이터베이스 설정을 RDS 서비스에서 변경해 주어야 한다.
* AWS 콘솔 상단 메뉴에서 RDS를 검색하고 빈즈톡에서 생성된 데이터베이스를 확인한다.
* 데이터베이스의 상세 화면에서는 보안 그룹 규칙이라는 항목이 있는데 이를 이용해서 외부 접속을 허용하도록 변경해야 한다. 유형 중에 CIDR/IP 항목을 선택한다.
* 외부 연결을 위해서는 인바운드 규칙, 아웃바운드 규칙을 수정해 주어야 한다.
* 인바운드 규칙을 선택하고 인바운드 규칙 편집을 선택한다. 규칙 추가 버튼을 이용해서 새로운 항목을 추가한다.
* 새로운 항목은 사용자 지정 TCP를 지정하고 3306 포트를 선택한다. 외부 접속이 가능하도록 Anywhere IPv4를 선택하고 저장한다.
* 마찬가지로 아웃바운드 규칙을 편집한다.
* 아웃바운드 규칙 역시 외부 IP에서 접속 가능하도록 3306 포트를 지정한다.
[데이터베이스 연결 확인]
* 변경된 데이터베이스에 외부 연결이 가능한지 확인하기 위해서 데이터베이스의 정보를 다시 확인한다. 엔드포인트의 주소가 데이터베이스의 연결 주소이다.
* 데이터베이스 연결 프로그램(DBeaver)을 이용해서 엔드포인트를 지정하고 데이터베이스 이름은 mysql, 사용자 계정은 빈즈톡에서 지정했던 계정명과 패스워드를 입력한다.
* Test Connection을 이용해서 연결이 가능한지 확인한다.
[데이터베이스 시간/문자셋 변경]
* 데이터베이스의 연결이 가능하다면 select now() 를 이용해서 현재 시간을 확인해 본다. 확인되는 결과는 한국의 경우 9시간의 차이가 나는 것을 확인할 수 있다.
* 이를 변경하기 위해서는 데이터베이스에서 사용할 설정값들을 수정해야 하는데 파라미터 그룹이라는 것을 활용해서 이를 지정한다.
* RDS의 메뉴에서 파라미터 그룹을 선택하고 파라미터 그룹 생성을 확인한다. 설정할 파라미터 그룹은 mysql 8.0을 지정한다. 그룹의 이름은 timeparam 으로 지정한다.
* 파라미터의 그룹을 생성한 후에는 편집 버튼을 이용해서 설정 화면으로 이동한다.
* 설정 화면에서는 검색을 통해서 time_zone을 Asia/Seoul 로 지정한다. 변경된 내용은 Save Changes 혹은 저장을 이용해서 저장한다.
* 마찬가지로 char를 검색하고 값은 utf8로 지정한다.
* 생성된 파라미터 그룹은 데이터베이스 조회 화면에서 설정할 수 있다. 현재 데이터베이스를 선택하고 수정 버튼을 클릭한다.
* 수정 화면에서 아래쪽에 추가 구성 항목을 작성한 파라미터 그룹으로 지정한다. 계속을 선택한 후 인스턴스 수정을 클릭한다.
* 위의 화면에서 즉시 적용을 선택하더라도 데이터베이스의 파라미터 설정이 변경되기 위해서는 약간의 시간이 필요한데, 확실하게 하려면 재부팅을 이용한 직접 재시작이 가장 확실한 방법이다. 데이터베이스의 변경 작업은 5-10분 정도의 시간이 필요하다.
* 재부팅을 모두 마치고 난 뒤, 데이터베이스 개발 도구에서는 변경된 시간 값이 한국 시간으로 처리되는지 확인한다.
(3) 데이터베이스 생성과 계정 생성
* 데이터베이스의 설정이 완료되었다면 API 서버에서 사용할 데이터베이스를 생성하고 계정을 만들어 주어야 한다.root 계정으로 로그인하고 아래의 SQL 문을 이용해서 예제에서 사용할 스키마와 계정을 생성한다.
CREATE DATABASE malldb;
CREATE USER 'malldbuser'@'%' IDENTIFIED BY 'malldbuser';
GRANT ALL PRIVILEGES ON malldb.* TO 'malldbuser'@'%';
SHOW GRANTS FOR 'malldbuser'@'%';
* 개발 도구에서는 생성된 malldb 데이터베이스와 malldbuser 계정으로 연결이 가능한지 확인한다.
'SpringBoot_React 풀스택 프로젝트' 카테고리의 다른 글
(59) AWS Elastic Beanstalk 5 (0) | 2024.03.12 |
---|---|
(58) AWS Elastic Beanstalk 4 (0) | 2024.03.12 |
(56) AWS Elastic Beanstalk 2 (0) | 2024.03.11 |
(55) AWS Elastic Beanstalk 1 (0) | 2024.03.11 |
(54) 리액트 쿼리와 리코일 6 (0) | 2024.03.11 |