以前は機能していたデータ パイプライン定義を単純にデプロイしようとしています。今回は、別の AWS (本番 vs ステージング) アカウントと一致するようにロールを変更しました。
AWS CLI 経由でデプロイすると、次のメッセージが表示されます。
{
"validationErrors": [
{
"errors": [
"Please add following permissions to the role ('DataPipelineDefaultRole') for uploading logs to s3: s3:Get*,s3:List*,s3:Put*"
],
"id": "EC2_Box_TaskRunner"
}
],
"errored": true,
"validationWarnings": []
}
DataPipelineDefaultRole の定義は次のとおりです。
{
"Statement": [
{
"Action": [
"s3:*",
"dynamodb:DescribeTable",
"dynamodb:Scan",
"dynamodb:Query",
"dynamodb:GetItem",
"dynamodb:BatchGetItem",
"dynamodb:UpdateTable",
"ec2:*",
"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:*"
],
"Effect": "Allow",
"Resource": [
"*"
]
}
]
}
また、「DataPipelineDefaultRole」を再作成しようとすると、「インスタンス プロファイル ARN(s)」が空白になる場合があることにも気付きました。最後に、「hello world データ パイプライン テンプレート」のセットアップや手動の手順を組み合わせて、役割を再作成することができました。(インスタンス ARN が存在する場合)
役割が次のように設定されていても:
{
"Statement": [
{
"Action": [
"*"
],
"Effect": "Allow",
"Resource": [
"*"
]
}
]
}
それは動作しません。
私は何を間違っていますか?