블로그 릴레이 - Amazon Aurora DSQL 사용해보기

블로그 릴레이 - Amazon Aurora DSQL 사용해보기

Amazon Aurora DSQL은 기존에 서비스 되고 있던 Amazon Aurora 에서 확장된 서비스입니다. 서버리스 분산 SQL 데이터베이스로써, MySQL, PostgreSQL과 호환되며, 직접 관리해야하는 인프라가 없고 샤딩이나 인스턴스 업그레이드를 직접하지 않아도 수평적으로 확장 가능한 구조를 제공하고 있습니다. 2025년 2월 현재는 프리뷰 단계로 미국 버지니아 북부와 오하이오 리전에서만 사용 가능합니다.
Clock Icon2025.02.12

안녕하세요! 제조 비지니스 테크놀로지부의 이병현입니다.

본 블로그는 당사의 한국어 블로그 릴레이의 2025년 네 번째 블로그입니다.
이번 블로그의 주제는 「Amazon Aurora DSQL 사용해보기」 입니다.

Amazon Aurora DSQL 이란?

Amazon Aurora DSQL은 기존에 서비스 되고 있던 Amazon Aurora 에서 확장된 서비스입니다.

서버리스 분산 SQL 데이터베이스로써, MySQL, PostgreSQL과 호환되며, 직접 관리해야하는 인프라가 없고 샤딩이나 인스턴스 업그레이드를 직접하지 않아도 수평적으로 확장 가능한 구조를 제공하고 있습니다.

멀티 리전이 가능한 클러스터인 구조이면서도 쉽게 설정, 구축이 가능하여 여러 크고 작은 어플리케이션에도 어울릴 것 같습니다.

서버리스형 데이터베이스가 많은 관심을 받고 있는 가운데 AWS 에서도 이러한 서비스를 제공하려하는 점이 반갑네요.

2025년 2월 현재는 프리뷰 단계로 미국 버지니아 북부와 오하이오 리전에서만 사용 가능합니다.

추가적인 정보는 아래 링크를 참조해주세요.

Amazon Aurora DSQL

클러스터 생성

사용해보기 위해 Amazon Aurora DSQL 의 클러스터를 생생해보겠습니다.

Amazon Aurora DSQL 콘솔 페이지에서 "Create cluster" 를 눌러주어 클러스터를 생성할 수 있습니다.

스크린샷 2025-02-12 19.11.35

그러면 아래처럼 클러스터의 설정을 할 수 있게 됩니다.

멀티 리전 클러스터와 삭제 방지 기능을 설정할 수 있습니다.

멀티 리전 클러스터는, 클러스터를 추가로 연결시킬 리전과 감시 리전을 만들 수 있습니다. 추가로 연결하는 리전은 클러스터를 생성한 리전 외에도 동일하게 구성되고, 감시 리전은 클러스터는 없지만 클러스터들의 동작을 감시할 수 있게 해줍니다.

삭제 방지 기능은 클러스터를 실수로 삭제하는 것을 방지해주는 기능입니다.

현재 사용할 수 있는 리전이 2개 밖에 없어 연결할 리전과 감시 리전을 동일하게하고 삭제 방지 기능도 선택한 상태로 생성해보겠습니다.

스크린샷 2025-02-12 19.19.43

그러몇 몇 분 이내에 아래처럼 클러스터가 생성되는 걸 볼 수 있었습니다.

스크린샷 2025-02-12 19.28.36

클러스터 콘솔 확인

클러스터의 콘솔 페이지를 확인하게 되면 기본적인 클러스터 정보를 확인할 수 있었습니다. 이외에 연결되 클러스터와 감시 리전을 확인할 수 있고, 기본적인 메트릭 정보를 확인할 수 있었습니다.

스크린샷 2025-02-12 19.30.55

스크린샷 2025-02-12 19.31.01

스크린샷 2025-02-12 19.31.08

클러스터 접속

Amazon Aurora DSQL에 접속하기 위해서는 일반적인 비밀번호를 사용하는 것이 아니라, 접근용 토큰을 생성해서 사용해야합니다.

이 토큰은 어드민 혹은 특정 역할로 생성 가능하고, 일정 시간 동안 사용 할 수 있습니다.

aws의 cli로 하는 경우 아래 처럼 가능합니다. hostname을 실제 엔드포인트 값으로 바꿔주세요.

 aws dsql generate-db-connect-admin-auth-token \
--region us-east-1 \
--expires-in 3600 \
--hostname <endpoint>

저는 psql 을 사용해보겠습니다. 위의 커맨드를 활용해서 접속해 보도록 하겠습니다.

# 클러스터의 엔드포인트로 바꿔주세요.
export CLUSTER=<endpoint>

# 자동으로 토큰을 생성해서 등록합니다.
export PGPASSWORD=$(aws dsql generate-db-connect-admin-auth-token \
--region us-east-1 \
--expires-in 3600 \
--hostname $CLUSTER)

# SSL 모드를 사용합니다.
export PGSSLMODE=require

# psql로 클러스터 접속
psql \
--username admin \
--dbname postgres \
--host $CLUSTER

아래와 같은 로그가 나왔다면 문제없이 접속 된 것 입니다.

psql (16.6 (Homebrew))
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_128_GCM_SHA256, compression: off)
Type "help" for help.

그럼 몇 가지 확인을 해보겟습니다.

postgres=> SELECT version();
    version
---------------
 PostgreSQL 16
(1 row)

서버의 PostgreSQL 은 16을 사용하는 것을 알 수 있네요.

postgres=> SELECT current_user;
SELECT current_database();

 current_user
--------------
 admin
(1 row)

 current_database
------------------
 postgres
(1 row)

현재 사용자나 데이터베이스도 확인할 수 있었습니다.

자세한 PostgreSQL에 대한 호환성은 아래 문서를 참고해 주세요.

Amazon Aurora DSQL | Understanding PostgreSQL compatibility

마무리

Amazon RDS, Amazon Aurora, Amazon DynamoDB 등 여러 서비스 에서 가지고 있던 쉬운 설정, 멀티 리전, 서버리스와 수평 확장 등 여러 개선 사항들을 모아둔 서비스처럼 느껴지네요.

앞서 말씀드린 것 처럼 최근 데이터베이스 서비스들이 제공하려하는 장점들을 잘 적용한 것 같습니다. 특히, 작은 어플리케이션을 구축해보고 싶지만 비용, 인프라 관리 및 제약 등으로 데이터베이스만 AWS 외의 서비스를 사용하는 것을 고민하던 사용자들에게 유용한 서비스가 될 것 같습니다.

아직까지는 적은 리전에서 프리뷰 중인 서비스이지만 빠른 시일내에 여러 다른 리전에서도 사용될 수 있으면 좋겠습니다.


이상, 한국어 블로그 릴레이의 2025년 네 번째 블로그 「Amazon Aurora DSQL 사용해보기」 편이었습니다. 다음 2025년 다섯 번째 번째 블로그 릴레이는 2월 셋째 주에 공개됩니다.

끝까지 읽어주셔서 감사합니다! 이상,제조 비지니스 테크놀로지부의 이병현이었습니다.

참고

Amazon Aurora DSQL 미리보기 출시 – 서버리스 글로벌 분산 SQL 데이터베이스

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.