[AWS] Aurora

해당 글은 Amazon Aurora 문서를 참고하여 작성하였습니다.

Amazon Aurora

Amazon Aurora는 MySQL 및 PostgreSQL과 호환되는 완전 관리형 관계형 데이터베이스 엔진이다. MySQL 및 PostgreSQL 데이터베이스에 사용되는 코드, 도구 및 애플리케이션 모두 Aurora에서도 사용할 수 있다. 기존 애플리케이션을 거의 변경하지 않고도 MySQL의 처리량을 배로 늘려 제공할 수 있다.

Aurora는 또한 고성능 스토리지 하위시스템을 포함한다. 기본 스토리지는 최대 64TB까지 자동으로 커진다. 또한 Aurora는 데이터베이스 클러스터링 및 복제를 자동화하고 표준화한다.

Aurora는 Amazon RDS의 일부이다. 이는 클라우드에서 관계형 데이터베이스를 보다 쉽게 설정, 작동 및 확장할 수 있도록 하는 웹 서비스이다.

Amazon Aurora 환경 설정

Aurora의 기본 빌딩 블록은 DB 클러스터이다. 하나의 DB 클러스터에 한 개 이상의 DB 인스턴스가 속할 수 있다. DB 클러스터는 클러스터 엔드포인트라고 하는 네트워크 주소를 할당한다. DB 클러스터를 생성할 때 지정하는 정보에 따라 메모리, 엔진 및 버전, 네트워크 구성, 보안, 유지 관리 기간 등의 구성 요소가 제어된다.

보안 그룹을 생성하거나, DB 클러스터를 생성하려면 DB 클러스터 및 네트워크 요구 사항을 알고 있어야 한다.

  • 애플리케이션이나 서비스 메모리 및 프로세서 요구 사항에 따라 DB 인스턴스 클래스를 결정하게 된다.
  • DB 클러스터는 가상 사설 클라우드인 VPC에 있다. 그러므로 DB 클러스터에 연결하려면 보안 그룹 규칙을 구성해야 한다.
    • 기본 VPC : 현재 리전에서 AWS 계정에 기본 VPC가 있는 경우 해당 VPC를 구성하여 DB 클러스터를 지원할 수 있다.
      • VPC 보안 그룹을 생성하여 데이터베이스를 이용해 애플리케이션 또는 서비스에서 Aurora DB 클러스터까지 연결 권한을 부여해야 한다.
      • 기본 DB 서브넷 그룹을 지정해야 한다. 리전에서 처음 DB 클러스터를 생성하는 경우 Amazon RDS가 DB 클러스터 생성과 함께 기본 DB 서브넷 그룹을 생성한다.
    • 사용자 정의 VPC : DB 클러스터 생성시 사용자 정의 VPC 지정할 경우
      • VPC 보안 그룹을 생성하여 데이터베이스를 이용해 애플리케이션 또는 서비스에서 Aurora DB 클러스터까지 연결 권한을 부여해야 한다.
      • VPC가 DB 클러스터를 호스팅하려면 별도의 가용 영역에서 최소 2개 이상씩 서브넷을 구성하는 등 특정 요구 사항을 충족해야 한다.
      • DB 서브넷 그룹을 지정하여 DB 클러스터에서 VPC를 사용할 서브넷을 정의해야 한다.

보안 그룹 생성, VPC 내의 DB 클러스터 엑세스 제공

DB 클러스터는 VPC에 생성될 가능성이 제일 크다. 보안 그룹은 VPC에서 실행되는 DB 클러스터에 대한 엑세스를 제공한다. 이들은 연결된 DB 클러스터에 대한 방화벽 역할을 하고, 클러스터 수준에서 인바운드 트래픽과 아웃바운드 트래픽을 모두 제어한다.

기본적으로 DB 클러스터는 DB 클러스터에 대한 엑세스를 방지하는 방화벽 및 기본 보안 그룹과 함께 생성된다. 그래서 DB 클러스터에 연결할 수 있는 규칙을 보안 그룹에 추가하여야 한다.