UBC-DSCI / jupyterhub-infrastructure

0 stars 0 forks source link

Build a a littlest JupyterHub on AWS #11

Open ttimbers opened 4 years ago

ttimbers commented 4 years ago

Build a JupyterHub on AWS using the The Littlest JupyterHub.

jyoo980 commented 4 years ago

@ttimbers

I've been following the Littlest Jupyterhub guide, and have managed to successfully get into the AWS console. Following the instructions up to substep 14 of step 1 has been okay, but when I try to launch the instance, it fails. The error message I receive is:

Launch Failed, you are not authorized to perform this operation

I've attached a screenshot below

image

A Google search didn't turn up much; so I think this is more of a permissions/access level control than anything else. It specifically seems to be erroring out at the "Creating security groups" stage, as per the screenshot. Since the instructions ask me to create a new security group, maybe my account doesn't have the correct authorization do so?

ttimbers commented 4 years ago

@Lourenzutti - can you please see the issue @jyoo980 reports above, and let me know if we can easily address it?

Lourenzutti commented 4 years ago

That's right @jyoo980 !!

Your account doesn't have permission to create new security groups. But when you are launching the EC2 instance you can choose an existing one. See the image below:

Screenshot from 2020-05-03 21-33-15

jyoo980 commented 4 years ago

@Lourenzutti

Excellent thanks. Since this is a hiccup specific to our AWS roles and not to the Littlest Juptyterhub guide, I don't see a point in opening a PR to change the instructions in that project. That said, is there a place we can document any process changes that are specific to UBC-DSCI we come across?

If there isn't, I can go about creating a README file or some kind of Google doc where we can document them as we come across them 🙂

ttimbers commented 4 years ago

@jyoo980 - can you create a markdown doc in this repo with a relevant name in a directory called notes?

jyoo980 commented 4 years ago

@ttimbers

Just going to report my findings here from some more work I did today in an effort to get this through

I've managed to launch a t2.micro instance. However, I wasn't able to get the logs as described in the setup instructions of the Littlest Jupyterhub. I then ssh'ed into the server to see what was going on, only to see that nothing has been installed. This led me to suspect that the startup/installation script below failed:

#!/bin/bash
curl https://raw.githubusercontent.com/jupyterhub/the-littlest-jupyterhub/master/bootstrap/bootstrap.py \
  | sudo python3 - \
    --admin jyoo980

So I ran it manually using a bash script while I was ssh'ed in. Turns out that the t2.micro instance runs out of memory when it's unzipping the Python script (I won't post the entire error message here), and it crashes before it has a chance to install.

I think we'll need to experiment with larger EC2 instances, but I'll hold off on doing that for now since I don't see any in the free tier.

jyoo980 commented 4 years ago

I think this task is done (or very close)

It looks like we're going to need to have at least a t2.small in order to run TLJH, I've linked to this in the README file that's open for review right here

@ttimbers it would also be excellent if I could be given the permissions on AWS to stop instances, this would definitely help me in experimenting with a bunch without leaving any running.