CloudWatch Container Insights のドキュメントはこちらから確認いただけます。
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
これで事前準備は終わりです。CloudWatch Insights のインストールに進みます。