Skip to main content

Deploy the template from the AWS Management Console

The CloudFormation template deploys a server instance with JupyterLab, and the AI Unlimited kernel, running in a container controlled by systemd.

note

References to the AWS Management Console are accurate as of April 11, 2024.

Clone the AI Unlimited GitHub repository

Clone the AI Unlimited GitHub repository. The deployments folder in the repository contains template, parameter, and policy files for installing AI Unlimited.

Open a terminal window, and clone the repository.

Download the Jupyter template

CloudFormation templates for JupyterLab are here in the AI Unlimited GitHub repository you cloned:

/deployments/aws/templates/jupyter/

  1. Choose a template based on whether you intend to use a load balancer and what type.

  2. Download the template.

Upload the template

  1. Sign in to the AWS console, and select the region in which to deploy AI Unlimited. Teradata recommends selecting the region closest to your primary work location.
  2. Search for and go to CloudFormation.
  3. Select Create Stack, then With new resources (standard).
  4. Select Choose an existing template and Upload a template file.
  5. Choose the template file you downloaded, and click Next.

Specify stack details and options

  1. Provide a stack name.
  2. Review the parameters. Provide values for the required ones. Your organization might require others.

We are working on the table/scrollbar issues.

AWS and JupyterLab parameters
ParameterDescriptionRequired?DefaultNotes
InstanceTypeThe EC2 instance type that you want to use for the service.Required with defaultt3.smallTeradata recommends using the default instance type to save costs.
RootVolumeSizeThe size of the root disk you want to attach to the instance, in GB.Required with default8Supports values between 8 and 1000.
TerminationProtectionEnable instance termination protection.Required with defaultfalse
IamRoleSpecifies whether CloudFormation should create a new IAM role or use an existing one.Required with defaultNewSupported options are: New or Existing
IamRoleNameThe name of the IAM role to assign to the instance, either an existing IAM role or a newly created IAM role.Optional with defaultai-unlimited-iam-roleIf naming a new IAM role, CloudFormation requires the CAPABILITY_NAMED_IAM capability. Leave this blank to use an autogenerated name.
IamPermissionsBoundaryThe ARN of the IAM permissions boundary to associate with the IAM role assigned to the instance.Optional
AvailabilityZoneThe availability zone to which you want to deploy the instance.RequiredThe value must match the subnet, the zone of any pre-existing volumes, and the instance type must be available in the selected zone.
LoadBalancingSpecifies whether the instance is accessed via an NLB.Required with defaultNetworkLoadBalancerSupported options are: NetworkLoadBalancer or None
LoadBalancerSchemeIf a load balancer is used, this field specifies whether the instance is accessible from the Internet or only from within the VPC.Optional with defaultInternet-facingThe DNS name of an Internet-facing load balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load balancers can route requests from clients over the Internet. The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer is publicly resolvable to the personal IP addresses of the nodes. Therefore, internal load balancers can route requests from clients with access to the VPC for the load balancer.
PrivateSpecifies whether the service is deployed in a private network without public IPs.Requiredfalse
SessionSpecifies whether you can use the AWS Session Manager to access the instance.Requiredfalse
VpcThe network to which you want to deploy the instance.Required
SubnetThe subnetwork to which you want to deploy the instance.RequiredThe subnet must reside in the selected availability zone.
KeyNameThe public/private key pair which allows you to connect securely to your instance after it launches. When you create an AWS account, this is the key pair you create in your preferred region.OptionalLeave this field blank if you do not want to include the SSH keys.
AccessCIDRThe CIDR IP address range that is permitted to access the instance.OptionalTeradata recommends setting this value to a trusted IP range. Define at least one of AccessCIDR, PrefixList, or SecurityGroup to allow inbound traffic unless you create custom security group ingress rules.
PrefixListThe prefix list that you can use to communicate with the instance. It is a collection of CIDR blocks that define a set of IP address ranges that require the same policy enforcement.OptionalDefine at least one of AccessCIDR, PrefixList, or SecurityGroup to allow inbound traffic unless you create custom security group ingress rules.
SecurityGroupThe virtual firewall that controls inbound and outbound traffic to the instance.OptionalImplemented as a set of rules that specify which protocols, ports, and IP addresses or CIDR blocks are allowed to access the instance. Define at least one of AccessCIDR, PrefixList, or SecurityGroup to allow inbound traffic unless you create custom security group ingress rules.
UsePersistentVolumeSpecifies whether you want to use persistent volume to store data.Optional with defaultNoneSupported options are: new persistent volume, an existing one, or none, depending on your use case.
PersistentVolumeSizeThe size of the persistent volume that you can attach to the instance, in GB.Required with default8Supports values between 8 and 1000
ExistingPersistentVolumeIdThe ID of the existing persistent volume that you can attach to the instance.Required if UsePersistentVolume is set to ExistingThe persistent volume must be in the same availability zone as the AI Unlimited instance.
PersistentVolumeDeletionPolicyThe persistent volume behavior when you delete the CloudFormations deployment.Required with defaultDeleteSupported options are: Delete, Retain, RetainExceptOnCreate, and Snapshot.
LatestAmiIdThe ID of the image that points to the latest version of AMI. This value is used for the SSM lookup.Required with defaultsThis deployment uses the latest ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2 image available. IMPORTANT: Changing this value may break the stack.
JupyterHttpPortThe port to access the JupyterLab service UIRequired with default8888-
JupyterVersionThe version of JupyterLab you want to deploy.Required with defaultlatestThe value is a container version tag, for example, latest.
JupyterTokenThe token or password used to access JupyterLab from the UIRequired-The token must begin with a letter and contain only alphanumeric characters. The allowed pattern is ^[a-zA-Z][a-zA-Z0-9-]*.
  1. Select Next.
  2. Configure stack options per your requirements, then select Next.

Review and create the stack

  1. Review the template settings.
  2. Select the check box to acknowledge that the template will create IAM resources.
  3. Select Submit to deploy the stack.
  4. Monitor the stack's status. When you see CREATE_COMPLETE, JupyterLab is ready.

You'll find the JupyterLab connection parameters in Outputs.

Haven't actually seen what happens after clicking Submit.