Infrastructure changelog



What has been done:

  • recreated Opensearch cluster

    • resize storage from 50GB to 1TB

  • changed cloudformation stack name from opensearchteststack to opensearchstack,

  • added security rule that allows to push logs to the Logstash service,

  • renamed Logstash container service deployment from pre-prod-Cluster to production-Cluster.

Executed commands:

# Delete stacks if they exist
echo "Deleting Logstash stack..."
aws cloudformation delete-stack --stack-name logstashstack
echo "Waiting 60 minutes (press enter to continue)..."
read -t 3600 NullVariable

echo "Deleting Opensearch stack..."
aws cloudformation delete-stack --stack-name opensearchteststack
echo "Waiting 60 minutes (press enter to continue)..."
read -t 3600 NullVariable

# Create OpenSearch Cluster stack
echo ""
echo "Creating Opensearch stack..."
aws cloudformation create-stack --stack-name opensearchstack --template-body file://opensearch.yaml --parameters ParameterKey=SSHKey,ParameterValue=my-keypair --capabilities CAPABILITY_NAMED_IAM
echo "Waiting 60 minutes (press enter to continue)..."
read -t 3600 NullVariable

# Create Logstash Cluster stack
aws cloudformation create-stack --stack-name logstashstack --template-body file://logstash_cluster.yaml --capabilities CAPABILITY_NAMED_IAM

Different changes to CloudFormatino templates have different “update behaviors”. For example, changing the EBS configuration of an OpenSearch cluster requires “No interruption” (source). Others (like changing the name of a CloudFormation stack or a load balancer) require total replacement. Those update behaviors are documented here. If you’re deploying a change that doesn’t require resource replacement, you can run the “update-stack” commands:

aws cloudformation update-stack --stack-name opensearchstack --template-body file://opensearch.yaml --parameters ParameterKey=SSHKey,ParameterValue=my-keypair --capabilities CAPABILITY_NAMED_IAM
aws cloudformation update-stack --stack-name logstashstack --template-body file://logstash_cluster.yaml --capabilities CAPABILITY_NAMED_IAM


What has been done:

  • creted cloudformation stack for Logstash,

  • created Opensearch cluster,

  • created readonly user and readonly role,

  • deployed logscraper, loggearman-client and loggearman-worker services on

Configuration has been describe here <>__.