Private RDS 인스턴스와 Bastion EC2 리소스 만드는 법
SWS Console에 AWS EC2 DMS 서비스를 만든 이후에 우리는 또 다른 문제를 고민했다. 일반적으로 서비스를 출시하기 위해선 클라이언트 웹, API 서버, Database를 구성해야 한다.
우리는 이 흐름을 생각해서 당연히 필요하다는 것이 AWS Cloud에서는 RDS 인스턴스의 구성이 필요하다고 생각했다.
그래서 우리는 아래 이미지와 같은 흐름으로 서비스를 만들기로 했고 이름은 DB & Bastrion EC2 Turn Key로 지었다.
먼저 DB & Bastrion EC2 Turn Key로 RDS를 생성하게되면 첫번째로 Basiton EC2를 생성하게 된다. 만약 VPC(Sws Project) 내에 Bastion EC2가 존재한다면 따로 생성하지 않게된다.
또한 RDS 인스턴스를 Private하게 생성하게된다. 이때 Private하게 생성할 수 있는 이유는 이미 Sws Console의 VPC Turn Key(Sws Project)를 이용해 VPC를 생성하게되면 Bastion EC2로만 접근할 수 있도록 RDS의 Security Group을 구성해놓기 때문이다.
우리는 이제 위의 생성 과정에서 사용자가 최대한 고민하지 않도록 입력할 요소를 최소화하여 아래 이미지와 같이 프로젝트 선택 → RDS 인스턴스에 생성한 데이터베이스 이름, 엔진 타입(mysql, mariadb 등등) 만 받아서 생성하게되면 10분만에 생성되도록 구성했다.
정말 쉽지 않은가? 사용자는 AWS Cloud에 대한 학습이 없어도 위의 간단한 입력과 클릭 만으로 RDS를 구성할 수 있게되었다.
우리는 여기서 멈추지 않고 사용자가 Bastion EC2를 통해서 RDS 인스턴스에 접근하는 방법에 대해서 디테일 화면에서 제공할 수 있도록 화면을 구성했다.
콘솔을 통해 Pem Key를 다운로드 받을 수 있고 Bastion EC2에 접속하는 방법을 제공하여 사용자가 Bastion EC2에서 RDS에 접근하고 사용하는 방법에 대해서 가이드를 제공해줬다.
이로서 사용자는 AWS Cloud의 EC2, RDS에 대한 학습 없이도 SWS 툴을 사용해서 AWS Cloud에 Bastion EC2와 RDS 인스턴스를 Private하게 접근하도록 아키텍처를 구성할 수 있게했다. 너무 쉽지 않은가?
이렇게 우리는 계속 사용자가 AWS Cloud에 대한 학습 없이도 클라우드 아키텍처를 구축할 수 있게 도와주는 툴을 만들어 개발자가 비즈니스에 조금 더 집중할 수 있도록 도와주고 나아가 적은 인원의 개발자로도 최대한의 AWS 리소스들을 사용할 수 있도록 가치를 제공할 것이다.
다음 기사는 다른 문제 해결에 대한 히스토리를 쓰려고 한다. 끝