Using Amazon Web Services (AWS) Fusers

PhotoMesh can work with Amazon Web Services to scale project production up and down based on resource needs. AWS fuser instances can be dynamically launched whenever there are unassigned pending fuser tasks, to further accelerate model creation. PhotoMesh Build Manager continuously monitors the fusers’ progress and status and the processing requirements of the current step, adding and terminating AWS fusers as required. See "Getting Started with AWS" for more information.

To use AWS fusers:

1.     In the Build Manager, toggle on Use AWS Instances. You can also access these settings from the Tools tab (AWS Instance Settings command) and from the Start page's Automation Dashboard.

Note:        The Automatically use new available fusers check box must also be selected, so that PhotoMesh will use the AWS fuser instances after they are launched.

2.     If PhotoMesh Build Manager is running on a local computer, and this is the first time connecting to the AWS fusers, the AWS Security dialog is displayed. Enter your AWS security information, and click OK.

Note:        If PhotoMesh Build Manager is running on an AWS instance with an IAM (Identity and Access Management role), security credentials are not required. See "Creating an IAM User for Running PhotoMesh Project Using an On-Premises Master" in the "Getting started with AWS" chapter for information.

AWS Security Dialog

Access Key ID

Token that allows PhotoMesh to communicate with your AWS account.

Note:    You can find your Secret Access Key on the My Security Credentials link in the AWS Management Console.

Secret Access Key

Token that allows PhotoMesh to communicate with your AWS account.

Note:    You can find your Secret Access Key on the My Security Credentials link in the AWS Management Console.

Region

Select an AWS region.

Remember my credentials

Select this option to save the password. The password will be saved and will be displayed using asterisks the next time the dialog is opened.

3.     In the Auto-Scaling Fusers Settings dialog, select the Use AWS Instances check box, and then enter the following information:

Maximum Price per Spot Instance

Set the maximum price you want to pay for an EC2 fuser spot instance.

Maximum Instances

Set the maximum number of fuser instances to launch.

Launch Rate

Set the maximum number of fuser instances to launch per minute, e.g. if Maximum Instances was set to 200, and the Launch Rate to 50, the Build Manager will spread the launch of the fusers over 4 minutes. This prevents a potential bottleneck that could be caused by a large number of fusers attempting to read the build data at the same time.

Terminate AWS instances when build finished

Select the check box if you want to terminate AWS fuser instances when the build is complete.

Select fuser instance launch parameters

Region

The region the master is running in, or the region set in the AWS Security dialog (Read-only).

Configuration Name

Name of the JSON configuration file to use. The JSON file contains an array of fuser instance types that PhotoMesh should use, ordered based on preferability. During production, PhotoMesh iterates over the elements of the array, beginning with the first instance type, until it finds an available instance. PhotoMesh will always attempt first to launch instances from one of the subnets listed in the Subnet ID (below), before it moves to the next machine type listed.

Select based on the steps that require processing and other relevant factors. Click Edit to edit the JSON file. You can also open and edit the file in a text editor See "Recommendations Based on PhotoMesh Step" in the "Getting Started with AWS" chapter for information.

Additional JSON configuration files can be created and placed under ../photomesh/AWSConfigurations where the two example JSON files are also saved.

Each instance object in the JSON file's array has four properties: ami, instanceType, demandType, and fusersCount. The ami is the ID of the Amazon Machine Image (AMI). The instanceType defines the hardware of the host computer used for your instance. Each instance type offers different compute, memory, and storage capabilities. The demandType determines the pricing arrangement: "onDemand" or "spot." The fusersCount determines the number of PhotoMesh processes to run on each instance. More powerful instances have the capability to run multiple fusers simultaneously, thereby enhancing cost efficiency.

Example:

{

    "configurations": [

        {

            "ami": "ami-12345",

            "instanceType": "g4ad.4xlarge",

            "demandType": "spot",

            "fusersCount": 4

        },

        {

            "ami": "ami-12345",

            "instanceType": "g4ad.2xlarge",

            "demandType": "spot",

            "fusersCount": 2

        },

        {

            "ami": "ami-12345",

            "instanceType": "g4dn.4xlarge",

            "demandType": "spot",

            "fusersCount": 4

        },

        {

            "ami": "ami-12345",

            "instanceType": "g4dn.2xlarge",

            "demandType": "spot",

            "fusersCount": 2

        }

    ],

    "Name": "GPU"

}

Build Priority

Select either Choose all listed options, to use all machine types listed in the JSON file, with priority based on the order they are listed in the file, or select a specific machine.

Security Group ID

Select the instance’s security group ID. Security groups control inbound and outbound traffic using rules.

Subnet ID

Select the subnet of the virtual private cloud (VPC) dedicated to your AWS account, into which to launch your fuser instances. If you want to use additional subnets, click Additional Subnets, and type a list of all the subnet ID's you want to use. See "Building a PhotoMesh Project Using the Master Instance" in the "Getting Started with AWS" chapter for more information.

Key Pair Name

The name of the Key Pair used to configure the PhotoMesh AWS fuser Amazon Machine Images (AMI's). Key Pairs are used to encrypt and decrypt login information.

Additional Per Project Fuser Instance Tags

Add tags to help you easily identify a fuser instance in the Amazon EC2 console after it is launched. These tags are saved in the JSON configuration file.

Customer

Name of customer who commissioned the project.

Description

Free text describing the project.

Shutdown inactive fuser instance…

Select one of the options for shutting down inactive fuser instances:

§  Shut down inactive fuser instances before the next billing hour

§  Shut down inactive fuser instances after XX minutes

4.     If you want to use another account, click Use another AWS account, and enter the AWS security information (see step 2 for more information).

5.     If you also want to use pool fusers, toggle on the Use Fusers Pool link, and enter the required information. See "Using a Fusers Pool" in this chapter for information.

6.     Click OK.