10

このページの段階的な手順に正確に従って、DynamoDB テーブルの 1 つのコンテンツを S3 バケットにエクスポートしようとしています。指示どおりにパイプラインを作成しましたが、実行できません。エクスポートを行うための EC2 リソースの特定/実行に問題があるようです。AWS コンソールから EMR にアクセスすると、次のようなエントリが表示されます。

Cluster: df-0..._@EmrClusterForBackup_2015-03-06T00:33:04Terminated with errorsEMR service role arn:aws:iam::...:role/DataPipelineDefaultRole is invalid

このメッセージが表示されるのはなぜですか? パイプラインを実行するために何か他のものをセットアップ/構成する必要がありますか?

更新: IAM->RolesAWS コンソールの下で、これは次のように表示されDataPipelineDefaultResourceRoleます:

{
    "Version": "2012-10-17",
    "Statement": [{
    "Effect": "Allow",
    "Action": [
        "s3:List*",
        "s3:Put*",
        "s3:Get*",
        "s3:DeleteObject",
        "dynamodb:DescribeTable",
        "dynamodb:Scan",
        "dynamodb:Query",
        "dynamodb:GetItem",
        "dynamodb:BatchGetItem",
        "dynamodb:UpdateTable",
        "rds:DescribeDBInstances",
        "rds:DescribeDBSecurityGroups",
        "redshift:DescribeClusters",
        "redshift:DescribeClusterSecurityGroups",
        "cloudwatch:PutMetricData",
        "datapipeline:PollForTask",
        "datapipeline:ReportTaskProgress",
        "datapipeline:SetTaskStatus",
        "datapipeline:PollForTask",
        "datapipeline:ReportTaskRunnerHeartbeat"
    ],
    "Resource": ["*"]
    }]
}

そしてこれはDataPipelineDefaultRole

{
    "Version": "2012-10-17",
    "Statement": [{
    "Effect": "Allow",
    "Action": [
        "s3:List*",
        "s3:Put*",
        "s3:Get*",
        "s3:DeleteObject",
        "dynamodb:DescribeTable",
        "dynamodb:Scan",
        "dynamodb:Query",
        "dynamodb:GetItem",
        "dynamodb:BatchGetItem",
        "dynamodb:UpdateTable",
        "ec2:DescribeInstances",
        "ec2:DescribeSecurityGroups",
        "ec2:RunInstances",
        "ec2:CreateTags",
        "ec2:StartInstances",
        "ec2:StopInstances",
        "ec2:TerminateInstances",
        "elasticmapreduce:*",
        "rds:DescribeDBInstances",
        "rds:DescribeDBSecurityGroups",
        "redshift:DescribeClusters",
        "redshift:DescribeClusterSecurityGroups",
        "sns:GetTopicAttributes",
        "sns:ListTopics",
        "sns:Publish",
        "sns:Subscribe",
        "sns:Unsubscribe",
        "iam:PassRole",
        "iam:ListRolePolicies",
        "iam:GetRole",
        "iam:GetRolePolicy",
        "iam:ListInstanceProfiles",
        "cloudwatch:*",
        "datapipeline:DescribeObjects",
        "datapipeline:EvaluateExpression"
    ],
    "Resource": ["*"]
    }]
}

これらを何らかの形で変更する必要がありますか?

4

4 に答える 4

3

同じエラーが発生しました。

IAM で、AWSDataPipelineRole管理ポリシーをDataPipelineDefaultRole

また、信頼関係を次のように更新する必要がありました (ドキュメントにない ec2 が必要です)。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "ec2.amazonaws.com",
          "elasticmapreduce.amazonaws.com",
          "datapipeline.amazonaws.com"
        ]
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
于 2016-11-16T04:38:58.067 に答える
2

AWS フォーラムにも同様の質問があり、管理ポリシーの問題に関連しているようです

https://forums.aws.amazon.com/message.jspa?messageID=606756

その質問では、アクセス ポリシーと信頼ポリシーの両方に特定のインライン ポリシーを使用して、一部の権限を変更するロールを定義することを推奨しています。奇妙なことに、特定のインライン ポリシーは次の場所にあります。

http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-iam-roles.html

于 2015-11-08T13:07:58.577 に答える