Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CloudWatch Container Insightsを使ったAmazon ECSのリソース監視

umehara
January 29, 2025

CloudWatch Container Insightsを使ったAmazon ECSのリソース監視

umehara

January 29, 2025
Tweet

More Decks by umehara

Other Decks in Technology

Transcript

  1. 1 Copyright(C) NRI Netcom, Ltd. All rights reserved.  基本情報

     梅原 航(うめはら こう)  NRIネットコム株式会社 Webインテグレーション事業部(@大阪)  AWSを使ったシステムのインフラ開発・運用に従事  好きなAWSサービス  所有資格 自己紹介 Amazon Elastic Container Service (Amazon ECS) #nncstudy 転載、複製、改変等、および許諾のない二次利用を禁止します
  2. 2 Copyright(C) NRI Netcom, Ltd. All rights reserved.  アプリケーション開発ではコンテナを使うことがデファクトスタンダード

     コンテナの利点  ポータビリティが優れており、ローカル環境からプロダクション環境へのデプロイが容易  より軽量な仮想化技術であり、デプロイが高速であるため、スケーラビリティが優れている  インフラをコードで管理するため、再現性が高い なぜコンテナを採用するか #nncstudy 転載、複製、改変等、および許諾のない二次利用を禁止します 3層Webアプリケーション
  3. 3 Copyright(C) NRI Netcom, Ltd. All rights reserved.  インフラの状態を外部から把握できるようにしておく

     システムのリソース情報が適切に管理できていないと?  詳細な情報を取得できない  複数コンポーネントにまたがる場合、処理を追うことが困難  サービスに異常があることに気付くことができない オブザーバビリティの重要性 このタスクの CPU使用率って・・・? レスポンス遅延 内部APIへは どんなリクエストがきてる? #nncstudy 転載、複製、改変等、および許諾のない二次利用を禁止します
  4. 4 Copyright(C) NRI Netcom, Ltd. All rights reserved.  メトリクス

     特定期間のシステムの状態データを集計してグラフ化したもの  ログ  システムで発生した処理の詳細を示したテキスト  トレース  異なるコンポーネント間にまたがる処理過程の情報 オブザーバビリティの3要素 #nncstudy 転載、複製、改変等、および許諾のない二次利用を禁止します メトリクス 【例】 CPU使用率 メモリ使用率 ︙ ログ 【例】 アプリケーションログ アクセスログ ︙ トレース 【例】 AWS X-Ray ︙
  5. 5 Copyright(C) NRI Netcom, Ltd. All rights reserved.  本日はメトリクスに絞ってお話します(ECS

    on Fargate前提)  Amazon CloudWatchを使用すると、Amazon ECSでどのようなメトリクスを取得できるのか  Container Insightsとはなにか?  どのメトリクスを対象に監視を行うべきか  お話しないこと  AWS Distro for Open Telemetryなどのサイドカーコンテナを前提とした構成  AWS以外のSaasオブザーバビリティツールの話 以降の内容について #nncstudy 転載、複製、改変等、および許諾のない二次利用を禁止します メトリクス 【例】 CPU使用率 メモリ使用率 ︙ ログ 【例】 アプリケーションログ アクセスログ ︙ トレース 【例】 AWS X-Ray ︙
  6. 6 Copyright(C) NRI Netcom, Ltd. All rights reserved.  ECSサービス単位しか取得できない

     CPUUtilization  MemoryUtilization  ECSサービス単位なので、複数タスクがあるときはメトリクスが均らされてしまう  特定のタスクだけ負荷が集中すると検知することができない Amazon ECSのデフォルト設定で出力されるメトリクス #nncstudy 転載、複製、改変等、および許諾のない二次利用を禁止します 複数タスクがあるときに均される 例)CPU平均が50%となる
  7. 7 Copyright(C) NRI Netcom, Ltd. All rights reserved.  コンテナ化されたアプリケーションのメトリクスとログを収集、集計、要約するサービス

     メトリクスとログ、トレースを自動で一元的に集約してくれる  デフォルトと比較してより詳細なメトリクスを取得できる  クラスターの設定から有効化することができる  サービスレベルの情報だと不十分であるケースが多いため、 基本的には有効にしておく  パフォーマンスログイベントがCloudWatch logsに出力され それを元にメトリクス集計される仕組み CloudWatch Container Insightsとは #nncstudy 転載、複製、改変等、および許諾のない二次利用を禁止します ECSサービスのログ例
  8. 8 Copyright(C) NRI Netcom, Ltd. All rights reserved. 実際にAWSコンソールを見てみましょう #nncstudy

    転載、複製、改変等、および許諾のない二次利用を禁止します
  9. 9 Copyright(C) NRI Netcom, Ltd. All rights reserved.  re:Invent2024で発表された新しいアップデート

     オブザーバビリティツールとしての進化  クラスター、サービス、タスク、コンテナと メトリクスの単位を変えながら確認可能  タスク、コンテナのメトリクスを取得可能に より詳細なモニタリングが可能に オブザーバビリティが強化されたAmazon ECS Container Insightsとは #nncstudy 転載、複製、改変等、および許諾のない二次利用を禁止します アップデート後 アップデート前 ContainerInstanceCount ContainerInstanceCount ContainerCpuUtilized ContainerCpuReserved ContainerCpuUtilization ContainerMemoryUtilized ContainerMemoryReserved ContainerMemoryUtilization ContainerNetworkRxBytes ContainerNetworkTxBytes ContainerStorageReadBytes ContainerStorageWriteBytes CpuUtilized CpuUtilized CpuReserved CpuReserved DeploymentCount DeploymentCount DesiredTaskCount DesiredTaskCount EBSFilesystemSize EBSFilesystemSize EBSFilesystemUtilized EBSFilesystemUtilized EphemeralStorageReserved EphemeralStorageReserved EphemeralStorageUtilized EphemeralStorageUtilized MemoryUtilized MemoryUtilized MemoryReserved MemoryReserved NetworkRxBytes NetworkRxBytes NetworkTxBytes NetworkTxBytes PendingTaskCount PendingTaskCount RunningTaskCount RunningTaskCount RestartCount RestartCount ServiceCount ServiceCount StorageReadBytes StorageReadBytes StorageWriteBytes StorageWriteBytes TaskCount TaskCount TaskCPUUtilization TaskEphemeralStorageUtilization TaskMemoryUtilization TaskSetCount TaskSetCount 取得可能なメトリクス名 特定のタスクに含まれるコンテナのCPU使用率も検知可能
  10. 10 Copyright(C) NRI Netcom, Ltd. All rights reserved.  システム特性や監視要件、コストを考慮して決定する必要がある

     最低限として以下のような基本的なメトリクスを監視する  CPU使用率  メモリ使用率  ストレージ(エフェメラル、EBS)  タスク数  ALB(リクエスト数、レスポンスタイム、5XXエラー数)  必ずしも強化されたContainer Insightsが必要とは限らない  システムを構成するコンポーネント数が少なく、コンテナレベルでのメトリクスは不要  コンピュートリソースのチューニングのために、性能テスト時のみ一時的に利用する  (個人的に)強化されたContainer Insightsのアップデートは、 CloudWatchがオブザーバビリティツールとしての進化を感じることができるアップデートでした 主要な監視対象のメトリクス #nncstudy 転載、複製、改変等、および許諾のない二次利用を禁止します
  11. 11 Copyright(C) NRI Netcom, Ltd. All rights reserved.  取得可能なメトリクス一覧

     Amazon ECS 用にオブザーバビリティメトリクスが強化された Container Insights  https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/Container-Insights-enhanced- observability-metrics-ECS.html  「Amazon ECS Container Insights メトリクス」  https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/Container-Insights-metrics- ECS.html  Container Insightsの料金  オブザーバビリティが強化されたContainer Insightsと通常のContainer Insightsでは料金体系が異なります  https://aws.amazon.com/jp/cloudwatch/pricing/ 参考情報 #nncstudy 転載、複製、改変等、および許諾のない二次利用を禁止します