본문 바로가기

프로젝트/나만의명언집

[나만의 명언집 프로젝트] AWS RDS Postgres 연결 후 EC2 인스턴스와 연결하기(1) | RDS 생성

반응형

포스트 목적

현재 나만의 명언집 프로젝트에서 데이터베이스는 ec2 내부에 구성이 되어 있습니다. 이는 ec2 라는 가상 컴퓨터가 예상치 못한 문제로 종료되는 경우, 그 내부에 있는 데이터베이스의 영속성에도 치명적일 수 있는데요. 이를 사전에 방지하기 위해서 AWS RDS 를 통해 데이터베이스 또한 별도로 관리하기로 결정하였습니다.

 

따라서, 해당 포스트는 RDS 생성 후 EC2 에 연결하는 그 과정을 정리하는 것을 목적으로 합니다.

 

AWS RDS 생성

RDS 데이터베이스 생성

우선 지역은 [서울]을 선택하고, [데이터베이스 생성] 을 클릭한다.

 

데이터베이스 생성방식 및 엔진유형 선택

사용자가 직접 옵션을 일일이 지정 가능한 [표준생성] 을 클릭하고, 엔진 유형에서 사용하고자 하는 데이터베이스를 선택한다. 

 

엔진 버전은 최신 버전으로 선택한다. 만일 본인이 사용하고 있는 버전이 있다면 그것으로 선택한다.

 

데이터베이스 템플릿 선택

프리티어를 적극 사용하므로 템플릿을 프리티어로 선택한다. 현재 운영하려는 사이트가 프로덕션으로 안정적으로 운영되어야 한다면 프로덕션을 선택하는 등 자신의 상황에 맞게 선택하면 된다.

 

 

데이터베이스 인스턴스 정보 설정

크게 설명할 것은 없다. 다만, 격 증명 관리에서 AWS 에서 추천하는 관리형의 경우 추가 비용이 발생하므로 이를 고려해서 현재 상황에 맞게 선택하여 적용하면 된다.

 

데이터베이스 하드웨어 선택

여기서는 기본값으로 지정된 것을 사용한다. 참고로 vCPU 는  가상화된 중앙 처리 장치의 약어이다. 즉, 실제 컴퓨터의 하드웨어에 해당하는 CPU 를 가상화한 것으로 하나의 CPU 는 하나의 작업을 처리할 수 있다. 이것이 2개 라는 것은 2개의 작업을 처리할 수 있다는 것이다. 그리고 RAM 은 가상메모리를 의미한다. CPU가 작업을 처리하는 데 필요한 데이터와 명령어가 RAM 에 저장되고, RAM의 크기가 클수록 CPU는 보다 안정적이고 빠르게 작업을 처리할 수 있도록 한다.

 

즉 현재 선택하는 하드웨어 구성은 중소규모 정도의 데이터 처리에는 좋지만, 그 이상의 규모에 있어서는 매우 적은 용량이다. 이 점을 감안하여 용량을 선택하자.

 

데이터베이스 용량 선택

데이터를 저장할 장소를 선택한다. 여기서는 기본값으로 선택하였다. 여기서 고려할 점은 스토리지 자동 조정 기능이다. 현재 스토로지에 할당된 크기가 부족하면 지정한 임계값 만큼 자동으로 늘려주는 기능인데, 해당 기능을 활성화 하면 추가 비용이 발생하므로 이를 염두에 두고 선택하자.

 

연결

컴퓨팅 리소스와 EC2 인스턴스 선택

우선 해당 화면에서 기존에 생성되어 있는 ec2 인스턴스(즉, 프로젝트가 실행중인 가상 컴퓨터)에 연결하기 위해 EC2 컴퓨팅 리소스에 연결을 선택한다. 그리고, 아래 EC2 인스턴스에서 해당 인스턴스를 선택하고 넘어간다. 만일 Public IP 기반으로 외부 트래픽과 테스트 용도로 공유하고자 한다면 연결 안 함을 선택한다. 

 

서브넷 및 보안 그룹 설정

이 부분은 크게 언급할 것이 없으므로 기본 설정을 하고 넘어간다.

 

가용 영역 및 포트 설정 확인

이 부분은 모두 기본값으로 설정되어 있는데, 이대로 넘어가면된다. 자세한 설명은 AWS 에서 다 해주고 있으므로 넘어간다.

 

비밀번호 설정

데이터베이스 접속 시 사용하는 암호를 사용하여 인증하도록 설정하였다. 보다 더 복잡하고 보안성을 높이고자 한다면, 이 외 옵션을 선택해도 좋다.

 

모니터링

모니터링을 활성화 하면 프리티어의 경우 7일 무료이고, 그 이후에는 월 기준으로 70 달러 이상의 비용이 지출될 수 있다고 한다. 따라서 비용을 최적화하기 위해 모니터링을 꺼둔다. 무엇이든 좋은 기능이 있으면 다 비싸다는 것을 염두에 두자.

 

 

 

마지막 추가옵션

여기서 데이터베이스 생성 초기에 사용한 이름을 설정하고, 자동 백업 활성화의 체크를 해제한다. 자동 백업의 경우 추가 비용이 발생하므로 이를 염두에 두고 필요하다면 활성화 해도 무방하다. 단, 현재  목적은 최소 비용으로 인스턴스를 띄우는 것이므로 이를 사용하지 않는다.

 

암호화는 보안상 중요하므로 활성화에 체크하고 다음으로 넘어간다.

로그 내보내기

Cloud Watch 를 사용하는 것도 사실상 돈이다. 데이터베이스에 문제가 생기거나 변경사항이 발생하면 로그를 추적하여 관리할 수 있도록 해주는데, 로그 보내기에서 해당 옵션을 체크하면 가능해진다. 다만, 비용 문제를 최소화하기 위해 체크 하지 않는다.

 

 

유지관리

데이터베이스 인스턴스도 결국 하나의 가상화된 운영체제 내에서 돌아가는 프로그램이다. 따라서 이와 연관된 업데이트나 데이터베이스 자체의 업데이트 사항이 있으면 이를 빠르게 최신 상태로 업데이트 해줘야 보안 취약점을 개선할 수 있다. 유지보수를 자동으로 해주는 것에 대해서도 추가비용이 발생한다고 듣긴 들었는데, 이 부분은 비용이 발생하더라도 중요한 부분이라 생각하여 체크하였다.

 

참가로 삭제 방지의 경우에도 다른 사용자가 같은 계정을 사용하는 경우 활성화시켜 두는 것도 좋다

 

현재 옵션에 대한 월별 예상금액(온디맨드 기준)

여기 까지 설정한 옵션의 온디맨드 방식 기준으로는 23.06  달러가 나온다. 2024년 3월 18일 기준 한화로 따지면 3만 7백원 쯤 나오는데, 프리티어 기준으로 따지면 한 달에 750 시간 구동이 가능하므로 한화로 천원 밑으로 비용이 든다고 보면 될 것 같다.

 

 

 

데이터베이스 생성이 끝난 후 뜨는 팝업창 | ElasticCache

데이터베이스 생성시 끝난 뒤 아래 팝업창이 뜨는 걸 볼 수 있다. 여기서 ElasticCache 는 쉽게 말해 인메모리 캐시를 생성하는 기능이다. 이를 사용하면 데이터베이스 입출력을 통해서만 일일이 데이터를 가져오는 것이 아니라 이미 가져온 데이터를 임시적으로 인메모리에 캐싱해두었다가 데이터베이스가 아닌 메모리에서 해당 데이터를 읽어와서 재사용한다. 이러한 원리로 데이터베이스 입출력에 대한 비용을 크게 절감할 수 있다는게 해당 기능의 요지이다.

 

다만, 데이터베이스에 저장되는 데이터가 엄청 많고, 트래픽이 매우 몰리는 대형 사이트가 아니고서야 굳이 설정하는 것 자체가 돈이 될 수 있기에 감안해서 추가하도록 하자.

 

 

여기까지 하면 ec2 인스턴스와 RDS 인스턴스는 서로 같은 VPC 를 공유한다.

앞서 우리가 ec2 인스턴스와 연결하는 옵션을 지정했으므로, ec2 인스턴스로 들어가서 VPC 를 확인해보면, RDS 의 VPC 와 동일한 환경을 공유하는 것을 볼 수 있다.

 

즉, 이대로 별도의 설정없이 ec2 콘솔로 가서 RDS 데이터베이스에 접속이 가능하다. 다음 포스트는 이에 대한 정리로 이어나갈 예정이다.

 

[다음 포스트] EC2 에서 RDS 접속하기

 

 

[나만의 명언집 프로젝트] AWS RDS Postgres 연결 후 EC2 인스턴스와 연결하기(2) | EC2 에서 RDS 접속하기

[이전 포스트] RDS 생성하기 [나만의 명언집 프로젝트] AWS RDS Postgres 연결 후 EC2 인스턴스와 연결하기(1) | RDS 생성 포스트 목적 현재 나만의 명언집 프로젝트에서 데이터베이스는 ec2 내부에 구성이

duklook.tistory.com

 

 

 

 

 

 

 

 

 

 

 

반응형