
Launch cloud-based Jupiter notebooks on AWS EC2 within a VPC, create password-secured access, and manage multiple instances with scalable resources and public IP access.
Configure a jupyter notebook server on AWS EC2 and VPC by following a step-by-step guide. Start by creating an AWS account and logging into the AWS Management Console.
Set up an accessible Jupyter notebook server on AWS EC2 by launching a free-tier t2.micro instance, configuring a custom VPC as your virtual data center.
Create a VPC from scratch to form a private cloud with a least privileged default and a 10.0.0.0/16 CIDR block for scalable IP addressing.
Create a public subnet in your VPC to enable internet access for EC2 instance, using a /28 CIDR block for 16 addresses (11 available) in US East 1 (North Virginia).
Launch your first EC2 instance in a VPC subnet with auto assign public IP, and learn how least privilege prevents internet access.
Create a VPC with a 10.0.0.0/16 CIDR and a public subnet. Attach an internet gateway and update the routing to enable internet access for EC2 instances.
Provision an AWS EC2 t2.micro instance in your Jupiter VPC, configure a bootstrap script, install Python, Jupiter, engine x web server, and secure SSH access with a security group.
Learn to ssh into an AWS EC2 Jupiter server from Mac or Windows using a private key and the correct AMI user; verify installations with the bootstrap script.
Configure a Jupyter notebook on an AWS EC2 instance. Generate the config, secure with a password, set the allowed origin, and adjust security group rules for remote access.
Configure nginx as a reverse proxy for a Jupyter notebook on an AWS EC2 instance by creating a server block in sites-available and linking it to sites-enabled, then reload nginx.
Configure supervisor to run a jupyter notebook as a background service on an ec2 instance, with auto-start, auto-restart, and log management, and verify its running status.
Allocate and attach an Elastic IP to an EC2 instance to preserve its address across restarts, create an AMI backup of the Jupyter notebook server, and relaunch with consistent configuration.
Create and reuse an AMI image from a running EC2 instance to launch on-demand Jupiter notebook instances with different configurations, manage elastic IPs, and terminate unused resources.
One of the challenges of writing programs is having the ability to pick up where you left off. Jupyter Notebooks do this very well because they allow for interactive running of code, keep results in memory, and empower data scientists and programmers everywhere to build interesting things.
Jupyter is an interactive notebook which allows you to run code right inside the notebook. This is good for many reasons:
Notebooks, like actual books, can be shared easily
While running a notebook, the "state", is remembered: run some code and it' remembers the results of that code
Notebooks easily layout the process of a given program into a story-like progression that anyone can pick up and use.
If you've never worked with Jupyter Notebooks before, I highly recommend that you do.
This course is about bringing Jupyter Notebooks to the AWS Cloud. We'll be preparing a AWS Virtual Private Cloud, Subnets, Internet Gateways, Route Tables, and more so that we can provision AWS EC2 instances securely and effectively.
Once we have an EC2 instance, we can configure nginx, supervisor, and Jupyter so we can run it automatically on a public IP address... check out the first video for more on this.