Skip to content

Latest commit

 

History

History
42 lines (34 loc) · 3.93 KB

platform.md

File metadata and controls

42 lines (34 loc) · 3.93 KB

Deploy platform

This doc outlines deploying the Network and Platform modules. You should have already deployed the four S3 buckets described in Create S3 buckets prior to this step.

Variable Definitions

In the terraform.tfvars are all the variables available to be set. At a minimum, the variables listed below need to be provided. There are many other variables within terraform.tfvars which only need to be provided if you wish to use an optional feature, or change a default setting.

  • customer - Short name for you company.

  • platform_instance_id - Pick a platform instance id for this deployment of the GrayMeta platform. A short, descriptive name like production, labs, test, etc. that can be used to uniquely identify this deployment of the GrayMeta Platform within your environment.

  • profile - AWS api profile to use on deployment.

  • region - Pick which AWS region you want to deploy into from the list: us-east-1, us-east-2, us-west-2, ap-southeast-2, eu-west-1

  • dns_name - Pick the hostname which will be used to access the platform (example: graymeta.example.com). Record this value as the dns_name variable in following steps.

  • notifications_from_addr - Decide what email address will be used as the From: address for email notifications generated by the platform. You must use a Verified SES email address for this address. Submit a request to move out of the SES sandbox.

  • ssl_certificate_arn - Procure a valid SSL certificate for the hostname. Self-signed certificates will NOT work. Upload the SSL certificate to Amazon Certificate Manager in the same region you will be deploying the platform into. After upload, record the ARN of the certificate as variable ssl_certificate_arn in following steps.

  • key_name - The default ssh key name to access the instances.

  • file_api_bucket - Create an S3 bucket to store thumbnails, transcoded video and audio preview files, and metadata files.

  • usage_bucket - Create an S3 bucket to store usage reports.

  • temp_bucket - Used for specific ML services to transfer files.

  • custom_labels_bucket - Used for the AWS Rekognition Custom Labels services.

Note: The default deployment will include the GrayMeta Faces ML Service. If you do not want to use that service or wish to deploy additional GrayMeta ML Services, see MLservices.md for instructions prior to completing the install steps below.

Install steps

  • Download this repo https://github.com/graymeta/terraform12-aws-platform
  • Update the terraform.tfvars
  • Initialize terraform terraform init
  • Review plan terraform plan
  • Apply terraform using the "sizing" tfvars for the size of system to deploy:
    • Small
      • terraform apply -var-file=sizing_small.tfvars
    • Medium
      • terraform apply -var-file=sizing_medium.tfvars
    • Large
      • terraform apply -var-files=sizing_large.tfvars

(Do not use sizing_development.tfvars it is not suitable for production workloads.)

Post steps

  • After the apply. Create a CNAME from your dns_name to the value of the GrayMetaPlatformEndpoint output. This needs to be publicly resolvable.

  • Load https://dns_name where dns_name is the name you chose above. The default username is [email protected]. The password is set to the instance ID of one of the Services nodes of the platform. These are tagged with the name GrayMetaPlatform-${platform_instance_id}-Services in the EC2 console. There should be at least 2 nodes running. Try the instance ID of both. After logging in for the first time, change the password of the [email protected] account. Create other accounts as necessary.

  • Check that your configuration steps have completed successfully by navigating to {your endpoint}/api/data/v3/preflight (see Monitoring docs for more information.)