사실, 우리가 지금껏 환경 구축한 LAMP STACK 만으로도 간단한 웹 정도는 런칭할 준비가 모두 되었다.
https 포트 연결 설정도 해주었고, IP로 접근하는 것이 아닌 도메인으로 접근하고 여러가지 기능을 위해서 서브 도메인까지 EC2 인스턴스에 만들어주었다.
그러나 실제 출시를 생각했을 때 백엔드 개발의 경우 Spring 언어로 개발하고 싶다거나, 간단한 mysql이 아닌 AWS의 RDS를 사용해서 보안적으로나 더 빠른 성능을 원할 경우가 많을 것이다.
RDS란? - 클라우드에서 관계형 데이터베이스를 간편하게 설정, 운영 및 확장할 수 있습니다. 하드웨어 프로비저닝, 데이터베이스 설정, 패치 및 백업과 같은 시간 소모적인 관리 작업을 자동화하고, 사용자가 애플리케이션에 집중하여 애플리케이션에 필요한 빠른 성능, 고가용성, 보안 및 호환성을 제공할 수 있도록 지원해주는 서비스 입니다.
그래서 이번엔 AWS에서 RDS를 생성하고, 이를 Datagrip과 연결하는 것까지 설정을 포스팅 해보려 한다.
1. RDS 생성
aws에서 rds를 검색하고 들어가준다.
데이터 베이스를 클릭해주고,
데이터 베이스 생성 버튼을 눌러준다.
mysql을 사용할 예정이니 mysql을 선택해준다.
현재 프리티어를 사용 중이니 템플릿도 프리 티어로 만들어 준다.
이제 이름과 암호를 써야하는데, 나중에 RDS에 연결할 때 사용되니, 꼭 기억하도록 하자.
스토리지 설정에서 자동 조정은 출시를 생각 중이고 과금에도 문제가 없다면 자동 조정을 활성화하는 편이 낫다.
만약, 데이터베이스 용량을 초과하면 추가로 데이터베이스 용량을 자동으로 늘려주는 역할을 한다.
데이터 그립에서 연결할 예정이니 퍼블릭 엑세스도 예로 바꿔주도록 하자
나머지는 우선 다 기본값으로 설정하고 생성해주도록 하자.
database가 만들어진 것을 확인할 수 있다.
2. 파라미터 그룹 설정
RDS 운영환경에 맞는 파라미터를 설정해야한다.
다음과 같이 파라미터 그룹 탭에 접근한 뒤, 우측 상단의 파라미터 그룹 생성 버튼을 통해 파라미터 그룹을 생성하도록 한다.
생성한 mysql 버전에 맞추어 파라미터를 하나 만들어주자.
이제 옆에 파라미터 편집을 눌러서 파라미터 그룹 설정을 해주어야한다.
바꿔야하는 항목들은 다음과 같다.
utf8mb4로 변경
utf8도 상관 없지만, utf8mb4는 이모지까지 저장할 수 있으므로 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
Asia/Seoul로 변경
- time_zone
150으로 변경 인스턴스 샤양에 따라 자동으로 정해져있지만, 프리티어 사양이 낮아 60 커넥션만 가능하기 때문에 더 늘려준다.
- max_connections
1로 변경
기본값으로 0으로 꺼져있는데, 꺼져있다면, 권한이 있더라도 DB funtion과 trigger를 생성할 수 없다.
- log_bin_trust_function_creators
결론적으로 다음과 같이 바꾸면 된다.
이제 database 수정에 들어가서
파라미터 그룹을 변경해주자.
즉시 적용 체크 후 수정해주도록 하자.
3. 보안그룹 설정
RDS도 EC2랑 마찬가지로 보안그룹을 만들어서 내 RDS에 외부에서 접근할 수 있도록 해야한다.
이때, EC2에서 사용한 보안그룹을 사용하여도 무방하다.
단, 보안 그룹에 Mysql 포트는 반드시 열려있어야함을 기억하자.
필자는 귀찮아서 그냥 EC2에서 쓰던걸로 교체해주었다.
4. Datagrip 연결
Datagrip을 켜준 후 Mysql을 클릭
rds의 세부정보에 있는 엔드포인트를 host에 입력해주고 rds 생성할 때 입력했던 user명과 비밀번호를 입력해준다.
이제 Test Connection 해주면 연결된 것을 확인할 수 있을 것이다.
Communications link failure 오류가 뜬다면 위에 RDS 설정에 퍼블릭 엑세스를 허용해주었는지 다시 한번 확인해보길 바란다.
'서버 > 환경설정' 카테고리의 다른 글
[서버 개발 환경 구축] 8. 서브 도메인 및 IP to Domain redirection (0) | 2022.07.24 |
---|---|
[서버 개발 환경 구축] 7. Let's Encrypt를 이용하여 Nginx에 HTTPS 적용하기, http https 리다이렉트 (0) | 2022.07.14 |
[서버 개발 환경 구축] 6. 원하는 도메인 적용 (가비아) (0) | 2022.07.14 |
[서버 개발 환경 구축] 5. Mysql Datagrip 연결 (0) | 2022.07.13 |
[서버 개발 환경 구축] 4. AWS EC2 탄력적 IP 할당 (0) | 2022.07.13 |