Preparing to Install Container Insights

CloudWatch Container Insights のドキュメントはこちらから確認いただけます。

Worker Node(EC2インスタンス) に対して Container Insights に必要な IAM Role を付加します

Container Insights は CloudWatch Agent Pod(メトリクスの送信) と fluentd Pod(ログの送信)から構成されているため、 それぞれの Pod に対して、CloudWatch への権限が必要になります。

Pod へのAWSリソースへの権限を付加する方法は、大きく分けて以下の3つがあります。 - IAM Role For Service Account を利用し、Pod に対して IAM Roleを付加する方法 - EC2 インスタンスにアタッチされている IAM Role を利用する方法 - その他

IAM Role For Service Account は 先のハンズオンで実施済みのため、 このハンズオンでは、EC2 インスタンスにアタッチされている IAM Role を利用する方法 で行います

まず、以下のコマンドを実行し、ROLE_NAME が表示されることを確認します。

test -n "$ROLE_NAME" && echo ROLE_NAME is "$ROLE_NAME" || echo ROLE_NAME is not set

If ROLE_NAME is not set, please review the test the cluster section.

以下のコマンドを実行し、 Worker Node(EC2インスタンス) にアタッチされている IAM Roleへ CloudWatchAgentServerPolicy を付加します。 これにより、このEC2上で起動する Pod 全てに、CloudWatchへのメトリクス/ログ送信権限が付加されます

aws iam attach-role-policy \
  --role-name $ROLE_NAME \
  --policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy

確認のため、以下のコマンドを実行します。

aws iam list-attached-role-policies --role-name $ROLE_NAME | grep CloudWatchAgentServerPolicy || echo 'Policy not found'

以下のようなOutputが表示されることを確認します

Output


"PolicyName": "CloudWatchAgentServerPolicy",
"PolicyArn": "arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy"

これで事前準備は終わりです。CloudWatch Insights のインストールに進みます。