AWS Deployment Using Terraform Template
High-Level Architecture Overview
This section provides a conceptual overview of how the BlueRock Secure MCP Server is deployed on AWS EC2 and how its core components interact.
End-to-End Flow
Deployment scripts are executed from a user desktop or client environment where AWS CLI is configured. The script uses AWS APIs to provision the required AWS Resources and deploy BlueRock Secure MCP Server.
BlueRock EC2 Architecture Components
Architecture Diagram

BlueRock EC2 Architecture Components
A typical BlueRock Secure MCP Server EC2 deployment consists of the following AWS Resources/Services:
Virtual Private Cloud (VPC)
Provides an isolated networking environment in AWS where all BlueRock deployment resources are created.
Amazon VPC Gateway
Enables controlled inbound and outbound internet access for resources deployed inside the VPC.
Amazon EC2 (BlueRock Node)
Runs the BlueRock MCP Server using a hardened BlueRock AMI and hosts all runtime services.
Amazon Elastic Block Store (EBS)
Provides persistent block storage attached to the EC2 instance for operating system and application data.
Amazon S3 (BlueRock Config)
Stores BlueRock configuration files such as config.toml that are retrieved by the BlueRock control plane during runtime.
AWS Identity and Access Management (IAM) Role
Grants the EC2 instance permission to access required AWS services such as Amazon S3 and Amazon CloudWatch.
Amazon CloudWatc
Receives telemetry and monitoring data generated by the BlueRock MCP Server.
Amazon CloudWatch Logs
Stores runtime logs and security events generated by the BlueRock MCP Server for analysis and auditing.
User / Administrator
Manages and monitors the BlueRock deployment through AWS services such as CloudWatch and AWS Systems Manager (SSM).
Deployment types
BlueRock EC2 deployments support multiple deployment modes depending on networking and telemetry requirements:
External OTEL
Deploys a single BlueRock EC2 instance configured to send telemetry data directly to an external Amazon CloudWatch Logs endpoint, without using internal CloudWatch resources.
Private
Deploys a single BlueRock EC2 instance into a private subnet, with outbound access via a NAT Gateway and management access enabled through AWS Systems Manager (SSM).
Public
Deploys a single BlueRock EC2 instance into a public subnet, allowing management access through SSH (if configured) and AWS Systems Manager (SSM).
Supported AMI Distributions
BlueRock Secure MCP Server supports the following Linux distributions. Each distribution has a corresponding AMI with specific kernel version:
Name
Kernel Version
AMI NAME
Amazon Linux 2023
6.12.51
bluerock-release-25-50-0-amzlnx2023-6.12.52-free-ami
Ubuntu 24.04
6.12.51
bluerock-release-25-50-0-ubuntu2404-6.12.52-free-ami
Note: The AMI name includes the BlueRock release version, Linux distribution, and Kernel version, allowing users to identify compatibility directly from the AMI name
Prerequisites
AWS Requirements
Active AWS account
API key credentials configured in local environment
AWS CLI should be installed and key credentials should be configured
Required Packages
The BlueRock Deployment Package for EC2 is provided by BlueRock as part of customer onboarding. This package includes Terraform infrastructure-as-code (IaC) scripts required to deploy the BlueRock Secure MCP Server on AWS EC2.
Deployment Method
The following tools must be installed and configured on the local environment before running the deployment:
Terraform Required to execute the BlueRock Terraform deployment scripts.
Terraform installation guide: https://developer.hashicorp.com/terraform/downloads
AWS CLI Required for authentication, resource validation, and post-deployment verification.
AWS CLI installation and configuration guide: https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html
AWS Permissions Required
User permissions: The user executing the deployment script requires permissions to create the following AWS objects:
VPC, Subnets, Internet Gateway, Route Tables
EC2 instance
Security Group
IAM Profile
S3 bucket
Note: The IAM instance profile required for BlueRock instance is automatically created by the deployment script.
Deployment Package Overview
Download and Extract Package
Download the BlueRock deployment package and extract it on your local environment.
Directory Structure
Public Deployment
Private/ External OTEL Deployment
Terraform Deployment
Configuration Parameters
Navigate to the Terraform deployment directory, copy the example variables file, and update the deployment parameters by editing the Terraform variables file:
Parameter Reference
Parameter
Description
Required
Example / Default Value
region
AWS region where resources will be deployed
Yes
us-east-1
prefix
Prefix used for naming all AWS resources
Yes
bluerock-freemium
ami_id
BlueRock AMI ID selected from the supported AMI list
Yes
ami-0251e1dd3708aab50
node_instance_type
EC2 instance type for the BlueRock node
Yes
t3.large
allow_ip
CIDR block allowed for SSH access to the EC2 instance
Optional
203.0.113.10/32
ssh_key_name
AWS EC2 key pair name for SSH access
Optional (SSM used if not provided)
bluerock-keypair
vpc_id
Existing VPC ID where the instance will be deployed
Optional
vpc-0abc1234def567890
subnet_id
Existing subnet ID for EC2 deployment
Optional
subnet-0123abcd4567efgh
target_aws_account
AWS account ID where resources are created
Yes
123456789012
s3_bucket_name
S3 bucket used to store Ultra Control configuration (config.toml)
Yes
bluerock-uc-config-bucket
Note:
Deployment on existing VPC: Provide both vpc_id and subnet_id values
Deployment on new VPC: Leave both values empty (null)
Running the Deployment Script
Navigate to the Terraform deployment directory, initialize Terraform, review the execution plan, and apply the configuration to provision the BlueRock Secure MCP Server:
Capture outputs
The deployment will output critical information including:
EC2 instance Public IP
S3 bucket name
CloudWatch log group name
Post-Deployment Validation
This section verifies that the BlueRock Secure MCP Server has been deployed successfully and is functioning as expected.
Check Bluerock Instance
Check the instance status to confirm that the EC2 instance is running and has a public IP address assigned (for public deployments):
Check Instance Access
SSH Access
Check instance access to confirm SSH connectivity for public deployments by running the appropriate command for the selected AMI:
Verify BlueRock Control Plane Service
Verify that the BlueRock Control Plane service is running by checking that the Ultra Control service is in the active (running) state.
Check Otel Collector:
Check the OpenTelemetry Collector and Ultra Control containers to verify that both services are running.
Logs should show normal startup messages with no repeated errors or crash loops.
Verify Telemetry Events in AWS CloudWatch
Check CloudWatch logs:
Navigate to CloudWatch Console

Go to Log Groups

Find the BlueRock Log Group

Verify:
Log entries are present
Events originate from the EC2 instance
Timestamps align with instance startup activity

Expected logs include runtime events emitted by the BlueRock Secure MCP Server.
Last updated