Amazon EKS および Kubernetes の Container Insights のクイックスタートセットアップ - Amazon CloudWatch

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

Amazon EKS および Kubernetes の Container Insights のクイックスタートセットアップ

Container Insights のセットアップを完了するには、このセクションのクイックスタート手順に従います。

または、代わりに「クラスターメトリクスを収集するよう CloudWatch エージェントをセットアップする」および「CloudWatch Logs へのログの送信」の 2 つのセクションの手順に従うことができます。これらのセクションでは、CloudWatch エージェントがどのように Amazon EKS および Kubernetes と動作するかについてより詳しく説明されていますが、追加のインストール手順を実行する必要があります。

注記

Amazon は、Container Insights のデフォルトのログソリューションとして Fluent Bit の提供を開始しました。これにより、パフォーマンスの大幅な向上が見込めます。Fluentd の代わりに Fluent Bit を使用することをお勧めします。

CloudWatch エージェントと Fluent Bit を使用したクイックスタート

Fluent Bit については、最適化されたバージョンと FluentD に似た使用感を提供するバージョンの 2 つの設定があります。クイックスタート設定では、最適化されたバージョンが使用されます。FluentD 互換の設定の詳細については、「CloudWatch Logs へログを送信する DaemonSet として Fluent Bit を設定する」をご参照ください。

クイックスタートを使用して Container Insights をデプロイするには、次のコマンドを入力します。

注記

次の設定ステップでは、デフォルトで匿名ユーザーとして Docker Hub からコンテナイメージをプルします。このプルは、レート制限の対象となる場合があります。詳細については、「コンテナイメージとダウンロードレートの制限」をご参照ください。

ClusterName=<my-cluster-name> RegionName=<my-cluster-region> FluentBitHttpPort='2020' FluentBitReadFromHead='Off' [[ ${FluentBitReadFromHead} = 'On' ]] && FluentBitReadFromTail='Off'|| FluentBitReadFromTail='On' [[ -z ${FluentBitHttpPort} ]] && FluentBitHttpServer='Off' || FluentBitHttpServer='On' curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/daemonset/container-insights-monitoring/quickstart/cwagent-fluent-bit-quickstart.yaml | sed 's/{{cluster_name}}/'${ClusterName}'/;s/{{region_name}}/'${RegionName}'/;s/{{http_server_toggle}}/"'${FluentBitHttpServer}'"/;s/{{http_server_port}}/"'${FluentBitHttpPort}'"/;s/{{read_from_head}}/"'${FluentBitReadFromHead}'"/;s/{{read_from_tail}}/"'${FluentBitReadFromTail}'"/' | kubectl apply -f -

このコマンドでは、my-cluster-name は Amazon EKS または Kubernetes クラスターの名前で、my-cluster-region はログが発行されるリージョンの名前です。AWS アウトバウンドデータ転送コストを削減するために、クラスターがデプロイされているのと同じリージョンを使用することをお勧めします。

たとえば、MyCluster という名前のクラスターに Container Insights をデプロイし、ログとメトリクスを 米国西部 (オレゴン) に発行するには、次のコマンドを入力します。

ClusterName='MyCluster' LogRegion='us-west-2' FluentBitHttpPort='2020' FluentBitReadFromHead='Off' [[ ${FluentBitReadFromHead} = 'On' ]] && FluentBitReadFromTail='Off'|| FluentBitReadFromTail='On' [[ -z ${FluentBitHttpPort} ]] && FluentBitHttpServer='Off' || FluentBitHttpServer='On' curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/daemonset/container-insights-monitoring/quickstart/cwagent-fluent-bit-quickstart.yaml | sed 's/{{cluster_name}}/'${ClusterName}'/;s/{{region_name}}/'${LogRegion}'/;s/{{http_server_toggle}}/"'${FluentBitHttpServer}'"/;s/{{http_server_port}}/"'${FluentBitHttpPort}'"/;s/{{read_from_head}}/"'${FluentBitReadFromHead}'"/;s/{{read_from_tail}}/"'${FluentBitReadFromTail}'"/' | kubectl apply -f -

Fluentd からの移行

既に Fluentd が設定されており、Fluent Bit に移行する場合は、Fluent Bit をインストールした後で FluentD ポッドを削除する必要があります。次のコマンドを使用して FluentD を削除します。

curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/daemonset/container-insights-monitoring/fluentd/fluentd.yaml | kubectl delete -f - kubectl delete configmap cluster-info -n amazon-cloudwatch

Container Insights の使用

クイックスタートセットアップの使用後に Container Insights を削除する場合は、次のコマンドを入力します。

curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/daemonset/container-insights-monitoring/quickstart/cwagent-fluent-bit-quickstart.yaml | sed 's/{{cluster_name}}/'${ClusterName}'/;s/{{region_name}}/'${LogRegion}'/;s/{{http_server_toggle}}/"'${FluentBitHttpServer}'"/;s/{{http_server_port}}/"'${FluentBitHttpPort}'"/;s/{{read_from_head}}/"'${FluentBitReadFromHead}'"/;s/{{read_from_tail}}/"'${FluentBitReadFromTail}'"/' | kubectl delete -f -

CloudWatch エージェントと Fluentd を使用したクイックスタート

既に Kubernetes クラスターで Fluentd を使用していて、Container Insights のログソリューションとして拡張したい場合に備えて、FluentD 設定が提供されています。

クイックスタートを使用して CloudWatch エージェントと Fluentd をデプロイするには、次のコマンドを使用します。以下の設定には、コミュニティでサポートされている FluentD コンテナイメージが含まれています。FluentD イメージの要件を満たしている限り、イメージを独自の FluentD イメージに置き換えることができます。詳細については、「(オプション) CloudWatch Logs へログを送信する DaemonSet として FluentD を設定する」をご参照ください。

curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/daemonset/container-insights-monitoring/quickstart/cwagent-fluentd-quickstart.yaml | sed "s/{{cluster_name}}/cluster-name/;s/{{region_name}}/cluster-region/" | kubectl apply -f -

このコマンドでは、Cluster_Name は Amazon EKS または Kubernetes クラスターの名前で、Region はログが発行されるリージョンの名前です。AWS アウトバウンドデータ転送コストを削減するために、クラスターがデプロイされているのと同じリージョンを使用することをお勧めします。

たとえば、MyCluster という名前のクラスターに Container Insights をデプロイし、ログとメトリクスを 米国西部 (オレゴン) に発行するには、次のコマンドを入力します。

curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/daemonset/container-insights-monitoring/quickstart/cwagent-fluentd-quickstart.yaml | sed "s/{{cluster_name}}/MyCluster/;s/{{region_name}}/us-west-2/" | kubectl apply -f -

Container Insights の使用

クイックスタートセットアップの使用後に Container Insights を削除する場合は、次のコマンドを入力します。

curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/daemonset/container-insights-monitoring/quickstart/cwagent-fluentd-quickstart.yaml | sed "s/{{cluster_name}}/cluster-name/;s/{{region_name}}/cluster-region/" | kubectl delete -f -