당연히 기본적으로 aws 계정이 있어야 하며, 해당 과정을 진행했다고 가정하고 아래의 내용을 진행하면 됩니다.
RDS
먼저, 검색창에 RDS를 넣어서 아래의 페이지로 이동하면, 보이는 데이터베이스 생성 버튼을 누르면 됩니다.
잠시 로딩 시간이 지나가면, 아래의 창으로 넘어가게 됩니다.
해당 화면에서 default 값은 제외하고, 어떤 방식으로 진행해야하는지 설명드리겠습니다.
우선 엔진옵션에서 DB를 설정해야하며, 저는 PostgreSQL을 선택하겠습니다.
다음으로, 템플릿은 프리 티어로 설정해야지 요금 부과가 되지 않습니다.
설정에서 DB 인스턴스 식별자를 프로젝트 이름 pointer으로 설정하고, 마스터 암호는 8자이상으로 설정합니다.
이것은 나중에 datagrip으로 RDS를 연결시에 사용할 비밀번호입니다.
스토리지는 기본으로 할당된 스토리지 20GiB, 최대 스토리지 임계값이 1000GiB인지 확인합니다.
연결에서는 DB 서브넷 그룹과 보안그룹이 모두 default라는 것을 확인합니다.
그리고 연결의 퍼블릭 액세스를 예로 바꾸어서 datagrip에서 접근할 수 있게 해야합니다.
나머지는 default 값으로 놔두고, 이제는 데이터베이스 생성 버튼을 누르면, 시간이 소요된 후 생성됩니다.
EC2
검색창에 EC2를 넣어서 아래의 페이지로 이동하면, 보이는 인스턴스 시작 버튼을 누르면 됩니다.
잠시 로딩 시간이 지나가면, 아래의 창으로 넘어가게 됩니다.
애플리케이션 및 OS 이미지는 Ubuntu를 선택하고, 아래에 프리티어 사용 가능인지 확인합니다.
키 페어에서 새 키 페어 생성 버튼을 누르면, 아래의 창이 보입니다.
해당 페이지에서 키 페어 이름을 설정 후 키 페어 생성 버튼을 눌러서 키 페어를 다운 받습니다.
여기서도 나머지는 default로 해두고, 인스턴스 시작 버튼을 누르면 바로 인스턴스가 생성됩니다.
탄력적 IP
EC2에게 ip를 할당하기 위해서 EC2 화면에서 왼쪽 바 > 탄력적 IP에 들어갑니다.
탄력적 IP 주소 할당 버튼을 누르면, 아래의 화면이 보이고 할당 버튼을 통해 탄력적 IP 주소를 만들 수 있습니다.
* 주의 : 탄력적 IP는 프리티어에서 1개만 만들 수 있으며, 요금이 부과되지 않으려면 EC2와 바로 연결해야 합니다!
EC2 - 탄력적 IP 연결
위의 과정을 위해서 탄력적 IP 주소 메인 화면에서 작업 버튼 > 탄력적 IP 주소 연결을 누릅니다.
아래의 화면에서 인스턴스 부분에서 위에서 만든 (pointer) 인스턴스를 찾아넣고, 연결을 진행하면 됩니다.
보안그룹 : EC2-RDS 연결
탄력적 IP 바로 위에 있는 보안 그룹으로 들어가면, 아래 화면이 보입니다.
default는 RDS의 보안그룹이기에 남은 1개인 launch-wizard-1은 EC2의 보안그룹입니다.
그리하여 우선 EC2 보안 그룹 ID를 클릭해 들어가서 인바운드 규칙 편집 버튼을 누르면, 아래 화면이 보입니다.
우선 기본적으로 존재하는 HTTP 유형의 80 포트는 내버려두고,
그외로 4가지 보안 그룹으로 총 5개의 그룹이 존재하게 만듭니다.
저희는 PostgreSQL과 연결할 것이므로 규칙 추가 버튼을 통해서 2개를 생성합니다.
1. 유형 : PostgreSQL / 소스 : 내 IP
2. 유형 : PostgreSQL / 소스 : 사용자 지정 / 검색 : RDS와 연결된 보안그룹(default)
-> RDS와 EC2 보안 그룹을 서로 연결해주는 과정을 통해서 2개의 연결이 가능해집니다.
그 다음으로 모든 HTTP 요청이 들어올 수 있도록 합니다.
3. 유형 : HTTP / 소스 : 사용자 지정 / 검색 : 0.0.0.0/0
그리고 SSH를 통해 개인 IP에서 접근할 수 있도록 합니다.
4. 유형 : SSH / 소스 : 내 IP
오른쪽 끝에 규칙 저장 버튼을 통해서 위 인바운드 규칙을 저장할 수 있습니다.
(다음으로, 인바운드 규칙 말고 아웃바운드 규칙에서는 <유형 : 모든 트래픽 / 대상 0.0.0.0/0>이 존재하는지 확인합니다.)
이번에는 남은 보안 그룹인default 들어가서 위와 같은 방식으로 인바운드 규칙 편집 버튼을 누릅니다.
여기서는 PostgreSQL에 대해 2가지 규칙을 생성하면 됩니다. => EC2의 규칙과 동일
1. 유형 : PostgreSQL / 소스 : 사용자 지정 / 검색 : RDS와 연결된 보안그룹(default)
2. 유형 : PostgreSQL / 소스 : 내 IP
위 과정을 거쳤으면, EC2-RDS가 서로 연결이 되었습니다.
DataGrip
DB를 다루는 툴로서 해당 개발툴을 자주 이용하기에 해당 툴과 aws의 RDS를 연결하는 방법을 알아보겠습니다.
datagrip을 무료로 1년간 사용하기 위해서는 jetBrain에서 학생 인증을 받으면 됩니다.
datagrip에 진입하면, 오른쪽 위에는 해당 모양 +을 누르면 원하는 형태의 DB를 찾을 수 있습니다.
해당 DB를 이용하고 싶지만, 과거 프로젝트를 진행한 적 없으면 DB를 다운받아야하므로 Data Sources -> Drivers로 이동합니다. 여기서 원하는 DB를 고르고, 붉은 색이 보이면 다운되지 않았으므로 OK를 눌러서 해당 내용을 받아야합니다.
다시 Data Sources로 돌아오면여기서 RDS의 엔드 포인트를 Host에 붙여넣고, 데이터베이스 생성시 User는 default로 progres이고 Password는 위에서 입력한 값을 넣으면 됩니다.
그 후 Test Connection을 눌러서 연결을 시키면, 완성이 됩니다.
수고 많으셨습니다!!