Fork me on GitHub
#aws
<
2021-05-11
>
kenny22:05:15

Does anyone know of a pre-built script, tool, or whatever that would let me spin up a specific ec2 instance, clone a github project, open a nrepl in that project, and allow me to connect to it locally? I can do all of that stuff myself, but, as usual, the devil is in the details. Was hoping to not lose a few hours if there's something pre-built to do that 😅 My use case is I have some huge batch jobs I want to run on a 64+ core machine and be able to interact with the results in the repl.

em00:05:41

Closest thing off the top of my mind is: https://www.gitpod.io/ but unfortunately they're kind of a closed SaaS type deal, and won't really let you do it on your own account/EC2 instance. I'm not a fan of their service for this reason (waaaay too much on the side of ease instead of simplicity), but maybe searching for alternatives in this space will yield something close to what you want?

kenny02:05:02

Huh, interesting. Didn't know there was an actual market for that sort of thing. That looks way more formal that I was looking for, haha.

em02:05:47

Yeah, I was surprised myself. I couldn't imagine doing all my dev work on a paid boxed service over the internet just to save 5 minutes of installing dependencies - some of the comments are really funny about how it revolutionizes everything

lukasz14:05:08

Technically you should be able to do all of the above with Clojure and cognitect-labs/aws-api: • create a VPC • define security group to allow connection via SSH • create an ec2 instance with user-data script which will clone your code, setup SSH keys necessary for opening a tunnel to to the nrepl server • destroys the VPC, security groups and the EC2 instance when you're done

dabrazhe18:05:32

The easiest option is to install an EC2 from an existing template in IOC, there should be plenty in Terraform or pulumi . Beware of the ones that use the NAT gateway, they can be expensive in case your need a lot of traffic for the batch data. You can the internet gateway. Once the ec2 is setup and patched, ssh to it, install lein and upload your data. I've done a similar setup on my Raspbery pi.

dabrazhe18:05:31

But you can consider running the jobs on the local machine overnight, persist the results and read them in repl the next day. it will save you a lot of hassle and let you focus on the problem instead of infrastructure