EDIT: Solved. Switching locations on AWS, then creating a new BatchComputeEnvironment, solved the issue.
Following the workflow Set Up the AWS Batch Computation Provider—Wolfram Documentation, I have a working BatchComputeEnvironment, and have authenticated the AWS service connection using my local credentials files. But when I run a RemoteBatchSubmit command of the form
I’ve triple-checked the details are correct, and match what AWS shows me and what the workflow told me to do. And I can even submit jobs manually using the same job definition at console.aws.amazon.com/batch. Hence I have no clue about the error. Essentially, Mathematica is failing to recognise the existence of a job definition which exists. Any ideas?
Hi Daniel, it sounds like you got this working by creating a submission environment CloudFormation stack in a different region. For future reference, the region configured in the AWS service connection on your local machine (if you’re using credential files, then that in the ~/.aws/config file, as described in this workflow) must match the region that the CloudFormation stack was created in. If a region isn’t specified in ~/.aws/config, the default used is us-east-1.
I will make a note to improve the error message you encountered - it might be more clear if it said something like “The specified job definition arn:aws:batch:us-east-1:[…] does not exist in the XX-YYY-Z region.”
What follows is a rather long sequence of getting a problem to work. Sorry for the long set of replies. Hopefully, someone will find this useful who encountered the same problem:
ServiceExecute::aws-requesterror: The DescribeJobDefinitions request
failed with the following client error: no AWS credentials could be
found using the specified authentication configuration.
I was able to fix the last problem by creating a new AWS group, adding myself as a user to that group, and giving the group Administration privileges. The AWS interface isn’t very intuitive.
However, following the next workflow for a remote batch submit:
env = RemoteBatchSubmissionEnvironment[(*...copied from AWS...*)]
came back with
ServiceConnect::multser: One service was chosen from multiple AWS
services.
and
job = RemoteBatchSubmit[env, 2 + 2]
came back with
ServiceExecute::aws-requesterror: The DescribeJobDefinitions request
failed with the following client error: no AWS credentials could be
found using the specified authentication configuration.
So, it looks like I will need to figure out how to delete multiple services. I’ll report back if successful.
I created a new stack on AWS. It looks like the template is inserting “us-east” no matter what I do. Ah, there is a pull down menu on the AWS dashboard that asks you to specify your region:
However, trying to create a batch with the template fails with an error: