CloudWatch ロググループに DataSync タスクログが見つからないのはなぜですか?

所要時間1分
0

AWS DataSync タスクを実行しましたが、関連する Amazon CloudWatch ロググループにログが見つかりません。この問題を解決するには、どうすればよいですか?

解決方法

CloudWatch Logs に DataSync がログのアップロードを行えるようにするリソースポリシーがあることを確認します。以下の手順に従って、DataSync エージェントの AWS リージョンにある CloudWatch Logs リソースポリシーを確認します。

注: AWS CLI コマンドの実行時にエラーが発生した場合は、AWS CLI の最新バージョンを使用していることを確認してください

1.    以下のように、AWS コマンドラインインターフェイス (AWS CLI) を使用して describe-resource-pelicies コマンドを実行します。

aws logs describe-resource-policies --region us-east-1

注意:各 AWS アカウントには、CloudWatch Logs のリージョンごとに最大 10 個のリソースポリシーが許可されます。この制限を超えると、リソースポリシーの作成時にエラーメッセージが表示されます。

2.    コマンドの出力を確認します。リソースポリシーが設定されていない場合、出力は次のようになります。

{
  "resourcePolicies": []
}

重要: DataSync のリソースポリシーが正しい AWS リージョンで有効になっていることを確認します。ポリシーは、使用している DataSync エージェントと同じリージョンにある必要があります。

ログをアップロードするための DataSync アクセス許可を付与するリソースポリシーを作成するには、次の手順に従います。

1.    DataSync にログをアップロードするための最小権限を付与する JSON ファイルを作成します。

{
  "Statement": [
    {
      "Sid": "DataSyncLogsToCloudWatchLogs",
      "Effect": "Allow",
      "Action": [
        "logs:PutLogEvents",
        "logs:CreateLogStream"
      ],
      "Principal": {
        "Service": "datasync.amazonaws.com"
      },
      "Resource": "*"
    }
  ],
  "Version": "2012-10-17"
}

ファイルに policy.json という名前を付けることができます。

2.    AWS CLI を利用して put-resource-policy コマンドを実行し、JSON ファイルを使用してリソースポリシーを作成します。

aws logs put-resource-policy --policy-name trustDataSync --policy-document file://policy.json --region <Region>

重要: DataSync エージェントの AWS リージョンを --region の値として設定します。

3.    describe-resource-polices コマンドを実行して、リソースポリシーが作成されたことを確認します。

aws logs describe-resource-policies --region <Region>

注意:各 AWS アカウントには、CloudWatch Logs のリージョンごとに最大 10 個のリソースポリシーが許可されます。この制限を超えると、リソースポリシーの作成時にエラーメッセージが表示されます。put-resource-policy コマンドを使用して、制限に達したかどうかを確認します。

4.    リソースポリシーを作成すると、コマンドの出力は次のようになります。

{
  "resourcePolicies": [
    {
      "policyName": "trustDataSync",
      "policyDocument": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"DataSyncLogsToCloudWatchLogs\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"datasync.amazonaws.com\"},\"Action\":[\"logs:PutLogEvents\",\"logs:CreateLogStream\"],\"Resource\":\"*\"}]}",
      "lastUpdatedTime": 1577448776606
    }
  ]
}

5.    リソースポリシーをテストするには、DataSync タスクを実行します。タスクの実行後数分後に、関連する CloudWatch ロググループのログストリームが表示されていることを確認します。


関連情報

CloudWatch Logs リソースへのアクセス権限の管理の概要

AWS公式
AWS公式更新しました 2年前
コメントはありません

関連するコンテンツ