View a markdown version of this page

運用上の優秀性の柱 - AWS 規範ガイダンス

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

運用上の優秀性の柱

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

運用上の優秀性の柱に関するこの説明では、以下の主要分野に焦点を当てています。

  • Infrastructure as code (IaC)

  • 変更管理

  • レジリエンシー戦略

  • インシデント管理

  • コンプライアンスのための監査レポート

  • ログ記録とモニタリング

IaC アプローチを使用してデプロイを自動化する

IaC を使用して Neptune でのデプロイを自動化するためのベストプラクティスは次のとおりです。

運用のための設計

Neptune Analytics グラフの操作方法を改善するアプローチを採用します。

  • 開発、テスト、本番稼働用に個別の Neptune Analytics グラフを維持します。これらのグラフには、データセット、ユーザー、運用コントロールが異なる場合があります。

  • さまざまな用途に合わせて個別の Neptune Analytics グラフを維持します。たとえば、2 つの分析ユーザーのグループで、タイムライン、モデル、パフォーマンスと可用性の SLAs、使用パターンが異なる個別のグラフが必要な場合は、グループごとに個別のグラフを維持します。

  • Neptune Analytics メンテナンス更新のためにユーザーと運用スタッフを準備します。

小規模かつ可逆的な変更を頻繁に行う

以下の推奨事項は、複雑性を最小限に抑え、ワークロードの中断の可能性を減らすために実行できる小さな可逆的な変更に焦点を当てています。

  • IaC テンプレートとスクリプトを GitHub や GitLab などのソースコントロールサービスに保存します。

    重要

    AWS 認証情報をソース管理に保存しないでください。

  • IaC デプロイでは、 AWS CodeDeployや などの継続的インテグレーションおよび継続的デリバリー (CI/CD) サービスを使用する必要がありますAWS CodeBuild。本番稼働用ではない Neptune Analytics 環境でコードをコンパイル、テスト、デプロイしてから、本番稼働用グラフに昇格させます。

実用的なインサイトのためのオブザーバビリティを実装する

ワークロードの動作、パフォーマンス、信頼性、コスト、ヘルスを包括的に把握できます。以下の推奨事項は、Neptune Analytics でそのレベルの理解に役立ちます。

  • Neptune Analytics の Amazon CloudWatch メトリクスをモニタリングします。これらのメトリクスから、グラフのサイズ (ノード数、エッジ数、ベクトル数、合計バイトサイズ)、CPU 使用率、クエリリクエストとエラー率を判断できます。

  • NumQueuedRequestsPerSecNumOpenCypherRequestsPerSec、、 などの主要なメトリクスとGraphSizeBytes、アプリケーションログにある CPUUtilization Neptune GraphStorageUsagePercentクライアントレスポンスの 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 サービスアクティビティの分析を強化し、 のアクティビティの変更を特定するには AWS アカウント、Amazon Athena を使用して CloudTrail ログをクエリできます。例えば、クエリを使用して傾向を識別したり、アクティビティを属性 (ソース IP アドレスやユーザーなど) でさらに分離したりできます。

  • CloudTrail を使用して、クエリ実行などの Neptune Analytics データプレーンアクティビティのログ記録を有効にすることもできます。実行中のクエリ、その頻度、およびソースを表示できます。デフォルトでは、CloudTrail はデータイベントをログ記録しません。追加の変更がイベントデータに適用されます。詳細については、AWS CloudTrail 料金表を参照してください。

  • コントロールプレーンまたはデータプレーンのいずれかで、Neptune Analytics へのアプリケーション呼び出しを記録することもできます。たとえば、 を使用してクエリAWS SDK for Python (Boto3)を行う場合、デバッグレベルのログ記録を有効にして、コンソールまたはファイルへのクエリのトレースを取得できます。これは開発時に便利です。また、アプリケーションから例外をキャッチしてログに記録することをお勧めします。