concrete.ml.deployment.deploy_to_aws.md

arrow-up-right

module concrete.ml.deployment.deploy_to_aws

Methods to deploy a client/server to AWS.

It takes as input a folder with: - client.zip - server.zip - processing.json

It spawns a AWS EC2 instance with proper security groups. Then SSHs to it to rsync the files and update Python dependencies. It then launches the server.

Global Variables

  • DATE_FORMAT

  • DEFAULT_CML_AMI_ID


arrow-up-right

function create_instance

create_instance(
    instance_type: str = 'c5.large',
    open_port=5000,
    instance_name: Optional[str] = None,
    verbose: bool = False,
    region_name: Optional[str] = None,
    ami_id='ami-0d7427e883fa00ff3'
) → Dict[str, Any]

Create a EC2 instance.

Arguments:

  • instance_type (str): the type of AWS EC2 instance.

  • open_port (int): the port to open.

  • instance_name (Optional[str]): the name to use for AWS created objects

  • verbose (bool): show logs or not

  • region_name (Optional[str]): AWS region

  • ami_id (str): AMI to use

Returns:

  • Dict[str, Any]: some information about the newly created instance. - ip - private_key - instance_id - key_path - ip_address - port


arrow-up-right

function deploy_to_aws

Deploy a model to a EC2 AWS instance.

Arguments:

  • instance_metadata (Dict[str, Any]): the metadata of AWS EC2 instance created using AWSInstance or create_instance

  • path_to_model (Path): the path to the serialized model

  • number_of_ssh_retries (int): the number of ssh retries (-1 is no limit)

  • wait_bar (bool): whether to show a wait bar when waiting for ssh connection to be available

  • verbose (bool): whether to show a logs

Returns: instance_metadata (Dict[str, Any])

Raises:

  • RuntimeError: if launching the server crashed


arrow-up-right

function wait_instance_termination

Wait for AWS EC2 instance termination.

Arguments:

  • instance_id (str): the id of the AWS EC2 instance to terminate.

  • region_name (Optional[str]): AWS region (Optional)


arrow-up-right

function terminate_instance

Terminate a AWS EC2 instance.

Arguments:

  • instance_id (str): the id of the AWS EC2 instance to terminate.

  • region_name (Optional[str]): AWS region (Optional)


arrow-up-right

function delete_security_group

Terminate a AWS EC2 instance.

Arguments:

  • security_group_id (str): the id of the AWS EC2 instance to terminate.

  • region_name (Optional[str]): AWS region (Optional)


arrow-up-right

function main

Deploy a model.

Arguments:

  • path_to_model (Path): path to serialized model to serve.

  • port (int): port to use.

  • instance_type (str): type of AWS EC2 instance to use.

  • instance_name (Optional[str]): the name to use for AWS created objects

  • verbose (bool): show logs or not

  • wait_bar (bool): show progress bar when waiting for ssh connection

  • terminate_on_shutdown (bool): terminate instance when script is over


arrow-up-right

class AWSInstance

AWSInstance.

Context manager for AWS instance that supports ssh and http over one port.

arrow-up-right

method __init__

Last updated

Was this helpful?