Amazon EKS コントロールプレーンのログ記録 - Amazon EKS

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

Amazon EKS コントロールプレーンのログ記録

Amazon EKS コントロールプレーンのログ記録は、Amazon EKS コントロールプレーンからアカウントの CloudWatch Logs に直接監査および診断ログを提供します。これらのログを使用すると、クラスターの保護と実行が容易になります。CloudWatch の Amazon EKS クラスターごとに、必要なログタイプを選択することができ、ログがログストリームとしてグループに送信されます。

Amazon EKS コントロールプレーンのログ記録の使用を開始するには、新規または既存の Amazon EKS クラスターごとに有効にするログタイプを選択します。クラスターごとに各ログタイプを有効または無効にするには、AWS マネジメントコンソール、AWS CLI (バージョン 1.16.139 以降)、または Amazon EKS API を使用します。有効にすると、ログは Amazon EKS クラスターから同じアカウントの CloudWatch Logs に自動的に送信されます。

Amazon EKS コントロールプレーンのログ記録を使用すると、実行するクラスターごとに Amazon EKS の標準料金が発生します。クラスターから CloudWatch Logs に送信されるすべてのログに対して、CloudWatch Logs データの取り込みおよび保存の標準費用が発生します。また、AWS インスタンスや Amazon EC2 ボリュームなど、クラスターの一部としてプロビジョニングする Amazon EBS リソースに対しても料金が発生します。

以下のクラスターコントロールプレーンのログタイプが使用可能です。各ログタイプは、Kubernetes コントロールプレーンのコンポーネントに対応しています。これらのコンポーネントの詳細については、Kubernetes ドキュメントの「Kubernetes コンポーネント」を参照してください。

  • Kubernetes API サーバーコンポーネントログ (api) – クラスターの API サーバーは、Kubernetes API を公開するコントロールプレーンコンポーネントです。詳細については、Kubernetes ドキュメントの kube-apiserver を参照してください。

  • 監査 (audit) – Kubernetes 監査ログは、クラスターに影響を与えた個々のユーザー、管理者、またはシステムコンポーネントの記録を提供します。詳細については、Kubernetes ドキュメントの「監査」を参照してください。

  • 認証 (authenticator) – 認証ログは Amazon EKS. に対して固有です。これらのログは、 Amazon EKS 認証情報を使用した Kubernetes ロールベースアクセスコントロール (RBAC) 認証IAMに が使用するコントロールプレーンコンポーネントを表します。詳細については、「 」を参照してください。クラスター認証.

  • コントローラーマネージャー (controllerManager) – コントローラーマネージャーが、Kubernetes に同梱されているコアコントロールループを管理します。詳細については、Kubernetes ドキュメントの kube-controller-manager を参照してください。

  • スケジューラ (scheduler) – スケジューラコンポーネントは、クラスターでポッドを実行するタイミングと場所を管理します。詳細については、Kubernetes ドキュメントの kube-scheduler を参照してください。

コントロールプレーンログの有効化と無効化

デフォルトでは、クラスターのコントロールプレーンログは に送信されません。CloudWatch Logs. クラスターのログを送信するには、各ログタイプを個別に有効にする必要があります。CloudWatch Logs の取り込み、アーカイブストレージ、およびデータスキャンレートが、有効なコントロールプレーンログに適用されます。詳細については、「CloudWatch の料金表.」を参照してください。

ログタイプを有効にすると、ログの詳細レベル でログが送信されます。2.

コンソールを使用してコントロールプレーンログを有効または無効にするには

  1. Open the Amazon EKS console at https://console.aws.amazon.com/eks/home#/clusters.

  2. クラスターの名前を選択すると、そのクラスターの情報を表示されます。

  3. [設定] タブを選択します。

  4. [ログ記録] で、[ログ記録の管理] を選択します。

  5. ログタイプごとに、そのログタイプを [有効] にするか [無効.] にするかを選択します。各ログタイプは、デフォルトで [無効.] になっています。

  6. [変更の保存] を選択して終了します。

を使用してコントロールプレーンログを有効または無効にするにはAWS CLI

  1. 以下のコマンドを使用して、AWS CLI のバージョンを確認します。

    aws --version

    AWS CLI のバージョンが 1.16.139 以前である場合は、まず最新バージョンに更新する必要があります。をインストールまたはアップグレードするにはAWS CLI、の「 のインストール」を参照してくださいAWS Command Line InterfaceAWS Command Line Interface ユーザーガイド

  2. 次の AWS CLI コマンドを使用して、クラスターのコントロールプレーンログのエクスポート設定を更新します。クラスター名と必要なエンドポイントアクセス値を置き換えます。

    注記

    次のコマンドは、使用可能なすべてのログタイプを に送信します。CloudWatch Logs.

    aws eks --region <region-code> update-cluster-config --name <prod> \ --logging '{"clusterLogging":[{"types":["api","audit","authenticator","controllerManager","scheduler"],"enabled":true}]}'

    出力:

    { "update": { "id": "<883405c8-65c6-4758-8cee-2a7c1340a6d9>", "status": "InProgress", "type": "LoggingUpdate", "params": [ { "type": "ClusterLogging", "value": "{\"clusterLogging\":[{\"types\":[\"api\",\"audit\",\"authenticator\",\"controllerManager\",\"scheduler\"],\"enabled\":true}]}" } ], "createdAt": 1553271814.684, "errors": [] } }
  3. 次のコマンドでログ設定更新のステータスをモニタリングします。その際、以前のコマンドで返されたクラスター名と更新 ID を使用します。ステータスが となったら、更新は完了です。Successful.

    aws eks --region <region-code> describe-update --name <prod> --update-id <883405c8-65c6-4758-8cee-2a7c1340a6d9>

    出力:

    { "update": { "id": "<883405c8-65c6-4758-8cee-2a7c1340a6d9>", "status": "Successful", "type": "LoggingUpdate", "params": [ { "type": "ClusterLogging", "value": "{\"clusterLogging\":[{\"types\":[\"api\",\"audit\",\"authenticator\",\"controllerManager\",\"scheduler\"],\"enabled\":true}]}" } ], "createdAt": 1553271814.684, "errors": [] } }

クラスターのコントロールプレーンログの表示

Amazon EKS クラスターのいずれかのコントロールプレーンログタイプを有効にしたら、それらを CloudWatch コンソールで表示できます。

CloudWatch でログを表示、分析、および管理する方法の詳細については、Amazon CloudWatch Logs User Guide.を参照してください。

CloudWatch コンソールでクラスターのコントロールプレーンログを表示するには

  1. CloudWatch コンソール (https://console.aws.amazon.com/cloudwatch/home#logs:prefix=/aws/eks.) を開きます。この URL では、現在使用可能なロググループが表示され、プレフィックス /aws/eks でフィルタリングされます。

  2. ログを表示するクラスターを選択します。ロググループの名前の形式は です。/aws/eks/<cluster-name>/cluster.

  3. 表示するログストリームを選択します。次のリストで、各ログタイプのログストリーム名の形式について説明します。

    注記

    ログストリームデータが大きくなるにつれて、ログストリーム名のローテーションが行われます。特定のログタイプのログストリームが複数存在する場合、最新のログストリームを表示するには、[最終のイベント時刻.] が最新のログストリーム名を見つけ出します。

    • Kubernetes API サーバーコンポーネントログ (api)kube-apiserver-<nnn...>

    • 監査 (audit)kube-apiserver-audit-<nnn...>

    • 認証ツール (authenticator)authenticator-<nnn...>

    • コントローラーマネージャー (controllerManager)kube-controller-manager-<nnn...>

    • スケジューラー (scheduler)kube-scheduler-<nnn...>