This release is a pre-release and may not be stable for production use.
Jupyter Deploy Terraform AWS EC2 Ngrok
This package provides a Terraform preset for deploying a Jupyter Server on AWS EC2 using ngrok for TLS.
Description
This terraform project creates an AWS EC2 instance in the default VPC that connects to ngrok for TLS.
The instance is configured so that you can access it using AWS SSM.
This project:
- places the instance in the first subnet of the default VPC
- select the latest AL 2023 AMI for
x86_64architecture - sets up an IAM role to enable SSM access
- passes on the root volume of the AMI
- adds an EBS volume which will mount on the Jupyter Server container
- creates an SSM instance-startup script, which references 3 files:
cloudinit.shfor the basic setup of the instancedocker-compose.ymlfor the docker services to run in the instancedocker-startup.shto run the docker-compose up cmd and post docker-start instructions
- creates an SSM association, which runs the startup script on the instance
Installation
From the root of this package, run:
pip install -e jupyter-deploy-tf-aws-ec2-ngrok
Usage
This package is used by jupyter-deploy. Once installed, the template will be automatically available for use via the jupyter-deploy CLI.
jupyter-deploy terraform generate --provider aws --infra ec2 --template tls-via-ngrok
Requirements
| Name | Version |
|---|---|
| terraform | >= 1.0 |
| aws | >= 4.66 |
Resources
| Name | Type |
|---|---|
| aws_security_group | resource |
| aws_instance | resource |
| aws_iam_role | resource |
| aws_iam_role_policy_attachment | resource |
| aws_iam_instance_profile | resource |
| aws_ebs_volume.jupyter_data | resource |
| aws_volume_attachment | resource |
| aws_ssm_document | resource |
| aws_ssm_association | resource |
Inputs
| Name | Type | Default | Description |
|---|---|---|---|
| aws_region | string |
null |
AWS region where the resources should be created |
| instance_type | string |
t3.micro |
The type of instance to start |
| key_name | string |
null |
The name of key pair |
| ami_id | string |
null |
The ID of the AMI to use for the instance |
| jupyter_data_volume_size | number |
30 |
The size in GB of the EBS volume the Jupyter Server has access to |
| jupyter_data_volume_type | string |
gp3 |
The type of EBS volume the Jupyter Server will has access to |
| iam_role_prefix | string |
JD-TlsViaNgrok-Exec |
The prefix for the name of the IAM role for the instance |
| custom_tags | map(string) |
{} |
The custom tags to add to all the resources |
| cloudinit.sh | file | - | bash script to install packages, mount volumes and setup permissions |
| docker-compose.yml | file | docker compose file to start the docker services | |
| docker-startup.sh | file | bash script to run docker-compose and post docker-start instructions |
Outputs
| Name | Description |
|---|---|
| aws_instance.id | The ID of the EC2 instance |
Metadata
Release files for jupyter-deploy-tf-aws-ec2-ngrok-test 0.1.0a2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| jupyter_deploy_tf_aws_ec2_ngrok_test-0.1.0a2.tar.gz | 20.4 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jupyter_deploy_tf_aws_ec2_ngrok_test-0.1.0a2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 32.9 kB
Release files / jupyter_deploy_tf_aws_ec2_ngrok_test-0.1.0a2.tar.gz
| Download URL | jupyter_deploy_tf_aws_ec2_ngrok_test-0.1.0a2.tar.gz |
|---|---|
| Size | 20.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9cccd34c9b53f3a6c35bf4880c5de3a183b6aed851c6d8b32d0c0fb618bc6738
|
|
BLAKE2b-256 checksum How to use checksums |
d3404c67be4da7a4d63c4a2de2cd09d980d66473b8d72e382131dc1d98eb10cb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.7.13
|
Release files / jupyter_deploy_tf_aws_ec2_ngrok_test-0.1.0a2-py3-none-any.whl
| Download URL | jupyter_deploy_tf_aws_ec2_ngrok_test-0.1.0a2-py3-none-any.whl |
|---|---|
| Size | 12.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9c1460a8adb6536a8fb846ff65be8845202303564adf197bffba5462638f8f11
|
|
BLAKE2b-256 checksum How to use checksums |
4bb95ec653d11624b047efba9e6f071e2141ac32d015a7bab16aceb0c2bbfcfd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.7.13
|
Security for jupyter-deploy-tf-aws-ec2-ngrok-test 0.1.0a2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.