翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon EKS でのログ記録のベストプラクティス
以下のベストプラクティスは、Amazon EKS 環境用の堅牢でスケーラブル、効率的なログ記録システムを作成し、Kubernetes クラスターのトラブルシューティング、モニタリング、全体的な管理を向上させるのに役立ちます。
-
ログ収集の一元化: CloudWatch Logs、Elasticsearch、サードパーティーサービスなどの一元化されたログ記録ソリューションを使用して、すべてのコンポーネントのログを集約します。これにより、ログ分析のための単一のアクセスポイントが提供され、管理が簡素化されます。
-
構造化ログの実装: JSON などの構造化ログ形式を使用して、ログをより簡単に解析および検索できるようにします。タイムスタンプ、ログレベル、ソース識別子などの関連するメタデータを含めます。
-
ログレベルを適切に使用する: アプリケーションに適切なログレベル (
DEBUG、WARN、、INFOなどERROR) を実装します。過剰なログ記録を避けるため、適切なレベルでログを記録するように本番環境を設定します。 -
コンテナログ記録を有効にする:
stdoutおよび にログ記録するようにコンテナを設定しますstderr。これにより、Kubernetes はこれらのログをキャプチャし、選択したログ記録ソリューションに転送できます。 -
アプリケーションのログ記録を有効にする: ログファイルに書き込む
stderr代わりに、stdoutおよび にログを書き込むようにアプリケーションを設定します。これは 12 要素のアプリ方法論に従い、クラウドネイティブのベストプラクティスと一致しています。 -
ログ収集に Kubernetes DaemonSets を使用する: ログ収集エージェント (Fluent Bit など) を DaemonSets としてデプロイして、クラスター内のすべてのノードで実行されるようにします。
-
保持ポリシーの実装: 規制に準拠し、ストレージコストを管理するために、ログ保持ポリシーを定義して適用します。
-
安全なログデータ: 転送中および保管中のログを暗号化します。アクセスコントロールを実装して、ログを表示および管理できるユーザーを制限します。
-
ログ取り込みのモニタリング: ログ取り込みの失敗または遅延のアラートを設定して、継続的なログ記録を確保します。
-
Kubernetes 注釈とラベルを使用する: Kubernetes 注釈とラベルを使用してログにメタデータを追加し、検索可能性とフィルタリングを向上させます。
-
分散トレースの実装: AWS X-Rayや Jaeger などの分散トレースツールを使用して、マイクロサービス間でログを関連付けます。
-
ログボリュームの最適化: 不要なコストやパフォーマンスの問題を回避するために、ログの内容を選択します。大量の低値ログにはサンプリングを使用します。
-
ログ集約の実装: Logstash などのツールを使用して、複数のソースからログを集約してから、中央ログシステムに送信します。
-
可能な AWS のサービス 場合に使用する: CloudWatch Logs や Container Insights などのサービスは、他の とシームレスに統合できます AWS のサービス。
-
ログ分析と視覚化を実装する: CloudWatch Logs Insights、Elasticsearch with Kibana、サードパーティーソリューションなどのツールを使用してログ分析と視覚化を行います。
-
自動ログ分析を実装する: 機械学習と AI を活用したツールを使用して、ログの異常とパターンを自動的に検出します。
-
ログ記録戦略を文書化する: チームのログ記録アーキテクチャ、プラクティス、ツールを明確に文書化します。