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.
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 likeproduction
,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 theFrom:
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 variablessl_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.
- 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
- Small
(Do not use sizing_development.tfvars
it is not suitable for production workloads.)
-
After the apply. Create a CNAME from your
dns_name
to the value of theGrayMetaPlatformEndpoint
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 nameGrayMetaPlatform-${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.)