Skip to content

Container is called from incorrect platform

0

Hello, I am testing container product for publishing on AWS marketplace. Need help in running meter_usage API. I am setting us-west-2 region for now and running a container in EKS cluster in same region. The container is calling meter_usage API using the correct product code with dryrun/true.
The container/helm is stored in marketplace ECR. I am providing below permissions as well: AWSMarketplaceMeteringFullAccess, AWSMarketplaceMeteringRegisterUsage

code: "AccessDeniedException", message: "Container is called from incorrect platform.", aws_request_id: "....

Any pointers would be helpful? Thanks

2 Answers
0

Thank you for providing details about your container product testing for AWS Marketplace. The error you're encountering suggests there might be an issue with the way your container is calling the MeterUsage API. Let me provide some guidance to help resolve this issue:

  1. For Amazon EKS deployments, you must use IAM roles for service accounts (IRSA) to sign the API call for the MeterUsage operation. Using EKS Pod Identity, the node role, or long-term access keys are not supported.

  2. Ensure that you've created an IAM role that grants permission for your container to call MeterUsage. The role should have a policy that allows the "aws-marketplace:MeterUsage" action.

  3. Make sure this IAM role is associated with your EKS pod through the appropriate service account.

  4. Verify that you're not configuring AWS credentials within your software or the Docker container image. AWS credentials for the buyer are automatically obtained at runtime when your container image is running within an Amazon EKS pod.

  5. Confirm that you're using a supported AWS SDK to call the MeterUsage API operation from Amazon EKS.

  6. Ensure your Amazon EKS cluster is running Kubernetes version 1.13.x or greater, as this is required for IAM roles for pod support.

  7. Double-check that you're obtaining the AWS Region dynamically at runtime rather than hard-coding it.

If you've followed these steps and are still encountering issues, you may want to review your integration code and ensure it's correctly implementing the MeterUsage call. Remember, when testing locally, you might get a PlatformNotSupportedException, but this shouldn't occur when launching the container on AWS container services like Amazon EKS.

If the problem persists after verifying these points, you may need to reach out to AWS Marketplace support for further assistance.
Sources
Container product billing, metering, and licensing integrations - AWS Marketplace
Configuring custom metering for container products with AWS Marketplace Metering Service - AWS Marketplace

answered a year ago
0

After adding IRSA it made clear progress. Now I am getting "CustomerNotEntitledException: Customer does not have a valid subscription". I am testing the product before it can be made public from same account. What will make the meter_usage API work? is there any sandbox I can use to experience buyer side of view?

answered a year ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.