

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 運用上の優秀性の柱
<a name="operational-excellence-pillar"></a>

 AWS Well-Architected フレームワークの[運用上の優秀性の柱](https://docs.aws.amazon.com/wellarchitected/latest/framework/operational-excellence.html)は、システムの実行とモニタリング、プロセスと手順の継続的な改善に焦点を当てています。開発をサポートし、ワークロードを効率的に実行し、運用に関するインサイトを得て、ビジネス価値をもたらすサポートプロセスと手順を継続的に改善する能力が含まれます。人間の介入なしにほとんどの問題を検出して修復する自己修復ワークロードによって、運用上の複雑さを軽減できます。このセクションで説明されているベストプラクティスに従い、Amazon Neptune Analytics のメトリクス、APIs、メカニズムを使用して、ワークロードが予想される動作から逸脱した場合に適切に対応することで、この目標を達成できます。

運用上の優秀性の柱に関するこの説明では、以下の主要分野に焦点を当てています。
+ Infrastructure as code (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 Analytics グラフを作成する場合は、[一括インポートタスク](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 グラフを維持します。たとえば、2 つの分析ユーザーのグループで、タイムライン、モデル、パフォーマンスと可用性の SLAs、使用パターンが異なる個別のグラフが必要な場合は、グループごとに個別のグラフを維持します。
+ Neptune Analytics [メンテナンス更新](https://docs.aws.amazon.com/neptune-analytics/latest/userguide/managing-maintaining.html)のためにユーザーと運用スタッフを準備します。

## 小規模かつ可逆的な変更を頻繁に行う
<a name="frequent-changes"></a>

以下の推奨事項は、複雑性を最小限に抑え、ワークロードの中断の可能性を減らすために実行できる小さな可逆的な変更に焦点を当てています。
+ IaC テンプレートとスクリプトを GitHub や GitLab などのソースコントロールサービスに保存します。
**重要**  
 AWS 認証情報をソース管理に保存しないでください。
+ IaC デプロイでは、 [AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html)や などの継続的インテグレーションおよび継続的デリバリー (CI/CD) サービスを使用する必要があります[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`、、 などの主要なメトリクスと`GraphSizeBytes`、アプリケーションログにある `CPUUtilization` Neptune `GraphStorageUsagePercent`クライアントレスポンスの 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 サービスアクティビティの分析を強化し、 のアクティビティの変更を特定するには AWS アカウント、[Amazon Athena を使用して CloudTrail ログをクエリ](https://docs.aws.amazon.com/athena/latest/ug/cloudtrail-logs.html)できます。例えば、クエリを使用して傾向を識別したり、アクティビティを属性 (ソース 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)して、コンソールまたはファイルへのクエリのトレースを取得できます。これは開発時に便利です。また、アプリケーションから例外をキャッチしてログに記録することをお勧めします。