首先,在EC2实例上运行以下命令以检查实例是否具有所需的IAM角色:
curl http://169.254.169.254/latest/meta-data/iam/security-credentials/
如果您收到一个类似于“unknown instance”或“instance has no metadata”等错误消息,则该实例上没有角色。在这种情况下,创建一个IAM角色,然后将其分配给EC2实例。
其次,在数据管道的定义文件中(JSON或AWS DSL),确保您已正确设置了角色字段,即:
"role": "arn:aws:iam::123456789012:role/YourDataPipelineInstanceRole"
请注意,此示例中的ARN是您的角色ARN,您需要将其替换为自己的实例角色ARN。如果您在创建角色时没有指定ARN,则可以通过在IAM控制台中选择角色,然后在概述部分中找到ARN来检索它。
最后,重新启动您的数据管道,以便更新角色设置。您可以使用以下命令重新启动数据管道:
aws datapipeline activate-pipeline --pipeline-id