AWS Sagemaker + AWS Lambda

1.1k views Asked by At

I try to use AWS SageMaker following documentation. I successfully loaded data, trained and deployed the model.

deployed-model

My next step have to be using AWS Lambda, connect it to this SageMaker endpoint. I saw, that I need to give Lambda IAM execution role permission to invoke a model endpoint. I add some data to IAM policy JSON and now it has this view

{
"Version": "2012-10-17",
"Statement": [
    {
        "Effect": "Allow",
        "Action": "logs:CreateLogGroup",
        "Resource": "arn:aws:logs:us-east-1:<my-account>:*"
    },
    {
        "Effect": "Allow",
        "Action": [
            "logs:CreateLogStream",
            "logs:PutLogEvents"
        ],
        "Resource": [
            "arn:aws:logs:us-east-1:<my-account>:log-group:/aws/lambda/test-sagemaker:*"
        ]
    },
    {
        "Effect": "Allow",
        "Action": "sagemaker:InvokeEndpoint",
        "Resource": "*"
    }
]

}

Problem that even with role that have permission for invoking SageMaker endpoint my Lambda function didn't see it

An error occurred (ValidationError) when calling the InvokeEndpoint operation: Endpoint xgboost-2020-10-02-12-15-36-097 of account <my-account> not found.: ValidationError
1

There are 1 answers

0
Yana Hontarenko On BEST ANSWER

I found an error by myself. Problem was in different regions. For training and deploying model I used us-east-2 and for lambda I used us-east-1. Just creating all in same region fixed this issue!