SlideShare a Scribd company logo
1 of 17
Download to read offline
Setting up JupyterHub on AWS
A step-by-step walk guide to installing JupyterHub for your
organization on your internal systems.
Don't want to set this up yourself?
JupyterHub installations can be complex to set up and even more complex to
manage. If you want a quicker solution for your team, consider Saturn Cloud
Hosted Organizations or Saturn Cloud Enterprise.
Saturn Cloud
Dealing with large datasets and tight security can make it difficult for a data science team to get their
work done. Each team member can work on their own tasks while accessing common data sources
and scaled computational resources with minimal DevOps experience.
The official JupyterHub documentation covers much of what follows, but often times it points users to
other resources, which can be a bit disorienting. In the following tutorial, we’ve outlined the necessary
steps to get started with JupyterHub on AWS EKS.
Saturn Cloud
Compare and Contrast JupyterHub Versions
The Littlest JupyterHub is easy to set up, but probably not suitable as a long-term production data science
environment. That said, TLJH is a great way to get an understanding of how JupyterHub works and to get a
feel for its user interface. Zero-to-JupyterHub is a containerized solution, so that all users are working in
isolation of each other, and any particular set of work can be run on arbitrary hardware. This allows users to
get the right amount of CPU, RAM, and GPUs for their particular work, and avoids the scenario where one
user’s work could impact another.
A containerized solution might be right for you if you need to scale to potentially thousands of users or if you
prefer to have more control on how your JupyterHub is administered, then ZTJH is the better option. The
Littlest JupyterHub is an environment that runs on a single server, and as the name implies, is the smallest and
simplest way to get started.
Saturn Cloud
Compare and Contrast JupyterHub Versions
When choosing an Amazon Machine Image, they reference Ubuntu version 18.04 LTS. However, feel free to
choose the more recent Ubuntu 20.04 LTS version instead. When choosing an instance type, keep in mind how
many users plan to work on the platform simultaneously. Once TLJH is up and running, navigate to the
JupyterHub endpoint.
From there, you can add users and install conda/pip packages.
Saturn Cloud
Compare and Contrast JupyterHub Versions
Saturn Cloud
TLJH ZTJH
Can run on remote servers (AWS)
Run in a containerized environment (Kubernetes)
Ability to auto-scale
Ability to add preferred authentication providers
Ability to enable HTTPS
Production ready
Max number of users up to ~100 up to 1000+
The Littlest JupyterHub on AWS EC2
When choosing an instance type, keep in mind how many users plan to work on the platform
simultaneously. JupyterHub offers a guide on how to properly size your instance. When configuring
the instance details, remember to add an admin user to the JupyterHub install script.
Zero-to-JupyterHub on AWS EKS
Whereas the TLJH runs on a single EC2 instance, ZTJH can be configured to run on a Kubernetes
cluster so that your team can scale calculations and handle very large datasets. The setup is more
involved, but this allows for broader customization.
Saturn Cloud
Create your Amazon EKS cluster
1. Log into the AWS Management Console and make sure you’re in the AWS Region you would like your
AWS resources created in. If possible, they should be close to your users.
2. Create an EC2 VPC with both public and private subnets by navigating to the AWS CloudFormation
tool.
NOTE: Creating a VPC with both public and private subnets is recommended for any production deployment.
Specify template
Copy this CloudFormation template URL and paste it in the “Amazon S3 URL” field. This template creates both
public and private subnets, don’t let the name confuse you.
https://amazon-eks.s3.us-west-2.amazonaws.com/cloudformation/2020-10-29/amazon-eks-vpc-private-su
bnets.yaml
Click “Next”.
Saturn Cloud
Saturn Cloud
Create your Amazon EKS cluster
Configure stack options
Use the default options and click “Next”.
Review
This last page allows you to review the configurations you have made. From here, click “Create” and let
CloudFormation create the VPC for you. This shouldn’t take more than a few minutes.
Create an EKS cluster IAM Role by navigating to the IAM > Roles page.
Select trusted entity
Select “AWS Service” as the “Trusted entity type”.
Then search for “EKS” under the “Use case”.
Select the radio button next to “EKS cluster”.
Saturn Cloud
Create your Amazon EKS cluster
Add permissions
Confirm the AmazonEKSClusterPolicy permissions are attached. No other permissions are needed.
Click “Next”.
Create your Amazon EKS cluster
Name, review, and create
Give your EKS role a name, something that clearly indicates what kind of resource it is (i.e. an EKS role) so
that it is easily identifiable in later steps. Then. click “Create” and your role should be instantly available. In
our case, we gave it the name ztjh-eks-role.
Create your Amazon EKS cluster
4. Navigate to the EKS console and
create an EKS cluster.
Configure cluster
Give your EKS cluster a unique and
identifiable name. In our case, we gave
it the name ztjh-eks.
Attach the newly created EKS role that
we created in the previous action. In our
case, we would use ztjh-eks-role.
Click “Next”.
Create your Amazon EKS cluster
Specify networking
Now, we configure our EKS cluster to use the VPC that we created. In
the “VPC” section, select your VPC. In our case, we would use
ztjh-vpc. The name on the screenshot might seem a little confusing
but this is because the first part is the unique VPC ID and the second
part (ztjh-vpc-VPC) is the name we chose with -VPC appended.
The subnets should be automatically added in the “Subnet” section
once the VPC is selected.
Leave the remaining items as is, and click “Next”.
Configure logging
Keep the default logging configuration settings, and click “Next”.
Review and create
Finally, review your EKS configurations, then click “Create”. It might take
10-15 minutes for the EKS cluster to be created.
Configure your computer to communicate with your cluster
1. Create or update your local kubeconfig file.
This step assumes you have installed the AWS CLI, one of the prerequisites listed above. It also assumes you have
your AWS credentials stored in the ~/.aws/credentials file.
NOTE: AWS allows you to store multiple credentials (i.e. labeled “profiles”) in ~/.aws/credentials file so if you need to specify which account
these credentials are tied to, run export AWS_PROFILE=<your-profile> before the command below. If you only have one AWS profile, and it’s set
to “default”, you can ignore this note.
aws eks update-kubeconfig --region <region-code> --name <my-cluster>
2. Verify you can communicate with the Kubernetes cluster.
NOTE: Kubernetes allows you to connect with multiple contexts (or clusters). If you need to switch contexts, run kubectl config set-context
--name <my-cluster>, where <my-cluster> would be ztjh-eks in our example.
kubectl get scv
The output should look like this:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
svc/kubernetes ClusterIP 10.100.0.1 <none> 443/TCP 1m
If you get an error message like could not get token: AccessDenied: Access denied, inspect your ~/.kube/config
and have a look at this troubleshooting guide.
www.saturncloud.io

More Related Content

Similar to Setting up JupyterHub on AWS

Scaling drupal horizontally and in cloud
Scaling drupal horizontally and in cloudScaling drupal horizontally and in cloud
Scaling drupal horizontally and in cloudVladimir Ilic
 
AWS CodeDeploy
AWS CodeDeploy AWS CodeDeploy
AWS CodeDeploy Ratan Das
 
Time to Science, Time to Results. Accelerating Scientific research in the Cloud
Time to Science, Time to Results. Accelerating Scientific research in the CloudTime to Science, Time to Results. Accelerating Scientific research in the Cloud
Time to Science, Time to Results. Accelerating Scientific research in the CloudAmazon Web Services
 
AWS Webcast - Best Practices in Architecting for the Cloud
AWS Webcast - Best Practices in Architecting for the CloudAWS Webcast - Best Practices in Architecting for the Cloud
AWS Webcast - Best Practices in Architecting for the CloudAmazon Web Services
 
Managing AWS infrastructure using CloudFormation
Managing AWS infrastructure using CloudFormationManaging AWS infrastructure using CloudFormation
Managing AWS infrastructure using CloudFormationAnton Babenko
 
Rstudio in aws 16 9
Rstudio in aws 16 9Rstudio in aws 16 9
Rstudio in aws 16 9Tal Galili
 
AWS Interview Questions Part - 2 | AWS Interview Questions And Answers Part -...
AWS Interview Questions Part - 2 | AWS Interview Questions And Answers Part -...AWS Interview Questions Part - 2 | AWS Interview Questions And Answers Part -...
AWS Interview Questions Part - 2 | AWS Interview Questions And Answers Part -...Simplilearn
 
Architecting Cloud Apps
Architecting Cloud AppsArchitecting Cloud Apps
Architecting Cloud Appsjineshvaria
 
Inside Microsoft Azure
Inside Microsoft AzureInside Microsoft Azure
Inside Microsoft AzureErnest Mueller
 
Simple Odoo ERP auto scaling on AWS
Simple Odoo ERP auto scaling on AWSSimple Odoo ERP auto scaling on AWS
Simple Odoo ERP auto scaling on AWSJulien Lecadou,MSc.
 
Awsgsg wah-linux
Awsgsg wah-linuxAwsgsg wah-linux
Awsgsg wah-linuxSebin John
 
Awsgsg wah-linux
Awsgsg wah-linuxAwsgsg wah-linux
Awsgsg wah-linuxSebin John
 
Amazon cloud
Amazon cloud Amazon cloud
Amazon cloud Narendra
 
Doing Azure With PowerShell
Doing Azure With PowerShellDoing Azure With PowerShell
Doing Azure With PowerShellThomas Lee
 
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...Amazon Web Services
 
PowerShell Saturday #009 (Singapore) - Azure + PowerShell
PowerShell Saturday #009 (Singapore) - Azure + PowerShellPowerShell Saturday #009 (Singapore) - Azure + PowerShell
PowerShell Saturday #009 (Singapore) - Azure + PowerShellMilton Goh
 
State of the Union: Containers on AWS
State of the Union: Containers on AWSState of the Union: Containers on AWS
State of the Union: Containers on AWSAmazon Web Services
 

Similar to Setting up JupyterHub on AWS (20)

Scaling drupal horizontally and in cloud
Scaling drupal horizontally and in cloudScaling drupal horizontally and in cloud
Scaling drupal horizontally and in cloud
 
AWS CodeDeploy
AWS CodeDeploy AWS CodeDeploy
AWS CodeDeploy
 
Time to Science, Time to Results. Accelerating Scientific research in the Cloud
Time to Science, Time to Results. Accelerating Scientific research in the CloudTime to Science, Time to Results. Accelerating Scientific research in the Cloud
Time to Science, Time to Results. Accelerating Scientific research in the Cloud
 
AWS Webcast - Best Practices in Architecting for the Cloud
AWS Webcast - Best Practices in Architecting for the CloudAWS Webcast - Best Practices in Architecting for the Cloud
AWS Webcast - Best Practices in Architecting for the Cloud
 
Shipping logs to splunk from a container in aws howto
Shipping logs to splunk from a container in aws howtoShipping logs to splunk from a container in aws howto
Shipping logs to splunk from a container in aws howto
 
Cloud ppt
Cloud pptCloud ppt
Cloud ppt
 
Managing AWS infrastructure using CloudFormation
Managing AWS infrastructure using CloudFormationManaging AWS infrastructure using CloudFormation
Managing AWS infrastructure using CloudFormation
 
Rstudio in aws 16 9
Rstudio in aws 16 9Rstudio in aws 16 9
Rstudio in aws 16 9
 
AWS Interview Questions Part - 2 | AWS Interview Questions And Answers Part -...
AWS Interview Questions Part - 2 | AWS Interview Questions And Answers Part -...AWS Interview Questions Part - 2 | AWS Interview Questions And Answers Part -...
AWS Interview Questions Part - 2 | AWS Interview Questions And Answers Part -...
 
Architecting Cloud Apps
Architecting Cloud AppsArchitecting Cloud Apps
Architecting Cloud Apps
 
Inside Microsoft Azure
Inside Microsoft AzureInside Microsoft Azure
Inside Microsoft Azure
 
Simple Odoo ERP auto scaling on AWS
Simple Odoo ERP auto scaling on AWSSimple Odoo ERP auto scaling on AWS
Simple Odoo ERP auto scaling on AWS
 
Awsgsg wah-linux
Awsgsg wah-linuxAwsgsg wah-linux
Awsgsg wah-linux
 
Awsgsg wah-linux
Awsgsg wah-linuxAwsgsg wah-linux
Awsgsg wah-linux
 
Amazon cloud
Amazon cloud Amazon cloud
Amazon cloud
 
Doing Azure With PowerShell
Doing Azure With PowerShellDoing Azure With PowerShell
Doing Azure With PowerShell
 
Aws coi7
Aws coi7Aws coi7
Aws coi7
 
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...
 
PowerShell Saturday #009 (Singapore) - Azure + PowerShell
PowerShell Saturday #009 (Singapore) - Azure + PowerShellPowerShell Saturday #009 (Singapore) - Azure + PowerShell
PowerShell Saturday #009 (Singapore) - Azure + PowerShell
 
State of the Union: Containers on AWS
State of the Union: Containers on AWSState of the Union: Containers on AWS
State of the Union: Containers on AWS
 

Recently uploaded

Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Callshivangimorya083
 
BigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxBigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxolyaivanovalion
 
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...SUHANI PANDEY
 
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...Valters Lauzums
 
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...amitlee9823
 
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdfMarket Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdfRachmat Ramadhan H
 
VidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxVidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxolyaivanovalion
 
Ravak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxRavak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxolyaivanovalion
 
BabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptxBabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptxolyaivanovalion
 
Discover Why Less is More in B2B Research
Discover Why Less is More in B2B ResearchDiscover Why Less is More in B2B Research
Discover Why Less is More in B2B Researchmichael115558
 
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 nightCheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 nightDelhi Call girls
 
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...amitlee9823
 
Accredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdfAccredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdfadriantubila
 
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptx
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptxBPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptx
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptxMohammedJunaid861692
 
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...amitlee9823
 
Halmar dropshipping via API with DroFx
Halmar  dropshipping  via API with DroFxHalmar  dropshipping  via API with DroFx
Halmar dropshipping via API with DroFxolyaivanovalion
 
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al BarshaAl Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al BarshaAroojKhan71
 

Recently uploaded (20)

Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
 
BigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxBigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptx
 
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
 
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
 
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
 
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdfMarket Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
 
VidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxVidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptx
 
(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7
(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7
(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7
 
Ravak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxRavak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptx
 
BabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptxBabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptx
 
Discover Why Less is More in B2B Research
Discover Why Less is More in B2B ResearchDiscover Why Less is More in B2B Research
Discover Why Less is More in B2B Research
 
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get CytotecAbortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
 
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in Kishangarh
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in  KishangarhDelhi 99530 vip 56974 Genuine Escort Service Call Girls in  Kishangarh
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in Kishangarh
 
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 nightCheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
 
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
 
Accredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdfAccredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdf
 
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptx
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptxBPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptx
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptx
 
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
 
Halmar dropshipping via API with DroFx
Halmar  dropshipping  via API with DroFxHalmar  dropshipping  via API with DroFx
Halmar dropshipping via API with DroFx
 
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al BarshaAl Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
 

Setting up JupyterHub on AWS

  • 1. Setting up JupyterHub on AWS A step-by-step walk guide to installing JupyterHub for your organization on your internal systems.
  • 2. Don't want to set this up yourself? JupyterHub installations can be complex to set up and even more complex to manage. If you want a quicker solution for your team, consider Saturn Cloud Hosted Organizations or Saturn Cloud Enterprise. Saturn Cloud
  • 3. Dealing with large datasets and tight security can make it difficult for a data science team to get their work done. Each team member can work on their own tasks while accessing common data sources and scaled computational resources with minimal DevOps experience. The official JupyterHub documentation covers much of what follows, but often times it points users to other resources, which can be a bit disorienting. In the following tutorial, we’ve outlined the necessary steps to get started with JupyterHub on AWS EKS. Saturn Cloud
  • 4. Compare and Contrast JupyterHub Versions The Littlest JupyterHub is easy to set up, but probably not suitable as a long-term production data science environment. That said, TLJH is a great way to get an understanding of how JupyterHub works and to get a feel for its user interface. Zero-to-JupyterHub is a containerized solution, so that all users are working in isolation of each other, and any particular set of work can be run on arbitrary hardware. This allows users to get the right amount of CPU, RAM, and GPUs for their particular work, and avoids the scenario where one user’s work could impact another. A containerized solution might be right for you if you need to scale to potentially thousands of users or if you prefer to have more control on how your JupyterHub is administered, then ZTJH is the better option. The Littlest JupyterHub is an environment that runs on a single server, and as the name implies, is the smallest and simplest way to get started. Saturn Cloud
  • 5. Compare and Contrast JupyterHub Versions When choosing an Amazon Machine Image, they reference Ubuntu version 18.04 LTS. However, feel free to choose the more recent Ubuntu 20.04 LTS version instead. When choosing an instance type, keep in mind how many users plan to work on the platform simultaneously. Once TLJH is up and running, navigate to the JupyterHub endpoint. From there, you can add users and install conda/pip packages. Saturn Cloud
  • 6. Compare and Contrast JupyterHub Versions Saturn Cloud TLJH ZTJH Can run on remote servers (AWS) Run in a containerized environment (Kubernetes) Ability to auto-scale Ability to add preferred authentication providers Ability to enable HTTPS Production ready Max number of users up to ~100 up to 1000+
  • 7. The Littlest JupyterHub on AWS EC2 When choosing an instance type, keep in mind how many users plan to work on the platform simultaneously. JupyterHub offers a guide on how to properly size your instance. When configuring the instance details, remember to add an admin user to the JupyterHub install script. Zero-to-JupyterHub on AWS EKS Whereas the TLJH runs on a single EC2 instance, ZTJH can be configured to run on a Kubernetes cluster so that your team can scale calculations and handle very large datasets. The setup is more involved, but this allows for broader customization. Saturn Cloud
  • 8. Create your Amazon EKS cluster 1. Log into the AWS Management Console and make sure you’re in the AWS Region you would like your AWS resources created in. If possible, they should be close to your users. 2. Create an EC2 VPC with both public and private subnets by navigating to the AWS CloudFormation tool. NOTE: Creating a VPC with both public and private subnets is recommended for any production deployment. Specify template Copy this CloudFormation template URL and paste it in the “Amazon S3 URL” field. This template creates both public and private subnets, don’t let the name confuse you. https://amazon-eks.s3.us-west-2.amazonaws.com/cloudformation/2020-10-29/amazon-eks-vpc-private-su bnets.yaml Click “Next”. Saturn Cloud
  • 10. Create your Amazon EKS cluster Configure stack options Use the default options and click “Next”. Review This last page allows you to review the configurations you have made. From here, click “Create” and let CloudFormation create the VPC for you. This shouldn’t take more than a few minutes. Create an EKS cluster IAM Role by navigating to the IAM > Roles page. Select trusted entity Select “AWS Service” as the “Trusted entity type”. Then search for “EKS” under the “Use case”. Select the radio button next to “EKS cluster”.
  • 12. Create your Amazon EKS cluster Add permissions Confirm the AmazonEKSClusterPolicy permissions are attached. No other permissions are needed. Click “Next”.
  • 13. Create your Amazon EKS cluster Name, review, and create Give your EKS role a name, something that clearly indicates what kind of resource it is (i.e. an EKS role) so that it is easily identifiable in later steps. Then. click “Create” and your role should be instantly available. In our case, we gave it the name ztjh-eks-role.
  • 14. Create your Amazon EKS cluster 4. Navigate to the EKS console and create an EKS cluster. Configure cluster Give your EKS cluster a unique and identifiable name. In our case, we gave it the name ztjh-eks. Attach the newly created EKS role that we created in the previous action. In our case, we would use ztjh-eks-role. Click “Next”.
  • 15. Create your Amazon EKS cluster Specify networking Now, we configure our EKS cluster to use the VPC that we created. In the “VPC” section, select your VPC. In our case, we would use ztjh-vpc. The name on the screenshot might seem a little confusing but this is because the first part is the unique VPC ID and the second part (ztjh-vpc-VPC) is the name we chose with -VPC appended. The subnets should be automatically added in the “Subnet” section once the VPC is selected. Leave the remaining items as is, and click “Next”. Configure logging Keep the default logging configuration settings, and click “Next”. Review and create Finally, review your EKS configurations, then click “Create”. It might take 10-15 minutes for the EKS cluster to be created.
  • 16. Configure your computer to communicate with your cluster 1. Create or update your local kubeconfig file. This step assumes you have installed the AWS CLI, one of the prerequisites listed above. It also assumes you have your AWS credentials stored in the ~/.aws/credentials file. NOTE: AWS allows you to store multiple credentials (i.e. labeled “profiles”) in ~/.aws/credentials file so if you need to specify which account these credentials are tied to, run export AWS_PROFILE=<your-profile> before the command below. If you only have one AWS profile, and it’s set to “default”, you can ignore this note. aws eks update-kubeconfig --region <region-code> --name <my-cluster> 2. Verify you can communicate with the Kubernetes cluster. NOTE: Kubernetes allows you to connect with multiple contexts (or clusters). If you need to switch contexts, run kubectl config set-context --name <my-cluster>, where <my-cluster> would be ztjh-eks in our example. kubectl get scv The output should look like this: NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE svc/kubernetes ClusterIP 10.100.0.1 <none> 443/TCP 1m If you get an error message like could not get token: AccessDenied: Access denied, inspect your ~/.kube/config and have a look at this troubleshooting guide.