CloudWatch エージェントで使用する IAM ロールとユーザーを作成する
AWS リソースにアクセスするには、アクセス権限が必要です。IAM ロール、IAM ユーザー、またはその両方を作成して、CloudWatch エージェントが CloudWatch にメトリクスを書き込むために必要なアクセス許可を付与します。Amazon EC2 インスタンスでエージェントを使用する場合は、IAM ロールを作成する必要があります。オンプレミスサーバーでエージェントを使用する場合は、IAM ユーザーを作成する必要があります。
注記
お客様にこれらのポリシーを自分で作成するよう求める代わりに、Amazon が作成した新しい CloudWatchAgentServerPolicy
および CloudWatchAgentAdminPolicy
ポリシーを使用して、最近以下の手順を変更しました。Parameter Store へのファイル書き込みおよびファイルのダウンロードについては、Amazon によって作成されたポリシーで、AmazonCloudWatch-
で始まる名前を持つファイルのみサポートします。ファイル名が AmazonCloudWatch-
で始まらない CloudWatch エージェント設定ファイルがある場合、これらのポリシーを使用してファイルを Parameter Store に書き込んだり、Parameter Store からダウンロードしたりすることはできません。
Amazon EC2 インスタンスで CloudWatch エージェントを実行する場合は、次の手順を使用して必要な IAM ロールを作成します。このロールでは、インスタンスから情報を読み取り、CloudWatch に書き込むアクセス権限が提供されます。
EC2 インスタンスで CloudWatch エージェントを実行するのに必要な IAM ロールを作成するには
AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/
) を開きます。 -
左側のナビゲーションペインで、[ロール]、[ロールの作成] の順に選択します。
[信頼されたエンティティタイプ] で、[AWS のサービス] が選択されていることを確認します。
[Use case] (ユースケース) の [Common use cases] (一般的なユースケース) で、[EC2] を選択します。
-
[Next] を選択します。
-
ポリシーのリストで、[CloudWatchAgentServerPolicy] の横にあるチェックボックスを選択します。必要に応じて、検索ボックスを使用してポリシーを見つけます。
(オプション) エージェントが X-Ray にトレースを送信する場合はまた、AWSXRayDaemonWriteAccess ポリシーをロールに付与する必要があります。これを実行するには、リスト内でそのポリシーを見つけて、その横にあるチェックボックスを選択します。
-
[Next] を選択します。
-
[ロール名] に、ロールの名前 (例:
CloudWatchAgentServerRole
) を入力します。必要に応じて説明を入力します。続いて、[Create role] を選択します。これでロールが作成されました。
(オプション) エージェントが CloudWatch Logs にログを送信する予定であり、エージェントがこれらのロググループの保持ポリシーを設定できるようにする場合は、ロールに
logs:PutRetentionPolicy
許可を追加する必要があります。詳細については、「CloudWatch エージェントによるログの保持ポリシーの設定を許可」を参照してください。
オンプレミスサーバーで CloudWatch エージェントを実行する場合は、次のステップを使用して、必要な IAM ユーザーを作成します。
警告
このシナリオでは、プログラムによるアクセスと長期的な認証情報を持つ IAM ユーザーが必要です。これはセキュリティ上のリスクをもたらします。このリスクを軽減するために、これらのユーザーにはタスクの実行に必要な権限のみを付与し、不要になったユーザーを削除することをお勧めします。アクセスキーは、必要に応じて更新できます。詳細については、「IAM ユーザーガイド」の「アクセスキーの更新」を参照してください。
CloudWatch エージェントをオンプレミスサーバーで実行するために必要な IAM ユーザーを作成するには
AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/
) を開きます。 -
左側のナビゲーションペインで [Users] (ユーザー)、[Add users] (ユーザーの追加) の順に選択します。
-
新しいユーザーのユーザー名を入力します。
-
[Access key - Programmatic access] (アクセスキー - プログラムによるアクセス)、[Next: Permissions] (次へ: 許可) の順に選択します。
-
[Attach existing policies directly (既存のポリシーを直接アタッチする)] を選択します。
-
ポリシーのリストで、[CloudWatchAgentServerPolicy] の横にあるチェックボックスを選択します。必要に応じて、検索ボックスを使用してポリシーを見つけます。
(オプション) エージェントが X-Ray にトレースを送信する場合は、AWSXRayDaemonWriteAccess ポリシーをロールに付与する必要もあります。これを実行するには、リスト内でそのポリシーを見つけて、その横にあるチェックボックスを選択します。
-
[Next: Tags] (次へ: タグ) を選択します。
オプションで、新しい IAM ユーザーのタグを作成し、[Next:Review] (次へ: 確認) を選択します。
-
適切なポリシーがリストされていることを確認し、[Create user] (ユーザーを作成) を選択します。
-
新しいユーザーの名前の横にある [Show] を選択します。エージェントのイントール時に使用できるように、アクセスキーとシークレットキーをファイルにコピーします。[閉じる] を選択します。
CloudWatch エージェントによるログの保持ポリシーの設定を許可
CloudWatch エージェントを構成して、ログイベントの送信先となるロググループ用の保持ポリシーを設定できます。これを実行する場合は、エージェントが使用する IAM ロールまたはユーザに logs:PutRetentionPolicy
を付与する必要があります。エージェントは IAM ロールを使用して Amazon EC2 インスタンスで実行し、オンプレミスのサーバーに IAM ユーザーを使用します。
CloudWatch エージェントの IAM ロールにログの保持ポリシーを設定するための許可を付与するには
AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/
) を開きます。 左のナビゲーションペインで、[ロール] を選択します。
検索ボックスで、CloudWatch エージェントの IAM ロールの名前の先頭を入力します。この名前は、ロールの作成時に選択されました。
CloudWatchAgentServerRole
という名前が付けられる場合があります。ロールが表示されたら、ロールの名前を選択します。
[Permissions] (許可) タブで、[Add permissions] (許可の追加)、[Create inline policy] (インラインポリシーの作成) をクリックします。
[JSON] タブを選択し、次のポリシーをボックスにコピーして、ボックスのデフォルトの JSON を置き換えます。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "logs:PutRetentionPolicy", "Resource": "*" } ] }
[ポリシーの確認] を選択します。
[Name] (名前) で、
CloudWatchAgentPutLogsRetention
などと入力し、[Create policy] (ポリシーを作成) を選択します。
CloudWatch エージェントの IAM ユーザーにログ保持ポリシーを設定するための許可を付与するには
AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/
) を開きます。 左のナビゲーションペインで、[ユーザー] を選択します。
検索ボックスで、CloudWatch エージェントの IAM ユーザーの名前の先頭を入力します。この名前は、ユーザーの作成時に選択されました。
ユーザーが表示されたら、ユーザーの名前を選択します。
[アクセス許可] タブで [インラインポリシーの追加] を選択します。
[JSON] タブを選択し、次のポリシーをボックスにコピーして、ボックスのデフォルトの JSON を置き換えます。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "logs:PutRetentionPolicy", "Resource": "*" } ] }
[ポリシーの確認] を選択します。
[Name] (名前) で、
CloudWatchAgentPutLogsRetention
などと入力し、[Create policy] (ポリシーを作成) を選択します。