RealityServer Configuration

Amazon Web Services Directives

RealityServer contains integrations for several Amazon Web Services features. These may be used by other parts of RealityServer (e.g., the queue manager). Since these features can be used by multiple functions of RealityServer they are defined in their own <user aws> section. Currently supported AWS services are S3 and SQS. Here is an example configuration:

<user aws>
    access_key TOP_SECRET
    secret_key EVEN_MORE_SECRET
    <user sqs>
        <user queue>
            name sqs_queue_1
            queue_url https://server/id/queue
            region us-east-1
        </user>
    </user>
    <user s3>
        <user bucket>
            name image_renders
            bucket queue-render-test
            region us-east-1
        </user>
    </user>
</user>

This example defines an SQS queue to allow submitting jobs and listening for jobs (if defined in the listen_queue directive of the queue manager) as well as an S3 bucket which can be used by the s3_upload task.

The available configuration directives are defined below. Pay particular attention to the context of each option since many of these configuration directives are nested several levels deep in different user sections. For example, the bucket directive in the example above is in the aws/s3/bucket context.

Note: You can define multiple <user queue> and <user bucket> sections inside the <user sqs> and <user s3> sections respectively. This allows you to have multiple named SQS queues and S3 buckets defined which are then used by name. As described in queue manager directives section, only a single queue may be listened to at a time.

access_key

Description Access key credential provided by AWS
Syntax access_key string
Context user aws

The Access Key part of your AWS user credentials used to allow RealityServer to talk to your AWS account. This is generally obtained from your AWS IAM services. To use automatically obtained credentials on AWS EC2 instances from assigned IAM roles omit this directive.

secret_key

Description Secret key credential provided by AWS
Syntax secret_key string
Context user aws

The Secret Key part of your AWS user credentials used to allow RealityServer to talk to your AWS account. This is generally obtained from your AWS IAM services. To use automatically obtained credentials on AWS EC2 instances from assigned IAM roles omit this directive.

log_level

Description Logging level for AWS client operations
Syntax log_level string
Context user aws

The AWS client built into RealityServer can separately log information about its operations to a file on disk. This should not be enabled for production but can be helpful when diagnosing AWS issues. The file will be written to the working directory and will be named aws_{timestamp}.log. Valid values are off, fatal, error, warn, info, debug and trace.

name

Description Name of the queue
Syntax name string
Context user aws/sqs/queue

Defines the name of the SQS queue used in RealityServer. This is the internal name used by RealityServer commands and other configuration directives to reference the queue and is not related to the name of the queue in AWS.

queue_url

Description Queue URL provided by AWS SQS
Syntax queue_url string
Context user aws/sqs/queue

Defines the URL of the Amazon SQS queue. This can be obtained through your AWS console or the AWS API.

region

Description The AWS region in which the queue resides
Syntax region string
Context user aws/sqs/queue

Defines the region in which the SQS queue resides. This can be found through the AWS console or the AWS API and will be of the format us-east-1. This combined with the queue_url allows RealityServer to locate the resource in SQS.

name

Description Internal name of the S3 bucket
Syntax name string
Context user aws/s3/bucket

Defines the name of the S3 bucket used in RealityServer. This is the internal name used by RealityServer commands and other configuration directives to reference the bucket and is not related to the name of the bucket in AWS. The S3 bucket may be used in the s3_upload task for the queue manager which allows results of queued jobs to be uploaded to S3 on completion.

bucket

Description Name of the S3 bucket
Syntax bucket string
Context user aws/s3/bucket

Defines the name of the S3 bucket as defined by AWS S3. This name can be found in your AWS console or through the AWS API. This option should specify only the bucket name and not the bucket URL.

region

Description The AWS region in which the bucket resides
Syntax region string
Context user aws/s3/bucket

Defines the region in which the S3 bucket resides. This can be found through the AWS console or the AWS API and will be of the format us-east-1. This combined with the bucket allows RealityServer to locate the resource in S3.