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.