AWS ECS向けCloudWatch Container Insightsのパブリックプレビューが開始したので、使用開始方法をまとめてみた


はじめに

こんにちわ。Wano株式会社エンジニアのnarikawaと申します。


ということで、以下の手順書を参考に試しに設定してみました。

Amazon ECS CloudWatch Container Insights - Amazon Elastic Container Service

ところどころわかりづらいところがあったり、日本語訳が提供されていないこともあったので、整理して発信しようと思い、この記事を書いています。

全てを訳せているわけではないので、詳細は大元の手順書を参考にしていただけると幸いです。


対象読者


  • CloudWatch Container Insightsの設定が、プレビュー時に使っていなくてよくわからない方

  • 手順書が英語しか対応していないため嫌厭してまだ試せていない方

  • CloudWatch Container Insightsでどんなことができるか知りたい方


導入手順


1.まずは設定いじる


GUI(console)で設定する



  • ecsのAccount Settingのタブに移動する  
    スクリーンショット 2019-07-10 11.06.32.png

※この際、ルートユーザーまたはコンテナーインスタンスのIAMロールを使用していることが前提



  • すると以下のような見慣れない設定チェックボックスがあるので、チェックして有効にする
    スクリーンショット 2019-07-10 11.06.17.png

※この際、実行しようとしているIAM usersとIAM role はecs:PutAccountSetting permissionがこのアクションに必要


CUIで設定する


  • 自分のアカウント全てのIAM usersとIAM roleのdefaultの設定をcontainer insightsをenabledにしたい

put-account-setting-default (AWS CLI)の場合

aws ecs put-account-setting-default --name containerInsights --value enabled --region us-east-1

Write-ECSAccountSettingDefault (AWS Tools for Windows PowerShell)の場合

Write-ECSAccountSettingDefault -Name containerInsights -Value enabled -Region us-east-1 -Force


  • 自分のアカウントのあるIAM usersとIAM roleのdefaultの設定をcontainer insightsをenabledにしたい(root userのみ)

put-account-setting (AWS CLI)の場合(特定のuser設定変更)

aws ecs put-account-setting --name containerInsights --value enabled --principal-arn arn:aws:iam::aws_account_id:user/userName --region us-east-1

Write-ECSAccountSetting (AWS Tools for Windows PowerShell)の場合(特定のuser設定変更)

Write-ECSAccountSetting -Name containerInsights -Value enabled -PrincipalArn arn:aws:iam::aws_account_id:user/userName -Region us-east-1 -Force


2.クラスターを作る

スクリーンショット 2019-07-10 11.05.33.png



  • その際、以下のような新しいチェックボックスがあるので、enableにチェックする
    スクリーンショット 2019-07-10 12.24.39.png


3.いつも通りサービスかタスクを立ち上げる


4.誘導に従って、cloudwatchのcontainer insightsを見る


  • クラスタのメトリクスのタブに移動すると、見慣れない青枠の誘導があるので、View Container Insightsのボタンをクリックする

スクリーンショット 2019-07-10 11.05.18.png


  • そうすると以下のような、docker stats相当の情報が観れる

スクリーンショット 2019-07-10 11.34.24.png


  • 以下のように時間でも絞れるし

    スクリーンショット 2019-07-10 11.34.41.png


  • 以下のように特定のクラスタ、サービス、タスクでもfilterをかけれるようになっている


スクリーンショット 2019-07-10 11.34.35.png


container insightsのいいところ


  • コンテナインスタンスにsshして、docker statsしなくてもコンテナの状態を監視できる


疑問点



  • まだterraformでは対応していない?


    • public previewだから多分対応していない

    • clusterのパラメタで早く切り替えれると嬉しい。。




  • 既存のクラスタをいじって設定を足せないのか


    • terraformで建ててから手動で切り替えようと思ったらできなかった(そもそもクラスターの設定修正画面がない)

    • CLIならいけるのか??


    • ecs — AWS CLI 1.16.195 Command Reference 見当たらない、、

    • わかる方ぜひ教えて欲しいです、、わりと切実

    • [追記 2019/7/10]以下の回答いただけました!、正式なリリースでの対応が待ち遠しい





終わりに


  • 週1投稿に関して、これは先週分ってことで許してください(遅れてすみません。。)