기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
비용 최적화 요소
AWS Well-Architected Framework의 비용 최적화 원칙은 불필요한 비용을 방지하는 데 중점을 둡니다. 다음 권장 사항은 Neptune Analytics의 비용 최적화 설계 원칙과 아키텍처 모범 사례를 충족하는 데 도움이 될 수 있습니다.
비용 최적화 원칙은 다음 주요 영역에 중점을 둡니다.
-
시간 경과에 따른 지출 이해 및 자금 할당 제어
-
올바른 유형 및 수량의 리소스 선택
-
과도한 지출 없이 비즈니스 요구 사항을 충족하도록 규모 조정
필요한 사용 패턴 및 서비스 이해
Neptune Analytics를 채택하기 전에 사용 사례가 그래프 분석에 적합한지 평가합니다.
-
그래프 데이터베이스: 데이터 모델에 식별 가능한 그래프 구조가 있고 쿼리가 관계를 탐색하고 여러 홉을 통과해야 하는 경우 Neptune과 같은 그래프 데이터베이스가 워크로드에 적합합니다. 그래프 데이터베이스는 다음 패턴에 적합하지 않습니다.
-
주로 단일 홉 쿼리입니다. 이 사용 사례에서는 데이터가 객체의 속성으로 더 잘 표현될 수 있는지 고려합니다.
-
속성으로 저장된 JSON 또는 이진 대형 객체(blob) 데이터입니다.
-
-
그래프 분석: Neptune Analytics는 메모리에서 대량의 그래프 데이터를 빠르게 분석하여 인사이트를 얻고 추세를 찾을 수 있는 그래프 분석 데이터베이스 엔진입니다. Neptune 데이터베이스와 Neptune Analytics 그래프 모두에 그래프 데이터를 저장하고 쿼리할 수 있습니다. Neptune 데이터베이스는 확장 가능한 온라인 트랜잭션 처리(OLTP) 요구 사항에 가장 적합합니다. Neptune Analytics는 임시 분석 워크로드에 가장 적합합니다. 트랜잭션 지향 Neptune 데이터베이스의 데이터를 Neptune 분석 그래프로 로드하여 두 데이터를 조합하여 해당 데이터에 대한 분석을 실행할 수 있습니다. 분석이 완료되면 Neptune 분석 그래프를 제거할 수 있습니다. 자세한 비교는 Neptune Analytics 설명서의 Neptune Analytics를 사용하는 시기와 Neptune 데이터베이스를 사용하는 시기를 참조하세요.
비용을 고려하여 Neptune Analytics 그래프를 채우는 가장 좋은 방법을 결정합니다.
-
S3 버킷에 준비된 그래프 데이터를 대량으로 가져옵니다. 데이터가 이전에 Neptune 데이터베이스에 대량 로드하기 위해 준비된 경우 또는 대량 가져오기에 필요한 CSV 또는 기타 지원되는 형식으로 분석할 데이터가 이미 있거나 쉽게 생성할 수 있는 경우이 옵션을 사용하는 것이 좋습니다. 그래프 생성 절차의 일부로 대량 가져오기를 실행할 수 있습니다. 최소 및 최대 용량에 경계를 둘 수 있습니다. 이전에 생성한 빈 그래프에서 가져오기를 실행하고 실행 중에 가져오기 작업을 모니터링할 수도 있습니다.
-
빈 그래프를 생성한 다음 배치 로드를 사용하여 openCypher 쿼리를 통해 그래프를 채울 수 있습니다. 이 옵션은 로드할 데이터가 Amazon S3에서 스테이징되고 50GB 미만인 경우에 적합합니다.
-
Neptune 데이터베이스 클러스터의 데이터에서 그래프를 채울 수 있습니다(Neptune 데이터베이스 버전 1.3.0 이상에서 지원됨). 이 패턴의 의도는 현재 그래프 데이터베이스에 있는 데이터에 대한 분석을 실행하는 것입니다. 데이터베이스가 처음에 대량 로드를 통해 채워졌더라도 이후 크게 변경되었을 수 있습니다. 데이터베이스에서 가져오기 위해 Neptune Analytics는 데이터베이스를 복제하고 복제본에서 S3 버킷으로 데이터를 내보냅니다. 이 절차에는 특히 복제본을 실행하는 데 드는 Neptune 데이터베이스 비용과 내보낸 데이터를 저장하고 사용하는 데 드는 Amazon S3 비용이 발생합니다. 내보내기가 완료되면 복제본이 제거됩니다. Amazon S3에서 내보낸 데이터를 삭제할 수 있습니다.
-
Neptune 데이터베이스 클러스터의 스냅샷에서 그래프를 채울 수 있습니다. 이는 소스가 데이터베이스 스냅샷이라는 점을 제외하면 이전 옵션과 유사합니다. 스냅샷에서 가져오기 위해 Neptune Analytics는 먼저 스냅샷을 새 데이터베이스 클러스터로 복원한 다음 데이터를 S3 버킷으로 내보냅니다. 이 절차에는 특히 복원된 클러스터를 실행하는 데 드는 Neptune 데이터베이스 비용과 내보낸 데이터를 저장하고 사용하는 데 드는 Amazon S3 비용이 발생합니다.
-
또한 openCypher 쿼리를 수행하여 그래프에서 원자성, 일관성, 격리, 내구성(ACID) 준수 트랜잭션을 사용하여 데이터를 생성, 업데이트 또는 삭제할 수 있습니다. 이 접근 방식은 그래프를 시드하는 방법이 아니라 소규모 업데이트를 수행하는 방법으로 사용하는 것이 좋습니다.
분석에 필요한 데이터가 Amazon S3에 이미 준비된 경우 대량 가져오기 또는 배치 로드를 사용하는 것이 좋습니다. 이는 Neptune 데이터베이스 클러스터 또는 스냅샷에서 그래프를 채우는 것보다 비용 효율적입니다.
비용에 주의를 기울이는 리소스 선택
Neptune Analytics 요금은
용량을 추정하고, 비용을 제한하고, 성능을 기준으로 비용을 모니터링하려면 다음 모범 사례를 따르는 것이 좋습니다.
-
가능하면 Amazon S3에 스테이징된 데이터, 기존 Neptune 클러스터 또는 스냅샷 등 기존 소스에서 데이터를 가져와 그래프를 생성합니다. 이렇게 하면 Neptune Analytics가 그래프를 시드하는 작업을 많이 수행하고 제한 최대 용량을 지정할 수 있으므로 노력이 절약됩니다.
-
기존 그래프에서 프로비저닝된 용량을 변경할 수 있습니다.
-
그래프가 더 이상 필요하지 않은 경우 스냅샷을 생성하고 그래프를 삭제할 수 있습니다. 다시 사용해야 하는 경우 스냅샷에서 그래프를 복원할 수 있습니다.
-
그래프를 생성할 때 복제본 수를 선택할 수 있습니다. 분석 가용성 요구 사항에 따라 값을 설정합니다. 이 설정을 최소화하여 비용을 절감합니다. 최대값 2는 별도의 가용 영역에 있는 복제본 인스턴스 2개를 허용합니다. 최소값 0은 Neptune Analytics가 복제본을 실행하지 않음을 의미합니다. 하지만 복제본을 사용할 수 있으면 복구 속도가 빨라집니다. 그래프 장애 및 복구에 대한 설명은 신뢰성 원칙 섹션을 참조하세요.
-
를 사용하여 현재 및 과거 결제 기간의 Neptune Analytics 비용을 모니터링합니다AWS 결제 및 비용 관리.
-
CloudWatch, 특히
NumQueuedRequestsPerSec
,CPUUtlization
,NumOpenCypherRequestsPerSec
GraphSizeBytes
,GraphStorageUsagePercent
에 대한 Neptune Analytics 지표를 모니터링하여 프로비저닝된 용량이 그래프에 적합한 크기인지 평가합니다. 더 작은 용량이 관찰된 요청 속도, CPU 사용량 및 그래프 크기를 수용할 수 있는지 확인합니다. -
그래프에 프라이빗 엔드포인트가 필요한 경우 탄력적 IPs, Virtual Private Cloud(VPC) 엔드포인트, NAT 게이트웨이 또는 기타 VPC 관련 비용에 주의하십시오. 자세한 내용은 Amazon VPC 요금
및 Amazon EC2 요금을 참조하세요. -
개발자와 분석가가 그래프를 쿼리하고 시각화하는 데 도움이 되는 클라이언트 인터페이스를 제공하기 위해 하나 이상의 Neptune 노트북 인스턴스를 실행할 수 있습니다(Neptune 워크벤치 요금
참조). 비용을 최소화하려면 사용자 간에 인스턴스를 공유하고 각 사용자에 대해 별도의 노트북 폴더를 생성합니다. 인스턴스를 사용하지 않을 때는 종료합니다. 종료를 자동화하는 방법은 블로그 게시물 리소스 태그를 사용하여 Amazon Neptune 환경 리소스의 중지 및 시작 자동화 를 참조 AWS 하세요.