기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
운영 우수성 요소
AWS Well-Architected Framework의 운영 우수성 원칙은 시스템을 실행 및 모니터링하고 프로세스와 절차를 지속적으로 개선하는 데 중점을 둡니다. 여기에는 개발 및 워크로드를 효과적으로 지원하고, 운영에 대한 인사이트를 얻고, 지원 프로세스와 절차를 지속적으로 개선하여 비즈니스 가치를 제공할 수 있는 기능이 포함됩니다. 사람의 개입 없이 대부분의 문제를 감지하고 해결하는 자체 복구 워크로드를 통해 운영 복잡성을 줄일 수 있습니다. 이 섹션에 설명된 모범 사례를 따르면이 목표를 달성할 수 있으며, Amazon Neptune Analytics 지표, APIs 및 메커니즘을 사용하여 워크로드가 예상 동작과 다를 때 적절하게 대응할 수 있습니다.
운영 우수성 원칙에 대한이 논의는 다음 주요 영역에 중점을 둡니다.
-
코드형 인프라(IaC)
-
변경 관리
-
복원력 전략
-
인시던트 관리
-
규정 준수에 대한 감사 보고
-
로깅 및 모니터링
IaC 접근 방식을 사용하여 배포 자동화
IaC를 사용하여 Neptune에서 배포를 자동화하는 모범 사례는 다음과 같습니다.
-
IaC를 적용하여 Neptune Analytics 그래프 및 관련 리소스를 배포합니다. 일관된 환경 구성을 위해에서 제공하는 Neptune Analytics에 대한 지원을 사용하여 그래프와 프라이빗 엔드포인트AWS CloudFormation를 프로비저닝합니다.
-
CloudFormation을 사용하여 Amazon SageMaker AI에서 Neptune 노트북 인스턴스를 프로비저닝합니다. 노트북을 사용하여 Neptune Analytics 그래프에서 데이터를 쿼리하고 시각화할 수 있습니다.
-
Neptune 데이터베이스 클러스터 또는 스냅샷과 같은 기존 소스 또는 Amazon Simple Storage Service(Amazon S3)에 준비된 데이터 파일에서 Neptune 분석 그래프를 생성하는 경우 대량 가져오기 작업을 모니터링합니다.
-
그래프 크기 조정, 그래프 삭제 및 스냅샷 생성, 스냅샷에서 그래프 복원, 그래프 재설정 및 재로드와 같은 Neptune Analytics 운영 절차를 자동화합니다. AWS Command Line Interface (AWS CLI)
또는 SDK 를 통해 사용할 수 있는 Neptune Analytics API를 사용합니다. -
그래프의 필수 가동 시간을 평가합니다. 분석은 종종 일시적입니다. 그래프는 알고리즘을 실행해야 하는 시간에만 필요합니다. 이 경우 AWS CLI 또는 SDKs를 사용하여 그래프가 더 이상 필요하지 않을 때 그래프를 스냅샷 처리하고 삭제합니다. 그런 다음 필요한 경우 나중에 스냅샷에서 복원할 수 있습니다.
-
클라이언트에서 외부에 연결 문자열을 저장합니다. 연결 문자열을 AWS Secrets Manager, Amazon DynamoDB 또는 동적으로 변경할 수 있는 모든 위치에 저장할 수 있습니다.
-
태그를 사용하여 Neptune Analytics 리소스에 메타데이터를 추가하고 태그를 기반으로 사용량을 추적합니다. 태그는 리소스를 구성하는 데 도움이 됩니다. 예를 들어 특정 환경 또는 애플리케이션의 리소스에 공통 태그를 적용할 수 있습니다. 태그를 사용하여 리소스 사용량에 대한 결제를 분석할 수도 있습니다. 자세한 내용은 AWS 결제 사용 설명서의 비용 할당 태그를 사용하여 AWS 비용 구성 및 추적을 참조하세요. 또한 AWS Identity and Access Management (IAM) 정책의 조건을 사용하여 해당 리소스에 사용된 태그를 기반으로 리소스에 대한 액세스를 AWS 제어할 수 있습니다. 전역
aws:ResourceTag/tag-key
조건 키를 사용하면 됩니다. 자세한 내용은 IAM 사용 설명서의 AWS 리소스에 대한 액세스 제어를 참조하세요.
운영을 고려한 설계
Neptune Analytics 그래프 운영 방식을 개선하기 위한 접근 방식을 채택합니다.
-
개발, 테스트 및 프로덕션 용도로 별도의 Neptune Analytics 그래프를 유지 관리합니다. 이러한 그래프에는 데이터 세트, 사용자 및 운영 제어가 다를 수 있습니다.
-
다양한 용도에 맞게 별도의 Neptune Analytics 그래프를 유지 관리합니다. 예를 들어 분석 사용자로 구성된 두 그룹의 타임라인, 모델, 성능 및 가용성 SLAs, 사용 패턴이 서로 다른 별도의 그래프가 필요한 경우 각 그룹에 대해 별도의 그래프를 유지합니다.
-
Neptune Analytics 유지 관리 업데이트를 위해 사용자 및 운영 직원을 준비합니다.
자주 작고 되돌릴 수 있는 변경 사항 적용
다음 권장 사항은 복잡성을 최소화하고 워크로드 중단 가능성을 줄이기 위해 수행할 수 있는 작고 되돌릴 수 있는 변경 사항에 중점을 둡니다.
-
IaC 템플릿 및 스크립트를 GitHub 또는 GitLab과 같은 소스 제어 서비스에 저장합니다.
중요
소스 제어에 AWS 자격 증명을 저장하지 마십시오.
-
AWS CodeDeploy 또는와 같은 지속적 통합 및 지속적 전달(CI/CD) 서비스를 사용하려면 IaC 배포가 필요합니다AWS CodeBuild. 프로덕션 그래프로 승격하기 전에 비프로덕션 Neptune Analytics 환경에서 코드를 컴파일, 테스트 및 배포합니다.
실행 가능한 인사이트를 위한 관찰성 구현
워크로드 동작, 성능, 신뢰성, 비용 및 상태를 포괄적으로 이해합니다. 다음 권장 사항은 Neptune Analytics에서 이러한 수준의 이해를 얻는 데 도움이 됩니다.
-
Neptune Analytics에 대한 Amazon CloudWatch 지표를 모니터링합니다. 이러한 지표에서 그래프의 크기(노드, 엣지 및 벡터 수와 총 바이트 크기), CPU 사용률, 쿼리 요청 및 오류율을 확인할 수 있습니다.
-
NumQueuedRequestsPerSec
, , ,NumOpenCypherRequestsPerSec
GraphStorageUsagePercent
GraphSizeBytes
, 등의 주요 지표CPUUtilization
와 애플리케이션 로그에 있는 Neptune 클라이언트 응답에 대한 CloudWatch 대시보드 및 경보를 생성합니다. -
그래프 크기, 요청 속도 또는 CPU 사용률이 임계값을 초과하는 경우와 같이 Neptune Analytics 그래프의 상태를 모니터링하도록 알림을 설정합니다. 예를 들어
GraphStorageUsagePercent
가 크게 성장하려는 그래프에서 90%로 상승한 경우 메모리 최적화 Neptune 용량 단위(m-NCU) 용량을 늘릴지 여부를 결정합니다. 현재 m-NCU가 128인 경우 256으로 늘리면 스토리지가 약 45% 줄어듭니다.NumQueuedRequestsPerSec
가 0보다 큰 경우 더 많은 컴퓨팅 용량을 제공하기 위해 m-NCU 용량을 늘리는 것이 좋습니다. 또는 클라이언트 측 동시성을 줄일 수 있습니다.
모든 운영 실패에 대해 알아보기
자가 복구 인프라는 드문 문제가 발생하거나 응답이 원하는 만큼 효과적이지 않을 때 반복으로 발전하는 장기적인 노력입니다. 다음 사례를 채택하면 목표에 집중할 수 있습니다.
-
모든 장애로부터 학습하여 개선을 주도합니다.
-
팀과 조직 간에 학습한 내용을 공유합니다. 조직 내 여러 팀이 Neptune을 사용하는 경우 공통 채팅룸 또는 사용자 그룹을 생성하여 학습 내용과 모범 사례를 공유합니다.
로깅 기능을 사용하여 무단 또는 비정상적인 활동 모니터링
로깅을 사용하여 비정상적인 성능 및 활동 패턴을 관찰합니다. 다음 모범 사례를 고려하세요.
-
Neptune Analytics는를 사용하여 컨트롤 플레인 작업의 로깅을 지원합니다 AWS CloudTrail. 자세한 내용은를 사용하여 Neptune Analytics API 호출 로깅 AWS CloudTrail을 참조하세요. 이 기능을 통해 Neptune Analytics 리소스의 생성, 업데이트 및 삭제를 추적할 수 있습니다. 강력한 모니터링 및 경고를 위해 CloudTrail 이벤트를 Amazon CloudWatch Logs와 통합할 수도 있습니다. Neptune Analytics 서비스 활동의 분석을 개선하고에 대한 활동의 변경 사항을 식별하기 위해 Amazon Athena를 사용하여 CloudTrail 로그를 쿼리 AWS 계정할 수 있습니다. 예를 들어 쿼리를 사용하여 트렌드를 식별하고 소스 IP 주소나 사용자 등의 속성별로 활동을 추가로 격리할 수 있습니다.
-
CloudTrail을 사용하여 쿼리 실행과 같은 Neptune Analytics 데이터 영역 활동의 로깅을 활성화할 수도 있습니다. 실행 중인 쿼리, 빈도 및 소스를 볼 수 있습니다. 기본적으로 CloudTrail은 데이터 이벤트를 로깅하지 않습니다. 데이터 이벤트에는 추가 요금이 적용됩니다. 자세한 내용은 AWS CloudTrail 요금
을 참조하십시오. -
컨트롤 플레인 또는 데이터 플레인에서 Neptune Analytics에 대한 애플리케이션 호출을 로깅할 수도 있습니다. 예를 들어를 사용하여 쿼리AWS SDK for Python (Boto3)
를 수행하는 경우 디버그 수준 로깅을 활성화 하여 콘솔 또는 파일에 대한 쿼리 추적을 가져올 수 있습니다. 이는 개발 중에 유용합니다. 또한 애플리케이션에서 예외를 포착하고 기록하는 것이 좋습니다.