

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 운영 우수성 요소
<a name="operational-excellence-pillar"></a>

 AWS Well-Architected Framework의 [운영 우수성 원칙](https://docs.aws.amazon.com/wellarchitected/latest/framework/operational-excellence.html)은 시스템을 실행 및 모니터링하고 프로세스와 절차를 지속적으로 개선하는 데 중점을 둡니다. 여기에는 효과적인 개발 및 워크로드 실행을 지원하고, 작업에 대한 인사이트를 얻으며, 지원 프로세스 및 절차를 지속적으로 개선하여 비즈니스 가치를 전달할 수 있는 능력이 포함됩니다. 사람의 개입 없이 대부분의 문제를 감지하고 해결하는 자가 복구 워크로드를 통해 운영 복잡성을 줄일 수 있습니다. 이 섹션에 설명된 모범 사례를 따르면이 목표를 달성할 수 있으며, Amazon Neptune Analytics 지표, APIs 및 메커니즘을 사용하여 워크로드가 예상 동작과 다를 때 적절하게 대응할 수 있습니다.

운영 우수성 원칙에 대한 이 논의는 다음 핵심 영역에 중점을 둡니다.
+ 코드형 인프라(IaC)
+ 변경 관리
+ 복원력 전략
+ 인시던트 관리
+ 규정 준수를 위한 감사 보고
+ 로깅 및 모니터링

## IaC 접근 방식을 사용하여 배포 자동화
<a name="iac"></a>

IaC를 사용하여 Neptune에서 배포를 자동화하는 모범 사례는 다음과 같습니다.
+ IaC를 적용하여 Neptune Analytics 그래프 및 관련 리소스를 배포합니다. 일관된 환경 구성을 위해에서 제공하는 [Neptune Analytics에 대한 지원을](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_NeptuneGraph.html) 사용하여 그래프와 프라이빗 엔드포인트[AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)를 프로비저닝합니다.
+ CloudFormation을 사용하여 [ Amazon SageMaker AI에서 Neptune 노트북 인스턴스를 프로비저닝합니다.](https://docs.aws.amazon.com/neptune-analytics/latest/userguide/create-notebook-cfn.html) 노트북을 사용하여 Neptune Analytics 그래프에서 데이터를 쿼리하고 시각화할 수 있습니다.
+ Neptune 데이터베이스 클러스터, 스냅샷 또는 Amazon Simple Storage Service(Amazon S3)에 준비된 데이터 파일과 같은 기존 소스에서 Neptune 분석 그래프를 생성할 때 [대량 가져오기 작업을](https://docs.aws.amazon.com/neptune-analytics/latest/userguide/bulk-import-checking-details.html) 모니터링합니다.
+ 그래프 [크기 조정, 그래프](https://docs.aws.amazon.com/neptune-analytics/latest/apiref/API_UpdateGraph.html) 삭제 및 스냅샷 생성, 스냅샷에서 그래프 복원, 그래프 재설정 및 재로드와 같은 Neptune Analytics 운영 절차를 자동화합니다. [AWS Command Line Interface (AWS CLI)](https://aws.amazon.com/cli/) 또는 [SDK](https://aws.amazon.com/developer/tools/)를 통해 사용할 수 있는 [Neptune Analytics API](https://docs.aws.amazon.com/neptune-analytics/latest/apiref/Welcome.html)를 사용합니다.
+ 그래프의 필수 가동 시간을 평가합니다. 분석은 종종 일시적입니다. 그래프는 알고리즘을 실행해야 하는 시간 동안에만 필요합니다. 이 경우 AWS CLI 또는 SDKs를 사용하여 더 이상 필요하지 않을 때 그래프를 [스냅샷 처리하고 삭제](https://docs.aws.amazon.com/neptune-analytics/latest/userguide/managing.html#managing-deleting)합니다. 그런 다음 필요한 경우 나중에 [스냅샷에서 복원할](https://docs.aws.amazon.com/neptune-analytics/latest/userguide/graph-snapshots.html#graph-snapshots-restoring) 수 있습니다.
+ 연결 문자열을 클라이언트 외부에 저장합니다. 연결 문자열을 [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html), [Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Introduction.html) 또는 동적으로 변경할 수 있는 위치에 저장할 수 있습니다.
+ [태그를 사용하여 Neptune Analytics 리소스에 메타데이터를 추가](https://docs.aws.amazon.com/neptune-analytics/latest/userguide/managing-tagging.html)하고 태그를 기반으로 사용량을 추적합니다. 태그는 리소스를 구성하는 데 도움이 됩니다. 예를 들어 특정 환경 또는 애플리케이션의 리소스에 공통 태그를 적용할 수 있습니다. 태그를 사용하여 리소스 사용량에 대한 결제를 분석할 수도 있습니다. 자세한 내용은 *AWS 결제 사용 설명서*의 [AWS 비용 할당 태그를 사용하여 비용 구성 및 추적](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)을 참조하세요. 또한 AWS Identity and Access Management (IAM) 정책의 조건을 사용하여 해당 리소스에 사용되는 태그를 기반으로 리소스에 대한 액세스를 AWS 제어할 수 있습니다. 전역 `aws:ResourceTag/tag-key` 조건 키를 사용하면 됩니다. 자세한 내용은 *IAM 사용 설명서*의 [AWS 리소스에 대한 액세스 제어를](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html#access_tags_control-resources) 참조하세요.

## 운영을 고려한 설계
<a name="design-ops"></a>

Neptune Analytics 그래프 운영 방식을 개선하기 위한 접근 방식을 채택합니다.
+ 개발, 테스트 및 프로덕션 용도로 별도의 Neptune Analytics 그래프를 유지 관리합니다. 이러한 그래프에는 데이터 세트, 사용자 및 운영 제어가 다를 수 있습니다.
+ 다양한 용도에 맞게 별도의 Neptune Analytics 그래프를 유지 관리합니다. 예를 들어 두 분석 사용자 그룹이 서로 다른 타임라인, 모델, 성능 및 가용성 SLAs, 사용 패턴을 가진 별도의 그래프를 필요로 하는 경우 각 그룹에 대해 별도의 그래프를 유지합니다.
+ Neptune Analytics [유지 관리 업데이트를](https://docs.aws.amazon.com/neptune-analytics/latest/userguide/managing-maintaining.html) 위해 사용자 및 운영 직원을 준비합니다.

## 되돌릴 수 있는 소규모 변경 자주 적용
<a name="frequent-changes"></a>

다음 권장 사항은 복잡성을 최소화하고 워크로드 중단 가능성을 줄이기 위해 수행할 수 있는 작고 되돌릴 수 있는 변경 사항에 중점을 둡니다.
+ IaC 템플릿 및 스크립트를 GitHub 또는 GitLab과 같은 소스 제어 서비스에 저장합니다.
**중요**  
소스 제어에 AWS 자격 증명을 저장하지 마십시오.
+ [AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html) 또는와 같은 지속적 통합 및 지속적 전달(CI/CD) 서비스를 사용하려면 IaC 배포가 필요합니다[AWS CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html). 프로덕션 그래프로 승격하기 전에 비프로덕션 Neptune Analytics 환경에서 코드를 컴파일, 테스트 및 배포합니다.

## 실행 가능한 인사이트를 위한 관찰성 구현
<a name="observability"></a>

워크로드 동작, 성능, 신뢰성, 비용 및 상태를 포괄적으로 이해합니다. 다음 권장 사항은 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 용량을 늘리는 것이 좋습니다. 또는 클라이언트 측 동시성을 줄일 수 있습니다.

## 모든 운영 장애로부터 학습
<a name="op-failure"></a>

자가 복구 인프라는 드문 문제가 발생하거나 응답이 원하는 만큼 효과적이지 않을 때 반복으로 발전하는 장기적인 노력을 보여줍니다. 다음 사례를 채택하면 다음과 같은 목표에 집중합니다.
+ 모든 장애로부터 학습하여 개선을 주도합니다.
+ 조직과 여러 팀에서 학습한 내용을 공유합니다. 조직 내 여러 팀이 Neptune을 사용하는 경우 공통 채팅룸 또는 사용자 그룹을 생성하여 학습 내용과 모범 사례를 공유합니다.

## 로깅 기능을 사용하여 무단 또는 비정상적인 활동 모니터링
<a name="logging"></a>

로깅을 사용하여 비정상적인 성능 및 활동 패턴을 관찰합니다. 다음 모범 사례를 고려하세요.
+ Neptune Analytics는를 사용하여 컨트롤 플레인 작업의 로깅을 지원합니다 AWS CloudTrail. 자세한 내용은를 [사용하여 Neptune Analytics API 호출 로깅 AWS CloudTrail](https://docs.aws.amazon.com/neptune-analytics/latest/userguide/monitoring.html#monitoring-cloudtrail)을 참조하세요. 이 기능을 통해 Neptune Analytics 리소스의 생성, 업데이트 및 삭제를 추적할 수 있습니다. 강력한 모니터링 및 경고를 위해 CloudTrail 이벤트를 [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html)와 통합할 수도 있습니다. Neptune Analytics 서비스 활동에 대한 분석을 개선하고에 대한 활동의 변경 사항을 식별하기 위해 [ Amazon Athena를 사용하여 CloudTrail 로그를 쿼리](https://docs.aws.amazon.com/athena/latest/ug/cloudtrail-logs.html) AWS 계정할 수 있습니다. 예를 들어 쿼리를 사용하여 트렌드를 식별하고 소스 IP 주소나 사용자 등의 속성별로 활동을 추가로 격리할 수 있습니다.
+ CloudTrail을 사용하여 쿼리 실행과 같은 [Neptune Analytics 데이터 영역 활동의 로깅을 활성화](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html)할 수도 있습니다. 실행 중인 쿼리, 빈도 및 소스를 볼 수 있습니다. 기본적으로 CloudTrail은 데이터 이벤트를 로깅하지 않습니다. 데이터 이벤트에는 추가 요금이 적용됩니다. 자세한 내용은 [AWS CloudTrail 요금](https://aws.amazon.com/cloudtrail/pricing/)을 참조하십시오.
+ 컨트롤 플레인 또는 데이터 플레인에서 Neptune Analytics에 대한 애플리케이션 호출을 로깅할 수도 있습니다. 예를 들어를 사용하여 쿼리[AWS SDK for Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/index.html)를 수행하는 경우 [디버그 수준 로깅을 활성화](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/core/boto3.html)하여 콘솔 또는 파일에 대한 쿼리 추적을 가져올 수 있습니다. 이는 개발 중에 유용합니다. 또한 애플리케이션에서 예외를 포착하고 기록하는 것이 좋습니다.