Seguendo esattamente le istruzioni passo-passo su this page Sto tentando di esportare il contenuto di una delle mie tabelle DynamoDB in un bucket S3. Creo una pipeline esattamente come indicato ma non riesce a funzionare. Sembra che abbia problemi nell'identificare/eseguire una risorsa EC2 per fare l'esportazione. Quando accedo a EMR tramite AWS Console, visualizzo voci come questa:Esportazione automatica da AWS DynamoDB a S3 con "ruolo/DataPipelineDefaultRole non valido"
Cluster: [email protected]_2015-03-06T00:33:04Terminated with errorsEMR service role arn:aws:iam::...:role/DataPipelineDefaultRole is invalid
Perché ricevo questo messaggio? Devo configurare/configurare qualcos'altro per l'esecuzione della pipeline?
AGGIORNAMENTO: Sotto IAM->Roles
in consolle AWS sto vedendo questo per 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": ["*"]
}]
}
E questo per 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": ["*"]
}]
}
fare queste devono essere modificati in qualche modo?
Puoi aggiungere quali sono le tue norme IAM? – mkobit
@MikeKobit Potresti spiegarmi come posso ottenere questi criteri dalla console Web AWS? grazie –
Verifica i ruoli dell'account e i relativi criteri IAM. Vedi [Impostazione dei ruoli IAM] (http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-iam-roles.html) – mkobit