Amazon Web Services 한국 블로그
Amazon Athena 프로비저닝 용량 기능 출시
Amazon Athena 쿼리를 실행하기 위한 용량을 미리 프로비저닝하는 기능을 오늘 출시했습니다.
Amazon Athena는 Amazon Simple Storage Service(S3) 데이터 레이크의 데이터와 온프레미스 데이터 소스 또는 기타 클라우드 시스템을 비롯한 30가지 데이터 소스의 데이터를 표준 SQL 쿼리를 사용하여 간단하게 분석할 수 있는 쿼리 서비스입니다. Athena는 서버리스 솔루션이므로 관리가 필요한 인프라가 없으며, 오늘까지는 실행한 쿼리에 대해서만 요금을 지불하면 됩니다. 오늘부터 쿼리를 위한 전용 용량을 확보하고 새로운 워크로드 관리 기능을 사용하여 프로비저닝한 용량에 대해서만 비용을 지불하면서 가장 중요한 쿼리를 우선적으로 처리하고 제어하며 확장할 수 있습니다.
AWS의 새로운 서비스 및 기능 중 90%는 사용자의 직접적인 피드백에 따라 개발됩니다. 대량의 쿼리를 실행할 때 대기열이 발생하여 일부 애플리케이션 또는 비즈니스 프로세스가 느려지는 경우가 있다고 말하는 Athena 고객이 많았습니다. 일반적으로 이 문제는 쿼리 우선 순위 지정 메커니즘을 만들어 중요도가 낮은 대화형 또는 탐색형 쿼리보다 업무상 중요한 쿼리를 우선적으로 처리하는 방식으로 해결합니다.
이 우선 순위 지정 메커니즘을 사용하면 Amazon Athena 외부에서 코드 또는 비즈니스 프로세스를 구축하고 유지 관리해야 하지만, 대신 우선 순위가 가장 높은 쿼리를 먼저 실행할 수 있습니다. 또한 Athena 비용을 예측하기가 어렵다고 말하는 고객들도 있었습니다. Athena는 스캔한 데이터의 양을 기준으로 요금을 청구하는데, 스캔하는 데이터의 양은 데이터 세트의 크기, 사용자 쿼리의 구성 및 데이터의 스토리지 형식에 따라 달라지기 때문에 예측하기 어려운 경우가 많습니다.
이러한 피드백에 따라, 오늘 전용 쿼리 처리 용량을 대규모로 프로비저닝할 수 있는 기능을 새로 선보입니다. 프로비저닝된 용량을 사용하여, 쿼리를 실행할 전용 컴퓨팅 리소스 세트를 고객이 프로비저닝합니다. 상시 사용할 수 있는 이 용량을 사용하여 지연 시간이 거의 없이, 그리고 대기열을 전혀 발생시키지 않으면서 비즈니스에 중요한 쿼리를 처리할 수 있습니다. 고객이 비용, 동시성 및 쿼리 우선 순위 지정과 같은 워크로드 성능 특성을 제어할 수 있도록 합니다. 다른 AWS 서비스의 프로비저닝된 용량과 마찬가지로, 실제 사용량이 아닌 프로비저닝된 용량에 대해서만 비용을 지불합니다. 프로비저닝된 용량을 사용하면 Athena 청구 금액을 예측할 수 있으며, 월별 예산 범위를 벗어나지 않도록 하기 위해 사용자 쿼리를 제한할 필요가 없습니다. 아래에서 청구 모델에 대해 더 자세히 설명하겠습니다.
Amazon Athena를 운영 중인 각 AWS 리전에서 대규모 컴퓨팅 풀을 내부적으로 유지 관리합니다. 이는 고객 간에 논리적으로 분할된 하나의 대규모 컴퓨팅 풀이라고 할 수 있습니다. Athena에서 용량을 예약하면 해당 용량은 해당 고객만 사용할 수 있습니다. 프로비저닝한 용량에서 실행할 쿼리와 Athena의 멀티테넌트 온디맨드 용량에서 실행할 쿼리를 선택할 수 있습니다. 프로비저닝한 용량은 여러 쿼리에서 공유될 수 있습니다. 변화하는 비즈니스 요구 사항에 따라 언제든지 용량 단위를 추가할 수 있습니다. 8시간의 최소 기간이 지난 후에는 프로비저닝된 용량을 조정할 수도 있습니다.
용량의 단위는 데이터 처리 장치(DPU)입니다. 단일 DPU는 4개의 vCPU 및 16Gb RAM과 동일합니다. 프로비저닝할 수 있는 최소 용량은 8시간 동안 24 DPU입니다. Athena에 새로 프로비저닝된 용량은 실행하는 쿼리의 볼륨에 관계없이 모든 사용자에게 적합하지만, 프로비저닝된 용량을 사용하는 데 따른 이점은 Athena에 월 100 USD 이상을 지출할 때부터 크게 나타납니다.
필요한 DPU의 수는 목표와 분석 패턴에 따라 달라집니다. 예를 들어 대기열 없이 즉시 쿼리를 시작해야 하는 경우, 최대 동시 쿼리 수요를 충족하기에 충분한 DPU를 프로비저닝해야 합니다. 최대 수요량보다 적은 수의 DPU를 프로비저닝할 수도 있지만, 이 경우 대기열이 발생할 수 있습니다. 대기열이 발생하면 쿼리가 대기열에 보관되며 용량이 충분할 때 실행됩니다. 정해진 예산 내에서 쿼리를 실행하는 것이 목표라면 AWS 요금 계산기를 사용하여 예산에 맞는 DPU 수를 결정할 수 있습니다.
마지막으로, 데이터 크기, 스토리지 형식 및 쿼리 구성은 쿼리에 필요한 DPU 수에 영향을 미친다는 점을 기억하세요. 데이터를 압축하고, 파티셔닝하고, 열 형식으로 변환하여 쿼리 성능을 높일 수 있습니다. Athena의 설명서에는 여러 쿼리를 동시에 실행하는 데 필요한 용량을 결정하는 지침이 나와 있습니다.
작동 방식
세 단계로 시작할 수 있습니다. AWS Management Console에서 Athena 페이지로 이동한 다음 왼쪽 탐색 메뉴에서 용량 예약을 선택합니다.
(이 데모에 등장하는 콘솔은 새로운 Cloudscape 오픈 소스 디자인 시스템을 기반으로 합니다. 고객의 AWS 계정에서는 기존 디자인이 계속 표시될 수 있습니다.)
페이지 오른쪽 상단에 있는 용량 예약 생성 버튼을 선택합니다.
용량 예약 생성 페이지에서 용량 예약 이름과 프로비저닝할 DPU 수를 입력합니다.
검토를 선택하여 선택 사항을 검토하고, 용량 예약 생성을 선택하여 예약을 생성합니다. 잠시 후 용량 예약 상태가 ✅ 활성으로 바뀝니다.
세 번째이자 마지막 단계는 워크그룹을 생성하고 프로비저닝된 용량에 워크그룹을 할당하는 것입니다. 워크그룹은 사용자, 팀, 애플리케이션 또는 워크로드를 분리하여 각 쿼리의 데이터 양 또는 전체 워크그룹이 처리할 수 있는 데이터의 양을 제한하고 비용을 추적할 수 있는 Athena 메커니즘입니다.
할당된 워크그룹에 속한 쿼리는 고객이 프로비저닝한 용량에서 실행됩니다. 모두 동일한 Athena 엔진 버전을 사용하는 경우, 여러 워크그룹에서 용량을 공유할 수 있습니다. 아래 다이어그램에 나와 있는 이 개념은 워크그룹에 용량을 할당하는 방법을 정의하는 용량 할당 정책을 통해 구체화됩니다. 이를 통해 비즈니스 요구 사항에 따라 더 많거나 적은 용량으로 쿼리를 유연하게 실행할 수 있습니다.
워크그룹을 생성하려면 Athena 페이지의 워크그룹 섹션으로 이동합니다. 그런 다음 워크그룹 생성을 선택합니다.
예약에서 선택한 분석 엔진이 워크그룹의 분석 엔진과 일치하는지 확인합니다.
그런 다음 방금 생성한 용량 예약으로 돌아가서, 워크그룹 추가를 선택하여 방금 생성한 워크그룹을 추가합니다.
이것으로 끝났습니다. 구성이 준비되었으므로 이제 쿼리를 실행할 수 있습니다. 기존 쿼리는 수정되지 않은 상태로 프로비저닝된 용량에서 실행됩니다. 쿼리를 실행할 때 방금 생성한 워크그룹을 선택해야 합니다. 쿼리 편집기의 오른쪽 상단에 있는 워크그룹을 선택하거나, AWS 명령줄에서 다음과 같이 --work-group
인수를 사용합니다.
aws athena start-query-execution --work-group AWSNewsBlog
가용성 및 요금
서론에서 설명했듯이 프로비저닝한 DPU 수와 기간에 따라 요금이 부과됩니다. 최소 기간은 8시간이며, 그 이후에는 분당 요금이 청구됩니다. 프로비저닝된 용량은 언제든지 해제할 수 있습니다. 최소 기간 내에 취소하면 전체 최소 기간에 대한 요금이 청구되며, 현재 실행 중인 모든 쿼리가 종료되는 즉시 용량 할당이 취소됩니다.
프로비저닝된 용량에 할당된 워크그룹에서 쿼리를 실행하면, 스캔한 데이터 양에 대한 요금이 청구되지 않습니다. 사용량이 아닌 프로비저닝된 용량에 따라 사실상 고정 요금을 지불하게 됩니다. 용량이 초과되면 프로비저닝한 DPU 수를 줄이거나 워크그룹을 추가하여 초과 용량을 소비할 수 있습니다.
다른 서비스와 마찬가지로 Athena 요금 페이지에서 모든 세부 정보를 확인할 수 있습니다.
Athena 프로비저닝된 용량은 현재 미국 동부(오하이오, 버지니아 북부), 미국 서부(오레곤), 아시아 태평양(싱가포르, 시드니, 도쿄) 및 유럽(아일랜드, 스톡홀름) AWS 리전에서 사용할 수 있습니다.