Amazon Aurora Serverlss – PostgreSQL 호환 기능 정식 출시
일반적으로 데이터베이스는 소프트웨어 아키텍처에서 가장 중요한 부분이지만 확장 및 관리하기 어려웠습니다. Amazon Aurora Serverless는 관계형 데이터베이스를 자동 확장할 수 있게 해 줌으로써 애플리케이션 워크로드에 따라 자동으로 시작되고 종료되며 확장 또는 축소됩니다.
이미 Aurora 서버리스의 MySQL 호환기능이 공개 된 이후, 오늘은 PostgreSQL 호환 버전의 Aurora 서버리스가 정식 출시됩니다.
특히, 클라우드에 적합한 우수한 데이터베이스 엔진을 설계한 공로로 2019 ACM(Association for Computing Machinery)의 SIGMOD(Special Interest Group on Management of Data) Systems Award를 수상한 Amazon Aurora 팀에게 축하 인사를 전하고 싶습니다.
Amazon Aurora 서버리스는 데이터베이스를 생성할 때는 최소 및 최대 용량을 설정합니다. 클라이언트 애플리케이션은 프록시 플릿에 투명하게 연결되며 프록시 플릿은 자동으로 조정되는 리소스 풀로 워크로드를 라우팅합니다. 리소스가 “Warm” 상태이고 바로 추가되어 요청을 처리할 수 있기 때문에 조정이 매우 빠르게 수행됩니다.
Aurora 서버리스에서 Aurora의 스토리지 관리 방식은 달라지지 않습니다. 스토리지 계층은 데이터베이스에 사용되는 컴퓨팅 리소스에서 독립됩니다. 스토리지를 미리 프로비저닝할 필요가 없습니다. 최소 스토리지는 10GB이고, Amazon Aurora 스토리지는 데이터베이스 사용량에 따라 10GB 증분으로 최대 64TB까지 자동으로 데이터베이스 성능에 미치는 영향 없이 증가합니다.
Aurora 서버리스 PostgreSQL 데이터베이스 생성하기
Aurora 서버리스 PostgreSQL 데이터베이스를 시작으로 자동 조정 기능의 작동 방식을 살펴보도록 하겠습니다. Amazon RDS 콘솔에서 Amazon Aurora를 엔진으로 사용하여 데이터베이스를 생성하도록 선택합니다. 현재 Aurora 서버리스는 PostgreSQL 버전 10.5와 호환됩니다. 이 버전을 선택하면 서버리스 옵션을 사용할 수 있게 됩니다.
새 DB 클러스터의 식별자를 지정하고 마스터 사용자 이름을 선택한 후 Amazon RDS를 통해 암호를 생성합니다. 나중에 데이터베이스를 생성할 때 자격 증명을 검색할 수 있습니다.
이제 ACU(Aurora 용량 단위)로 데이터베이스의 최소 및 최대 용량을 선택할 수 있습니다. 추가 조정 구성에서 비활성 시간 5분 후에 컴퓨팅 용량을 일시 중지하도록 선택합니다. Aurora 서버리스는 이러한 설정에 따라 CPU 사용률, 연결 및 사용 가능한 메모리의 임계값에 대한 조정 규칙을 자동으로 생성합니다.
데이터베이스 로드 테스트
데이터베이스 로드를 생성하기 위해 EC2 인스턴스에서 sysbench를 사용합니다. sysbench와 함께 번들로 제공되는 Lua를 사용하면 OLTP(온라인 트랜잭션 처리) 워크로드를 생성하는 데 도움이 됩니다.
- 첫 번째 스크립트인 parallel_prepare.lua는 24개 테이블에 대해 테이블당 100,000개의 행을 생성합니다.
- 두 번재 스크립트인 oltp.lua는 64개의 작업자 스레드를 사용하여 이러한 데이터에 대한 워크로드를 생성합니다.
이러한 스크립트를 사용하여 데이터베이스 클러스터에 로드를 생성하기 시작합니다. RDS 콘솔 모니터링 탭에서 가져온 이 그래프를 보면 요구 사항에 따라 서버리스 데이터베이스 용량이 증가하고 축소되는 것을 알 수 있습니다. 이 그래프에 표시된 지표는 데이터베이스 클러스터에 사용된 ACU의 수입니다. 먼저 ACU는 sysbench 워크로드를 수용할 수 있을 때까지 확장됩니다. 로드 생성기를 중지하면 ACU가 축소된 후 일시 중지됩니다.
정식 출시
이제 미국 동부(버지니아 북부), 미국 동부(오하이오), 미국 서부(오레곤), EU(아일랜드) 및 아시아 태평양(도쿄)에서 Aurora 서버리스 PostgreSQL을 사용할 수 있습니다. Aurora 서버리스를 사용하는 경우, 데이터베이스가 활성 상태일 때 사용하는 데이터베이스 용량에 대한 초당 요금과 Aurora 스토리지 비용이 부과됩니다.
Amazon Aurora에 대한 자세한 내용은 이 서비스를 만든 이유와 방법이 설명된 다음 게시물을 참조하십시오.
Amazon Aurora ascendant: How we designed a cloud-native relational database
이제 프로덕션 환경에서 관계형 데이터베이스를 사용하는 것이 절대 어렵지 않습니다. 다양한 사례에서 이 버전이 활용되기를 바랍니다!
– Danilo Poccia, AWS 서버리스 전문 테크 에반젤리스트