[AWS]EC2와 RDS 연결하기 (VPC)

bshunter·2023년 8월 13일
0

EC2

EC2는 AWS의 대표적인 클라우드 컴퓨팅 서비스 중 하나입니다.

EC2를 사용하면 AWS의 클라우드 컴퓨터 환경에서 원하는 사양의 컴퓨터를 대여한 후 작성한 서버 코드를 올려 서버를 구동할 수 있습니다.

실제 컴퓨터와 동일한 환경이기 때문에 EC2 환경 내에서 DB를 구동하여 평소 개발 환경과 비슷하게 서버와 DB를 연결해서 서버를 구현 할 수 있습니다.

그러나 위처럼 하나의 EC2 환경에서 서버와 DB를 같이 구동하게 되면 고 사양의 EC2가 필요할 수 있으며, 서버나 DB 둘 중 하나의 서비스에서 문제가 생긴다면 동일한 EC2 환경 내에서 구동되는 모든 서비스가 동시에 다운되는 문제가 생길 수 있습니다.

그래서 AWS에서는 서버와 DB를 분리 시키기 위해 DB전용 가상 환경 서비스를 제공하는데 그중 대표적으로 이용되는 것이 바로 RDS입니다.

RDS

RDS는 EC2 처럼 클라우드 리눅스 환경에서 직접 DB를 설치하고 세팅하고 구동할 필요 없이, AWS웹에서 DB종류와 DB설정, 네트워크 설정 등을 선택만 하면 DB전용 클라우드 서버를 생성할 수 있습니다.
또한 간편한 유지 관리 기능과, 자동 백업 등의 유용한 기능도 함께 제공합니다.

이처럼 RDS를 이용하여 EC2와 독립적인 DB를 구축하면
동일한 환경에서 여러 서비스를 구동할 때 생기는 문제를 해결할 수 있으며,
각 서비스의 유지 관리 문제를 안정적이고 편리하게 해결할 수 있습니다.

VPC(Virtual Private Cloud)

EC2와, RDS, S3등 AWS 의 각 서비스들은 기본적으로
VPC 를 이용한 Private 한 네트워크 환경을 보장받습니다.

VPC 란 논리적으로 격리된 가상 네트워크 입니다.
기본적으로 VPC는 외부와의 통신이 허용되지 않습니다.
VPC환경 내에서는 동일한 VPC에 속한 서비스들끼리만 통신이 가능합니다. 즉, 외부에서 VPC 내부로의 접근이 차단되어 있으며, VPC 내부에서만 자유롭게 통신이 가능합니다.

독립적으로 구성한 EC2와 RDS 역시 각각의 VPC 를 가지고 있습니다.
그렇기 때문에 EC2와 RDS를 연결해주는 작업이 필요합니다.

그중 대표적으로 사용되는 방식은 EC2와 RDS를 같은 VPC안에 두고
EC2만 Public으로 설정하여 RDS를 외부로부터 보호하는 것입니다.

이 방법의 장점은 RDS가 Private Subnet에 있기 때문에 외부에서 접근할 수 없어 보안이 강화된다는 것입니다.
또한, EC2와 RDS가 같은 VPC안에 있기 때문에 네트워크 지연이 줄어들고 성능이 향상된다는 것입니다.

  1. EC2와 RDS를 같은 VPC안에 생성합니다. 이때, EC2는 Public Subnet에, RDS는 Private Subnet에 위치시킵니다.

  2. EC2와 RDS의 보안 그룹을 설정합니다. 이때, EC2의 보안 그룹은 인바운드 규칙으로 자신의 IP 주소와 RDS의 보안 그룹을 허용하고, 아웃바운드 규칙으로 모든 트래픽을 허용합니다. RDS의 보안 그룹은 인바운드 규칙으로 EC2의 보안 그룹을 허용하고, 아웃바운드 규칙으로 모든 트래픽을 허용합니다.

  3. EC2에서 RDS로 접속합니다. 이때, RDS의 엔드포인트 주소와 포트 번호를 사용합니다.

  4. 필요한 경우, SSL/TLS나 VPN을 사용하여 트래픽을 암호화하거나 터널링합니다.

마치며

EC2와 RDS를 분리하여 연결하는 과정을 통해 VPC에 대해 알아보았습니다.

이를 통해 서버와 데이터베이스를 안정적으로 운영하며 시스템의 유연성과 확장성을 향상시킬 수 있었으며, 같은 VPC에 둠으로써 보안성을 높이고 네트워크 지연을 최소화하여 더 나은 성능을 누릴 수 있었습니다.

AWS를 활용하여 애플리케이션 및 데이터베이스를 구축하고 관리하는 일련의 과정은 여러분의 서비스 성장과 함께 발전시켜 나갈 수 있도록 도움이 될 것입니다.
앞으로도 AWS의 다양한 서비스들을 적극 활용하여 효율적이고 견고한 인프라를 구축하시길 바랍니다!

0개의 댓글