What exactly would it take to reverse tunnel into an AWS Batch array job from the local computer submitting the job (e.g. via AWS CLI)? Unlike the typical reverse tunneling scenario, the remote nodes here do not share a local network with the local computer. Motivation: https://github.com/mschubert/clustermq/issues/208. Related: ssh into AWS Batch jobs.
And yes, I am aware that SSH is easier in pure EC2, but Batch is preferable because of its support for arbitrary Docker images, easy job monitoring, and automatic spot pricing.
Use a Unmanaged Compute Environment. Then you can ssh
into your ec2
instances as you normally would, as they are under your control. A managed compute environment means that your use of ec2
is abstracted away from you, so you cannot ssh
into the underlying instances. To find out what instance a job is running on, you can use the metadata endpoint.